Список URL для карти сайту зазвичай уже є: вивантаження з CMS, експорт краулера чи таблиця від контент-команди. Проблема в тому, що сирий список майже ніколи не годиться для sitemap як є. Нижче — перелік того, що варто перевірити до збирання файлів, під час збирання і після відправки.
Що відібрати у список
- Лише канонічні URL. Якщо сторінка має rel="canonical" на іншу адресу, у sitemap іде саме та, інша адреса. Інакше ви самі подаєте Google суперечливі сигнали.
- Тільки відповідь 200. Адреси з 404, 410 чи помилками сервера прибирайте одразу. Вони лише засмічують звіти й відволікають від справжніх проблем.
- Без редиректів. Замість URL, що перенаправляє, вкажіть кінцеву адресу. Особливо це стосується змішаних http/https і варіантів із www та без.
- Без noindex. Сторінка, яку ви закрили від індексу, не повинна стояти в карті сайту, що просить її просканувати.
- Без дублів із параметрами. Сортування, фільтри, UTM-мітки й ідентифікатори сесій варто вичистити, залишивши одну чисту версію адреси.
- Тільки те, що ви хочете бачити в пошуку. Службові сторінки, кошик, результати внутрішнього пошуку в sitemap не потрібні.
Ліміти одного файлу
Цифри тут беріть не з пам'яті й не з чужих статей: їх докладно описує довідка Google про файли Sitemap, і саме на неї варто орієнтуватися.
- Не більше 50 000 URL. Якщо адрес більше, список ділиться на кілька файлів.
- Не більше 50 МБ без стиснення. Ліміт рахується для нестисненого файлу, навіть якщо на сервері він лежить у gzip.
Коли потрібен індексний файл sitemap
- Файлів більше одного. Індексний файл перелічує всі ваші sitemap, і в Google достатньо відправити тільки його.
- Сайт росте. Навіть якщо зараз вистачає одного файлу, індекс спрощує життя: нові частини додаються без зміни налаштувань у Search Console.
Якщо список уже вичищено, верстати XML вручну не обов'язково: можна зібрати карту сайту прямо в браузері — безкоштовний генератор IndexFix Tools приймає список URL і повертає XML-файли sitemap, а великий список сам розбиває на кілька файлів і додає індексний файл. Виглядає такий індекс приблизно так:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap-1.xml</loc>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-2.xml</loc>
</sitemap>
</sitemapindex>
Вимоги до формату
- Абсолютні URL. Кожна адреса повна, з протоколом і доменом. Відносні шляхи на кшталт
/catalog/не підходять. - Кодування UTF-8. Особливо важливо для адрес із кирилицею: файл має бути збережений саме в UTF-8.
<lastmod>— лише реальний. Google використовує цю дату, якщо вона стабільно й перевірювано точна. Ставте дату значущої зміни вмісту, а не дату оновлення року у футері чи дату генерації файлу.<priority>і<changefreq>можна не заповнювати. Google їх ігнорує, тож часу на їх налаштування не витрачайте.
Де розмістити і як повідомити Google
- Розташування. Sitemap впливає лише на URL у тій папці, де лежить, якщо його не відправлено через Search Console. Файл у корені сайту охоплює весь сайт.
- Звіт «Файли Sitemap». Додайте адресу індексного файлу або sitemap у Search Console. Там же видно, коли Googlebot його читав і чи були помилки обробки.
- Рядок у robots.txt. Додайте
Sitemap:із повним URL файлу. Таких рядків може бути кілька, якщо у вас кілька sitemap або індексів.
Що перевірити після відправки
- Статус у звіті «Файли Sitemap». Переконайтеся, що файл прочитано без помилок обробки, а дата останнього читання оновлюється.
- Вибірку URL у «Звіті про індексування сторінок». Порівняйте кілька адрес із sitemap із тим, як їх бачить Google. Якщо там редиректи чи noindex, повертайтеся до першого розділу.
- robots.txt. Перевірте, що жодне правило не закриває від сканування адреси, які ви щойно подали в карті сайту.
- Реалістичні очікування. Sitemap — підказка, а не команда: він не гарантує ні сканування, ні індексування. Він допомагає Google знайти сторінки, а рішення про них ухвалюється окремо.
- Актуальність. Коли список сторінок змінюється, оновлюйте файли, щоб у карті сайту не накопичувалися видалені чи перенаправлені адреси.
Comments
Create a free account to join the conversation.