Создание карты сайта (Sitemap)
Sitemap — это XML-файл, который перечисляет URL-адреса сайта с метаданными: дата последнего изменения, частота обновлений, приоритет индексации. Поисковые роботы используют его для обхода структуры сайта, особенно там, где внутренняя перелинковка слабая или страниц несколько тысяч.
Форматы и стандарты
Основной формат — sitemap.xml по протоколу sitemaps.org. Для крупных сайтов используется Sitemap Index — файл, ссылающийся на несколько дочерних sitemap-файлов (лимит: 50 000 URL и 50 МБ на файл).
Дополнительные типы:
-
Image Sitemap —
<image:image>для индексации изображений Google Images -
Video Sitemap —
<video:video>с метаданными для Google Video -
News Sitemap — для Google News, требует
<news:publication>с датой публикации не старше 48 часов
Реализация на практике
На Laravel-проекте Sitemap удобно генерировать пакетом spatie/laravel-sitemap:
use Spatie\Sitemap\SitemapGenerator;
use Spatie\Sitemap\Tags\Url;
SitemapGenerator::create('https://example.com')
->hasCrawled(function (Url $url) {
if (str_contains($url->url, '/admin')) {
return null; // исключаем закрытые разделы
}
return $url;
})
->writeToFile(public_path('sitemap.xml'));
Для Next.js используется next-sitemap:
// next-sitemap.config.js
module.exports = {
siteUrl: 'https://example.com',
generateRobotsTxt: true,
exclude: ['/admin/*', '/api/*'],
changefreq: 'weekly',
priority: 0.7,
}
Важные настройки
<priority> — значение от 0.0 до 1.0. Главная страница обычно 1.0, категории 0.8, отдельные материалы 0.6–0.7. Значение носит рекомендательный характер: Google учитывает его, но не обязан следовать.
<changefreq> — подсказка, не директива. Для новостного сайта always или hourly на главной, для статичных страниц — monthly.
<lastmod> — дата в формате W3C Datetime (2024-03-15T10:30:00+03:00). Вычисляется из updated_at записи в базе данных.
Регистрация в Search Console
После генерации sitemap:
- Добавить путь в
robots.txt:Sitemap: https://example.com/sitemap.xml - Зарегистрировать в Google Search Console → Sitemaps
- Зарегистрировать в Яндекс Вебмастер → Индексирование → Sitemap-файлы
- Настроить автоматическую перегенерацию при публикации новых страниц (через очередь или хук модели)
Сроки выполнения
Настройка базового XML-sitemap и регистрация в поисковиках — 1–2 рабочих дня. Реализация Sitemap Index с несколькими типами (images, news) и автообновлением через очередь — 3–4 дня.







