85 lines
2.0 KiB
TypeScript
85 lines
2.0 KiB
TypeScript
import { NextApiRequest, NextApiResponse } from 'next'
|
|
|
|
export default function handler(req: NextApiRequest, res: NextApiResponse) {
|
|
const baseUrl = 'https://protekauto.ru'
|
|
|
|
const staticPages = [
|
|
{
|
|
url: '',
|
|
lastModified: new Date().toISOString(),
|
|
changeFrequency: 'daily',
|
|
priority: 1.0,
|
|
},
|
|
{
|
|
url: '/about',
|
|
lastModified: new Date().toISOString(),
|
|
changeFrequency: 'monthly',
|
|
priority: 0.8,
|
|
},
|
|
{
|
|
url: '/contacts',
|
|
lastModified: new Date().toISOString(),
|
|
changeFrequency: 'monthly',
|
|
priority: 0.8,
|
|
},
|
|
{
|
|
url: '/catalog',
|
|
lastModified: new Date().toISOString(),
|
|
changeFrequency: 'weekly',
|
|
priority: 0.9,
|
|
},
|
|
{
|
|
url: '/news',
|
|
lastModified: new Date().toISOString(),
|
|
changeFrequency: 'weekly',
|
|
priority: 0.7,
|
|
},
|
|
{
|
|
url: '/brands',
|
|
lastModified: new Date().toISOString(),
|
|
changeFrequency: 'monthly',
|
|
priority: 0.7,
|
|
},
|
|
{
|
|
url: '/delivery',
|
|
lastModified: new Date().toISOString(),
|
|
changeFrequency: 'monthly',
|
|
priority: 0.6,
|
|
},
|
|
{
|
|
url: '/payment',
|
|
lastModified: new Date().toISOString(),
|
|
changeFrequency: 'monthly',
|
|
priority: 0.6,
|
|
},
|
|
{
|
|
url: '/wholesale',
|
|
lastModified: new Date().toISOString(),
|
|
changeFrequency: 'monthly',
|
|
priority: 0.6,
|
|
},
|
|
{
|
|
url: '/vin',
|
|
lastModified: new Date().toISOString(),
|
|
changeFrequency: 'monthly',
|
|
priority: 0.7,
|
|
},
|
|
]
|
|
|
|
const sitemap = `<?xml version="1.0" encoding="UTF-8"?>
|
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
${staticPages
|
|
.map(
|
|
(page) => ` <url>
|
|
<loc>${baseUrl}${page.url}</loc>
|
|
<lastmod>${page.lastModified}</lastmod>
|
|
<changefreq>${page.changeFrequency}</changefreq>
|
|
<priority>${page.priority}</priority>
|
|
</url>`
|
|
)
|
|
.join('\n')}
|
|
</urlset>`
|
|
|
|
res.setHeader('Content-Type', 'application/xml')
|
|
res.status(200).send(sitemap)
|
|
}
|