Контакти

Як редагувати файл txt robots. Як редагувати файл robots txt Створити файл robot txt

У цій статті є приклад оптимального, на мій погляд, коду для файлу robots.txt під WordPress, який ви можете використовувати у своїх сайтах.

Для початку, згадаємо навіщо потрібний robots.txt- файл robots.txt потрібен виключно для пошукових роботів, щоб «сказати» їм, які розділи/сторінки сайту відвідувати, а які відвідувати не потрібно. Сторінки, які закриті від відвідування не потраплятимуть до індексу пошукових систем (Yandex, Google тощо).

Варіант 1: оптимальний код robots.txt для WordPress

User-agent: * Disallow: /cgi-bin # класика... Disallow: /? # всі параметри запиту на головній Disallow: /wp- # всі файли WP: /wp-json/, /wp-includes, /wp-content/plugins Disallow: *?s= # пошук Disallow: *&s= # пошук Disallow: /search # пошук Disallow: /author/ # архів автора Disallow: */embed # всі вбудовування Disallow: */page/ # всі види пагінації Allow: */uploads # відкриваємо uploads Allow: /*/*.js # всередині /wp - (/*/ - для пріоритету) Allow: /*/*.css # всередині /wp- (/*/ - для пріоритету) Allow: /wp-*.png # картинки в плагінах, cache папці і т.д. Allow: /wp-*.jpg # картинки в плагінах, cache папці і т.д. Allow: /wp-*.jpeg # картинки в плагінах, cache папці і т.д. Allow: /wp-*.gif # картинки в плагінах, cache папці і т.д. Allow: /wp-*.svg # картинки в плагінах, cache папці і т.д. Allow: /wp-*.pdf # файли в плагінах, cache папці і т.д. Allow: /wp-admin/admin-ajax.php #Disallow: /wp/ # коли WP встановлений у підкаталог wp Sitemap: http://example.com/sitemap.xml Sitemap: http://example.com/sitemap2. xml # ще один файл #Sitemap: http://example.com/sitemap.xml.gz # стисла версія (.gz) # Версія коду: 1.1 # Не забудьте поміняти `site.ru` на ваш сайт.

Розбір коду:

    У рядку User-agent: * ми вказуємо, що всі наведені нижче правила будуть працювати для всіх пошукових роботів * . Якщо потрібно, щоб ці правила працювали тільки для одного конкретного робота, то замість * вказуємо ім'я робота (User-agent: Yandex, User-agent: Googlebot).

    У рядку Allow: */uploads ми свідомо дозволяємо індексувати сторінки, в яких зустрічається /uploads . Це обов'язково, т.к. вище ми забороняємо індексувати сторінки, що починаються з /wp- , а /wp-входить в /wp-content/uploads. Тому, щоб перебити правило Disallow: /wp- потрібний рядок Allow: */uploads , адже за посиланнями типу /wp-content/uploads/...у нас можуть лежати картинки, які мають індексуватися, так само там можуть лежати якісь завантажені файли, які нема чого приховувати. Allow: може бути "до" або "після" Disallow: .

    Інші рядки забороняють роботам "ходити" за посиланнями, які починаються з:

    • Disallow: /cgi-bin – закриває каталог скриптів на сервері
    • Disallow: /feed - закриває RSS фід блогу
    • Disallow: /trackback - закриває повідомлення
    • Disallow: ?s= або Disallow: *?s= - закриває сторінки пошуку
    • Disallow: */page/ - закриває всі види пагінації
  1. Правило Sitemap: http://example.com/sitemap.xml вказує роботу на файл із карткою сайту у форматі XML. Якщо у вас на сайті є такий файл, пропишіть повний шлях до нього. Таких файлів може бути кілька, тоді вказуємо шлях до кожного окремо.

    У рядку Host: site.ru ми вказуємо головне дзеркало сайту. Якщо у сайту існують дзеркала (копії сайту на інших доменах), то щоб Яндекс індексував їх однаково, потрібно вказувати головне дзеркало. Директива Host: розуміє лише Яндекс, Google не розуміє! Якщо сайт працює під https протоколом, його обов'язково потрібно вказати в Host: Host: http://example.com

    З документації Яндекса: "Host - незалежна директива і працює в будь-якому місці файлу (міжсекційна)". Тому її ставимо нагору або в кінець файлу, через порожній рядок.

Тому що наявність відкритих фідів потрібна, наприклад, для Яндекс Дзен, коли потрібно підключити сайт до каналу (дякую коментатору «Цифровий»). Можливо відкриті фіди потрібні ще десь.

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

Директива Host для Яндекса більше не потрібна

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

Це важливо: сортування правил перед обробкою

Yandex та Google обробляє директиви Allow та Disallow не по порядку в якому вони вказані, а спочатку сортує їх від короткого правила до довгого, а потім обробляє останнє відповідне правило:

User-agent: * Allow: */uploads Disallow: /wp-

буде прочитана як:

User-agent: * Disallow: /wp- Allow: */uploads

Щоб швидко зрозуміти і застосовувати особливість сортування, запам'ятайте таке правило: «що довше правило robots.txt, тим більший пріоритет воно має. Якщо довжина правил однакова, то пріоритет надається директиві Allow.»

Варіант 2: стандартний robots.txt для WordPress

Не знаю, хто як, а я за перший варіант! Тому що він логічніший - не треба повністю дублювати секцію заради того, щоб вказати директиву Host для Яндекса, яка є міжсекційною (розуміється роботом у будь-якому місці шаблону, без вказівки до якого робота вона відноситься). Що стосується нестандартної директиви Allow, то вона працює для Яндекса та Гугла і якщо вона не відкриє папку uploads для інших роботів, які її не розуміють, то в 99% нічого небезпечного це за собою не спричинить. Я доки не помітив що перший robots працює не так як треба.

Наведений вище код трохи не коректний. Дякую коментатору за вказівку на некоректність, правда в чому вона полягала добиратися самому. І ось до чого я прийшов (можу помилятися):

    Деякі роботи (не Яндекса та Гугла) - не розуміють більше 2 директив: User-agent: і Disallow:

  1. Директиву Яндекса Host: потрібно використовувати після Disallow: , тому що деякі роботи (не Яндекса і Гугла) можуть не зрозуміти її і взагалі забракувати robots.txt. Самому ж Яндексу, судячи з документації, абсолютно все одно де і як використовувати Host:, хоч взагалі створювай robots.txt з одним рядком Host: www.site.ru, для того, щоб склеїти всі дзеркала сайту.

3. Sitemap: міжсекційна директива для Яндекса та Google і мабуть для багатьох інших роботів теж, тому її пишемо в кінці через порожній рядок і вона працюватиме для всіх роботів відразу.

На основі цих поправок, коректний код має виглядати так:

User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content/plugins Disallow: /wp-json/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: */embed Disallow: */page/ Disallow: /cgi-bin Disallow: *?s= Allow: /wp-admin/admin-ajax.php Host: site.ru User-agent: * Disallow: /wp-admin Disallow : /wp-includes Disallow: /wp-content/plugins Disallow: /wp-json/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: */embed Disallow: */page/ Disallow: / cgi-bin Disallow: *?s= Allow: /wp-admin/admin-ajax.php Sitemap: http://example.com/sitemap.xml

Дописуємо під себе

Якщо вам потрібно заборонити будь-які сторінки або групи сторінок, можете внизу додати правило (директиву) Disallow:. Наприклад, нам потрібно закрити від індексації всі записи у категорії newsтоді перед Sitemap:додаємо правило:

Disallow: /news

Воно заборонити роботам ходити за подібними посиланнями:

  • http://example.com/news
  • http://example.com/news/drugoe-nazvanie/

Якщо потрібно закрити будь-які входження /news, то пишемо:

Disallow: */news

  • http://example.com/news
  • http://example.com/my/news/drugoe-nazvanie/
  • http://example.com/category/newsletter-nazvanie.html

Докладніше вивчити директиви robots.txt ви можете на сторінці допомоги Яндекса (але майте на увазі, що не всі правила, описані там, працюють для Google).

Перевірка robots.txt та документація

Перевірити чи правильно працюють прописані правила можна за такими посиланнями:

  • Яндекс: http://webmaster.yandex.ru/robots.xml.
  • У Google це робиться в Search console. Потрібна авторизація та наявність сайту в панелі веб-майстра...
  • Сервіс для створення файлу robots.txt: http://pr-cy.ru/robots/
  • Сервіс для створення та перевірки robots.txt: https://seolib.ru/tools/generate/robots/

Я запитав у Яндекса...

Поставив питання у тих. підтримку Яндекса щодо міжсекційного використання директив Host та Sitemap:

Запитання:

Вітаю!
Пишу статтю щодо robots.txt на своєму блозі. Хотілося б отримати відповідь на таке запитання (у документації я не знайшов однозначного "так"):

Якщо мені потрібно склеїти всі дзеркала і для цього я використовую директиву Host на початку фала robots.txt:

Host: site.ru User-agent: * Disallow: /asd

Чи буде у цьому прикладі правильно працювати Host: site.ru? Чи вказуватиме вона роботам що site.ru це основне дзеркало. Тобто. цю директиву я використовую не в секції, а окремо (на початку файлу) без зазначення якого User-agent вона відноситься.

Також хотів дізнатися, чи обов'язково директиву Sitemap потрібно використовувати всередині секції або можна використовувати за межами: наприклад, через порожній рядок, після секції?

User-agent: Yandex Disallow: /asd User-agent: * Disallow: /asd Sitemap: http://example.com/sitemap.xml

Чи зрозуміє робот у цьому прикладі директиву Sitemap?

Сподіваюся отримати від вас відповідь, яка поставить жирну крапку у моїх сумнівах.

Відповідь:

Вітаю!

Директиви Host та Sitemap є міжсекційними, тому будуть використовуватися роботом незалежно від місця у файлі robots.txt, де вони вказані.

--
З повагою, Платон Щукін
Служба підтримки Яндекса

Висновок

Важливо пам'ятати, що зміни в robots.txt на робочому сайті будуть помітні лише через кілька місяців (2-3 місяці).

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

Динамічний robots.txt

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

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

Для цього додайте наступний код у файл functions.php:

Add_action("do_robotstxt", "my_robotstxt"); function my_robotstxt()( $lines = [ "User-agent: *", "Disallow: /wp-admin/", "Disallow: /wp-includes/", "", ]; echo implode("\r\n ", $lines); die; // обриваємо роботу PHP)

User-agent: * Disallow: /wp-admin/ Disallow: /wp-includes/

Crawl-delay - таймойт для божевільних роботів (з 2018 року не враховується)

Яндекс

Проаналізувавши листи за останні два роки на нашу підтримку з питань індексування, ми з'ясували, що однією з основних причин повільного завантаження документів є неправильно налаштована директива Crawl-delay в robots.txt […] Для того, щоб власникам сайтів не довелося більше про це турбуватися щоб усі дійсно потрібні сторінки сайтів з'являлися та оновлювались у пошуку швидко, ми вирішили відмовитись від обліку директиви Crawl-delay.

Коли робот Яндекса сканує сайт як божевільний і це створює надмірне навантаження на сервер. Роботу можна попросити «зменшити оберти».

Для цього потрібно використовувати директиву Crawl-delay. Вона вказує час у секундах, який робот повинен простоювати (чекати) для сканування кожної наступної сторінки сайту.

Для сумісності з роботами, які погано дотримуються стандарту robots.txt, Crawl-delay потрібно вказувати в групі (у секції User-Agent) відразу після Disallow та Allow

Робот Яндекса розуміє дробові значення, наприклад, 0.5 (півсекунди). Це не гарантує, що пошуковий робот заходитиме на ваш сайт кожні півсекунди, але дозволяє прискорити обхід сайту.

User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Crawl-delay: 1.5 # таймують в 1.5 секунди User-agent: * Disallow: /wp-admin Disallow: /wp-includes Allow: /wp-* .gif Crawl-delay: 2 # тайм в 2 секунди

Google

Робот Google не розуміє директиву Crawl-delay. Таймаут його роботам можна вказати на панелі вебмайстра.

На сервісі avi1.ru Ви можете вже зараз придбати просування SMM більш ніж у 7 найпопулярніших соціальних мережах. Зверніть увагу на досить низьку вартість всіх послуг сайту.

Швидка навігація на цій сторінці:

Сучасна реальність така, що в Рунеті жоден сайт, що поважає себе, не може обходитися без файлу під назвою роботс.тхт - навіть якщо вам нічого забороняти від індексації (хоча практично на кожному сайті є технічні сторінки і дублюючий контент, що вимагають закриття від індексації), то як мінімум прописати директиву з www і без www для Яндекса однозначно варто — для цього і служать правила написання robots.txt, про які йтиметься нижче.

Що таке robots.txt?

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

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

Файл виконує такі функції:

  1. забороняє будь-які сторінки чи групи сторінок до індексації
  2. дозволяє будь-які сторінки або групи сторінок до індексації
  3. вказує роботу Яндекса, яке дзеркало сайту є головним (з www або без www)
  4. показує розташування файлу з карткою сайту

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

Директива allow самостійного значення не має, тому що за замовчуванням усі сторінки і так доступні для індексації. Вона працює у зв'язці з disallow — коли, наприклад, якась рубрика повністю закрита від пошукових систем, але ви хотіли б відкрити в ній ту чи окрему сторінку.

Вказівка ​​на головне дзеркало сайту також є одним з найважливіших елементів в оптимізації: пошукові системи розглядають сайти www.вашсайт.ру та вашсайт.ру як два різні ресурси, якщо ви їм прямо не вкажете інше. В результаті відбувається подвоєння контенту - поява дублів, зменшення сили зовнішніх посилань (зовнішні посилання можуть ставитися як з www, так і без www) і це може призвести до нижчого ранжирування в пошуковій видачі.

Для Google головне дзеркало прописується в інструментах Вебмайстра (http://www.google.ru/webmasters/), а ось для Яндекса ці інструкції можна прописати тільки в тому самому роботс.тхт.

Вказівка ​​на xml-файл з карткою сайту (наприклад sitemap.xml) дозволяє пошукачам виявити даний файл.

Правила вказівки User-agent

User-agent в даному випадку – це пошукова система. При написанні інструкцій необхідно вказати, чи будуть діяти на всі пошукові системи (тоді проставляється знак зірочки - *) або ж вони розраховані на якусь окрему пошукову систему - наприклад, Яндекс або Google.

Для того, щоб задати User-agent із зазначенням на всіх роботів, напишіть у своєму файлі наступний рядок:

User-agent: *

Для Яндекса:

User-agent: Yandex

Для Гугла:

User-agent: GoogleBot

Правила вказівки disallow та allow

По-перше, слід зазначити, що файл robots.txt для його валідності обов'язково повинен містити хоча б одну директиву disallow. Тепер, розглянувши застосування цих директив на конкретних прикладах.

За допомогою такого коду ви дозволяєте індексацію всіх сторінок сайту:

User-agent: * Disallow:

А за допомогою такого коду, навпаки, всі сторінки будуть закриті:

User-agent: * Disallow: /

Для заборони індексації конкретної директорії під назвою folder вкажіть:

User-agent: * Disallow: /folder

Можна також використовувати зірочки для підстановки довільної назви:

User-agent: * Disallow: *.php

Важливо: зірочка замінює назву файлу повністю, тобто не можна вказати file*.php, можна тільки *.php (але будуть заборонені всі сторінки з розширенням.php, щоб цього уникнути - можете вказати конкретну адресу сторінки).

Директива allow, як було зазначено вище, використовується для створення винятків у disallow (інакше вона не має сенсу, тому що сторінки за замовчуванням і так відкриті).

Наприклад, заборонимо до індексації сторінки в папці archive, але залишимо відкриту сторінку index.html з цієї директорії:

Allow: /archive/index.html Disallow: /archive/

Вказуємо хост та карту сайту

Хост – це головне дзеркало сайту (тобто назва домену плюс www або назва домену без цієї приставки). Хост вказується тільки для робота Яндекса (при цьому обов'язково має бути хоча б одна команда disallow).

Для вказівки host robots.txt повинен містити наступний запис:

User-agent: Yandex Disallow: Host: www.вашсайт.ру

Щодо карти сайту, то в robots.txt sitemap вказується простим прописанням повного шляху до відповідного файлу, із зазначенням доменного імені:

Sitemap: http://вашсайт.ру/sitemap.xml

Про те, як зробити картку сайту для WordPress, написано .

Приклад robots.txt для WordPress

Для wordpress інструкції необхідно вказувати таким чином, щоб закрити до індексації всі технічні директорії (wp-admin, wp-includes тощо), а також дублі сторінок, які створюються тегами, файлами rss, коментарями, пошуком.

Як приклад robots.txt для wordpress можете взяти файл із нашого сайту:

User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback Disallow: */feed/ Disallow: */feed Disallow: */comments/ Disallow: /?feed= Disallow: /?s= Disallow: */page/* Disallow: */comment Disallow: */tag/* Disallow: */ attachment/* Allow: /wp-content/uploads/ Host: www..php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback Disallow: */feed/ Disallow: * /feed Disallow: */comments/ Disallow: /?feed= Disallow: /?s= Disallow: */page/* Disallow: */comment Disallow: */tag/* Disallow: */attachment/* Allow: /wp -content/uploads/ User-agent: * Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback Disallow: */feed/ Disallow: */feed Disallow: */comments/ Disallow: /?feed= Disallow: /?s= Disallow: */page/* Disallow: */comment Disallow: */tag/ * Disallow: */attachment/* Allow: /wp-content/uploads/ Sitemap: https://www..xml

Завантажити файл robots.txt з нашого сайту можна по .

Якщо за підсумками прочитання цієї статті у вас залишилися питання - задавайте в коментарях!

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

Навіщо потрібне налаштування robots.txt?

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

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

    Пошуковий робот зчитуватиме весь сайт, що «підірве» краулінговий бюджет. Краулінговий бюджет - це кількість сторінок, які пошуковий робот може обійти за певний проміжок часу.

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

    В індекс може потрапити сторінка входу на сайт, інші ресурси адміністратора, тому зловмисник зможе легко їх відстежити і провести атаку ddos ​​або зламати сайт.

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


Синтаксис robots.txt

Перш ніж почати розбирати синтаксис і налаштовувати robots.txt, подивимося на те, як має виглядати «ідеальний файл»:


Але не варто одразу ж його застосовувати. Для кожного сайту найчастіше необхідні свої налаштування, тому що у всіх у нас різна структура сайту, різні CMS. Розберемо кожну директиву по порядку.

User-agent

User-agent - визначає пошукового робота, який повинен слідувати описаним у файлі інструкціям. Якщо потрібно звернутися одразу до всіх, то використовується значок *. Також можна звернутися до певної пошукової роботи. Наприклад, Яндекс та Google:


За допомогою цієї директиви робот розуміє які файли та папки індексувати заборонено. Якщо ви хочете, щоб весь ваш сайт був відкритий для індексації, залиште значення Disallow порожнім. Щоб приховати весь контент на сайті після Disallow, поставте “/”.

Ми можемо заборонити доступ до певної папки, файлу або розширення файлу. У нашому прикладі ми звертаємося до всіх пошукових робіт, закриваємо доступ до папки bitrix, search і розширення pdf.


Allow

Allow примусово відкриває для індексування сторінки та розділи сайту. На прикладі вище ми звертаємося до пошукової роботи Google, закриваємо доступ до папки bitrix, search та розширення pdf. Але в bitrix папці ми примусово відкриваємо 3 папки для індексування: components, js, tools.


Host - дзеркало сайту

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

Host – одне з найважливіших правил. Якщо прописане це правило, то робот зрозуміє, яке із дзеркал сайту варто враховувати для індексації. Ця директива необхідна для роботів Яндекса та Mail.ru. Інші роботи це правило ігноруватимуть. Host прописується лише один раз!

Для протоколів "https://" та "http://", синтаксис у файлі robots.txt буде різним.

Sitemap - карта сайту

Карта сайту - це форма навігації сайтом, яка використовується для інформування пошукових систем про нові сторінки. За допомогою директиви sitemap ми «насильно» показуємо роботу, де розташована карта.


Символи у robots.txt

Символи, що застосовуються у файлі: "/, *, $, #".


Перевірка працездатності після налаштування robots.txt

Після того як ви розмістили Robots.txt на своєму сайті, вам необхідно додати та перевірити його у вебмайстрі Яндекса та Google.

Перевірка Яндекса:

  1. Перейдіть за посиланням .
  2. Виберіть: Налаштування індексування – Аналіз robots.txt.

Перевірка Google:

  1. Перейдіть за посиланням .
  2. Виберіть: Сканування - інструмент перевірки файлу robots.txt.

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

  1. Вміст файлу необхідно писати великими літерами.
  2. У директиві Disallow потрібно вказувати лише один файл або директорію.
  3. Рядок «User-agent» не повинен бути порожнім.
  4. User-agent завжди має йти перед Disallow.
  5. Не слід забувати прописувати слеш, якщо потрібно заборонити індексацію директорії.
  6. Перед завантаженням файлу на сервер обов'язково потрібно перевірити його на наявність синтаксичних та орфографічних помилок.

Успіхів вам!

Відеоогляд 3 методів створення та налаштування файлу Robots.txt

Спершу розповім, що таке robots.txt.

Robots.txt– файл, який знаходиться у кореневій папці сайту, де прописуються спеціальні інструкції для пошукових роботів. Ці інструкції необхідні для того, щоб при заході на сайт, робот не враховував сторінку / розділ, тобто ми закриваємо сторінку від індексації.

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

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

Чи вплив robots.txt на пошукові системи?

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

Навантажують сайт найбільше роботи, які підвантажують контент із вашого сайту. Відповідно, якщо ми вкажемо роботу, які сторінки індексувати, а які ігнорувати, а також з якими тимчасовими проміжками підвантажувати контент зі сторінок (це більше хитається великих сайтів, у яких є більше 100 000 сторінок в індексі пошукових систем). Це дозволить значно полегшити роботу індексацію та процес завантаження контенту з сайту.


До непотрібних пошукових систем можна віднести файли які відносяться до CMS, наприклад, у Wordpress – /wp-admin/. Крім цього, скрипти ajax, json, що відповідають за спливаючі форми, банери, виведення каптчі і таке інше.

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

Що таке директива robots.txt?



Директиви- Це і є правила для пошукових роботів. Перші стандарти написання robots.txt і відповідно з'явилися в 1994, а розширений стандарт у 1996 році. Однак, як ви вже знаєте, не всі роботи підтримують ті чи інші директиви. Тому нижче я розписав, чим керуються основні роботи при індексації сторінок сайту.

Що означає User-agent?

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

Для всіх роботів:

Для певного робота:

User-agent: Googlebot

Регістр у robots.txt не стіл важливий, писати можна як Googlebot так і Googlebot

Пошукові роботи Google







Пошукові роботи Яндекса

основний індексуючий робот Яндекса

Використовується в сервісі Яндекс.Картинки

Використовується у сервісі Яндекс.Відео

Мультимедійні дані

Пошук по блогах

Пошуковий робот, який звертається до сторінки при додаванні її через форму «Додати URL»

робот, що індексує піктограми сайтів (favicons)

Яндекс.Директ

Яндекс.Метрика

Використовується у сервісі Яндекс.Каталог

Використовується у сервісі Яндекс.Новини

YandexImageResizer

Пошуковий робот мобільних сервісів

Пошукові роботи Bing, Yahoo, Mail.ru, Rambler

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

Disallow закриває від індексування розділи та сторінки вашого сайту. Відповідно Allow навпаки відкриває їх.

Є деякі особливості.

По-перше, додаткові оператори - *, $ та #. Навіщо вони використовуються?

“*” – це будь-яка кількість символів та їх відсутність. За замовчуванням вона вже знаходиться в кінці рядка, тому ставити її ще разу немає сенсу.

“$” - Вказує, що символ перед ним повинен йти останнім.

“#” – коментар, все, що йде після цього символу, робот не враховує.

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

Disallow: *?s=

Disallow: /category/

Відповідно пошуковий робот закриє сторінки типу:

Але відкриті для індексації будуть сторінки вигляду:

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

Це наш файл robots.txt

Disallow: /template/

Ця директива вказується також у будь-якому місці, причому можна прописати кілька файлів sitemap.

Директива Host у robots.txt

Ця директива необхідна для вказівки головного дзеркала сайту (часто www або без). Зверніть увагу, що директива host вказується без протоколу http://, але з https://. Директиву враховують лише пошукові роботи Яндекса та Mail.ru, а іншими роботами, зокрема GoogleBot, правило не буде враховано. Host прописувати 1 раз у файлі robots.txt

Приклад з http://

Host: website.ru

Приклад з https://

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

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

Приклад:

Застосовується переважно на великих інтернет-магазинах, інформаційних сайтах, порталах, де відвідуваність сайту від 5 000 на день. Необхідний для того, щоб пошуковий робот запитував на індексування в певний проміжок часу. Якщо не вказувати цю директиву, це може створити серйозне навантаження на сервер.

Оптимальне значення crawl-delay для кожного сайту своє. Для пошукових систем Mail, Bing, Yahoo значення можна виставити мінімальне значення 0.25, 0.3, оскільки ці пошукові роботи можуть переобходити ваш сайт раз на місяць, 2 місяці і так далі (дуже рідко). Для Яндекса краще встановити більше значення.


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

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

Правило цікаве тим, що повідомляє краулер, що сторінки з певними параметрами немає необхідності індексувати. Прописується 2 аркументи: URL сторінки та параметр. Ця директива підтримується пошуковою системою Яндекс.

Приклад:

Disallow: /admin/

Disallow: /plugins/

Disallow: /search/

Disallow: /cart/

Disallow: *sort=

Disallow: *view=

User-agent: GoogleBot

Disallow: /admin/

Disallow: /plugins/

Disallow: /search/

Disallow: /cart/

Disallow: *sort=

Disallow: *view=

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: *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

У прикладі ми прописали правила для 3 різних роботів.

Куди додати robots.txt?

Додається до кореневої папки сайту. Крім того, щоб по ньому можна було перейти за посиланням:

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

Яндекс Вебмайстер

На вкладці Інструменти вибираєте Аналіз robots.txt і далі натискаєте перевірити

Google Search Console

На вкладці Cкануваннявибираєте Інструмент перевірки файлу robots.txtі далі натискаєте перевірити.

Висновок:

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

Ну і насамкінець, якщо у вас виникли питання задавайте їх у коментарях під статтею і ще мені цікаво, а як ви прописуєте robots.txt?

Розшифрування значень:

  • User-agent: * - Ви звертаєтеся відразу до всіх пошукових систем, Yandex - тільки до Яндексу.
  • Disallow: перелічені папки та файли, які заборонені для індексації
  • Host – пропишіть назву вашого сайту без www.
  • Sitemap: посилання на XML-картку сайту.

Файл помістіть до кореневої директорії сайту за допомогою Filezilla або через сайт хостера. Скидайте до головної директорії, щоб він був доступний за посиланням: ваш_сайт.ру/robots.txt

Він підійде лише тим, хто має ЧПУ (посилання прописані словами, а чи не як p=333). Достатньо зайти в Налаштування – Постійні посилання, вибрати нижній варіант та в полі прописати /%postname%

Деякі вважають за краще створювати цей файл самостійно:

Для початку створіть блокнот на комп'ютері та назвіть його robots (не використовуйте верхній регістр). Наприкінці налаштувань його розмір не повинен перевищувати 500 кб.

User-agent- Назва пошукової системи (Yandex, Googlebot, StackRambler). Якщо ви хочете звернутися відразу до всіх, поставте зірочку *

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

Спочатку перераховані три директорії, та був конкретний файл.

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

User-agent: *
Disallow:

Налаштування robots.txt для Яндекс та Google

Для Яндексаобов'язково потрібно додати директиву host, щоб не з'являлося дублі сторінок. Це слово розуміє тільки бот від Яндекса, тому прописуйте вказівки для нього окремо.

Для Googleнемає жодних доповнень. Єдине, треба знати, як до нього звертатися. У розділі User-agent потрібно писати:

  • Googlebot;
  • Googlebot-Image – якщо обмежуєте індексацію зображень;
  • Googlebot-Mobile – для мобільної версії сайту.

Як перевірити працездатність файлу robots.txt

Це можна зробити в розділі «Інструменти для веб-майстрів» від пошукової системи Google або на сайті Яндекс.Вебмайстер у розділі Перевірити robots.txt.

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

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



Сподобалася стаття? Поділіться їй