Правильний роботс тхт. Як редагувати файл txt robots. Disallow - розставляємо цеглу

💖 Подобається?Поділися з друзями посиланням

Доброго дня любі друзі! Усі ви знаєте, що пошукова оптимізація– справа відповідальна та тонка. Потрібно враховувати абсолютно кожну дрібницю, щоб отримати прийнятний результат.

Сьогодні ми поговоримо про robots.txt – файл, який знайомий кожному вебмайстру. Саме в ньому прописуються всі основні інструкції для пошукових роботів. Як правило, вони із задоволенням дотримуються вказаних вказівок і у разі неправильного складання відмовляються від індексації веб-ресурсу. Далі я розповім вам про те, як складати правильний варіант robots.txt, а також як його налаштувати.

У передмові я вже описав, що таке. Тепер розповім, навіщо він потрібний. Robots.txt – невеликий текстовий файл, який зберігається у корені сайту. Він використовується пошуковими системами. У ньому чітко прописані правила індексації, тобто які розділи сайту потрібно індексувати (додавати у пошук), а які – ні.

Зазвичай, від індексації закриваються технічні розділи сайту. Зрідка до чорного списку потрапляють неунікальні сторінки (копіпаст політики конфіденційності тому приклад). Тут же роботам пояснюються принципи роботи з розділами, які потрібно індексувати. Дуже часто прописують правила для кількох роботів окремо. Про це ми й поговоримо далі.

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

Створення robots.txt

Щоб створити файл, достатньо скористатися стандартним функціоналом вашої операційної системипісля чого вивантажити його на сервер через FTP. Де він лежить (на сервері) здогадатися нескладно – докорінно. Зазвичай, ця папка називається public_html.

Ви легко зможете потрапити до неї за допомогою будь-якого FTP-клієнта (наприклад, ) або вбудованого файлового менеджера. Природно, ми не завантажуватимемо на сервер порожній роботс. Впишемо туди кілька основних директив (правил).

User-agent: *
Allow: /

Використовуючи ці рядки у своєму файлі robots, ви звернетесь до всіх робіт (директива User-agent), дозволивши їм індексувати ваш сайт повністю і повністю (включаючи всі технічні сторінки Allow: /)

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

Директиви

User-agentОдна з найважливіших, т. к. показує яким роботам слідувати правилам, що йдуть за нею. Правила враховуються до наступного User-agent у файлі.
AllowДозволяє індексацію будь-яких блоків ресурсу. Наприклад: "/" або "/tag/".
DisallowНавпаки, забороняє індексацію розділів.
SitemapШлях до картки сайту (у форматі xml).
HostГоловне дзеркало (з www або без, або якщо у вас є кілька доменів). Тут же вказується захищений протокол https (за наявності). Якщо у вас стандартний http, його не потрібно вказувати.
Crawl-delayЗ її допомогою ви зможете встановити інтервал відвідування та завантаження файлів вашого сайту для роботів. Допомагає зменшити навантаження на хост.
Clean-paramДозволяє вимкнути індексацію параметрів на тих чи інших сторінках (на кшталт www.site.com/cat/state?admin_id8883278).
На відміну від попередніх директив, тут вказуються 2 значення (адреса і сама параметр).

Це все правила, які підтримуються флагманськими пошуковими системами. Саме з їх допомогою ми будемо створювати наш роботс, оперуючи різними варіаціями для самих різних видівсайтів.

Налаштування

Для грамотного налаштування файлу роботів нам потрібно точно знати, які розділи сайту повинні бути проіндексовані, а які – ні. У випадку з простим односторінником на html+css нам достатньо прописати кілька основних директив, таких як:

User-agent: *
Allow: /
Sitemap: site.ru/sitemap.xml
Host: www.site.ru

Тут ми вказали правила та значення для всіх пошукових систем. Але краще додати окремі директиви для Гугла та Яндекса. Виглядатиме це так:

User-agent: *
Allow: /

User-agent: Yandex
Allow: /
Disallow: /politika

User-agent: GoogleBot
Allow: /
Disallow: /tags/

Sitemap: site.ru/sitemap.xml
Host: site.ru

Тепер на нашому html-сайті індексуватимуться абсолютно всі файли. Якщо ми хочемо виключити якусь сторінку чи картинку, нам необхідно вказати відносне посиланняна цей фрагмент у Disallow.

Ви можете використовувати сервіси автоматичної генерації файлів роботів. Не гарантую, що з їх допомогою ви створите ідеально правильний варіант, але як ознайомлення можна спробувати.

Серед таких сервісів можна виділити:

З їх допомогою ви зможете створити robots.txt в автоматичному режимі. Особисто я украй не рекомендую цей варіант, тому що набагато простіше зробити це вручну, настроївши під свою платформу.

Говорячи про платформи, я маю на увазі всілякі CMS, фреймворки, SaaS-системи та багато іншого. Далі ми поговоримо про те, як настроювати файл роботів WordPress та Joomla.

Але перед цим виділимо кілька універсальних правил, якими можна буде керуватися при створенні та налаштуванні роботів майже для будь-якого сайту:

Закриваємо від індексування (Disallow):

  • адмінку сайту;
  • особистий кабінетта сторінки реєстрації/авторизації;
  • кошик, дані із форм замовлень (для інтернет-магазину);
  • папку cgi (розташовується на хості);
  • службові розділи;
  • скрипти ajax та json;
  • UTM та Openstat-мітки;
  • різні параметри.

Відкриваємо (Allow):

  • картинки;
  • JS та CSS-файли;
  • інші елементи, які мають обліковуватися пошуковими системами.

Крім цього, в кінці не забуваємо вказати дані sitemap (шлях до карти сайту) та host (головне дзеркало).

Robots.txt для WordPress

Для створення файлу нам потрібно так само закинути robots.txt в корінь сайту. Змінювати його вміст у такому разі можна буде за допомогою тих самих FTP і файлових менеджерів.

Є й зручний варіант – створити файл за допомогою плагінів. Зокрема, така функція має Yoast SEO. Правити роботу прямо з адмінки куди зручніше, тому сам я використовую саме такий спосіб роботи з robots.txt.

Як ви вирішите створити цей файл - справа ваша, нам важливіше зрозуміти, які саме директиви там мають бути. На своїх сайтах під керуванням WordPress використовую такий варіант:

User-agent: * # правила для всіх роботів, за винятком Гугла та Яндекса

Disallow: /cgi-bin # папка зі скриптами
Disallow: /? # параметри запитів з домашньої сторінки
Disallow: /wp- # файли самої CSM (з приставкою wp-)
Disallow: *?s= # \
Disallow: *&s= # все, що пов'язано з пошуком
Disallow: /search/ # /
Disallow: /author/ архіви авторів
Disallow: /users/ # та користувачів
Disallow: */trackback # Повідомлення від WP про те, що на вас хтось посилається
Disallow: */feed # фід у xml
Disallow: */rss # та rss
Disallow: */embed # вбудовані елементи
Disallow: /xmlrpc.php # WordPress API
Disallow: *utm= # UTM-мітки
Disallow: *openstat= # Openstat-мітки
Disallow: /tag/ # теги (за наявності)
Allow: */uploads # відкриваємо завантаження (картинки тощо)

User-agent: GoogleBot # для Гугла
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: *?s=
Disallow: *&s=
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: /xmlrpc.php
Disallow: *utm=
Disallow: *openstat=
Disallow: /tag/
Allow: */uploads
Allow: /*/*.js # відкриваємо JS-файли
Allow: /*/*.css # та CSS
Allow: /wp-*.png # та зображення у форматі png
Allow: /wp-*.jpg # \
Allow: /wp-*.jpeg # та в інших форматах
Allow: /wp-*.gif # /
працює разом з плагінами

User-agent: Yandex # для Яндекса
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: *?s=
Disallow: *&s=
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: /xmlrpc.php
Disallow: /tag/
Allow: */uploads
Allow: /*/*.js
Allow: /*/*.css
Allow: /wp-*.png
Allow: /wp-*.jpg
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Allow: /wp-admin/admin-ajax.php
# чистимо UTM-мітки
Clean-Param: openstat # і про Openstat не забуваємо

Sitemap: # прописуємо шлях до карти сайту
Host: https://site.ru # головне дзеркало

Увага!При копіюванні рядків у файл – не забудьте видалити всі коментарі (текст після #).

Такий варіант robots.txt найбільш популярний серед веб-майстрів, які використовують WP. Чи ідеальний він? Ні. Ви можете спробувати щось додати або, навпаки, прибрати. Але врахуйте, що з оптимізації текстовика роботів нерідкі помилки. Про них ми поговоримо далі.

Robots.txt для Joomla

І хоча в 2018 році Joomla рідко хто використовує, я вважаю, що не можна обділяти увагою цю чудову CMS. При просуванні проектів на Joomla вам обов'язково доведеться створювати файл роботів, а інакше як ви хочете закривати від індексації непотрібні елементи?

Як і в попередньому випадку, ви можете створити файл вручну, просто закинувши його на хост, або використовувати модуль для цих цілей. В обох випадках вам доведеться його грамотно налаштовувати. Ось так буде виглядати правильний варіант для Joomla:

User-agent: *
Allow: /*.css?*$
Allow: /*.js?*$
Allow: /*.jpg?*$
Allow: /*.png?*$
Disallow: /cache/
Disallow: /*.pdf
Disallow: /administrator/
Disallow: /installation/
Disallow: /cli/
Disallow: /libraries/
Disallow: /language/
Disallow: /components/
Disallow: /modules/
Disallow: /includes/
Disallow: /bin/
Disallow: /component/
Disallow: /tmp/
Disallow: /index.php
Disallow: /plugins/
Disallow: /*mailto/

Disallow: /logs/
Disallow: /component/tags*
Disallow: /*%
Disallow: /layouts/

User-agent: Yandex
Disallow: /cache/
Disallow: /*.pdf
Disallow: /administrator/
Disallow: /installation/
Disallow: /cli/
Disallow: /libraries/
Disallow: /language/
Disallow: /components/
Disallow: /modules/
Disallow: /includes/
Disallow: /bin/
Disallow: /component/
Disallow: /tmp/
Disallow: /index.php
Disallow: /plugins/
Disallow: /*mailto/

Disallow: /logs/
Disallow: /component/tags*
Disallow: /*%
Disallow: /layouts/

User-agent: GoogleBot
Disallow: /cache/
Disallow: /*.pdf
Disallow: /administrator/
Disallow: /installation/
Disallow: /cli/
Disallow: /libraries/
Disallow: /language/
Disallow: /components/
Disallow: /modules/
Disallow: /includes/
Disallow: /bin/
Disallow: /component/
Disallow: /tmp/
Disallow: /index.php
Disallow: /plugins/
Disallow: /*mailto/

Disallow: /logs/
Disallow: /component/tags*
Disallow: /*%
Disallow: /layouts/

Host: site.ru # не забудьте тут поміняти адресу на свою
Sitemap: site.ru/sitemap.xml # і тут

Як правило, цього достатньо, щоб зайві файли не потрапляли до індексу.

Помилки при налаштуванні

Дуже часто люди припускаються помилок при створенні та налаштуванні файлу роботс. Ось найпоширеніші з них:

  • Правила вказані лише для User-agent.
  • Відсутні Host та Sitemap.
  • Наявність http-протоколу у директиві Host (потрібно вказувати лише https).
  • Недотримання правил вкладеності під час відкриття/закриття картинок.
  • Не закриті UTM та Openstat-мітки.
  • Прописування директив host та sitemap для кожного робота.
  • Поверхневе опрацювання файлу.

Дуже важливо правильно налаштувати цей маленький файл. При допущенні грубих помилок ви можете втратити значну частину трафіку, тому будьте уважні при налаштуванні.

Як перевірити файл?

Для цих цілей краще використовувати спеціальні сервіси від Yandex і Google, тому що ці пошукові системи є найбільш популярними та затребуваними (найчастіше єдино використовуваними), такі пошукові системи як Bing, Yahoo або Rambler розглядати немає сенсу.

Для початку розглянемо варіант із Яндексом. Заходимо у Вебмайстер. Після цього в Інструменти – Аналіз robots.txt.

Тут ви зможете перевірити файл на помилки, а також перевірити в реальному часі, які сторінки відкриті для індексації, а які немає. Дуже зручно.

У Гугла є такий самий сервіс. Ідемо в Search Console. Знаходимо вкладку Сканування, вибираємо Інструмент перевірки файлу robots.txt.

Тут такі самі функції, як і у вітчизняному сервісі.

Зверніть увагу, що він показує мені дві помилки. Пов'язано це з тим, що Google не розпізнає директиви очищення параметрів, які я вказав для Яндекса:

Clean-Param: utm_source&utm_medium&utm_campaign
Clean-Param: openstat

Звертати увагу на це не варто, тому що роботи Google використовують лише правила GoogleBot.

Висновок

Файл robots.txt є дуже важливим для SEO-оптимізації вашого сайту. Підходьте до його налаштування з усією відповідальністю, тому що при неправильній реалізації все може піти прахом.

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

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

Перше, що робить пошуковий бот, який приходить на ваш сайт, це пошук та читання файлу robots.txt. Що це за файл? - Це набір інструкцій для пошукової системи.

Він є текстовий файл, з розширенням txt, який знаходиться у кореневій директорії сайту. Даний набір інструкцій вказує пошуковому роботу, які сторінки та файли сайту індексувати, а які ні. Також у ньому вказується основне дзеркало сайту та де шукати карту сайту.

Навіщо потрібен файл robots.txt? Для правильного індексування вашого веб-сайту. Що б у пошуку не було дублів сторінок, різних службових сторінок та документів. Один раз правильно налаштувавши директиви в robots ви вбережете свій сайт від багатьох проблем з індексацією та задзеркаленням сайту.

Як скласти правильний robots.txt

Скласти robots.txt досить легко, створюємо текстовий документу стандартному блокноті вінди. Пишемо у цьому файлі директиви для пошукових систем. Далі зберігаємо цей файл під назвою robots і текстовим розширенням txt. Все тепер його можна залити на хостинг, до кореневої папки сайту. Врахуйте, що для одного сайту можна створити лише один документ «роботс». Якщо цей файл відсутній на сайті, то бот автоматично вирішує, що можна індексувати все.

Так як він один, то в ньому прописуються інструкції до всіх пошукових систем. Причому можна записати як окремо інструкції під кожну ПС, так і загальну відразу під усі. Поділ інструкцій для різних пошукових роботів здійснюється через директиву User-agent. Докладніше поговоримо про це нижче.

Директиви robots.txt

Файл «для роботів» може містити такі директиви для керування індексацією: User-agent, Disallow, Allow, Sitemap, Host, Crawl-delay, Clean-param. Давайте розглянемо кожну інструкцію докладніше.

Директива User-agent

Директива User-agent- Вказує для якої пошукової системи будуть інструкції (точніше для якого конкретно робота). Якщо стоїть «*», то інструкції призначені для всіх роботів. Якщо вказаний конкретний бот, наприклад Googlebot, то інструкції призначені лише для основного індексуючого робота Google. Причому якщо інструкції є й окремо для Googlebot і для інших ПС, то гугл прочитає тільки свою інструкцію, а загальну проігнорує. Робот Яндекса зробить так само. Дивимося приклад запису директиви.

User-agent: YandexBot — інструкції тільки для основного індексуючого бот Яндекса
User-agent: Yandex - інструкції для всіх бот Яндекса
User-agent: * — інструкції для всіх роботів

Директиви Disallow та Allow

Директиви Disallow та Allow— дають команди, що індексувати, а що ні. Disallow пропонує команду не індексувати сторінку або цілий розділ сайту. А Allow навпаки вказує, що потрібно проіндексувати.

Disallow: / - забороняє індексувати весь сайт
Disallow: /papka/ — забороняє індексувати весь вміст папки
Disallow: /files.php – забороняє індексувати файл files.php

Allow: /cgi-bin – дозволяє індексувати сторінки cgi-bin

У директивах Disallow і Allow можна часто просто необхідно використовувати спецсимволи. Вони необхідні завдання регулярних выражений.

Спецсимвол * - замінює будь-яку послідовність символів. Він за промовчанням приписується до кінця кожного правила. Навіть якщо ви його не прописали, ПС самі приставлять. Приклад використання:

Disallow: /cgi-bin/*.aspx – забороняє індексувати усі файли з розширенням.aspx
Disallow: /*foto — забороняє індексацію файлів та папок, що містять слово foto

Спецсимвол $ - скасовує дію спецсимволу "*" в кінці правила. Наприклад:

Disallow: /example$ — забороняє індексувати '/example', але не забороняє '/example.html'

А якщо прописати без спецсимволу $ то інструкція спрацює вже інакше:

Disallow: /example - забороняє і '/example' і '/example.html'

Директива Sitemap

Директива Sitemap- Призначена для вказівки роботу пошукової системи, де на хостингу лежить карта сайту. Формат карти сайту має бути sitemaps.xml. Карта сайту потрібна для швидкої та повної індексації сайту. Причому карта сайту це не обов'язково один файл, їх може бути декілька. Формат запису директиви:

Sitemap: http://сайт/sitemaps1.xml
Sitemap: http://сайт/sitemaps2.xml

Директива Host

Директива Host- Вказує роботу основне дзеркало сайту. Щоб не було в індексі дзеркал сайту, завжди потрібно вказувати цю директиву. Якщо її не вказати, робот Яндекса буде індексувати як мінімум дві версії сайту з www і без. Поки робот дзеркальник їх не склеїть. Приклад запису:

Host: www.сайт
Host: сайт

У першому випадку робот індексуватиме версію з www, у другому випадку без. Дозволяється прописувати лише одну директиву Host у файлі robots.txt. Якщо ви пропишіть їх кілька, бот обробить і візьме до уваги тільки першу.

Правильна директива хост повинна мати такі дані:
- Вказувати на протокол з'єднання (HTTP або HTTPS);
- Коректно написане доменне ім'я(не можна прописувати IP-адресу);
— номер порту (наприклад, Host: site.com:8080).

Неправильно зроблені директиви будуть просто ігноровані.

Директива Crawl-delay

Директива Crawl-delayдозволяє зменшити навантаження на сервер. Вона потрібна на випадок, якщо ваш сайт починається лягати під натиском різних ботів. Директива Crawl-delay вказує пошуковому боту час очікування між закінченням завантаження однієї сторінки та початком завантаження іншої сторінки сайту. Директива повинна йти безпосередньо після записів директив Disallow та/або Allow. Пошуковий робот Яндекса вміє читати дрібні значення. Наприклад: 1.5 (півтора секунди).

Директива Clean-param

Директива Clean-paramпотрібна сайтам, сторінки яких містять динамічні параметри. Ідеться про тих, які не впливають на вміст сторінок. Це різна службова інформація: ідентифікатори сесій, користувачів, реферерів та ін. Так от, щоб не було дублів ці сторінок і використовується ця директива. Вона скаже ПС не закачувати повторно добирається інформацію. Знизиться і навантаження на сервер та час обходу сайту роботом.

Clean-param: s /forum/showthread.php

Цей запис говорить ПС, що параметр s буде вважатися незначним для всіх url, які починаються з /forum/showthread.php. Максимальна довжина запису – 500 символів.

З директивами розібралися, переходимо до налаштування нашого файлу роботс.

Налаштування robots.txt

Приступаємо безпосередньо до налаштування файлу robots.txt. Він повинен містити щонайменше два записи:

User-agent:- Вказує для якої пошукової системи будуть інструкції, що йдуть нижче.
Disallow:- Уточнює, яку саме частину сайту не індексувати. Може закривати від індексації як окрему сторінку сайту, так і цілі розділи.

Причому можна вказати, що ці директиви призначені для всіх пошукових систем, або для якоїсь конкретної. Вказується це у директиві User-agent. Якщо ви хочете щоб інструкції читали всі боти - ставимо «зірочку»

Якщо хочете прописати вказівки для конкретного робота, але потрібно вказати його ім'я.

User-agent: YandexBot

Спрощено приклад правильно складеного файлу robots буде таким:

User-agent: *
Disallow: /files.php
Disallow: /razdel/
Host: сайт

Де, * свідчить, що інструкції призначені всім ПС;
Disallow: /files.php- Дає заборону на індексацію файлу file.php;
Disallow: /foto/— забороняє індексувати весь розділ «foto» з усіма вкладеними файлами;
Host: сайт- Вказує роботам, яке дзеркало індексувати.

Якщо у вас на сайті немає сторінок, які треба закрити від індексації, то ваш файл robots.txt має бути таким:

User-agent: *
Disallow:
Host: сайт

Robots.txt для Яндекса (Yandex)

Щоб вказати, що ці інструкції призначені для пошукової системи Яндекс, треба прописати в директиві User-agent: Yandex. Причому якщо ми пропишемо Yandex то сайт індексуватимуть всі роботи Яндекса, а якщо вкажемо YandexBot - то це буде команда тільки для основного індексує робота.

Також потрібно обов'язково прописати директиву «Host», де вказати основне дзеркало сайту. Як я писав вище, робиться це для недопущення дублів сторінок. Ваш правильний robots.txt для Yandex буде таким.

Роботами. search engine robots.

Recommendations on the content of the file

Yandex supports the following directives:

Directive What it does
User-agent *
Disallow
Sitemap
Clean-param
Allow
Crawl-delay
Directive What it does
User-agent * Indicates the robot до яких правила зберігаються в robots.txt apply.
Disallow Prohibits indexing site sections або окремі pages.
Sitemap Відомості про cestу до сторінки mapmap, що є зареєстрованим на сайті.
Clean-param Указує на роботу, що на сторінці URL містить параметри (відповідні UTM tags), які повинні бути ignored, коли indexing it.
Allow Можливі indexing site sections or individual pages.
Crawl-delay Відображають мінімальний термін (в секундах) для пошуку робітника для того, щоб почати після завантаження однієї сторінки, перед початком роботи з іншою.

* Mandatory directive.

Ви знайдете потребу в Disallow, Sitemap, і Clean-param directives.

User-agent: * # specify the robots що directives є set для Disallow: /bin/ # disables links from the Shopping Cart. Disallow: /search/ # disable page links of search embedded on the site Disallow: /admin/ # disables links from the admin panel Sitemap: http://example.com/sitemap # specify for the robot Clean-param: ref /some_dir/get_book.pl

Роботи з інших будівельних інструментів і послуг можуть interpretovat directives в різних способах. Indexing robot doesn"t support the use of files hosted on other sites.

Ви можете запрограмувати server"s response and the accessibility of robots.txt to the robot using the tool.

Якщо ваші robots.txt file redirects до іншого robots.txt file (для прикладу, коли moving a site), add the redirect target site в Yandex.Webmaster і здійснює право на management this site.

Robots.txt – це текстовий файл, який містить параметри індексування сайту для роботів пошукових систем.

Яндекс підтримує такі директиви:

Директива Що робить
User-agent *
Disallow
Sitemap
Clean-param
Allow
Crawl-delay
Директива Що робить
User-agent * Вказує на робота, для якого діють перелічені в robots.txt правила.
Disallow Забороняє індексувати розділи або окремі сторінки сайту.
Sitemap Вказує шлях до файлу Sitemap, який розміщено на сайті.
Clean-param Вказує роботу, що URL-адреса сторінки містить параметри (наприклад, UTM-мітки), які не потрібно враховувати при індексуванні.
Allow Дозволяє індексувати розділи або окремі сторінки сайту.
Crawl-delay

Задає роботу мінімальний період часу (у секундах) між закінченням завантаження однієї сторінки та початком завантаження наступної.

* Обов'язкова директива.

Найчастіше вам можуть знадобитися директиви Disallow, Sitemap та Clean-param. Наприклад:

User-agent: * #вказуємо, для яких роботів встановлені директиви\nDisallow: /bin/ # забороняє посилання з "Кошики з товарами". / # забороняє посилання з панелі адміністратора\nSitemap: http://example.com/sitemap # вказуємо роботу на файл sitemap для сайту\nClean-param: ref /some_dir/get_book.pl

Роботи інших пошукових систем та сервісів можуть інакше інтерпретувати директиви.

Примітка. Робот враховує регістр у написанні підрядків (ім'я або шлях до файлу, ім'я робота) та не враховує регістр у назвах директив.

Використання кирилиці

Використання кирилиці заборонено у файлі robots.txt та HTTP-заголовках сервера.

Файл robots.txt є одним із найважливіших при оптимізації будь-якого сайту. Його відсутність може призвести до високого навантаження на сайт з боку пошукових роботів та повільної індексації та переіндексації, а неправильне налаштуваннядо того, що сайт повністю пропаде з пошуку або просто не буде проіндексовано. Отже, не шукатиметься в Яндексі, Google та інших пошукових системах. Давайте розберемося у всіх нюансах правильного налаштування robots.txt.

Спочатку коротке відео, яке створить загальне уявлення про те, що таке файл robots.txt.

Як впливає robots.txt на індексацію сайту

Пошукові роботи будуть індексувати ваш сайт незалежно від файлу robots.txt. Якщо такий файл існує, то роботи можуть керуватися правилами, які у цьому файлі прописуються. При цьому деякі роботи можуть ігнорувати ті чи інші правила або деякі правила можуть бути специфічними тільки для деяких ботів. Зокрема, GoogleBot не використовує директиву Host і Crawl-Delay, YandexNews з недавніх пір став ігнорувати директиву Crawl-Delay, а YandexDirect та YandexVideoParser ігнорують більш загальні директиви в роботі (але керуються тими, які зазначені спеціально для них).

Докладніше про винятки:
Винятки Яндекса
Стандарт винятків для роботів (Вікіпедія)

Максимальне навантаження на сайт створюють роботи, які завантажують контент із вашого сайту. Отже, вказуючи, що саме індексувати, а що ігнорувати, а також з якими тимчасовими проміжками робити завантаження, ви можете, з одного боку, значно знизити навантаження на сайт з боку роботів, а з іншого боку, прискорити процес завантаження, заборонивши обхід непотрібних сторінок .

До таких непотрібних сторінок належать скрипти ajax, json, що відповідають за спливаючі форми, банери, виведення каптчі і т.д., форми замовлення та кошик з усіма кроками оформлення покупки, функціонал пошуку, особистий кабінет, адмінка.

Більшість роботів також бажано відключити індексацію всіх JS і CSS. Але для GoogleBot та Yandex такі файли потрібно залишити для індексування, тому що вони використовуються пошуковими системами для аналізу зручності сайту та його ранжування (пруф Google, пруф Яндекс).

Директиви robots.txt

Директиви – це правила для роботів. Є специфікація W3C від 30 січня 1994 року та розширений стандарт від 1996 року. Однак не всі пошукові системи та роботи підтримують ті чи інші директиви. У зв'язку з цим нам корисніше знати не стандарт, бо, як керуються тими чи іншими директиви основні роботи.

Давайте розглянемо по порядку.

User-agent

Це найголовніша директива, що визначає яких роботів далі йдуть правила.

Для всіх роботів:
User-agent: *

Для конкретного робота:
User-agent: GoogleBot

Зверніть увагу, що у robots.txt не важливий регістр символів. Тобто. Користувач-агент для гугла можна з тим самим успіхом записати таким чином:
user-agent: googlebot

Нижче наведена таблиця головних користувачів-агентів різних пошукових систем.

Бот Функція
Google
Googlebot основний індексуючий робот Google
Googlebot-News Google Новини
Googlebot-Image Google Зображення
Googlebot-Video відео
Mediapartners-Google
Mediapartners Google AdSense, Google Mobile AdSense
AdsBot-Google перевірка якості цільової сторінки
AdsBot-Google-Mobile-Apps Робот Google для додатків
Яндекс
YandexBot основний індексуючий робот Яндекса
YandexImages Яндекс.Картинки
YandexVideo Яндекс.Відео
YandexMedia мультимедійні дані
YandexBlogs робот пошуку по блогах
YandexAddurl робот, який звертається до сторінки при додаванні її через форму «Додати URL»
YandexFavicons робот, що індексує піктограми сайтів (favicons)
YandexDirect Яндекс.Директ
YandexMetrika Яндекс.Метрика
YandexCatalog Яндекс.Каталог
YandexNews Яндекс.Новини
YandexImageResizer робот мобільних сервісів
Bing
Bingbot основний індексуючий робот Bing
Yahoo!
Slurp основний індексуючий робот Yahoo!
Mail.Ru
Mail.Ru основний робот, що індексує Mail.Ru
Rambler
StackRambler Раніше основний робот, що індексує Rambler. Проте з 23.06.11 Rambler перестає підтримувати власну пошукову систему та тепер використовує на своїх сервісах технологію Яндекса. Більше не актуально.

Disallow та Allow

Disallow закриває від індексування сторінки та розділи сайту.
Allow примусово відкриває для індексування сторінки та розділи сайту.

Але тут не все так просто.

По-перше, потрібно знати додаткові оператори та розуміти, як вони використовуються – це *, $ та #.

* — це будь-яка кількість символів, у тому числі їх відсутність. При цьому в кінці рядка зірочку можна не ставити, мається на увазі, що вона там знаходиться за умовчанням.
$ - Вказує, що символ перед ним повинен бути останнім.
# — коментар, що після цього символу в рядку роботом не враховується.

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

Disallow: *?s=
Disallow: /category/$

По-друге, треба розуміти, як виконуються вкладені правила.
Пам'ятайте, що порядок запису директив не є важливим. Наслідування правил, що відкрити або закрити від індексації визначається за тими, які директорії вказані. Розберемо з прикладу.

Allow: *.css
Disallow: /template/

http://site.ru/template/ - закрито від індексування
http://site.ru/template/style.css - закрито від індексування
http://site.ru/style.css - відкрито для індексування
http://site.ru/theme/style.css - відкрито для індексування

Якщо потрібно, щоб всі файли.css були відкриті для індексування, доведеться це додатково прописати для кожної із закритих папок. У нашому випадку:

Allow: *.css
Allow: /template/*.css
Disallow: /template/

Повторюся, порядок директив не є важливим.

Sitemap

Директива для вказівки шляху до файлу XML Sitemap. URL-адреса прописується так, як і в адресному рядку.

Наприклад,

Sitemap: http://site.ru/sitemap.xml

Директива Sitemap вказується будь-де файлу robots.txt без прив'язки до конкретного user-agent. Можна вказати кілька правил Sitemap.

Host

Директива для вказівки головного дзеркала сайту (у більшості випадків: www або без www). Зверніть увагу, що головне дзеркало вказується БЕЗ http://, але https://. Також, якщо необхідно, то вказується порт.
Директива підтримується лише ботами Яндекса та Mail.Ru. Іншими роботами, зокрема GoogleBot, команда не буде врахована. Host прописується лише один раз!

Приклад 1:
Host: site.ru

Приклад 2:
Host: https://site.ru

Crawl-delay

Директива для встановлення інтервалу між скачуванням роботом сторінок сайту. Підтримується роботами Яндекса, Mail.Ru, Bing, Yahoo. Значення може встановлюватися в цілих або дрібних одиницях (розділювач - точка), час у секундах.

Приклад 1:
Crawl-delay: 3

Приклад 2:
Crawl-delay: 0.5

Якщо сайт має невелике навантаження, то потреби встановлювати таке правило немає. Однак якщо індексація сторінок роботом призводить до того, що сайт перевищує ліміти або зазнає значних навантажень аж до перебоїв роботи сервера, ця директива допоможе знизити навантаження.

Чим більше значення, тим менше сторінокробот завантажить за одну сесію. Оптимальне значення визначається індивідуально для кожного сайту. Краще починати з невеликих значень - 0.1, 0.2, 0.5 - і поступово їх збільшувати. Для пошукових систем, що мають менше значення для результатів просування, таких як Mail.Ru, Bing і Yahoo можна спочатку встановити більші значення, ніж для роботів Яндекса.

Clean-param

Це правило повідомляє краулеру, що URL-адреси із зазначеними параметрами не потрібно індексувати. Для правила вказуються два аргументи: параметр та URL розділу. Директива підтримується Яндексом.

Clean-param: author_id http://site.ru/articles/

Clean-param: author_id&sid http://site.ru/articles/

Clean-Param: utm_source&utm_medium&utm_campaign

Інші параметри

У розширеній специфікації robots.txt можна знайти параметри Request-rate і Visit-time. Однак вони на Наразіне підтримуються провідними пошуковими системами.

Сенс директив:
Request-rate: 1/5 - завантажувати не більше однієї сторінки за п'ять секунд
Visit-time: 0600-0845 - завантажувати сторінки тільки в проміжок з 6 ранку до 8:45 за Гринвічем.

Закриває robots.txt

Якщо вам потрібно налаштувати, щоб ваш сайт не індексувався пошуковими роботами, вам потрібно прописати наступні директиви:

User-agent: *
Disallow: /

Перевірте, щоб на тестових майданчиках вашого сайту було прописано ці директиви.

Правильне налаштування robots.txt

Для Росії та країн СНД, де частка Яндекса відчутна, слід прописувати директиви для всіх роботів та окремо для Яндекса та Google.

Щоб правильно налаштувати robots.txt, скористайтесь наступним алгоритмом:

  1. Закрийте від індексування адмінку сайту
  2. Закрийте від індексування особистий кабінет, авторизацію, реєстрацію
  3. Закрийте від індексування кошик, форми замовлення, дані щодо доставки та замовлення
  4. Закрийте від індексування ajax, json-скрипти
  5. Закрийте від індексування папку cgi
  6. Закрийте від індексування плагіни, теми оформлення, js, css для всіх роботів, крім Яндекса та Google
  7. Закрийте від індексування функціонал пошуку
  8. Закрийте від індексування службові розділи, які не мають жодної цінності для сайту в пошуку (помилка 404, список авторів)
  9. Закрийте від індексування технічні дублі сторінок, а також сторінки, на яких весь контент у тому чи іншому вигляді продубльований з інших сторінок (календарі, архіви, RSS)
  10. Закрийте від індексування сторінки з параметрами фільтрів, сортування, порівняння
  11. Закрийте від індексування сторінки з параметрами UTM-міток та сесій
  12. Перевірте, що проіндексовано Яндексом та Google за допомогою параметра "site:" (у пошуковому рядку наберіть "site:site.ru"). Якщо у пошуку присутні сторінки, які також потрібно закрити від індексації, додайте їх до robots.txt
  13. Вкажіть Sitemap та Host
  14. За необхідності пропишіть Crawl-Delay та Clean-Param
  15. Перевірте коректність robots.txt через інструменти Google та Яндекса (описано нижче)
  16. Через 2 тижні перевірте ще раз, чи з'явилися в пошуковій видачінові сторінки, які не повинні індексуватись. У разі потреби повторити перелічені вище кроки.

Приклад robots.txt

# Приклад файлу robots.txt для налаштування гіпотетичного сайту https://site.ru User-agent: * Disallow: /admin/ Disallow: /plugins/ Disallow: /search/ Disallow: /cart/ Disallow: */?s= Disallow : *sort= Disallow: *view= Disallow: *utm= Crawl-Delay: 5 User-agent: GoogleBot Disallow: /admin/ Disallow: /plugins/ Disallow: /search/ Disallow: /cart/ Disallow: */?s = Disallow: *sort= Disallow: *view= Disallow: *utm= Allow: /plugins/*.css Allow: /plugins/*.js Allow: /plugins/*.png Allow: /plugins/*.jpg Allow: /plugins/*.gif User-agent: Yandex Disallow: /admin/ Disallow: /plugins/ Disallow: /search/ Disallow: /cart/ Disallow: */?s= Disallow: *sort= Disallow: *view= Allow: /plugins/*.css Allow: /plugins/*.js Allow: /plugins/*.png Allow: /plugins/*.jpg Allow: /plugins/*.gif Clean-Param: utm_source&utm_medium&utm_campaign Crawl-Delay: 0.5 https://site.ru/sitemap.xml Host: https://site.ru

Як додати та де знаходиться robots.txt

Після того, як ви створили файл robots.txt, його необхідно розмістити на вашому сайті за адресою site.ru/robots.txt - тобто. у кореневому каталозі. Пошуковий робот завжди звертається до файлу на URL /robots.txt

Як перевірити robots.txt

Перевірка robots.txt здійснюється за наступними посиланнями:

  • В Яндекс.Вебмайстрі — на вкладці Інструменти>Аналіз robots.txt
  • У Google Search Console— на вкладці Сканування>Інструмент перевірки файлу robots.txt

Типові помилки у robots.txt

Наприкінці статті наведу кілька типових помилокфайлу robots.txt

  • robots.txt відсутня
  • у robots.txt сайт закритий від індексування (Disallow: /)
  • у файлі присутні лише основні директиви, немає детального опрацювання файлу
  • у файлі не закриті від індексування сторінки з UTM-мітками та ідентифікаторами сесій
  • у файлі вказані лише директиви
    Allow: *.css
    Allow: *.js
    Allow: *.png
    Allow: *.jpg
    Allow: *.gif
    при цьому файли css, js, png, jpg, gif закриті іншими директивами в низці директорій
  • директива Host прописана кілька разів
  • у Host не вказано протокол https
  • шлях до Sitemap вказано неправильно, або вказано неправильний протокол або дзеркало сайту

P.S.

P.S.2

Корисне відео від Яндекса (Увага! Деякі рекомендації підходять лише для Яндекса).



Розповісти друзям