feat(seo): add dynamic blog and work entries to sitemap
This commit is contained in:
+39
-1
@@ -73,7 +73,45 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
|
|||||||
];
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
return [...staticUrls, ...expertiseUrls];
|
const workUrls: MetadataRoute.Sitemap = projects.flatMap((p: any) => [
|
||||||
|
{
|
||||||
|
url: `${baseUrl}/en/work/${p.slug}`,
|
||||||
|
lastModified: new Date(),
|
||||||
|
changeFrequency: 'monthly',
|
||||||
|
priority: 0.7,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: `${baseUrl}/tr/work/${p.slug}`,
|
||||||
|
lastModified: new Date(),
|
||||||
|
changeFrequency: 'monthly',
|
||||||
|
priority: 0.7,
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
|
||||||
|
// Blog Posts
|
||||||
|
let blogUrls: MetadataRoute.Sitemap = [];
|
||||||
|
try {
|
||||||
|
const { getBlogPosts } = await import('@/app/actions');
|
||||||
|
const posts = await getBlogPosts();
|
||||||
|
blogUrls = posts.flatMap((p: any) => [
|
||||||
|
{
|
||||||
|
url: `${baseUrl}/en/blog/${p.slug}`,
|
||||||
|
lastModified: new Date(p.date || new Date()),
|
||||||
|
changeFrequency: 'weekly',
|
||||||
|
priority: 0.8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: `${baseUrl}/tr/blog/${p.slug}`,
|
||||||
|
lastModified: new Date(p.date || new Date()),
|
||||||
|
changeFrequency: 'weekly',
|
||||||
|
priority: 0.8,
|
||||||
|
}
|
||||||
|
]);
|
||||||
|
} catch (err) {
|
||||||
|
// Ignore if blog fetching fails
|
||||||
|
}
|
||||||
|
|
||||||
|
return [...staticUrls, ...expertiseUrls, ...workUrls, ...blogUrls];
|
||||||
} catch(e) {
|
} catch(e) {
|
||||||
return staticUrls;
|
return staticUrls;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user