- video.folx.tv – FOLX.TV Video Platform
+ Folx TV - Video
-
+
-
-
+
+
@@ -34,15 +34,15 @@
-
+
-
-
+
+
-
+
@@ -95,9 +95,9 @@
"@context": "https://schema.org",
"@type": "WebSite",
"name": "video.folx.tv",
- "alternateName": "FOLX.TV Video Platform",
+ "alternateName": "Folx TV - Video",
"url": "https://video.folx.tv",
- "description": "Deutsche Video Streaming Plattform mit Musik, Unterhaltung und Live-Streaming",
+ "description": "Folx TV - Nummer 1 in Europa für Volksmusik und Schlager. Video Streaming Plattform mit Musik, Unterhaltung und Live-Streaming.",
"inLanguage": "de",
"potentialAction": {
"@type": "SearchAction",
diff --git a/client/src/pages/FolxStadlPage.tsx b/client/src/pages/FolxStadlPage.tsx
index eaf4450..a893970 100644
--- a/client/src/pages/FolxStadlPage.tsx
+++ b/client/src/pages/FolxStadlPage.tsx
@@ -79,6 +79,14 @@ export default function FolxStadlPage() {
}
};
+ useEffect(() => {
+ document.title = 'FOLX STADL - Die große Volksmusik Show | Folx TV - Video';
+ const metaDescription = document.querySelector('meta[name="description"]');
+ if (metaDescription) {
+ metaDescription.setAttribute('content', 'FOLX STADL - Die beliebte Volksmusik- und Schlagershow. Mit Angela Wiedl, Oswald Sattler, Die Grubertaler und vielen mehr. Folx TV - Nummer 1 in Europa für Volksmusik und Schlager.');
+ }
+ }, []);
+
if (isLoading) {
return (
diff --git a/client/src/pages/GeschichteLiedPage.tsx b/client/src/pages/GeschichteLiedPage.tsx
index c159dd0..196e421 100644
--- a/client/src/pages/GeschichteLiedPage.tsx
+++ b/client/src/pages/GeschichteLiedPage.tsx
@@ -81,6 +81,14 @@ export default function GeschichteLiedPage() {
}
};
+ useEffect(() => {
+ document.title = 'Die Geschichte des Liedes - Musikdokumentation | Folx TV - Video';
+ const metaDescription = document.querySelector('meta[name="description"]');
+ if (metaDescription) {
+ metaDescription.setAttribute('content', 'Die Geschichte des Liedes - Entdecken Sie die Entstehung der beliebtesten Volksmusik- und Schlagerlieder. Folx TV - Nummer 1 in Europa für Volksmusik und Schlager.');
+ }
+ }, []);
+
if (isLoading) {
return (
diff --git a/client/src/pages/GipfelstammtischPage.tsx b/client/src/pages/GipfelstammtischPage.tsx
index ec65322..23ac469 100644
--- a/client/src/pages/GipfelstammtischPage.tsx
+++ b/client/src/pages/GipfelstammtischPage.tsx
@@ -81,6 +81,14 @@ export default function GipfelstammtischPage() {
}
};
+ useEffect(() => {
+ document.title = 'Gipfelstammtisch - Volksmusik Talkshow | Folx TV - Video';
+ const metaDescription = document.querySelector('meta[name="description"]');
+ if (metaDescription) {
+ metaDescription.setAttribute('content', 'Gipfelstammtisch - Die gemütliche Volksmusik-Talkshow. Gespräche mit Stars der Volksmusik- und Schlagerszene. Folx TV - Nummer 1 in Europa für Volksmusik und Schlager.');
+ }
+ }, []);
+
if (isLoading) {
return (
diff --git a/client/src/pages/LivePage.tsx b/client/src/pages/LivePage.tsx
index 117feb0..bb1d591 100644
--- a/client/src/pages/LivePage.tsx
+++ b/client/src/pages/LivePage.tsx
@@ -38,11 +38,11 @@ export default function LivePage() {
useEffect(() => {
// Set page meta tags
- document.title = 'LIVE Stream | video.folx.tv';
+ document.title = 'LIVE Stream | Folx TV - Video';
const metaDescription = document.querySelector('meta[name="description"]');
if (metaDescription) {
- metaDescription.setAttribute('content', 'Live stream on video.folx.tv - watch exclusive content in real time.');
+ metaDescription.setAttribute('content', 'Live Stream auf Folx TV - Schauen Sie exklusive Inhalte in Echtzeit. Folx TV - Nummer 1 in Europa für Volksmusik und Schlager.');
}
const updateMetaTag = (property: string, content: string) => {
@@ -55,8 +55,8 @@ export default function LivePage() {
meta.setAttribute('content', content);
};
- updateMetaTag('og:title', 'LIVE Stream - video.folx.tv');
- updateMetaTag('og:description', 'Live stream on video.folx.tv - watch exclusive content in real time.');
+ updateMetaTag('og:title', 'LIVE Stream | Folx TV - Video');
+ updateMetaTag('og:description', 'Live Stream auf Folx TV - Schauen Sie exklusive Inhalte in Echtzeit. Nummer 1 in Europa für Volksmusik und Schlager.');
updateMetaTag('og:type', 'video.other');
}, []);
diff --git a/client/src/pages/PlayerPage.tsx b/client/src/pages/PlayerPage.tsx
index 74eb1e8..db6de91 100644
--- a/client/src/pages/PlayerPage.tsx
+++ b/client/src/pages/PlayerPage.tsx
@@ -19,11 +19,11 @@ export default function PlayerPage() {
const videos = (videosData && Array.isArray((videosData as any).videos)) ? (videosData as any).videos : [];
useEffect(() => {
- document.title = 'Professional Player | video.folx.tv';
+ document.title = 'Professional Player | Folx TV - Video';
const metaDescription = document.querySelector('meta[name="description"]');
if (metaDescription) {
- metaDescription.setAttribute('content', 'Professional Video Player mit Streaming-Funktionen auf video.folx.tv');
+ metaDescription.setAttribute('content', 'Professioneller Video Player mit Overlay Graphics und Streaming-Funktionen. Folx TV - Nummer 1 in Europa für Volksmusik und Schlager.');
}
}, []);
diff --git a/client/src/pages/VideoPage.tsx b/client/src/pages/VideoPage.tsx
index f84b6c4..0c1aef4 100644
--- a/client/src/pages/VideoPage.tsx
+++ b/client/src/pages/VideoPage.tsx
@@ -198,14 +198,22 @@ export default function VideoPage() {
useEffect(() => {
if (currentVideo) {
// Update page title
- document.title = `${currentVideo.title} | video.folx.tv`;
+ document.title = `${currentVideo.title} | Folx TV - Video`;
// Update meta description with original or rich content
const metaDescription = document.querySelector('meta[name="description"]');
if (metaDescription) {
const descriptionContent = currentVideo.description && currentVideo.description.trim() !== ''
? currentVideo.description
- : `${currentVideo.title} - Professionelle Video-Streaming-Plattform mit exklusivem Content von FOLX STADL, Geschichte des Liedes und weiteren Premium-Inhalten auf video.folx.tv.`;
+ : (() => {
+ const t = currentVideo.title || '';
+ let a = '';
+ if (t.includes('–')) a = t.split('–')[0].trim();
+ else if (t.includes(' - ')) a = t.split(' - ')[0].trim();
+ return a
+ ? `${t} - Jetzt ansehen auf Folx TV. Nummer 1 in Europa für Volksmusik und Schlager.`
+ : `${t} - Jetzt ansehen auf Folx TV. Nummer 1 in Europa für Volksmusik und Schlager.`;
+ })();
metaDescription.setAttribute('content', descriptionContent);
}
@@ -225,7 +233,7 @@ export default function VideoPage() {
// Use original description if available, otherwise create rich description
const richDescription = currentVideo.description && currentVideo.description.trim() !== ''
? currentVideo.description
- : `${currentVideo.title} - Professionelle Video-Streaming-Plattform mit exklusivem Content von FOLX STADL, Geschichte des Liedes und weiteren Premium-Inhalten auf video.folx.tv.`;
+ : `${currentVideo.title} - Jetzt ansehen auf Folx TV. Nummer 1 in Europa für Volksmusik und Schlager.`;
updateMetaTag('og:description', richDescription);
// For social media, use direct Bunny.net thumbnail if available, otherwise fallback to our endpoint
diff --git a/client/src/pages/home.tsx b/client/src/pages/home.tsx
index 458f4b0..f83e56c 100644
--- a/client/src/pages/home.tsx
+++ b/client/src/pages/home.tsx
@@ -50,6 +50,14 @@ export default function Home() {
refetchInterval: 120000
});
+ useEffect(() => {
+ document.title = 'Folx TV - Video';
+ const metaDescription = document.querySelector('meta[name="description"]');
+ if (metaDescription) {
+ metaDescription.setAttribute('content', 'Folx TV - Nummer 1 in Europa für Volksmusik und Schlager. Video Streaming Plattform mit Musik, Unterhaltung und Live-Streaming.');
+ }
+ }, []);
+
// Update videos when new data comes in
useEffect(() => {
if (videosResponse) {
diff --git a/server/routes.ts b/server/routes.ts
index 583942b..e805085 100644
--- a/server/routes.ts
+++ b/server/routes.ts
@@ -146,12 +146,63 @@ export async function registerRoutes(app: Express): Promise {
.replace(/format=webp/gi, 'format=jpg');
}
+ // Extract artist name from title (format: "Artist – Song" or "Artist - Song")
+ const titleStr = video.title || '';
+ let artistName = '';
+ let songName = titleStr;
+ if (titleStr.includes('–')) {
+ const parts = titleStr.split('–');
+ artistName = parts[0].trim();
+ songName = parts.slice(1).join('–').trim();
+ } else if (titleStr.includes(' - ')) {
+ const parts = titleStr.split(' - ');
+ artistName = parts[0].trim();
+ songName = parts.slice(1).join(' - ').trim();
+ }
+
// Clean description for meta tags
const description = video.description
? video.description.substring(0, 200).replace(/[<>"']/g, '')
- : `Schauen Sie ${video.title} auf video.folx.tv - Die beste Musik`;
+ : artistName
+ ? `${artistName} – ${songName}. Jetzt ansehen auf Folx TV - Nummer 1 in Europa für Volksmusik und Schlager.`
+ : `${titleStr} auf Folx TV ansehen - Nummer 1 in Europa für Volksmusik und Schlager.`;
- const title = video.title || 'video.folx.tv';
+ const title = video.title || 'Folx TV - Video';
+ const keywords = artistName
+ ? `${artistName}, ${songName}, Volksmusik, Schlager, Folx TV, Musikvideo`
+ : `${titleStr}, Volksmusik, Schlager, Folx TV`;
+
+ // JSON-LD structured data for video with artist
+ const jsonLd: any = {
+ "@context": "https://schema.org",
+ "@type": "VideoObject",
+ "name": title,
+ "description": description,
+ "thumbnailUrl": thumbnailUrl,
+ "uploadDate": video.createdAt ? new Date(video.createdAt).toISOString() : new Date().toISOString(),
+ "duration": video.duration ? `PT${Math.floor(video.duration / 60)}M${video.duration % 60}S` : undefined,
+ "contentUrl": videoUrl,
+ "embedUrl": videoUrl,
+ "interactionStatistic": {
+ "@type": "InteractionCounter",
+ "interactionType": "https://schema.org/WatchAction",
+ "userInteractionCount": video.views || 0
+ },
+ "publisher": {
+ "@type": "Organization",
+ "name": "FOLX.TV",
+ "url": "https://folx.tv"
+ },
+ "inLanguage": "de"
+ };
+
+ if (artistName) {
+ jsonLd["byArtist"] = {
+ "@type": "MusicGroup",
+ "name": artistName
+ };
+ jsonLd["@type"] = "MusicVideoObject";
+ }
// Return HTML page with OG tags for crawlers
const html = `
@@ -159,9 +210,10 @@ export async function registerRoutes(app: Express): Promise {
- ${title} - video.folx.tv
+ ${title} | Folx TV - Video
+
+
-
@@ -171,21 +223,22 @@ export async function registerRoutes(app: Express): Promise {
-
+
-
+