Що таке robots.txt і навіщо він взагалі потрібен

Що таке robots.txt і навіщо він взагалі потрібен

робот

Кожен блог дає свою відповідь про це. Тому новачки в просуванні сайту в пошукових системах часто плутаються. А це, не зважаючи на знання правил ранжування Google, правильно зроблену мікророзмітку, оптимізацію швидкості відповіді сервера, може завадити вам потрапити в ТОП Google.

Що таке robots.txt

Файл robots.txt або індексний файл - звичайний текстовий документ в кодуванні UTF-8, діє для протоколів http, https, а також FTP. Файл дає пошуковим роботам рекомендації: які сторінки/файли варто сканувати. Якщо файл буде містити символи не в UTF-8, а в іншому кодуванні, пошукові роботи можуть неправильно їх обробити. Правила, перераховані у файлі robots.txt, дійсні лише щодо того хосту, протоколу і номера порту, де розміщений файл.

Файл повинен розташовуватися в кореневому каталозі у вигляді звичайного текстового документа і бути доступним за адресою: https://site.com.ua/robots.txt. Деяку аналітику на основі цього файлу можна дивитись у Google Search Console.

В інших файлах прийнято ставити позначку ВОМ (Byte Order Mark). Це Юнікод-символ, який використовується для визначення послідовності в байтах при зчитуванні інформації. Його кодовий символ - U + FEFF. На початку файлу robots.txt відмітка послідовності байтів ігнорується.

Google встановив обмеження за розміром файлу robots.txt - він не повинен важити більше 500 Кб.

Але, якщо вам цікаві суто технічні подробиці, файл robots.txt є опис у формі Бекуса-Наура (BNF). При цьому використовуються правила RFC 822.

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

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

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

  • 2xx - сканування пройшло вдало
  • 3xx - пошуковий робот йде за переадресацією доти, доки не отримає іншу відповідь. Найчастіше є п'ять спроб, щоб робот отримав відповідь, відмінну від відповіді 3xx, потім реєструється помилка 404
  • 4xx - пошуковий робот вважає, що можна сканувати весь вміст веб сайту
  • 5xx - оцінюються як тимчасові помилки сервера, сканування повністю забороняється. Робот буде звертатися до файлу доти, доки не отримає іншу відповідь. Пошуковий робот Google може визначити, чи коректно, чи некоректно налаштована віддача відповідей відсутніх сторінок сайту, тобто, якщо замість 404 помилки сторінка віддає відповідь 5xx, в цьому випадку сторінка буде оброблятися з кодом відповіді 404

Поки що невідомо, як обробляється файл robots.txt, який недоступний через проблеми сервера з виходом в інтернет.

Навіщо потрібен файл robots.txt

Наприклад, іноді роботам не варто відвідувати:

  • сторінки з особистою інформацією користувачів на сайті
  • сторінки з різноманітними формами відправки інформації
  • сайти-дзеркала
  • сторінки з результатами пошуку

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

Так роботи пошукових систем бачать веб сайт з файлом robots.txt і без нього:

схема

Без robots.txt та інформація, яка повинна бути прихована від сторонніх очей, може потрапити у видачу, а через це постраждаєте і ви, і сайт.

Так робот пошукових систем бачить файл robots.txt:

файл
Google виявив файл robots.txt на сайті та знайшов правила, за якими слід сканувати сторінки сайту

Як створити файл robots.txt

За допомогою блокнота, Notepad, Sublime, або будь-якого іншого текстового редактора.

У змісті файлу повинні бути прописані інструкція User-agent і правило Disallow, до того ж є ще кілька другорядних правил.

User-agent - візитка для роботів

User-agent - правило про те, яким роботам необхідно переглянути інструкції, описані у файлі robots.txt. На даний момент відомо 302 пошукових робота. Щоб не прописувати всіх окремо, варто використовувати запис:

ноутпад

Вона говорить про те, що ми вказуємо правила в robots.txt для всіх пошукових роботів.

Для Google головним роботом є Googlebot. Якщо ми хочемо врахувати тільки його, запис у файлі буде таким:

бот

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

Інші спеціальні роботи:

  • Googlebot-News - для пошуку новин
  • Mediapartners-Google - для сервісу AdSense
  • AdsBot-Google - для перевірки якості цільової сторінки
  • Googlebot-Image - для картинок
  • Googlebot-Video - для відео
  • Googlebot-Mobile - для індексації мобільної версії

Disallow - розставляємо «цеглини»

Disallow дає рекомендацію, яку саме інформацію не варто сканувати.

Такий запис відкриває для сканування весь сайт:

весь_сайт

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

контент

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

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

Приклад. Як прописати правило Disallow, щоб дати рекомендації роботу не переглядати вміст папки /papka /:

приклад

Щоб роботи не сканували конкретний URL:

сканер

Щоб роботи не сканували конкретний файл:

картинка

Щоб роботи не сканували всі файли певного дозволу на сайті:

картинка
Цей рядок забороняє індексувати всі файли з розширенням .gif

Allow - направляємо роботів

Allow дозволяє сканувати будь-який файл/директиву/сторінку. Припустимо, необхідно, щоб роботи могли подивитися тільки сторінки, які починалися б з /catalog, а весь інший контент закрити. В цьому випадку прописується наступна комбінація:

направлення

Правила Allow і Disallow упорядковано відповідно до довжині префікса URL (від меншого до більшого) і застосовуються послідовно. Якщо для сторінки підходить кілька правил, робот обирає останнє правило у відсортованому списку.

Sitemap - медична карта сайту

Sitemap повідомляє роботам, що всі URL сайту, які є обов'язковими для індексації, знаходяться за адресою http://site.ua/sitemap.xml. Під час кожного обходу, робот буде дивитись, які зміни вносилися в цей файл, і швидко освіжати інформацію про сайт в базах даних пошукової системи інтернету.

Інструкція повинна бути грамотно вписаною у файл:

інструкція

Crawl-delay - секундомір для слабких серверів

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

делей

Clean-param - мисливець за дублюючим контентом

Clean-param допомагає боротися з get-параметрами для уникнення дублювання контенту, який може бути доступний за різними динамічним адресами (зі знаками питання). Такі адреси з'являються, якщо на сайті є різні сортування, id сесії і так далі.

Припустимо, сторінка доступна за адресами:

www.site.com/catalog/get_phone.ua?ref=page_1&phone_id=1

www.site.com/catalog/get_phone.ua?ref=page_2&phone_id=1

www.site.com/catalog/get_phone.ua?ref=page_3&phone_id=1

В такому випадку файл robots.txt буде виглядати так:

каталог

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

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

Символи в robots.txt

Основними символами файлу є «/», «*», «$», «#».

За допомогою слеша «/» ми показуємо, що хочемо закрити від виявлення роботами. Наприклад, якщо стоїть один слеш в правилі Disallow, ми забороняємо сканувати весь сайт. За допомогою двох знаків слеш можна заборонити сканування будь-якої окремої директорії, наприклад: /catalog /.

Такий запис говорить, що ми забороняємо сканувати весь вміст папки catalog, але якщо ми напишемо /catalog, заборонимо всі посилання на сайті, які будуть починатися на /catalog.

Зірочка "*" означає будь-яку послідовність символів у файлі. Вона ставиться після кожного правила.

каталог
Цей запис говорить, що всі роботи не повинні індексувати будь-які файли з розширенням .gif в папці /catalog/

Знак долара «$» обмежує дії знаку зірочки. Якщо необхідно заборонити весь вміст папки catalog, але при цьому не можна заборонити урли, які містять /catalog, запис в індексному файлі буде таким:

запис

Решітка «#» використовується для коментарів, які веб-майстер залишає для себе або інших вебмайстрів. Робот не буде їх враховувати під час сканування сайту.

Наприклад:

приклад

Як виглядає ідеальний robots.txt

Такий файл robots.txt можна розмістити майже на будь-якому сайті:

робот_текст

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

Але не поспішайте копіювати вміст файлу до себе - для кожного сайту повинні бути прописані унікальні правила, які залежить від типу сайту і CMS. Тому тут варто згадати усі правила при заповненні файлу robots.txt).

Якщо хочете дізнатися, чи правильно заповнили файл robots.txt, перевірте його в інструментах веб-майстрів Google. Просто введіть вихідний код файлу robots.txt в форму за посиланням і вкажіть перевіряється сайт.

Як не потрібно заповнювати файл robots.txt

Часто під час заповнення індексного файлу, допускаються прикрі помилки, причому вони пов'язані зі звичайною неуважністю або поспіхом. Трохи нижче - чарт помилок, які я зустрічала на практиці.

1. Переплутані інструкції:

помилка

Правильний варіант:

варіант

2. Запис декількох папок/директорій в одній інструкції Disallow:

директорія

Такий запис може заплутати пошукові роботи, вони можуть не зрозуміти, що саме їм не слід індексувати: чи то першу папку, чи останню, - тому потрібно писати кожне правило окремо.

правила

3. Сам файл повинен називатися тільки robots.txt, а не Robots.txt, ROBOTS.TXT або якось інакше.

4. Не можна залишати порожнім правило User-agent - потрібно сказати, який робот повинен враховувати прописані у файлі правила.

5. Зайві знаки в файлі (слеши, зірочки).

6. Додавання у файл сторінок, яких не повинно бути в індексі.

Нестандартне застосування robots.txt

Крім прямих функцій, індексний файл може стати майданчиком для творчості і способом знайти нових співробітників.

Ось сайт, в якому robots.txt сам є маленьким сайтом з робочими елементами і навіть рекламним блоком.

сайт

Хочете щось цікавіше? Ловіть посилання на robots.txt з вбудованою грою і музичним супроводом.

гра

Багато брендів використовують robots.txt, щоб ще раз заявити про себе:

бренд найк

Як майданчик для пошуку фахівців, файл використовують в основному SEO-агентства. Бо хто ж ще може дізнатися про його існування? :)

список

А у Google є спеціальний файл humans.txt, щоб ви не допускали думки про дискримінацію фахівців зі шкіри та м'яса.

фахівці

Коли у вебмайстра з'являється достатньо вільного часу, він часто витрачає його на модернізацію robots.txt:

модернізація

Висновки

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

Правила, вони ж директиви, вони ж інструкції файлу robots.txt:

  1. User-agent - правило про те, яким роботам необхідно переглянути інструкції, описані в robots.txt.
  2. Disallow дає рекомендацію, яку саме інформацію не варто сканувати.
  3. Sitemap повідомляє роботам, що усі URL сайту, які є обов'язковими для індексації, знаходяться за адресою http://site.ua/sitemap.xml.
  4. Crawl-delay - параметр, за допомогою якого можна задати період, через який будуть завантажуватися сторінки сайту.
  5. Allow дозволяє сканувати будь-якої файл/директиву/сторінку.
  6. Clean-param допомагає боротися з get-параметрами для уникнення дублювання контенту.

Знаки при складанні robots.txt:

  1. Знак долара «$» обмежує дії знака зірочки.
  2. За допомогою слеша «/» ми показуємо, що хочемо закрити від виявлення роботами.
  3. Зірочка «*» означає будь-яку послідовність символів у файлі. Вона ставиться після кожного правила.
  4. Решітка «#» використовується, щоб позначити коментарі, які пише вебмайстер для себе або інших вебмайстрів.

Використовуйте індексний файл з розумом - і сайт завжди буде у видачі.

Фото: flickr.com
Обробка: Vinci
назад
далі