Використання robots txt. Як редагувати файл txt robots. Просте створення файлу для будь-якої пошукової системи

У цій статті є приклад оптимального, на мій погляд, коду для файлу 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 найпопулярніших соціальних мережах. Зверніть увагу на досить низьку вартість всіх послуг сайту.

Час читання: 7 хвилин(и)


Практично кожен проект, який приходить до нас на аудит або просування, має неправильний файл 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 для WordPress

А навіщо, власне, потрібен robots.txt? Відповідь все та ж – . Тобто складання robots.txt - це одна з частин пошукової оптимізації сайту (до речі, дуже скоро буде урок, який буде присвячений всій внутрішній оптимізації сайту на WordPress. Тому не забудьте підписатися на RSS, щоб не пропустити цікаві матеріали.).

Одна з функцій цього файлу – заборона індексаціїнепотрібних сторінок сайту Також у ньому задається адреса та прописується головне дзеркало сайту(Сайт з www або без www).

Примітка: для пошукових систем один і той же сайт з www і без www абсолютно різні сайти. Але, зрозумівши, що вміст цих сайтів однаковий, пошуковики склеюють їх. Тому важливо прописати головне дзеркало сайту у robots.txt. Щоб дізнатися, яке головне (з www або без www) просто наберіть адресу свого сайту в браузері, наприклад, з www, якщо Вас автоматично перекине на той же сайт без www, значить головне дзеркало Вашого сайту без www. Сподіваюся, правильно пояснив.

Було:

Стало (після переходу на сайт, www автоматично віддалилися, і сайт став без www):

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

Правильний для WordPress

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

Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /*?*
Disallow: /tag

User-agent: Yandex
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /*?*
Disallow: /tag
Host: сайт
Sitemap: https://сайт/sitemap.xml.gz
Sitemap: https://сайт/sitemap.xml

Все, що дано вище, потрібно скопіювати в текстовий документ з розширенням.txt, тобто, щоб назва файлу була robots.txt. Цей текстовий документ можна створити, наприклад, за допомогою програми . Тільки, не забудьте, будь ласка, змінити в останніх трьох рядкахадресу на адресу свого сайту. Файл robots.txt повинен розташовуватись в корені блогу, тобто в тій же папці, де знаходяться папки wp-content, wp-admin та ін.

Ті, кому ж ліньки створювати даний текстовий файл, можете просто і там підкоригувати 3 рядки.

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

Отже, рядок:

User-agent

ставить правила для якогось пошукача: наприклад “*” (зірочкою) зазначено, що правила для всіх пошукових систем, а те, що нижче

User-agent: Yandex

означає, що ці правила лише для Яндекса.

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

Disallow: /tag

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

Host

Тут ми задаємо головне дзеркало сайту, про яке я розповідав трохи вище.

Sitemap

В останніх двох рядках ми задаємо адресу до двох карток сайту, створені за допомогою .

Можливі проблеми

Заходимо у розділ Налаштування індексування –> Аналіз robots.txt:

Вже там натискаєте кнопку “Завантажити robots.txt з сайту”, а потім натискаєте на кнопку “Перевірити”:

Якщо Ви побачите приблизно наступне повідомлення, значить у Вас правильний robots.txt для Яндекса:

Також Ви можете до списку URL додати адресу будь-якої статті сайту, щоб перевірити чи не забороняє robots.txt індексування даної сторінки:

Як бачите, жодної заборони на індексування сторінки з боку robots.txt ми не бачимо, отже, все гаразд:).

Сподіваюся більше питань, на кшталт: як скласти robots.txt або як зробити правильним цей файл у Вас не виникне. У цьому уроці я постарався показати Вам правильний приклад robots.txt:

До скорої зустрічі!

P.s. Зовсім недавно я, що ж цікавого сталося? 🙂

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

Що ж собою являє файл robots.txt?

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

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

За допомогою цього файлу, ви можете заборонити індексацію файлів движка WordPress. Або, скажімо, секретного розділу вашого блогу. Ви можете вказати шлях до карти Вашого блогу та головне дзеркало вашого блогу. Тут я маю на увазі, ваше доменне ім'я з www і без www.

Індексація сайту з robots.txt та без

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

Основні директиви файлу robots.txt

Щоб розібратися з інструкціями, які містить файл robots.txt, потрібно розібратися з основними командами (директиви).

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

User-agent: Yandex – правила для робота Яндекс

User-agent: * - правила для всіх роботів

Disallow та Allow- Директиви заборони та дозволу. За допомогою директиви Disallow забороняється індексація, а за допомогою Allow дозволяється.

Приклад заборони:

User-agent: *

Disallow: / - Заборона до всього сайту.

User-agent: Yandex

Disallow: /admin – заборона роботу Яндекса до сторінок, що лежать у папці admin.

Приклад дозволу:

User-agent: *

Allow: /photo

Disallow: / — заборона до всього сайту, крім сторінок, що знаходяться в папці photo.

Примітка! директива Disallow: без параметра дозволяє все, а директива Allow: без параметра забороняє все. І директиви Allow без Disallow не має бути.

Sitemap– вказує шлях до картки сайту у форматі xml.

Sitemap: https://сайт/sitemap.xml.gz

Sitemap: https://сайт/sitemap.xml

Host- Директива визначає головне дзеркало вашого блогу. Вважається, що ця директива прописується тільки для роботів Яндекса. Цю директиву слід вказувати наприкінці файлу robots.txt.

User-agent: Yandex

Disallow: /wp-includes

Host: сайт

Примітка! адреса головного дзеркала вказується без зазначення протоколу передачі гіпертексту (http://).

Як створити robots.txt

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

Ми розглянемо створення стандартного (універсального) файлу robots.txt для блогу WordPress. Ви завжди зможете доповнити його своїми налаштуваннями.

Отже, приступаємо. Нам знадобиться звичайний блокнот, який є в кожній операційній системі Windows. Або TextEdit у MacOS.

Відкриваємо новий документ і вставляємо в нього ці команди:

User-agent: * Disallow: Sitemap: https://сайт/sitemap.xml.gz Sitemap: https://сайт/sitemap.xml User-agent: Yandex Disallow: /wp-login.php Disallow: /wp-register .php Disallow: /cgi-bin Disallow: /wp-admin Disallow: /wp-includes Disallow: /xmlrpc.php Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Disallow: /wp-content/languages ​​Disallow: /category/*/* Disallow: /trackback Disallow: */trackback Disallow: */*/trackback Disallow: /tag/ Disallow: /feed/ */ Disallow: */feed Disallow: */*/feed Disallow: /?feed= Disallow: /*?* Disallow: /?s= Host: сайт

Не забудьте замінити параметри директив Sitemap та Host на свої.

Важливо! при написанні команд допускається лише один пробіл. Між директивою та параметром. У жодному разі не робіть пробілів після параметра або просто будь-де.

приклад: Disallow:<пробел>/feed/

Даний приклад файлу robots.txt є універсальним і підходить під будь-який блог на WordPress з ЧПУ адресами url. Про те, що таке ЧПУ читайте. Якщо ж Ви не налаштовували ЧПУ, рекомендую із запропонованого файлу видалити Disallow: /*?* Disallow: /?s=

Завантаження файлу robots.txt на сервер

Найкращим способом для такого роду маніпуляцій є FTP з'єднання. Про те як налаштувати FTP з'єднання для TotolCommander читайте. Або Ви можете використовувати файловий менеджер на Вашому хостингу.

Я скористаюсь FTP з'єднанням на TotolCommander.

Мережа > З'єднається з сервером FTP.

Вибрати потрібне з'єднання та натискаємо кнопку «З'єднатися».

Відкриваємо корінь блогу та копіюємо наш файл robots.txt, натиснувши клавішу F5.

Копіювання robots.txt на сервер

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

Для цього Вам потрібно буде увійти до кабінету вебмайстра Яндекс або Google. Розглянемо приклад Яндекс. Тут можна провести аналіз, навіть не підтверджуючи прав на сайт. Вам достатньо мати поштову скриньку на Яндекс.

Відкриваємо кабінет Яндекс.вебмайстер.

На головній сторінці кабінету вебмайстер відкриваємо посилання «Перевіритиrobots.txt».

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

Відсутність попереджувальних записів свідчить про правильність створення файлу robots.txt.

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

Результат аналізу файлу robots.txt

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

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

https://сайт/robots.txt

Тепер ваш robots.txt готовий. І пам'ятайте не відкладайте в довгу скриньку створення файлу robots.txt, від цього залежатиме індексація вашого блогу.

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

На цьому маю все. Усім бажаю успіхів. Якщо будуть питання чи доповнення, пишіть у коментарях.

До скорої зустрічі.

З повагою Максим Зайцев.

Передплатіть нові статті!

Мета цього посібника – допомогти веб-майстрам та адміністраторам у використанні robots.txt.

Вступ

Стандарт винятків для роботів по суті дуже простий. Коротко, це працює так:

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

Де розміщувати файл robots.txt

Робот просто запитує на вашому сайті URL /robots.txt, сайт в даному випадку - це певний хост на певному порту.

URL Сайту URL файлу robots.txt
http://www.w3.org/ http://www.w3.org/robots.txt
http://www.w3.org:80/ http://www.w3.org:80/robots.txt
http://www.w3.org:1234/ http://www.w3.org:1234/robots.txt
http://w3.org/ http://w3.org/robots.txt

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

Не забувайте, що URL чутливі до регістру, і назва файлу /robots.txt повинна бути написана повністю в нижньому регістрі.

Неправильне розташування robots.txt
http://www.w3.org/admin/robots.txt
http://www.w3.org/~timbl/robots.txt Файл знаходиться не в корені сайту
ftp://ftp.w3.com/robots.txt Роботи не індексують ftp
http://www.w3.org/Robots.txt Назва файлу не в нижньому регістрі

Як бачите, файл robots.txt потрібно класти виключно на корінь сайту.

Що писати у файл robots.txt

У файл robots.txt зазвичай пишуть щось на кшталт:

User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/

У цьому прикладі заборонено індексацію трьох директорій.

Зауважте, що кожну директорію вказано на окремому рядку – не можна написати «Disallow: /cgi-bin/ /tmp/». Не можна також розбивати одну інструкцію Disallow або User-agent кілька рядків, т.к. перенесення рядка використовується відділення інструкцій друг від друга.

Регулярні вирази та символи підстановки також не можна використовувати. "Зірочка" (*) в інструкції User-agent означає "будь-який робот". Інструкції типу «Disallow: *.gif» або «User-agent: Ya*» не підтримуються.

Конкретні інструкції robots.txt залежать від вашого сайту і того, що ви захочете закрити від індексації. Ось кілька прикладів:

Заборонити весь сайт для індексації всіма роботами

User-agent: *
Disallow: /

Дозволити всім роботам індексувати весь сайт

User-agent: *
Disallow:

Або можете просто створити порожній файл /robots.txt.

Закрити від індексації лише кілька каталогів

User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /private/

Заборонити індексацію сайту лише для одного робота

User-agent: BadBot
Disallow: /

Дозволити індексацію сайту одному роботу та заборонити всім іншим

User-agent: Yandex
Disallow:

User-agent: *
Disallow: /

Заборонити до індексації всі файли, крім одного

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

User-agent: *
Disallow: /docs/

Або ви можете заборонити всі заборонені до індексації файли:

User-agent: *
Disallow: /private.html
Disallow: /foo.html
Disallow: /bar.html