diff --git a/app/layout.tsx b/app/layout.tsx index 88505d7..9d1d1e5 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -14,8 +14,59 @@ const anuphan = Anuphan({ display: "swap", }); +const siteUrl = "https://erika.sudloh.com"; + export const metadata: Metadata = { - title: "Erika", + title: { + default: "Erika! - แหล่งรวมลิ้งค์ของช่อง Erika", + template: "%s | Erika!", + }, + description: + "แหล่งรวมลิ้งค์ทั้งหมดของช่อง Erika!", + keywords: ["Erika", "erika!", "erika jjs", "สุดหล่อ", "Roblox", "Discord", "TikTok", "YouTube", "Linktree", "ลิ้งค์"], + metadataBase: new URL(siteUrl), + alternates: { + canonical: "/", + }, + openGraph: { + type: "website", + locale: "th_TH", + url: siteUrl, + siteName: "Erika!", + title: "Erika! - แหล่งรวมลิ้งค์ของช่อง Erika", + description: + "แหล่งรวมลิ้งค์ทั้งหมดของช่อง Erika!", + images: [ + { + url: "/avatar.webp", + width: 512, + height: 512, + alt: "Erika! avatar", + }, + ], + }, + twitter: { + card: "summary", + title: "Erika! - แหล่งรวมลิ้งค์ของช่อง Erika", + description: + "แหล่งรวมลิ้งค์ทั้งหมดของช่อง Erika! ติดตามได้ทุกช่องทาง Roblox, Discord, TikTok, YouTube และอื่นๆ", + images: ["/avatar.webp"], + }, + robots: { + index: true, + follow: true, + googleBot: { + index: true, + follow: true, + "max-video-preview": -1, + "max-image-preview": "large", + "max-snippet": -1, + }, + }, + icons: { + icon: "/favicon.webp", + apple: "/avatar.webp", + }, }; import { TooltipProvider } from "@/components/ui/tooltip"; @@ -28,7 +79,7 @@ export default function RootLayout({ }>) { return ( diff --git a/app/page.tsx b/app/page.tsx index 8f6f190..8e8615c 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -6,16 +6,35 @@ import Link from "next/link"; import ShaderBackground from "@/components/ShaderBackground"; export default function Home() { + const jsonLd = { + "@context": "https://schema.org", + "@type": "ProfilePage", + name: config.profile.name, + description: config.profile.desc, + url: "https://erika.sudloh.com", + mainEntity: { + "@type": "Person", + name: config.profile.name, + image: "https://erika.sudloh.com/avatar.webp", + sameAs: config.links.map((l) => l.link), + }, + }; + return ( -
+
+