Якщо хтоcь думає, що без robots.txt можна обійтись – сильно помиляється. Щоб там не писали про “віртуальний robots” або не актуальність його створення під ПС Google, він залишається одним з найважливіших системних файлів сайту, який значно впливає на оптимізацію та просування. З його допомогою можна контролювати індексацію веб-сторінок пошуковими ботами. У цій статті я розкажу як створити правильний robots для CMS WordPress, а також розгляну його будову та оптимізацію й, звичайно, дам готові приклади.
Що таке Robots.txt та навіщо він?
Robots.txt – це текстовий файл, який знаходиться в кореневій директорії сайту і містить правила (директиви) індексації сайту для пошукових ботів. Стандарт був розроблений і введений в роботу світовим W3C-консорціумом у 1994 році. З цього часу він активно застосовується веб-майстрами всього світу для блокування тих чи інших файлів і папок сайтів від індексу пошукових систем. Це можуть бути службові або конфіденційні файли. При відсутньому robots.txt, вони зможуть бути проіндексовані будь-яким пошуковиком, ботом чи краулером й потрапити у пошукову видачу. Тому, файл robots.txt потрібен ще й у цілях інформаційної безпеки. Окрім того, при відсутньому “роботсі” усі сторінки, файли, директорії вашого сайту 24/7 будуть індексуватися усіма пошуковими ботами підряд (а їх в інтернеті не мало), що створюватиме значні навантаження на сервер і може навіть спричинити падіння сервера.
Ось так виглядає стандартний файл robots.txt:
Його створив по замовчуванню сам WordPress (так-званий “віртуальний robots.txt”). Як бачимо, він зовсім не оптимізований й дозволяє пошуковикам індексувати системні папки та файли сайту, які через деякий час можуть опинитися у пошуку (звісно, якщо не будуть захищені іншим способом).
Приклад Robots.txt для WordPress
Правильний robots.txt створюється у форматі .txt та кодуванням UTF-8 без BOM (це дуже важливо) і поміщається у кореневу директорію сайту. Правила для кожного пошукового робота прописуються окремим блоком. Блоки складаються з директив, кожна з яких прописується з нового рядка. Директива Allow – примусово відкриває для пошуку, а Disallow – навпаки закриває. Файл не повинен перевищувати 500 Кб. Щоби закоментувати рядок застосовується спецсимвол – # (бемоль). Закоментований рядок (коментар) ігноруватиметься пошуковими ботами.
Бачень того як має бути побудований ідеальний файл robots у мережі існує чимало. Деякі правила створюється вебмайстрами додатково і залежать від тих чи інших нюансів на сайті, однак я для себе сформував певний шаблон, який застосовую на практиці.
Нумо розберімо готовий приклад robots.txt з поясненнями:
User Agent: *
# оголошуємо назву пошукового робота (юзер-агента), наприклад Googlebot або Yandexbot. Це може також бути будь-який інший краулер, навіть приватний. Зірочка позначає усіх пошукових ботів відразу. Disallow: /cgi-bin # системна папка сервера, яка відповідає за виконання скриптів, обов’язково закриваємо від пошуковиків
Disallow: /wp-admin/
# системна папка WordPress, закриваємо від пошуку в обов’язковому порядку
Disallow: /wp-cron.php
# системний файл, планувальник завдань WordPress, закриваємо
Disallow: /xmlrpc.php
# системний файл, відповідає за віддалене RPC-підключення до WordPress, вразливий до хакерських атак, закриваємо від пошуку і бажано обмежити права доступу
Disallow: */trackback
# функція сповіщення про згадування вашого домену на інших сайтах, є часто зайвою, закриваємо її від пошуку, а в налаштуваннях WordPress бажано відключити
Disallow: */feed
# RSS посилання, дублюють сторінки сайту, тому бажано закривати від пошуку
Disallow: */rss
# аналогічно попередньому
Disallow: */embed
# посилання вбудованого коду чи компонентів на сайті, бажано закривати, щоби не індексувалися
Disallow: /author/*
# закриваємо від пошуку публікації автора, що дублюють сторінки сайту
Disallow: /tag/
# закриваємо від пошуку теги, які також дублюють інші сторінки сайту
Disallow: /?
# закриваємо від пошуку технічні або динамічні URL-адреси
Disallow: *?s
# аналогічно
Disallow: *&s
# аналогічно
Disallow: *utm*=
# закриваємо від пошуку посилання з utm-мітками
Disallow: *openstat=
# блокуємо посилання з мітками openstat
Disallow: ?*replytocom
# закриваємо від пошуку посилання відповідей на коментарі, є зайвими і не потрібними для пошуку
Allow: */uploads
# відкриваємо для пошуку папку із завантаженнями, зображеннями
Allow: /*/*.js
# відкриваємо доступ до скриптів. Якщо ж закрити, можуть бути проблеми з обробкою та відображенням сайту пошуковиками. Як наслідок – виникатимуть помилки неоптимізованого контенту і таке інше
Allow: /*/*.css
# аналогічно відкриваємо доступ до стилів, щоби пошуковики могли коректно зрендерити верстку сторінки і коректно перевірити оптимізацію
Allow: /wp-*.png
# далі відкриваємо для пошуковиків зображення в різних форматах
Allow: /wp-*.jpg
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Allow: /wp-*.svg
Allow: /wp-*.pdf
# відкриваємо pdf-файли для індексації
Allow: /wp-admin/admin-ajax.php
# аналогічно, може використовуватися пошуковими системами для рендерінгу, чимало фахівців рекомендують відкрити
Sitemap: https://example.com/sitemap.xml
# вказуємо повний шлях до XML мапи сайту, покращує індексацію сайту
Хочу зауважити, що директиви можна по різному застосовувати для тих чи інших юзер-агентів. Наприклад, стилі і скрипти чи інші важливі папки/файли відкривати лише для відомих ботів пошукових систем, а для усіх інших – навпаки закривати. Рекомендується поексперементувати з директивами й визначити для себе найкращий комплекс правил.
Як протестувати і перевірити robots.txt на помилки
Дуже важливо відразу після створення або зміни файлу robots перевірити його у спеціальних тестувальниках, наприклад:
- Тестувальник Robots.txt в Google Search Console
- Тестувальник Robots.txt в Яндекс Вебмайстрі
- Тестувальник Robots.txt в Bing Webmaster
- Незалежний тестувальник Robots.txt в сервісі Techncial SEO
У разі, якщо robots.txt не коректний це може заблокувати пошукових роботів та суттєво погіршити індексування й як наслідок занизити позиції сайту в пошуковій видачі, загалом погіршивши усе SEO. Тому намагайтеся бути з цим файлом якомога обереженішими. Користуйтеся офіційними рекомендаціями пошукових систем: