Robots.txt- спеціальний файл, який використовується для регулювання процесу індексації сайту пошуковими системами. Місце його розміщення – кореневмй каталог. Різні розділи цього файлу містять директиви, які відкривають або закривають доступ ботам до розділів і сторінок сайту. При цьому пошукові роботи різних систем використовують окремі алгоритми обробки цього файлу, які можуть відрізнятися один від одного. Ніякі настройки robots.txt не впливають на обробку посилань на сторінки сайту з інших сайтів.
Функції robots.txt
Основна функція цього файлу – розміщення вказівок для індексуючих роботів. Головні директиви robots.txt – Allow (дозволяє індексацію певного файлу або розділу) і Disallow (відповідно, забороняє індексацію), а також User-agent (визначає, до яких саме роботів ставляться дозвільні й заборонні директиви).
Потрібно пам’ятати, що інструкції robots.txt носять рекомендаційний характер. Значить, вони можуть бути в різних випадках проігноровані роботами.
Розглянемо приклади.
Файл такого змісту забороняє індексацію сайту для всіх роботів:
User-agent: *
Disallow: /
Щоб заборонити індексацію для основного робота пошукової системи Google тільки директорії / private /, застосовується robots.txt такого змісту:
User-agent: googlebot
Disallow: / private /
Як створити і де розмістити robots.txt
Файл повинен мати розширення txt. Після створення його потрібно закачати в кореневу папку сайту з використанням будь-якого FTP-клієнта і перевірити доступність файлу за адресою site.com/robots.txt. При зверненні за цією адресою він повинен відображатися браузером в повному обсязі.
Вимоги до файлу robots.txt
Веб-майстер завжди повинен пам’ятати, що відсутність в кореневому каталозі сайту файлу robots.txt або його неправильне налаштування потенційно загрожують відвідуваності сайту і доступності в пошуку.
За стандартами, в файлі robots.txt заборонено використання кириличних символів. Тому для роботи з кириличними доменами потрібно застосовувати Punycode. При цьому кодування адрес сторінок повинно відповідати кодуванні застосовуваної структури сайту.
Інші директиви файлу
Host
Ця директива використовується роботами всіх пошукових систем. Вона дає можливість вказати дзеркало сайту, яке буде головним до індексування. Це дозволить уникнути попадання в індекс сторінок різних дзеркал одного сайту, появи дублів у видачі ПС. В Google че краще робити через Google Search Console.
Приклади використання
Якщо для групи сайтів головне дзеркало саме https://onesite.com, то:
User-Agent: Yandex
Disallow: / blog
Disallow: / custom
Host: https://onesite.com
Якщо у файлі robots.txt є кілька значень директиви Host, то робот використовує тільки першу з них, інші будуть проігноровані.
Sitemap
Для швидкої і правильної індексації сайтів використовується спеціальний файл Sitemap або група таких файлів. Сама директива є міжсекційною – вона буде враховуватися роботом при розміщенні в будь-якому місці robots.txt. Але зазвичай її прийнято розміщувати в кінці.
При обробці цієї директиви робот запам’ятає і переробить дані. Саме ця інформація лягає в основу формування таких сесій завантаження сторінок сайту для його індексації.
Приклади використання:
User-agent: *
Allow: / catalog
sitemap: https://mysite.com/my_sitemaps0.xml
sitemap: https://mysite.com/my_sitemaps1.xml
Clean-param
Це додаткова директива для ботів пошукової системи Yandex. Сучасні сайти мають складну структуру назв. Часто системи управління контентом формують в назвах сторінок динамічні параметри. Через них може передаватися додаткова інформація про реферера, сесії користувачів і так далі.
Стандартний синтаксис цієї директиви описується наступним чином:
Clean-param: s0 [& s1 & s2 & .. & sn] [path]
У першому полі ми бачимо параметри, які потрібно не враховувати. Вони поділяються символом &. А друге поле містить префікс шляху сторінок, які підпадають під дію цього правила.
Припустимо, на деякому форумі движок сайту при зверненні користувача до сторінок генерує довгі посилання типу http://forum.com/index.php?id=1238955&topic=76, причому зміст сторінок однаковий, а параметр id для кожного відвідувача свій. Щоб всі безліч сторінок з різними id не потрапили в індекс, використовується такий файл robots.txt:
User-agent: *
Disallow:
Clean-param: id /forum.com/index.php
Crawl-delay
Ця директива призначається для тих випадків, коли індексуючі роботи створюють на сервер сайту занадто високе навантаження. У ній вказується мінімальний час між кінцем завантаження сторінки сайту і зверненням робота до наступної. Період часу задається в секундах. Робот пошукової системи «Яндекс» успішно зчитує і дробові значення, наприклад 0.3 секунди.
Приклади використання:
User-agent: *
Disallow: / cgi
Crawl-delay: 3.3 # таймаут 3.3 секунди для роботів
На даний час ця директива не враховується роботами пошукової системи Google.
$ І інші спецсимволи
Потрібно пам’ятати, що при внесенні будь-яких директив за замовчуванням в кінці приписується спецсимвол *. В результаті виходить, що дія вказівки поширюється на всі розділи або сторінки сайту, що починаються з певної комбінації символів.
Щоб відзначити дію за замовчуванням, застосовується спеціальний символ $.
Приклад використання:
User-agent: Googlebot
Disallow: / pictures $ # забороняє ‘/ pictures’,
# але не забороняє ‘/pictures.html’
Стандарт використання файлу robots.txt рекомендує, щоб після кожної групи директив User-agent вставлявся порожній новий рядок. При цьому спеціальний символ # застосовується для розміщення в файлі коментарів. Роботи не будуть враховувати вміст у рядку, який розміщено за символом # до знака порожнього перекладу.
Як заборонити індексацію сайту або його розділів
Заборонити індексацію якихось сторінок, розділів або всього сайту через директиву Disallow можна наступним чином.
Приклад:
User-agent: *
Disallow: /
# блокує доступ до всього сайту
User-agent: googlebot
Disallow: / bin
# блокує доступ до сторінок,
# що починаються з ‘/ bin’
Як перевірити robots.txt на правильність
Перевірка правильності файлу robots .txt – обов’язкова операція після внесення в нього будь-яких змін. Адже випадкова помилка в розміщенні символу може привести до серйозних проблем. Як мінімум потрібно перевірити robots.txt в інструментах для веб-майстрів «Яндекса». Аналогічну перевірку необхідно провести і в пошуковій системі Google. Для успішної перевірки потрібно зареєструватися для роботи в панелі вебмастера і внести в неї дані свого сайту.