Перейти до вмісту
⚙️
Технічне SEO
Урок 15 з 22 · Керування краулінгом
БЕЗКОШТОВНО +55 XP

robots.txt і meta robots: докладний розбір

robots.txt і meta robots — два інструменти, які плутають найчастіше. Перший керує обходом, другий — індексуванням і показом. Головне правило, на якому тримається весь урок: robots.txt потрібен здебільшого, щоб не перевантажувати сайт запитами, а не щоб сховати сторінку від Google. Для цього є noindex або пароль. Далі — як Google розбирає файл, які директиви підтримує, як конфліктують правила і що відбувається за помилок сервера.

Основа — специфікація Google про розбір robots.txt та опис метатега robots і X-Robots-Tag. Базове вступ — в уроці про robots.txt; тут — подробиці.

🤖
Два рівні керування
«Файл robots.txt вирішує, чи можна заходити. Метатег вирішує, що робити з тим, що робот побачив.»

Де лежить файл і на що поширюється

  • Файл має бути текстом в UTF-8, лежати в корені хоста;
  • він діє лише для свого хоста, протоколу й порту: файл на example.com не поширюється на піддомен, на http і на інший порт, а файл у підпапці не перевіряється взагалі;
  • межа розміру — 500 КіБ, усе, що далі, ігнорується;
  • назви полів не залежать від регістру, але шляхи в правилах залежать від нього;
  • Google кешує файл зазвичай до 24 годин.

Які директиви підтримуються

ПолеЗначення
user-agentдо якого робота належать правила
disallowшлях, який не можна сканувати
allowшлях, який можна сканувати
sitemapповний URL мапи сайту

Це весь список. Нерідко називають ще директиву Crawl-delay, але Google інші поля, наприклад crawl-delay, не підтримує. Недійсні рядки Google ігнорує. Докладніше про мапи сайту — в уроці про XML-мапи.

Як обирається група і правило

  • Група. Google обирає групу з найвідповіднішим user-agent; порядок груп неважливий. Якщо для робота оголошено кілька спеціальних груп, їхні правила обʼєднуються, а група із зірочкою з ними не обʼєднується;
  • Правило. Застосовується найспецифічніше правило за довжиною шляху; за конфлікту, зокрема з підстановками, береться найменш суворе. Тому твердження «Allow завжди перебиває Disallow» неточне: важлива довжина шляху;
  • Підстановки. Підтримуються дві: зірочка (будь-яка кількість будь-яких символів) і знак долара (кінець URL). Кінцева зірочка ігнорується.
User-agent: *
Disallow: /cart/
Disallow: /*?sessionid=
Allow: /cart/help

User-agent: Googlebot-Image
Disallow: /drafts/

Sitemap: https://example.com/sitemap.xml

Що буде за помилок

  • Відповіді 4xx (крім 429) Google сприймає так, ніби файлу немає: обмежень немає;
  • Відповіді 5xx. Перші 12 годин Google припиняє обхід сайту й намагається отримати файл знову; потім до 30 днів використовує останню вдалу версію; якщо версії немає, вважає, що обмежень немає. Тому «лежачий» robots.txt — не дрібниця;
  • не використовуйте 401 і 403 для обмеження частоти обходу — вони на неї не впливають.

Стан файлу видно у звіті robots.txt у Search Console: які файли Google знайшов для основних хостів, коли обходив і які були попередження. Застарілий «Тест robots.txt» із меню інструментів замінено цим звітом.

Що закривати, а що ні

Закривати має сенс те, що створює навантаження без користі для пошуку: кошик, внутрішній пошук, адреси із сеансовими ідентифікаторами. Не закривайте те, без чого Google не зрозуміє сторінку: інакше він погано проаналізує сторінки, що залежать від цих ресурсів. Для JavaScript є додаткове правило: Google не виконує скрипти із заблокованих файлів; подробиці — в уроці про JavaScript і SEO.

Метатег robots

Метатег у head або заголовок X-Robots-Tag керують індексуванням і показом. Правила можна комбінувати через кому; вони не залежать від регістру. Для поточних цілей важливі:

ПравилоЕфект
noindexне показувати сторінку в результатах
nofollowне переходити за посиланнями сторінки; без нього Google може використовувати їх для виявлення
noneте саме, що noindex і nofollow
nosnippetне показувати текстовий фрагмент і відеопревʼю
max-snippet: Nне більше N символів текстового фрагмента

Два уточнення. По-перше, Google більше не використовує noarchive, бо кешованого посилання в результатах більше немає. По-друге, за конфлікту правил діє суворіше: якщо на сторінці є і max-snippet:50, і nosnippet, застосовується nosnippet.

X-Robots-Tag: для PDF і не тільки

Заголовок HTTP дає змогу задати ті самі правила для файлів, у яких немає head: PDF, зображень, документів. Можна вказати робота перед правилами: X-Robots-Tag: googlebot: nofollow. Правила без указання робота діють на всіх.

HTTP/1.1 200 OK
X-Robots-Tag: noindex

Головна пастка: Disallow + noindex

Це найвідоміша пастка. Правило з посібника про блокування індексації: щоб noindex спрацював, сторінка не має бути закрита в robots.txt і має бути доступна для обходу. Якщо закрити, робот правила не побачить, і сторінка все одно може зʼявитися в результатах, наприклад якщо на неї посилаються. Для прибраної з видачі сторінки порядок такий: спочатку відкрити обхід, дати noindex, дочекатися виключення, лише потім за потреби закривати.

Robots.txt, noindex і canonical

Це три різні інструменти для трьох різних завдань: навантаження на сайт, видимість у результатах і вибір основного URL. Для дублів документація прямо застерігає: не використовуйте robots.txt для канонізації, а noindex не рекомендовано використовувати, щоб запобігти вибору канонічної сторінки на одному сайті. Докладніше — в уроках про дубльований контент і тег canonical.

Як перевірити

  1. Відкрийте звіт robots.txt у Search Console й переконайтеся, що файл знайдено без помилок для кожного хоста.
  2. Перевірте, що немає випадкового Disallow: /.
  3. Через аналізатор сторінки перевірте, що сторінки, які мають бути в пошуку, не позначені noindex.
  4. Обійдіть сайт краулером і знайдіть сторінки з noindex, закриті водночас у robots.txt.
  5. Для масової перевірки статусів індексування — аудит URL. Загальні питання обходимості — в уроці про обходимість.

Чек-лист

  1. robots.txt лежить у корені кожного хоста, в UTF-8, не більше 500 КіБ.
  2. Використовуються лише підтримувані поля: user-agent, allow, disallow, sitemap.
  3. Немає випадкового Disallow: /.
  4. Закрито те, що дає навантаження, але не потрібне пошуку; ресурси для відображення відкриті.
  5. Сторінки з noindex не закриті в robots.txt.
  6. Для PDF та інших файлів використовується X-Robots-Tag.

Помилки

  • Закривати в robots.txt те, що треба прибрати з пошуку.
  • Водночас Disallow і noindex на одній сторінці.
  • Використовувати Crawl-delay, очікуючи ефекту в Google.
  • Закривати CSS і JavaScript, потрібні для відображення.
  • Використовувати robots.txt для канонізації.

Що далі

Далі — тег canonical: як задати бажаний URL, не закриваючи дублі від обходу.

🎯
Завдання до уроку
Перевірте розуміння та отримайте +20 XP
← Тег canonical
Урок 15 з 22
Перейти до завдання →