fix: update sitemap.xml, remove dead links, and ensure dynamic updates
This commit is contained in:
parent
bb68cd7f83
commit
a7670e62e9
@ -3,45 +3,80 @@ import type { MetadataRoute } from 'next'
|
||||
import { getBlogPosts } from '@/lib/blogContent'
|
||||
import { getDocCollections } from '@/lib/docContent'
|
||||
import { allWorkshops } from 'contentlayer/generated'
|
||||
import { PRODUCT_LIST } from '@/modules/products/registry'
|
||||
|
||||
const baseUrl = 'https://console.svc.plus'
|
||||
|
||||
const staticEntries: MetadataRoute.Sitemap = [
|
||||
{
|
||||
url: `${baseUrl}/`,
|
||||
changeFrequency: 'weekly',
|
||||
priority: 1,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/blogs`,
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.8,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs`,
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.8,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/download`,
|
||||
changeFrequency: 'monthly',
|
||||
priority: 0.7,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/services`,
|
||||
changeFrequency: 'monthly',
|
||||
priority: 0.6,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/workshop`,
|
||||
changeFrequency: 'monthly',
|
||||
priority: 0.6,
|
||||
},
|
||||
]
|
||||
export const dynamic = 'force-dynamic'
|
||||
export const revalidate = 3600 // Revalidate every hour
|
||||
|
||||
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
|
||||
const [posts, collections] = await Promise.all([getBlogPosts(), getDocCollections()])
|
||||
|
||||
const staticEntries: MetadataRoute.Sitemap = [
|
||||
{
|
||||
url: `${baseUrl}/`,
|
||||
changeFrequency: 'daily',
|
||||
priority: 1,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/about`,
|
||||
changeFrequency: 'monthly',
|
||||
priority: 0.5,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/blogs`,
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.8,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/docs`,
|
||||
changeFrequency: 'weekly',
|
||||
priority: 0.8,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/download`,
|
||||
changeFrequency: 'monthly',
|
||||
priority: 0.7,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/services`,
|
||||
changeFrequency: 'monthly',
|
||||
priority: 0.6,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/workshop`,
|
||||
changeFrequency: 'monthly',
|
||||
priority: 0.6,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/insight`,
|
||||
changeFrequency: 'monthly',
|
||||
priority: 0.6,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/cloud_iac`,
|
||||
changeFrequency: 'monthly',
|
||||
priority: 0.6,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/login`,
|
||||
changeFrequency: 'monthly',
|
||||
priority: 0.4,
|
||||
},
|
||||
{
|
||||
url: `${baseUrl}/register`,
|
||||
changeFrequency: 'monthly',
|
||||
priority: 0.4,
|
||||
},
|
||||
]
|
||||
|
||||
const productEntries: MetadataRoute.Sitemap = PRODUCT_LIST.map((product) => ({
|
||||
url: `${baseUrl}/${product.slug}`,
|
||||
changeFrequency: 'monthly',
|
||||
priority: 0.9,
|
||||
}))
|
||||
|
||||
const blogEntries: MetadataRoute.Sitemap = posts.map((post) => ({
|
||||
url: `${baseUrl}/blogs/${post.slug}`,
|
||||
lastModified: post.date ? new Date(post.date) : undefined,
|
||||
@ -65,5 +100,5 @@ export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
|
||||
priority: 0.6,
|
||||
}))
|
||||
|
||||
return [...staticEntries, ...blogEntries, ...docsEntries, ...workshopEntries]
|
||||
return [...staticEntries, ...productEntries, ...blogEntries, ...docsEntries, ...workshopEntries]
|
||||
}
|
||||
|
||||
@ -19,13 +19,13 @@ export function Header() {
|
||||
</div>
|
||||
<div className="flex items-center gap-6">
|
||||
<nav className="hidden md:flex items-center gap-6">
|
||||
<Link href="#" className="text-sm font-medium text-text-muted hover:text-primary">
|
||||
<Link href="/docs" className="text-sm font-medium text-text-muted hover:text-primary">
|
||||
Docs
|
||||
</Link>
|
||||
<Link href="#" className="text-sm font-medium text-text-muted hover:text-primary">
|
||||
<Link href="/docs" className="text-sm font-medium text-text-muted hover:text-primary">
|
||||
Support
|
||||
</Link>
|
||||
<Link href="#" className="text-sm font-medium text-text-muted hover:text-primary">
|
||||
<Link href="/docs/04-postgresql/changelog" className="text-sm font-medium text-text-muted hover:text-primary">
|
||||
Changelog
|
||||
</Link>
|
||||
</nav>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user