robots.txt і sitemap.xml мають різні ролі
| Механізм | Мета | Область | Основний ефект |
|---|---|---|---|
| robots.txt | Керування сканування | Paths для пошуковий робот | Не гарантує видалення з індексу |
| sitemap.xml | Сигналізувати важливі URL | URL і метадані | Підказка, не гарантія індексації |
| noindex | Виключити з індексу | URL або ресурс | Працює після прочитання пошуковий робот |
| rel="canonical" | Вказати бажану версію | URL або ресурс | Сильний сигнал, не абсолютна directive |
robots.txt є частиною Robots Exclusion Protocol і керує доступом пошуковий робот до URL шляхи. RFC 9309 прямо зазначає, що ці правила не є механізмом authorization. [4]
Sitemap повідомляє пошуковим системам про важливі сторінки, відео та інші файли, а також їхні метадані. [6]
Розташування і область дії robots.txt
Файл має називатися `robots.txt` і бути в корені хост, наприклад `https://example.com/robots.txt`. [2][4]
Область дії прив'язана до протоколу, хост і порт. Google також застосовує ліміт 500 KiB. [2][3]
Базовий синтаксис
User-agent: *
Disallow: /admin/
Allow: /admin/public/
Sitemap: https://example.com/sitemap.xml
Google підтримує `user-agent`, `allow`, `disallow` і `sitemap`. `crawl-delay` не підтримується. [3]
Поле `sitemap` має містити абсолютну URL і може повторюватися кілька разів. [2][3]
Вибір правила, регістр і wildcard
Google застосовує найконкретніше відповідне правило. Якщо `allow` і `disallow` однаково конкретні, використовується менш обмежувальне `allow`. [3][4]
Paths чутливі до регістру. Google підтримує `*` як wildcard і `$` як кінець URL. [3]
robots.txt не замінює noindex
URL, заблокована в robots.txt, все одно може з'явитися в результатах, якщо Google знайде її через інші посилання. [1][3]
Для виключення з індексу використовуйте `noindex` у robots meta або `X-Robots-Tag`. Google має мати можливість завантажити сторінку, щоб прочитати правило. [5][16]
HTTP-помилки і cache robots.txt
| Статус | Поведінка Google |
|---|---|
| 2xx | Обробляє robots.txt |
| 3xx | Переходить щонайменше через 5 перенаправлення |
| 4xx except 429 | Трактує як відсутність обмежень |
| 5xx / network | Може призупинити сканування і використати останню коректну версію |
Google обробляє `2xx`, для `3xx` переходить щонайменше через п'ять перенаправлення і більшість `4xx`, окрім `429`, трактує як відсутність обмежень сканування. [3]
При `5xx` або мережевих проблемах Google може тимчасово призупинити сканування і використовувати останню коректну версію. Зазвичай robots.txt зберігається в cache до 24 годин. [3]
Для чого потрібен sitemap.xml
Sitemap допомагає знаходити важливі URL і може містити дату зміни, мовні варіанти, зображення, відео та новини вміст. [6][7]
Google зазначає, що невеликому сайту приблизно до 500 сторінок із хорошими внутрішні посилання sitemap може бути не обов'язковим. [6]
Підтримувані формати sitemap
Google підтримує XML, RSS, mRSS, Atom 1.0 і текстові sitemaps. XML є найгнучкішим форматом. [7]
Google не заявляє загальної переваги одного підтримуваного формату над іншим. [7]
Ліміти sitemap і sitemap index
| Файл | Максимум записів | Максимальний розмір | Примітка |
|---|---|---|---|
| Один sitemap | 50,000 | 50 MB | Ліміт після розпакування; gzip дозволений |
| Sitemap index | 50,000 sitemaps | 50 MB | Ліміт після розпакування; gzip дозволений |
Один sitemap обмежений 50 000 URL або 50 MB після розпакування. Більші набори треба розділяти. [7][8]
Sitemap index може містити до 50 000 sitemaps і також має ліміт 50 MB. gzip дозволений. [8]
Які URL варто включати
Google рекомендує додавати абсолютні URL, які ви хочете бачити в результатах пошуку. [7]
Для дублікатів варто вказувати бажану canonical URL. Наявність у sitemap є слабшим canonical сигнал, ніж перенаправлення або `rel="canonical"`. [7][9]
`<lastmod>`, `<priority>` і `<changefreq>`
Google ігнорує `<priority>` і `<changefreq>`. [7]
`<lastmod>` може використовуватися, якщо значення надійне і відповідає значущій зміні вміст, структуровані дані або посилання. [7]
Як надіслати sitemap Google
Sitemap можна надіслати через Search Console, Search Console API або вказати в robots.txt через `Sitemap:`. [7][11][12]
Надсилання є лише підказкою і не гарантує завантаження, сканування чи індексацію. [7]
Багатомовні сайти і спеціалізовані sitemaps
Google підтримує `hreflang` зв'язки в XML sitemap. Кожна мовна версія має вказувати всі варіанти, включно з собою. [10]
Існують розширення для зображення, відео та новини. [13][14][15]
Типові помилки технічного SEO
Блокувати сторінку в robots.txt і водночас очікувати, що Google прочитає її `noindex`, є серйозною помилкою. [5][16]
Також слід уникати суперечливих сигналs між sitemap і `rel="canonical"`. [9]
- Не використовуйте robots.txt замість `noindex`.
- Не додавайте зайві перенаправлення, 404 або duplicates до sitemap.
- Не змінюйте `<lastmod>` при кожному розгортання без реальної зміни.
- Тримайте canonical і sitemap узгодженими.
- Перевіряйте субдомени і протоколи окремо.
Checklist перед публікацією
Перевіряйте реальні HTTP відповіді. robots.txt має віддаватися як text, а sitemap у підтримуваному форматі. [2][7]
Після публікації перевірте reпорт Sitemaps у Search Console. Під час migration sitemap може допомогти Google швидше знайти нові URL. [11][17]
- Чи доступний `/robots.txt`?
- Чи не заблоковані важливі URL помилково?
- Чи залишаються noindex сторінки доступними для сканування?
- Чи sitemap містить лише абсолютні бажані URL?
- Чи кожен файл менший за 50 000 URL і 50 MB?
- Чи canonical і sitemap узгоджені?
- Чи hreflang зв'язки коректні?
- Чи Search Console показує помилки?

