- Add dynamic sitemap.ts, robots.ts, and llms.txt route - Add metadataBase and JSON-LD Organization schema to layout - Set canonical alternates for all routes - Migrate raw img tags to next/image for LCP optimization - Add SEO dictionary strings to tr.json and en.json
25 lines
638 B
TypeScript
25 lines
638 B
TypeScript
import { getDictionary, Locale } from "../dictionaries";
|
|
import HomeClient from "./HomeClient";
|
|
|
|
export async function generateMetadata({ params }: { params: Promise<{ lang: Locale }> }) {
|
|
const { lang } = await params;
|
|
const dict = await getDictionary(lang);
|
|
return {
|
|
title: dict.seo.home.title,
|
|
description: dict.seo.home.description,
|
|
alternates: {
|
|
canonical: `/${lang}`,
|
|
},
|
|
};
|
|
}
|
|
|
|
export default async function Page({
|
|
params,
|
|
}: {
|
|
params: Promise<{ lang: Locale }>;
|
|
}) {
|
|
const { lang } = await params;
|
|
const dict = await getDictionary(lang);
|
|
return <HomeClient lang={lang} dict={dict.home} />;
|
|
}
|