Що таке robots.txt і як працюють його правила

Автор: Опубліковано

Коротко: robots.txt — це загальнодоступний текстовий файл, який повідомляє інтернет-роботам, які частини сайту вони можуть завантажувати, а які мають оминати. Він допомагає керувати відвідуванням сайту роботами, але не захищає дані й не гарантує видалення адреси з результатів пошуку. Його правила діють лише для роботів, які їх дотримуються.

Де розміщують robots.txt і як він працює?

Файл robots.txt розміщують у кореневому каталозі сайту за адресою на кшталт https://example.com/robots.txt. Робот, тобто програма, яка автоматично відвідує сторінки, може прочитати його перед завантаженням їхнього вмісту. На підставі правил він визначає, до яких шляхів має доступ.

Правила стосуються конкретного протоколу, хоста й порту. Файл, доступний для https://example.com, не керує автоматично роботами на https://mahazyn.example.com або у версії сайту з HTTP. Піддомен, якому потрібні власні обмеження, потребує окремої конфігурації.

Якщо файл відсутній і сервер повертає код HTTP 404, тобто «не знайдено», це зазвичай означає відсутність обмежень з боку robots.txt. Це не те саме, що збій сервера: серверні помилки під час спроби завантажити цей файл можуть тимчасово обмежити відвідування сайту роботами. Особливості обробки таких помилок залежать від робота.

Як читати й записувати правила?

Основні записи утворюють групу: спочатку вказують робота, а потім визначають дозволені або заборонені шляхи. Приклад файлу може виглядати так:

User-agent: *
Disallow: /poshuk/
Disallow: /robochi/
Allow: /robochi/publichnyi-pryklad.html

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

Окремі елементи означають:

У цьому прикладі роботи мають оминати адреси, що починаються з /poshuk/ і /robochi/, але можуть завантажити вказаний загальнодоступний файл у робочому каталозі. Якщо правила Allow і Disallow перетинаються, стандарт передбачає пріоритет точнішого збігу. Регістр літер у шляхах має значення.

Запис Disallow: / блокує завантаження всього сайту роботами, на яких поширюється відповідна група правил. Порожній запис Disallow: не встановлює такого блокування. Ця невелика відмінність часто стає причиною серйозних помилок під час публікації сайту.

Якщо додаєте групу для конкретного робота, перевірте правила вибору груп у його документації. Не припускайте, що ця група автоматично успадкує всі обмеження, записані для User-agent: *.

Блокування завантаження не означає заборони індексування

Завантаження сторінки роботом, яке також називають скануванням або crawling, та індексування — це два різні процеси. Індексування означає аналіз і збереження інформації про сторінку в базі пошукової системи, на основі якої формуються результати пошуку.

Адреса, заблокована в robots.txt, усе одно може з’явитися в результатах, наприклад якщо пошукова система дізнається про неї з посилань на інших сторінках. Роботу не обов’язково завантажувати вміст, щоб дізнатися про існування адреси.

Якщо загальнодоступна сторінка не повинна потрапляти до результатів пошуку, зазвичай використовують директиву noindex — інструкцію в метатегу сторінки або заголовку HTTP X-Robots-Tag. Робот повинен мати змогу завантажити відповідь сервера, щоб прочитати noindex. Одночасне блокування в robots.txt може йому завадити. Запис Noindex безпосередньо у файлі robots.txt не є правильним способом виключення сторінок із результатів пошуку Google.

Наприклад, сторінка подяки після надсилання форми може залишатися доступною для користувачів і містити noindex. Натомість панель із даними клієнтів має вимагати входу в обліковий запис і перевірки прав доступу — сама заборона для робота не захищає її вміст.

Коли використовувати robots.txt, а коли — інше рішення?

Robots.txt може бути корисним для обмеження завантаження великих наборів результатів внутрішнього пошуку або численних варіантів фільтрів. Проте спочатку потрібно визначити, чи мають ці адреси з’являтися в результатах пошуку та чи не потрібно роботу прочитати за ними інші інструкції.

Не блокуйте без попереднього аналізу файли CSS і JavaScript, потрібні для відображення сторінки. Їхня недоступність може завадити пошуковій системі правильно відтворити вигляд і вміст сайту. Саме по собі зменшення кількості відвідувань робота не означає кращої видимості сайту в пошуку.

Файл robots.txt є загальнодоступним, тому не розміщуйте в ньому паролі, токени чи списки конфіденційних ресурсів. Для захисту тестового середовища використовуйте автентифікацію або мережеві обмеження. Зловмисний робот може повністю ігнорувати опубліковані заборони.

Як безпечно впровадити й перевірити файл?

Перш ніж змінювати robots.txt, збережіть копію поточної версії. Потім виконайте коротку перевірку:

  1. Відкрийте /robots.txt на потрібному домені й перевірте, чи сервер повертає звичайний текст, а не сторінку помилки або форму входу.
  2. Підготуйте приклади адрес: головної сторінки, товару, статті, а також шляху, який потрібно заблокувати.
  3. Перевірте, як правила застосовуються до цих адрес для конкретного робота. Уточніть підтримуваний синтаксис в офіційній документації відповідної пошукової системи.
  4. Після публікації перевірте стан файлу в інструментах для власника сайту, наприклад Google Search Console. Роботи можуть зберігати його копію, тому зміна не завжди враховується одразу.

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

Дивіться також: Що таке 2FA?

Читайте також

Дізнайтеся, як PHP-FPM обробляє запити PHP, чим відрізняється від вебсервера та як налаштувати процеси під трафік і ресурси хостингу.
Дізнайтеся, як BIND обслуговує DNS, чим відрізняються його серверні ролі та коли варто розгортати його самостійно замість керованої послуги.
Дізнайтеся, що означають польський реєстр і номер REGON, чим вони відрізняються від NIP та KRS і як перевірити дані підприємства.