diff --git a/src/app/dashboard/layout.tsx b/src/app/dashboard/layout.tsx index c50be65..396802e 100644 --- a/src/app/dashboard/layout.tsx +++ b/src/app/dashboard/layout.tsx @@ -2,6 +2,12 @@ import Link from "next/link"; import { requireUser } from "@/lib/auth/current-user"; import { DashboardMobileNav } from "@/components/dashboard-mobile-nav"; import { BrandLogo } from "@/components/brand-logo"; +import type { Metadata } from "next"; + +export const metadata: Metadata = { + title: "Dashboard", + robots: { index: false, follow: false, nocache: true } +}; const nav = [ ["Ads", "/dashboard/ads"], diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 004d832..fe04e85 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,18 +1,20 @@ import type { Metadata } from "next"; import "./globals.css"; - -const appUrl = process.env.NEXT_PUBLIC_APP_URL || "http://localhost:3000"; +import { SITE_DESCRIPTION, SITE_NAME, SITE_URL } from "@/lib/seo"; export const metadata: Metadata = { - metadataBase: new URL(appUrl), - applicationName: "AdSeeQ", + metadataBase: new URL(SITE_URL), + applicationName: SITE_NAME, title: { default: "AdSeeQ — Reklam ve Trend Zekâsı", template: "%s | AdSeeQ" }, - description: "Meta reklamlarını, TikTok Shop ürünlerini, yükselen trendleri ve rakip markaları yapay zekâ ile tek panelden keşfedin.", + description: SITE_DESCRIPTION, keywords: ["reklam kütüphanesi", "Meta Ads", "TikTok Shop", "trend analizi", "marka takibi", "reklam zekâsı"], - alternates: { canonical: "/" }, + alternates: { + canonical: "/", + languages: { "tr-TR": "/" } + }, openGraph: { title: "AdSeeQ — Kazanan reklamları ve trendleri keşfedin", description: "Meta Ads, TikTok Shop, Magic AI Trends ve Brand Tracker tek panelde.", @@ -26,7 +28,17 @@ export const metadata: Metadata = { title: "AdSeeQ — Reklam ve Trend Zekâsı", description: "Kazanan reklamları, ürünleri ve rakip marka hareketlerini keşfedin." }, - robots: { index: true, follow: true } + robots: { + index: true, + follow: true, + googleBot: { + index: true, + follow: true, + "max-image-preview": "large", + "max-snippet": -1, + "max-video-preview": -1 + } + } }; export default function RootLayout({ children }: { children: React.ReactNode }) { diff --git a/src/app/llms.txt/route.ts b/src/app/llms.txt/route.ts new file mode 100644 index 0000000..78d03c7 --- /dev/null +++ b/src/app/llms.txt/route.ts @@ -0,0 +1,37 @@ +import { SITE_DESCRIPTION, SITE_URL } from "@/lib/seo"; + +const content = `# AdSeeQ + +> ${SITE_DESCRIPTION} + +AdSeeQ, reklam araştırması ve e-ticaret trend keşfi yapan ekipler için web tabanlı bir platformdur. + +## Temel özellikler + +- Meta Ads Library reklamlarını anahtar kelime ve ülkeye göre araştırma +- Medya içeren reklam kreatiflerini inceleme ve kaydetme +- TikTok Shop ürün keşfi +- Magic AI ile reklam ve ürün sinyallerini analiz etme +- Trends ile yükselen sinyalleri takip etme +- Brand Tracker ve Store Tracker ile marka ve mağaza takibi + +## Resmî sayfalar + +- Ana sayfa: ${SITE_URL} +- Fiyatlandırma: ${SITE_URL}/pricing +- Hesap oluşturma: ${SITE_URL}/register +- Giriş: ${SITE_URL}/login + +## Ürün bilgisi + +AdSeeQ ücretsiz ve ücretli planlar sunar. Güncel plan limitleri ve fiyatlar için resmî fiyatlandırma sayfasını kullanın. Özel dashboard ve API rotaları herkese açık içerik değildir. +`; + +export function GET() { + return new Response(content, { + headers: { + "content-type": "text/plain; charset=utf-8", + "cache-control": "public, max-age=3600, s-maxage=86400" + } + }); +} diff --git a/src/app/login/layout.tsx b/src/app/login/layout.tsx new file mode 100644 index 0000000..32cf8ef --- /dev/null +++ b/src/app/login/layout.tsx @@ -0,0 +1,12 @@ +import type { Metadata } from "next"; + +export const metadata: Metadata = { + title: "Giriş", + description: "AdSeeQ hesabınıza giriş yapın.", + alternates: { canonical: "/login" }, + robots: { index: false, follow: false, nocache: true } +}; + +export default function LoginLayout({ children }: { children: React.ReactNode }) { + return children; +} diff --git a/src/app/opengraph-image.tsx b/src/app/opengraph-image.tsx new file mode 100644 index 0000000..3cf7dda --- /dev/null +++ b/src/app/opengraph-image.tsx @@ -0,0 +1,50 @@ +import { ImageResponse } from "next/og"; + +export const alt = "AdSeeQ — Reklam ve trend zekâsı"; +export const size = { width: 1200, height: 630 }; +export const contentType = "image/png"; + +export default function OpenGraphImage() { + return new ImageResponse( +
+
+
+ + Q + + AdSeeQ +
+
+ Kazanan reklamları ve trendleri keşfedin +
+
+ Meta Ads · TikTok Shop · Magic AI · Trends · Brand Tracker +
+
+
, + size + ); +} diff --git a/src/app/page.tsx b/src/app/page.tsx index 29e6df8..433a074 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,9 +1,14 @@ import { LinkButton } from "@/components/ui/button"; import { BrandLogo } from "@/components/brand-logo"; +import { homeFaq, homeStructuredData, serializeJsonLd } from "@/lib/seo"; export default function LandingPage() { return (
+