Валідатор Sitemap.xml — перевірка реального протоколу
Вставте або завантажте sitemap.xml (чи індекс sitemap) і перевірте його за реальним протоколом sitemaps.org: кореневий елемент і простір імен, абсолютні URL у <loc>, задокументовані ліміти 50 000 URL / 50МБ, <lastmod>, <priority>, <changefreq> — плюс гістограма свіжості та пошук дублікатів URL.
Результат
Файл sitemap.xml може бути бездоганно правильним XML-документом і водночас зламаним sitemap: відсутній простір імен xmlns, відносний URL у <loc>, <priority> зі значенням "1.5" чи <changefreq> зі значенням "Daily" замість "daily" — усе це пройде звичайний валідатор XML, але непомітно провалить справжній протокол sitemap, якого очікують Google, Bing та всі інші споживачі цього файлу. Цей інструмент розбирає вставлений або завантажений sitemap за допомогою вбудованого в браузер DOMParser і перевіряє його за реальними правилами, опублікованими на sitemaps.org: кореневий елемент має бути <urlset> для звичайного sitemap або <sitemapindex> для індексу sitemap (визначається автоматично), в ідеалі оголошений з точним простором імен http://www.sitemaps.org/schemas/sitemap/0.9, а кожен <url> (або <sitemap> в індекс-файлі) повинен містити <loc>, що вказує на справжній абсолютний http/https URL.
Окрім структури, протокол також документує жорсткі ліміти й точні формати полів, які цей інструмент перевіряє поле за полем. Один файл sitemap не може містити більше 50 000 URL і не може перевищувати 50МБ у нестисненому вигляді — ці ліміти застосовуються й до індекс-файлів sitemap, рахуючи записи <sitemap> замість <url>, і цей інструмент вимірює саме ваш вставлений чи завантажений вміст проти обох лімітів. Кожен <lastmod>, якщо присутній, перевіряється за реальними форматами W3C-datetime, які приймає специфікація: проста дата (РРРР-ММ-ДД) або повна мітка часу з годинами, хвилинами, необов'язковими секундами й обов'язковим позначенням часового поясу. Кожен <priority>, якщо присутній, повинен бути десятковим дробом від 0.0 до 1.0, а кожен <changefreq> — точно одним із семи значень, визначених специфікацією: always, hourly, daily, weekly, monthly, yearly, never, а не схожим на правду синонімом. Кожне порушення називає конкретний номер запису та його фактичне значення, з обмеженням до 50 показаних проблемних записів на правило й позначкою «+N ще», щоб звіт залишався читабельним навіть для sitemap, близького до ліміту URL.
Дві перевірки виходять за межі того, що вимагає письмова специфікація, але виявляють реальні, поширені проблеми: гістограма свіжості <lastmod> групує кожну дійсну дату останньої зміни за місяцями, тож ви одразу бачите, чи вміст сайту справді підтримується актуальним, чи більшість URL несуть застарілу мітку часу з давніх років, а детектор дублікатів <loc> позначає будь-який URL, вказаний у тому самому файлі більше одного разу, — частий побічний ефект генераторів sitemap, які об'єднують кілька джерел без дедуплікації. Усе обчислюється локально: розбір, перевірка правил і гістограма рахуються у вашому браузері з тексту, який ви вставили, або файлу, завантаженого через File API, нічого не надсилається на сервер і жоден окремий URL із вашого sitemap ніколи не запитується й не сканується — цей інструмент перевіряє сам документ sitemap, а не те, чи справді існують перелічені в ньому сторінки і чи повертають вони код 200 OK.