2.19.5.2. robots.txt
Важливі моменти:
- Директиви у файлі
robots.txtє лише рекомендаціями для ботів, вони не гарантують їх виконання окремими сервісами. - Файл
robots.txt:- Повинен мати саме таку назву.
- Має знаходитися в кореневому каталозі сайту і бути доступним через браузер за адресою вигляду
http://www.example.com/robots.txt. - Розмір — не більше 32 КБ.
- Кодування — UTF-8.
- На одному сайті може бути тільки один файл
robots.txt. - За замовчуванням ботам дозволено доступ до всіх сторінок сайту. Для заборони певних сторінок використовуйте директиву
Disallow. - Кожна директива має починатися з нового рядка.
- Правила чутливі до регістру.
Файл robots.txt складається з груп правил, які визначають поведінку пошукових ботів на сайті.
Синтаксис
Кожна група може містити кілька однакових правил. Це зручно для зазначення декількох ботів або сторінок.
Група правил має бути в такому порядку і складатися із зазначених директив:
User-agent— обов'язкова директива, можна вказувати кілька разів в одній групі правил.DisallowтаAllow— обов'язкові директиви, мінімум одна з них має бути вказана в кожній групі правил.Host,Crawl-delay,Sitemap— необов'язкові директиви.
Для зазначення регулярних виразів використовуються:
*— послідовність будь-якої довжини з будь-яких символів.$— кінець рядка.
Основні директиви
Увага!
Адреси та імена чутливі до регістру. Наприклад,Example та example даватимуть різний результат.
User-agent
Директива User-agent визначає ім'я бота, для якого буде діяти правило. Для зазначення всіх ботів можна використовувати:
User-agent: *
При використанні директиви з певним ім'ям бота правило з * ігнорується.
Приклад директив, які дозволяють доступ боту Googlebot і забороняють іншим:
User-agent: *
Disallow: /
User-agent: Googlebot
Disallow:
Disallow
Директива Disallow визначає сторінки, до яких заборонений доступ ботів.
Заборона доступу до всього сайту:
Disallow: /
Заборона доступу до окремих сторінок:
Disallow: /admin
Увага!
При зазначенні/admin доступ буде заборонений до каталогу admin і файлів з такою назвою, наприклад admin.php і admin.html. Для заборони доступу тільки до каталогу в кінці додайте слеш — /admin/.
Allow
Директива Allow визначає сторінки, до яких дозволено доступ ботів. Директива використовується для створення винятків при використанні Disallow.
Заборона доступу для бота Googlebot до всього сайту, крім каталогу pages:
User-agent: Googlebot
Disallow: /
Allow: /pages/
Host
Директива Host визначає, який домен сайту має вважатися основним. Решта доменів будуть визначені як дзеркала, технічні адреси тощо. Використовується для коректної пошукової індексації, коли до сайту прив'язано кілька доменів.
У сайту з доменами example.com і domain.com для всіх ботів домен example.com буде вважатися основним:
User-agent: *
Disallow:
Host: domain.com
Crawl-delay
Директива Crawl-delay визначає для ботів інтервал в секундах між закінченням завантаження однієї сторінки і початком завантаження наступної. Можна використовувати для скорочення кількості запитів до сайту, що допомагає знизити навантаження на сервер.
Приклад використання:
User-Agent: *
Disallow:
Crawl-delay: 3
Sitemap
Директива Sitemap визначає URL-адресу файлу sitemap на сайті. Можна вказувати кілька разів. Адреса обов'язково має бути в форматі протокол://адреса/шлях/до/sitemap.
Приклад використання:
Sitemap: https://example.com/sitemap.xml
Sitemap: http://www.example.com/sitemap.xml
Мультидоменний robots.txt
Важливі моменти:
- Існуючий файл
robots.txtмає бути видалений. - У розділі «Налаштування сайту» має бути увімкнена опція «Передавати запит на бекенд у разі, якщо статичний файл не знайдений» або розширення
txtмає бути видалено зі [hosting:sites:my-sites:site-settings:static-files|статичних файлів]].
На сайтах з декількома доменами (наприклад, при використанні псевдонімів) налаштування у файлі robots.txt можуть відрізнятися для кожного домену у зв'язку з певною SEO-оптимізацією або іншими завданнями.
Для реалізації динамічного robots.txt виконайте наступне:
- Ознайомтеся з важливою інформацією з цієї статті та переконайтеся, що всі умови виконані.
- У кореневому каталозі сайту створіть файли вигляду
domain.com-robots.txt(замістьdomain.comвикористовуйте домени, для яких мають застосовуватися правила). - У створених файлах вкажіть необхідні правила для кожного домену.
- На початку файлу
.htaccessдодайте директиви:RewriteEngine On RewriteCond %{REQUEST_URI} ^/robots\.txt$ RewriteRule ^robots\.txt$ %{HTTP_HOST}-robots.txt [L] - Перевірте виведення правил по кожному з доменів.