fix: update sitemap with pSeo pages, fix dynamic metadata placeholders, and add llms.txt

This commit is contained in:
AyrisAI
2026-05-16 00:58:25 +03:00
parent d0a7205f90
commit ea09a4fb04
3 changed files with 118 additions and 80 deletions

View File

@@ -14,22 +14,22 @@ import sql from "@/lib/db";
export async function generateMetadata(): Promise<Metadata> {
let settings: any = null;
try {
const result = await sql`SELECT site_name, site_description FROM settings WHERE id = 1 LIMIT 1`;
const result = await sql`SELECT * FROM settings WHERE id = 1 LIMIT 1`;
if (result.length > 0) settings = result[0];
} catch (e) {
console.error(e);
}
const siteName = settings?.site_name || "Muğla Dijital Medya Ajansı";
const siteDesc = settings?.site_description || "Muğla Dijital Medya Ajansı olarak sosyal medya yönetimi, reklam yönetimi, SEO, web tasarım ve dijital pazarlama çözümleriyle markanızı öne çıkarıyoruz.";
const siteName = settings?.site_name || "Muğla Dijital | Medya & Prodüksiyon Ajansı";
const siteDesc = settings?.site_description || "Muğla'nın öncü dijital medya ajansı. Drone çekimi, sosyal medya yönetimi ve profesyonel reklam çözümleri.";
const baseUrl = process.env.NEXT_PUBLIC_BASE_URL || "https://mugladijitalmedya.com";
return {
metadataBase: new URL(baseUrl),
title: {
default: "Muğla Dijital | Medya & Prodüksiyon Ajansı",
template: "%s | Muğla Dijital"
default: siteName,
template: `%s | ${siteName.split('|')[0].trim()}`
},
description: "Muğla'nın öncü dijital medya ajansı. Drone çekimi, sosyal medya yönetimi ve profesyonel reklam çözümleri.",
description: siteDesc,
authors: [{ name: "Muğla Dijital" }],
creator: "Muğla Dijital",
publisher: "Muğla Dijital",
@@ -39,10 +39,10 @@ export async function generateMetadata(): Promise<Metadata> {
openGraph: {
type: "website",
locale: "tr_TR",
url: "https://mugladijitalmedya.com",
url: baseUrl,
siteName: "Muğla Dijital",
title: "Muğla Dijital | Medya & Prodüksiyon Ajansı",
description: "Profesyonel drone çekimi ve dijital medya çözümleri.",
title: siteName,
description: siteDesc,
images: [
{
url: "/og-image.jpg",
@@ -54,99 +54,92 @@ export async function generateMetadata(): Promise<Metadata> {
},
twitter: {
card: "summary_large_image",
title: "Muğla Dijital | Medya & Prodüksiyon Ajansı",
description: "Dijital dünyada markanızı zirveye taşıyın.",
title: siteName,
description: siteDesc,
images: ["/og-image.jpg"],
},
robots: {
index: true,
follow: true,
googleBot: {
index: true,
follow: true,
'max-video-preview': -1,
'max-image-preview': 'large',
'max-snippet': -1,
},
}
};
}
export default function RootLayout({
export default async function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
let settings: any = null;
try {
const result = await sql`SELECT * FROM settings WHERE id = 1 LIMIT 1`;
if (result.length > 0) settings = result[0];
} catch (e) {
console.error(e);
}
const jsonLd = {
"@context": "https://schema.org",
"@type": "Organization",
"name": settings?.site_name || "Muğla Dijital Medya Ajansı",
"url": "https://mugladijitalmedya.com",
"logo": "https://mugladijitalmedya.com/logo.png",
"sameAs": [
settings?.instagram_url,
settings?.twitter_url,
settings?.linkedin_url
].filter(Boolean),
"contactPoint": {
"@type": "ContactPoint",
"telephone": settings?.contact_phone || "+90-252-XXX-XXXX",
"contactType": "customer service",
"areaServed": "TR",
"availableLanguage": ["Turkish", "English"]
}
};
const localBusinessLd = {
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": settings?.site_name || "Muğla Dijital Medya Ajansı",
"image": "https://mugladijitalmedya.com/og-image.jpg",
"@id": "https://mugladijitalmedya.com",
"url": "https://mugladijitalmedya.com",
"telephone": settings?.contact_phone || "+90-252-XXX-XXXX",
"address": {
"@type": "PostalAddress",
"streetAddress": settings?.office_address || "Muğla",
"addressLocality": "Muğla",
"addressRegion": "Muğla",
"postalCode": "48000",
"addressCountry": "TR"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 37.2153,
"longitude": 28.3636
},
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
"opens": "09:00",
"closes": "18:00"
}
};
return (
<html lang="tr">
<body
className={`${martianMono.variable} antialiased`}
>
<body className={`${martianMono.variable} antialiased`}>
<ClientWrapper>
{children}
</ClientWrapper>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify({
"@context": "https://schema.org",
"@type": "Organization",
"name": "Muğla Dijital Medya Ajansı",
"url": "https://mugladijitalmedya.com",
"logo": "https://mugladijitalmedya.com/logo.png",
"sameAs": [
"https://www.instagram.com/mugladijitalmedya/",
// Add other social media links here
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+90-XXX-XXX-XXXX", // Should be updated with real phone
"contactType": "customer service",
"areaServed": "TR",
"availableLanguage": ["Turkish", "English"]
}
})
}}
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{
__html: JSON.stringify({
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Muğla Dijital Medya Ajansı",
"image": "https://mugladijitalmedya.com/og-image.jpg",
"@id": "https://mugladijitalmedya.com",
"url": "https://mugladijitalmedya.com",
"telephone": "+90-XXX-XXX-XXXX",
"address": {
"@type": "PostalAddress",
"streetAddress": "Muğla",
"addressLocality": "Muğla",
"addressRegion": "Muğla",
"postalCode": "48000",
"addressCountry": "TR"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 37.2153,
"longitude": 28.3636
},
"openingHoursSpecification": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
],
"opens": "09:00",
"closes": "18:00"
}
})
}}
dangerouslySetInnerHTML={{ __html: JSON.stringify(localBusinessLd) }}
/>
</body>
</html>