Обновлены мета-теги для страниц профиля и оплаты, заменены статические мета-теги на компонент MetaTags для динамического получения данных. Это улучшает SEO и упрощает управление мета-тегами на этих страницах.

This commit is contained in:
Bivekich
2025-07-06 20:23:49 +03:00
parent c7ba306a57
commit a67a4438ad
2 changed files with 121 additions and 0 deletions

36
src/pages/robots.txt.ts Normal file
View File

@ -0,0 +1,36 @@
import { NextApiRequest, NextApiResponse } from 'next'
export default function handler(req: NextApiRequest, res: NextApiResponse) {
const robotsTxt = `User-agent: *
Allow: /
# Запрещаем индексацию служебных страниц
Disallow: /api/
Disallow: /admin/
Disallow: /dashboard/
Disallow: /_next/
Disallow: /static/
Disallow: /test-auth/
# Запрещаем индексацию страниц с параметрами
Disallow: /*?*
# Разрешаем основные страницы
Allow: /
Allow: /catalog
Allow: /about
Allow: /contacts
Allow: /news
Allow: /brands
Allow: /delivery
Allow: /payment
Allow: /wholesale
Allow: /vin
# Указываем карту сайта
Sitemap: https://protekauto.ru/sitemap.xml
`
res.setHeader('Content-Type', 'text/plain')
res.status(200).send(robotsTxt)
}

85
src/pages/sitemap.xml.ts Normal file
View File

@ -0,0 +1,85 @@
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)
}