diff --git a/client/src/index.css b/client/src/index.css
index 6f97663..2361fae 100644
--- a/client/src/index.css
+++ b/client/src/index.css
@@ -303,3 +303,12 @@ div[class^="fc-"] {
inset: -1px;
}
}
+
+.ad-container {
+ contain: layout style;
+ overflow: hidden;
+}
+
+.adsbygoogle {
+ contain: layout style;
+}
diff --git a/client/src/pages/gallery.tsx b/client/src/pages/gallery.tsx
index e619a70..5171a17 100644
--- a/client/src/pages/gallery.tsx
+++ b/client/src/pages/gallery.tsx
@@ -7,7 +7,7 @@ import { usePageMeta } from "@/hooks/use-page-meta";
import { InArticleAd, PageSideAds } from "@/components/adsense";
export default function GalleryPageWrapper() {
- usePageMeta("Fotogalerie - Volksmusik & Schlager Bilder", "Exklusive Fotos und Bilder von Volksmusik- und Schlager-Stars, Konzerten und Events. Die Volksmusik-Fotogalerie von FOLX TV.");
+ usePageMeta("Fotogalerie – Exklusive Backstage- & Konzertfotos | FOLX TV", "Einzigartige Fotos direkt von unseren Aufzeichnungen und Sendungen: Backstage-Momente, Konzertbilder und exklusive Aufnahmen der Volksmusik- und Schlager-Stars bei FOLX TV.");
return (
diff --git a/client/src/pages/horoscope.tsx b/client/src/pages/horoscope.tsx
index 086c403..7053f57 100644
--- a/client/src/pages/horoscope.tsx
+++ b/client/src/pages/horoscope.tsx
@@ -276,6 +276,7 @@ function SignDetail({ signIndex, onNavigate, aiHoroscopes }: { signIndex: number
))}
+
{tab === "daily" && (
@@ -310,6 +311,7 @@ function SignDetail({ signIndex, onNavigate, aiHoroscopes }: { signIndex: number
{horoscope.monthly}
)}
+
diff --git a/replit.md b/replit.md
index 669999e..0547d5b 100644
--- a/replit.md
+++ b/replit.md
@@ -7,6 +7,7 @@ The official website for Folx Music Television (folx.tv). Dark-themed bento grid
- Primary keyword: "Volksmusik" — used across all page titles, meta descriptions, OG tags, and structured data
- Dynamic canonical URLs via `usePageMeta` hook (updates `
` per page)
- SSR article pages: server-side meta tags (OG, Twitter, description, keywords, canonical) in both `server/vite.ts` (dev) and `server/static.ts` (prod)
+- SSR gallery page (`/gallery`): OG meta, Twitter card, description, canonical — emphasizes exclusive backstage/concert photos from recordings
- `stripExistingMeta()` removes duplicate meta/canonical from base HTML before injecting article-specific ones
- JSON-LD structured data: WebSite (home) with SearchAction, NewsArticle + BreadcrumbList (articles)
- Sitemap at `/sitemap.xml` — includes all static pages, categories, horoscope signs, and articles
diff --git a/server/static.ts b/server/static.ts
index d812718..8427908 100644
--- a/server/static.ts
+++ b/server/static.ts
@@ -95,6 +95,41 @@ export function serveStatic(app: Express) {
}
}
+ if (url.match(/^\/gallery(\/|$|\?)/)) {
+ let template = await fs.promises.readFile(indexPath, "utf-8");
+ template = stripExistingMeta(template);
+ const galTitle = "Fotogalerie \u2013 Exklusive Backstage- & Konzertfotos | FOLX TV";
+ const galDesc = "Einzigartige Fotos direkt von unseren Aufzeichnungen und Sendungen: Backstage-Momente, Konzertbilder und exklusive Aufnahmen der Volksmusik- und Schlager-Stars bei FOLX TV.";
+ const galUrl = `${canonicalBase}/gallery`;
+ const galImage = `${canonicalBase}/images/og-image.jpg`;
+
+ const galTags = [
+ `
`,
+ `
`,
+ `
`,
+ `
`,
+ `
`,
+ `
`,
+ `
`,
+ `
`,
+ `
`,
+ `
`,
+ `
`,
+ `
`,
+ `
`,
+ `
`,
+ `
`,
+ `
`,
+ `
`,
+ `
`,
+ `
${escapeHtml(galTitle)}`,
+ ].join("\n ");
+
+ template = template.replace(/
[^<]*<\/title>/, galTags);
+ res.status(200).set({ "Content-Type": "text/html" }).end(template);
+ return;
+ }
+
if (url.match(/^\/horoskop(\/|$|\?)/)) {
let template = await fs.promises.readFile(indexPath, "utf-8");
template = stripExistingMeta(template);
diff --git a/server/vite.ts b/server/vite.ts
index 4b229e2..617ee0b 100644
--- a/server/vite.ts
+++ b/server/vite.ts
@@ -113,6 +113,38 @@ export async function setupVite(server: Server, app: Express) {
}
}
+ if (url.match(/^\/gallery(\/|$|\?)/)) {
+ template = stripExistingMeta(template);
+ const galTitle = "Fotogalerie \u2013 Exklusive Backstage- & Konzertfotos | FOLX TV";
+ const galDesc = "Einzigartige Fotos direkt von unseren Aufzeichnungen und Sendungen: Backstage-Momente, Konzertbilder und exklusive Aufnahmen der Volksmusik- und Schlager-Stars bei FOLX TV.";
+ const galUrl = `${canonicalBase}/gallery`;
+ const galImage = `${canonicalBase}/images/og-image.jpg`;
+
+ const galTags = [
+ ``,
+ ``,
+ ``,
+ ``,
+ ``,
+ ``,
+ ``,
+ ``,
+ ``,
+ ``,
+ ``,
+ ``,
+ ``,
+ ``,
+ ``,
+ ``,
+ ``,
+ ``,
+ `${escapeHtml(galTitle)}`,
+ ].join("\n ");
+
+ template = template.replace(/[^<]*<\/title>/, galTags);
+ }
+
if (url.match(/^\/horoskop(\/|$|\?)/)) {
template = stripExistingMeta(template);
const signMatch = url.match(/^\/horoskop\/([^?#]+)/);