2.19.5.2. robots.txt

Важливі моменти:

  • Директиви у файлі robots.txt є лише рекомендаціями для ботів, вони не гарантують їх виконання окремими сервісами.
  • Файл robots.txt:
    • Повинен мати саме таку назву.
    • Має знаходитися в кореневому каталозі сайту і бути доступним через браузер за адресою вигляду http://www.example.com/robots.txt.
    • Розмір — не більше 32 КБ.
    • Кодування — UTF-8.
  • На одному сайті може бути тільки один файл robots.txt.
  • За замовчуванням ботам дозволено доступ до всіх сторінок сайту. Для заборони певних сторінок використовуйте директиву Disallow.
  • Кожна директива має починатися з нового рядка.
  • Правила чутливі до регістру.

Файл robots.txt складається з груп правил, які визначають поведінку пошукових ботів на сайті.

Кожна група може містити кілька однакових правил. Це зручно для зазначення декількох ботів або сторінок.

Група правил має бути в такому порядку і складатися із зазначених директив:

  1. User-agent — обов'язкова директива, можна вказувати кілька разів в одній групі правил.
  2. Disallow та Allow — обов'язкові директиви, мінімум одна з них має бути вказана в кожній групі правил.
  3. Host, Crawl-delay, Sitemap — необов'язкові директиви.

Для зазначення регулярних виразів використовуються:

  • * — послідовність будь-якої довжини з будь-яких символів.
  • $ — кінець рядка.

Увага!

Адреси та імена чутливі до регістру. Наприклад, Example та example даватимуть різний результат.

Директива User-agent визначає ім'я бота, для якого буде діяти правило. Для зазначення всіх ботів можна використовувати:

User-agent: *

При використанні директиви з певним ім'ям бота правило з * ігнорується.

Приклад директив, які дозволяють доступ боту Googlebot і забороняють іншим:

User-agent: *
Disallow: /
User-agent: Googlebot
Disallow: 

Директива Disallow визначає сторінки, до яких заборонений доступ ботів.

Заборона доступу до всього сайту:

Disallow: /

Заборона доступу до окремих сторінок:

Disallow: /admin

Увага!

При зазначенні /admin доступ буде заборонений до каталогу admin і файлів з такою назвою, наприклад admin.php і admin.html. Для заборони доступу тільки до каталогу в кінці додайте слеш — /admin/.

Директива Allow визначає сторінки, до яких дозволено доступ ботів. Директива використовується для створення винятків при використанні Disallow.

Заборона доступу для бота Googlebot до всього сайту, крім каталогу pages:

User-agent: Googlebot
Disallow: /
Allow: /pages/

Директива Host визначає, який домен сайту має вважатися основним. Решта доменів будуть визначені як дзеркала, технічні адреси тощо. Використовується для коректної пошукової індексації, коли до сайту прив'язано кілька доменів.

У сайту з доменами example.com і domain.com для всіх ботів домен example.com буде вважатися основним:

User-agent: *
Disallow: 
Host: domain.com

Директива Crawl-delay визначає для ботів інтервал в секундах між закінченням завантаження однієї сторінки і початком завантаження наступної. Можна використовувати для скорочення кількості запитів до сайту, що допомагає знизити навантаження на сервер.

Приклад використання:

User-Agent: *
Disallow:
Crawl-delay: 3

Директива Sitemap визначає URL-адресу файлу sitemap на сайті. Можна вказувати кілька разів. Адреса обов'язково має бути в форматі протокол://адреса/шлях/до/sitemap.

Приклад використання:

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

Важливі моменти:

  • Існуючий файл robots.txt має бути видалений.
  • У розділі «Налаштування сайту» має бути увімкнена опція «Передавати запит на бекенд у разі, якщо статичний файл не знайдений» або розширення txt має бути видалено зі [hosting:sites:my-sites:site-settings:static-files|статичних файлів]].

На сайтах з декількома доменами (наприклад, при використанні псевдонімів) налаштування у файлі robots.txt можуть відрізнятися для кожного домену у зв'язку з певною SEO-оптимізацією або іншими завданнями.

Для реалізації динамічного robots.txt виконайте наступне:

  1. Ознайомтеся з важливою інформацією з цієї статті та переконайтеся, що всі умови виконані.
  2. У кореневому каталозі сайту створіть файли вигляду domain.com-robots.txt (замість domain.com використовуйте домени, для яких мають застосовуватися правила).
  3. У створених файлах вкажіть необхідні правила для кожного домену.
  4. На початку файлу .htaccess додайте директиви:
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/robots\.txt$
    RewriteRule ^robots\.txt$ %{HTTP_HOST}-robots.txt [L]
  5. Перевірте виведення правил по кожному з доменів.
Зміст

    (1)