В інтернеті можна знайти багато публікацій на тему, як скласти найкращий (або навіть найкращий) файл robots.txt для WordPress. При цьому в низці таких популярних статей багато правил не пояснюються і, як мені здається, навряд чи розуміють самі автори. Єдиний огляд, який я знайшов і який дійсно заслуговує на увагу, — це стаття в блозі wp-kama. Однак і там я знайшов не зовсім коректні рекомендації. Зрозуміло, що на кожному сайті будуть свої нюанси при складанні файлу robots.txt. Але існує низка загальних моментів для абсолютно різних сайтів, які можна взяти за основу. Robots.txt, опублікований у цій статті, можна буде просто копіювати і вставляти на новий сайт і далі допрацьовувати відповідно до своїх нюансів.
Правильний Robots.txt для WordPress
Дійсно найкращий robots.txt, який я бачив на даний момент, це роботс, запропонований у росыйскому блозі. Низку директив і коментарів я візьму з його зразка + внесу свої коригування. Коригування торкнуться кількох правил, чому так напишу нижче. Крім того, напишемо індивідуальні правила для роботів Google.
Нижче наводжу короткий і розширений варіант. Короткий не включає окремі блоки для Google. Розширений уже менш актуальний, оскільки тепер немає принципових особливостей. Проте, якщо в цьому світі знову щось зміниться, або вам знадобиться все-таки якось по-окремо керувати індексацією файлів на сайті Гугл, збережу в цій статті і другий варіант.
Ще раз звертаю увагу, що це базовий файл robots.txt. У кожному конкретному випадку потрібно дивитися реальний сайт і за потреби вносити коригування. Доручайте цю справу досвідченим фахівцям!
Короткий варіант (оптимальний)
User-agent: * # загальні правила для роботів
Disallow: /cgi-bin # папка на хостингу
Disallow: /? # усі параметри запиту на головній
Disallow: /wp- # всі файли WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: /wp/ # якщо є підкаталог /wp/, де встановлена CMS
# (якщо ні, правило можна видалити)
Disallow: *?s= # пошук
Disallow: *&s= # пошук
Disallow: /search/ # пошук
Disallow: /author/ # архів автора
Disallow: /users/ # архів авторів
Disallow: */trackback # трекбеки, повідомлення в коментарях про появу
# відкритого посилання на статтю
Disallow: */feed # всі фіди
Disallow: */rss # rss фід
Disallow: */embed # усі вбудовування
Disallow: */wlwmanifest.xml # xml-файл маніфесту Windows Live Writer
# (якщо не використовуєте, правило можна видалити)
Disallow: /xmlrpc.php # файл WordPress API
Disallow: *utm*= # посилання з utm-мітками
# (якщо не використовуєте, правило можна видалити)
Disallow: *openstat= # посилання з мітками openstat
# (якщо не використовуєте, правило можна видалити)
Allow: */uploads # відкриваємо папку з файлами uploads
# Вкажіть один або кілька файлів мапи сайту. Google XML Sitemap створює 2 карти
Sitemap: http://site.ua/sitemap.xml
Sitemap: http://site.ua/sitemap.xml.gz
Розширений варіант robots.txt для Google
User-agent: * # загальні правила для роботів
Disallow: /cgi-bin # папка на хостингу
Disallow: /? # усі параметри запиту на головній
Disallow: /wp- # всі файли WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: /wp/ # якщо є підкаталог /wp/, де встановлена CMS
# (якщо ні, правило можна видалити)
Disallow: *?s= # пошук
Disallow: *&s= # пошук
Disallow: /search/ # пошук
Disallow: /author/ # архів автора
Disallow: /users/ # архів авторів
Disallow: */trackback # трекбеки, повідомлення в коментарях про появу
# відкритого посилання на статтю
Disallow: */feed # всі фіди
Disallow: */rss # rss фід
Disallow: */embed # усі вбудовування
Disallow: */wlwmanifest.xml # xml-файл маніфесту Windows Live Writer
# (якщо не використовуєте, правило можна видалити)
Disallow: /xmlrpc.php # файл WordPress API
Disallow: *utm*= # посилання з utm-мітками
# (якщо не використовуєте, правило можна видалити)
Disallow: *openstat= # посилання з мітками openstat
# (якщо не використовуєте, правило можна видалити)
Allow: */uploads # відкриваємо папку з файлами uploads
User-agent: GoogleBot # правила для Google (коментарі не дублюю)
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: /wp/
Disallow: *?s=
Disallow: *&s=
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: */wlwmanifest.xml
Disallow: /xmlrpc.php
Disallow: *utm*=
Disallow: *openstat=
Allow: */uploads
Allow: /*/*.js # відкриваємо js-скрипти всередині /wp- (/*/ - для пріоритету)
Allow: /*/*.css # відкриваємо css-файли всередині /wp- (/*/ - для пріоритету)
Allow: /wp-*.png # картинки в плагінах, cache папці тощо.
Allow: /wp-*.jpg # картинки в плагінах, cache папці тощо.
Allow: /wp-*.jpeg # картинки в плагінах, cache папці і т.д.
Allow: /wp-*.gif # картинки в плагінах, cache папці і т.д.
Allow: /wp-admin/admin-ajax.php # використовується плагінами, щоб не блокувати JS і CSS
Sitemap: http://site.ua/sitemap.xml
Sitemap: http://site.ua/sitemap.xml.gz
⇒ Тобто, якщо ви закрили від індексу основні папки
Disallow: /wp- # всі файли WP: /wp-json/, /wp-includes, /wp-content/plugins
то дозвольте важливим данним індексуватися, такі як
Allow: /*/*.js
Allow: /*/*.css
Allow: /wp-*.png
Allow: /wp-*.jpg
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Найчастіше, такі маніпуляції приводять до помилок в візуалізації сайту роботами, можете отримати в GSC повідомлення що ваш сайт має «Проблеми із переглядом сторінок на мобільних пристроях»
У прикладі немає правила Crawl-Delay, оскільки в більшості випадків ця директива не потрібна. Однак якщо у вас великий навантажений ресурс, то використання цієї директиви допоможе знизити навантаження на сайт з боку роботів Яндекса, Mail.Ru, Bing, Yahoo та інших (Google не враховує). Детальніше про це читайте в статті Robots.txt.
Закрити сайт від індексації в robots.txt
Якщо є тестові версії сайта або старі сайти, рекомендую їх закривати від індексації. Зробити найпростіше можна так (перша директива означає звернення до всіх краулерів, друга директива — забороняє сканувати всі URL сайту):
User-agent: *
Disallow: /
Ці два рядки заборонять доступ до сайту всім роботам пошукових систем.
Помилкові рекомендації інших блогерів для Robots.txt на WordPress
Використовувати правила тільки для User-agent: *
Для багатьох пошукових систем не потрібна індексація JS і CSS для поліпшення ранжирування, крім того, для менш значущих роботів ви можете налаштувати більше значення Crawl-Delay і знизити за їх рахунок навантаження на ваш сайт.
Прописування Sitemap після кожного User-agent
Це робити не потрібно. Один sitemap має бути вказаний один раз у будь-якому місці файлу robots.txt
Закрити папки wp-content, wp-includes, cache, plugins, themes
Це застарілі вимоги. Однак подібні поради я знаходив навіть у статті з пафосною назвою «Найправильніші robots для WordPress 2018»! Для Google краще буде їх взагалі не закривати. Або закривати «по розумному», як це описано вище.
Закривати сторінки тегів і категорій
Якщо ваш сайт дійсно має таку структуру, що на цих сторінках контент дублюється і в них немає особливої цінності, то краще закрити. Однак нерідко просування ресурсу здійснюється, зокрема, за рахунок сторінок категорій і тегування. У цьому випадку можна втратити частину трафіку
Закривати від індексації сторінки пагінації /page/
Це робити не потрібно. Для таких сторінок налаштовується тег rel=»canonical», таким чином, такі сторінки теж відвідуються роботом і на них враховуються розташовані товари/статті, а також враховується внутрішня посилальна маса.
Прописати Crawl-Delay
Модне правило. Однак його потрібно вказувати тільки тоді, коли дійсно є необхідність обмежити відвідування роботами вашого сайту. Якщо сайт невеликий і відвідування не створюють значного навантаження на сервер, то обмежувати час «щоб було» буде не найрозумнішою витівкою.
Ляпи
Деякі правила я можу віднести тільки до категорії «блогер не подумав». Наприклад: Disallow: /20 — за таким правилом не тільки закриєте всі архіви, а й заодно всі статті про 20 способів або 200 порад, як зробити світ кращим 🙂
Спірна рекомендація інших блогерів для Robots.txt на WordPress
Коментарі
Деякі хлопці радять закривати від індексування коментарі Disallow: /comments і Disallow: */comment-*.
Відкрити папку uploads тільки для Googlebot-Image
User-agent: Googlebot-Image
Allow: /wp-content/uploads/
Порада доволі сумнівна, тому що для ранжування сторінки необхідна інформація про те, які зображення і файли розміщені на ній.
Дякуємо за вашу увагу! Якщо у вас виникнуть запитання або пропозиції, пишіть у коментарях!

















