Файл robots.txt і як його правильно налаштувати
Robots.txt – це файл, який розміщується в папці сайту на хостингу і містить правила індексування вашого сайту пошуковими системами. Як зрозуміло з назви, файл має звичайний текстовий формат. Якщо при зверненні в браузері до вашого сайту за посиланням виду http://site.com/robots.txt коректно відображається вміст файлу – значить він буде правильно прочитаний роботами пошукових систем.
Навіщо потрібен robots.txt і як налаштувати robots?
Щоб в індекс пошукових систем не потрапили сторінки, яких там бути не повинно. Якщо файлу з настройками немає або ж він порожній або налаштований неправильно, то в індекс можуть потрапити критичні дані, такі як конфігураційні файли з паролями, посилання на адмінку, якісь системні файли і каталоги движку сайту. В результаті неправильних налаштувань пошукова система може проіндексувати і показати всім бажаючим, наприклад, логін-деталі для підключення до бази даних.
Сторінки, які потрібно закривати від індексації:
- Сторінки пошуку по сайту
- Кошик
- Порівняння, сортування і фільтри товарів
- Теги, якщо ви не можете їх оптимізувати і модерувати
- Сторінки реєстрації і авторизації
- Особистий кабінет і профілі користувачів
- Системні файли і каталоги
- Версії для друку
- Порожні сторінки і т. д.
Блокувати індексацію слід для всіх тих сторінок, які не несуть користь для відвідувача, недопрацьовані, містять чутливі дані або є дублями.
Як створити файл robots.txt?
Структура файлу robots.txt має такий вигляд:
- Пошуковий робот 1
- Інструкції для робота 1
- Додаткові опції
- Пошуковий робот 2
- Інструкції для робота 2
- Додаткові опції
і т. д.
Порядок написання інструкцій не має значення, оскільки обробка їх відбувається від менш вкладеного до більш вкладеного. Регістр написання правил важливий: cart.php і Cart.PHP – це різні сторінки.
User-agent
Ця директива відповідає за ім’я робота, для якого будуть вказані правила в цій секції. Зазвичай для User-agent використовують два значення:
- User-agent: * – для всіх роботів
- User-agent: Yandex – для всіх роботів системи Yandex
Також при необхідності можна вказувати будь-які інші існуючі user-агенти.
Disallow
Відповідає за заборону індексації зазначених директорій. Не можна вказувати кілька папок в одному рядку, оскільки роботи не зможуть правильно інтерпретувати правило. Дана директива може бути проігнорована Googlebot, якщо на заборонені до індексації директорії є посилання на вашому сайті або інших сайтах.
Якщо ваш сайт знаходиться на стадії розробки і ви не хочете показувати його пошуковим системам, то заборонити індексування можна командами:
User-agent: * Disallow: /
Не забудьте змінити ці налаштування після завершення всіх робіт зі створення сайту.
Allow
А ця директива, відповідно, відкриває доступ роботів до вказаних каталогах. Причому вказувати Allow: / не має сенсу, оскільки за замовчуванням індексація дозволена для всіх каталогів, на які не встановлено заборони (Disallow).
Allow застосовується зазвичай в комбінації з Disallow, наприклад:
Disallow: / Allow: /catalog
Заборона індексації кореневої папки, але індексувати папку catalog можна.
Host
На даний момент директива не обробляється пошуковими роботами Google і Yandex (з березня 2018 року). Тому можна її не використовувати. Раніше директива Host вказувала на основне дзеркало вашого сайту:
Host: https://site.com
Зараз досить правильно налаштувати редіректи 301 з неосновних дзеркал на основне.
Sitemap
Вказує ботам, де знаходиться карта сайту, якщо це не стандартний шлях https://site.com/sitemap.xml. Важливо вказувати повну посилання на карту сайту, а не відносний шлях:
Sitemap: https://site.com/private/sitemaps/sitemap_new.xml
Ви можете вказувати різні карти для різних роботів при необхідності.
Crawl-Delay
Якщо роботи Yandex сильно навантажують хостинг, можна задати мінімальний інтервал між запитами. Наприклад:
Crawl-Delay: 10
Запис означає, що роботу дозволено робити запити не частіше, ніж раз в 10 секунд. На практиці це правило не завжди дотримується, а Googlebot і зовсім його ігнорує – швидкість обходу сайту регулюється в Search Console. Також вказавши інтервал, наприклад, 0.1 сек ви можете прискорити індексацію сайту. Не факт, що запити будуть приходити по 10 раз в секунду, але сайт точно буде проіндексований швидше. Будьте обережні з цією настройкою, якщо не впевнені, що ваш сервер витримає такий великий потік запитів.
Clean-param
Ця команда використовується досить рідко і покликана прибрати дублі сторінок, які утворюються різними utm-мітками, сесіями, угрупованнями, фільтрами. Наприклад, при переході на сторінку сайту в URL підставляється referrer – сайт звідки був зроблений перехід:
https://site.com/catalog/dveri?ref=google.com.ua&model_id=125
https://site.com/catalog/dveri?ref=yandex.ua&model_id=125
https://site.com/catalog/dveri?ref=ek.ua&model_id=125
Пошуковики вважатимуть цю сторінку за три різних. Щоб склеїти дублі, потрібно додати команду:
Символи підстановки
Символи підстановки в robots.txt використовуються для спрощення і скорочення записів.
Символ * – будь-яка послідовність символів.
Disallow: /images/*.jpg$
Запис означає: заборонити індексування всіх зображень jpg в папці images.
Символ $ – кінець рядка. Даний символ обмежує розкриття вмісту каталогів, наприклад:
Disallow: /images/$
Цей запис не дозволить потрапити в індекс елементам, що знаходяться безпосередньо в папці images, але елементи в папках /images/public1/, /images/public2/ і т. д. будуть індексуватися.
Символ # – коментування. Всі символи в рядку, що йдуть за цим символом будуть проігноровані ботами.
Які помилки часто допускають при написанні robots.txt?
- Ім’я робота в Disallow.
Неправильно:Disallow: Yandex
Правильно:
User-agent: Yandex Disallow: /
- Кілька папок в одному рядку Disallow.Неправильно:
Disallow: /admin/ /tmp/ /private/
Правильно:
Disallow: /admin/ Disallow: /tmp/ Disallow: /private/
- Сам файл повинен називатися тільки robots.txt, а не Robots.txt, ROBOTS.TXT і т. д.
- Не можна залишати порожнім правило User-agent, потрібно прописати * або ім’я робота, для якого далі будуть прописані правила.
- Імена папок і доменів кирилицею. URL потрібно писати в форматі URL-encode, а IDN-домени в puny-code.
Неправильно:Disallow: /кошик/
Правильно:
Disallow: /%D0%BA%D0%BE%D1%88%D0%B8%D0%BA/
Неправильно:
Sitemap: https: //мійсайт.com/admin/sitemap1.xml
Правильно:
Sitemap: https://xn--80arbjktj.com/admin/sitemap1.xml
- Дуже багато правил – великий розмір файлу. Якщо файл robots.txt важить більше 32 КБ, то він не обробляється і вважається таким, що дозволяє індексацію всього вмісту сайту.
Сподіваємося, що ми змогли відповісти на деякі питання про налаштування robots.txt і процеси індексації в пошукових системах.
Нижче залишимо посилання з прикладами файлу robots.txt для популярних CMS. При використанні наведених файлів не забудьте змінити ім’я домену на ваше!
- Robots для wordpress: WordPress
- Robots для Joomla: Joomla
- Robots для OpenCart: OpenCart
- Robots для Bitrix: Bitrix
- Robots для Drupal: Drupal
- Robots для MODX Evolution: MODX Evolution
- Robots для MODX Revolution: MODX Revolution
- Robots для Webasyst: Webasyst