diff --git a/app/[lang]/HomeClient.tsx b/app/[lang]/HomeClient.tsx index a66d336..af0502d 100644 --- a/app/[lang]/HomeClient.tsx +++ b/app/[lang]/HomeClient.tsx @@ -1,6 +1,7 @@ "use client"; import { useState } from "react"; +import Image from "next/image"; import { motion, type Variants } from "framer-motion"; import Link from "next/link"; import { Utensils, Umbrella, Home, Wind, Hotel, Star, MapPin, ArrowRight } from "lucide-react"; @@ -289,11 +290,12 @@ export default function HomeClient({ lang, dict }: { lang: string; dict: any }) className={`flex flex-col ${i % 2 === 1 ? "md:flex-row-reverse" : "md:flex-row"} gap-10 items-center`} > {/* Image */} -
- + {venue.title}
diff --git a/app/[lang]/galeri/GaleriClient.tsx b/app/[lang]/galeri/GaleriClient.tsx index 74521f9..14642b3 100644 --- a/app/[lang]/galeri/GaleriClient.tsx +++ b/app/[lang]/galeri/GaleriClient.tsx @@ -1,6 +1,7 @@ "use client"; import { useState } from "react"; +import Image from "next/image"; import { motion, AnimatePresence } from "framer-motion"; import { X, ZoomIn } from "lucide-react"; import { Badge } from "@/app/components/ui/badge"; @@ -75,10 +76,11 @@ export default function GaleriClient({ lang, dict }: { lang: string; dict: any } className="group relative aspect-square cursor-pointer overflow-hidden" onClick={() => setLightbox(img)} > - {img.title}
e.stopPropagation()} > - {lightbox.title}

{lightbox.title}

diff --git a/app/[lang]/galeri/page.tsx b/app/[lang]/galeri/page.tsx index d74f762..3ac213b 100644 --- a/app/[lang]/galeri/page.tsx +++ b/app/[lang]/galeri/page.tsx @@ -1,9 +1,17 @@ import { getDictionary, Locale } from "../../dictionaries"; import GaleriClient from "./GaleriClient"; -export const metadata = { - title: "Galeri | Moy Group", -}; +export async function generateMetadata({ params }: { params: Promise<{ lang: string }> }) { + const { lang } = await params; + const dict = await getDictionary(lang as Locale); + return { + title: dict.seo.gallery.title, + description: dict.seo.gallery.description, + alternates: { + canonical: `/${lang}/galeri`, + }, + }; +} export default async function GaleriPage({ params, diff --git a/app/[lang]/iletisim/page.tsx b/app/[lang]/iletisim/page.tsx index 12a974a..8a5d75c 100644 --- a/app/[lang]/iletisim/page.tsx +++ b/app/[lang]/iletisim/page.tsx @@ -32,6 +32,18 @@ const LOCATIONS = [ }, ]; +export async function generateMetadata({ params }: { params: Promise<{ lang: string }> }) { + const { lang } = await params; + const dict = await getDictionary(lang as Locale); + return { + title: dict.seo.contact.title, + description: dict.seo.contact.description, + alternates: { + canonical: `/${lang}/iletisim`, + }, + }; +} + export default async function IletisimPage({ params, }: { diff --git a/app/[lang]/kurumsal/page.tsx b/app/[lang]/kurumsal/page.tsx index 2301494..3704bf6 100644 --- a/app/[lang]/kurumsal/page.tsx +++ b/app/[lang]/kurumsal/page.tsx @@ -1,8 +1,16 @@ import { getDictionary, Locale } from "../../dictionaries"; -export const metadata = { - title: "Kurumsal | Moy Group", -}; +export async function generateMetadata({ params }: { params: Promise<{ lang: string }> }) { + const { lang } = await params; + const dict = await getDictionary(lang as Locale); + return { + title: dict.seo.corporate.title, + description: dict.seo.corporate.description, + alternates: { + canonical: `/${lang}/kurumsal`, + }, + }; +} export default async function KurumsalPage({ params, diff --git a/app/[lang]/layout.tsx b/app/[lang]/layout.tsx index 182baca..b1a8574 100644 --- a/app/[lang]/layout.tsx +++ b/app/[lang]/layout.tsx @@ -17,10 +17,18 @@ const montserrat = Montserrat({ weight: ["300", "400", "500", "600", "700"], }); -export const metadata: Metadata = { - title: "Moy Group | Ege'nin Ruhunu Hisset", - description: "Akyaka, Akçapınar ve Datça'da restoran, beach, bungalov ve kitesurf hizmetleriyle doğa ile iç içe premium tatil deneyimi.", -}; +export async function generateMetadata({ params }: { params: Promise<{ lang: string }> }): Promise { + const { lang } = await params; + const dict = await getDictionary(lang as Locale); + return { + metadataBase: new URL("https://moygroup.com.tr"), + title: { + template: "%s | Moy Group", + default: dict.seo.home.title, + }, + description: dict.seo.home.description, + }; +} export default async function RootLayout({ children, @@ -33,11 +41,30 @@ export default async function RootLayout({ const locale = lang as Locale; const dict = await getDictionary(locale); + const jsonLd = { + "@context": "https://schema.org", + "@type": "Organization", + "name": "Moy Group", + "url": "https://moygroup.com.tr", + "logo": "https://moygroup.com.tr/logo.png", + "contactPoint": { + "@type": "ContactPoint", + "telephone": "+90-534-465-62-35", + "contactType": "customer service" + } + }; + return ( + +