Створення карти сайту (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-carmap та реєстрація в пошукових системах — 1–2 робочі дні. Реалізація Sitemap Index з кількома типами (зображення, новини) та автооновленням через чергу — 3–4 дні.







