Файл robots.txt и содержащиеся в нем инструкции являются реализацией так называемого протокола исключения роботов ( Протокол исключения роботов ).
В течение долгого времени я видел, как файл robots.txt использовался для целей SEO в убеждении, что блокировка отслеживания определенных файлов и каталогов может улучшить позиционирование в поисковых системах или даже что robots.txt может блокировать вредоносных роботов.
Преимущества SEO, некоторые, но в конкретных случаях. И что касается блокировки роботов, robots.txt ничего не блокирует.
WordPress robots.txt
Как я писал несколько дней назад в WPSE Можно сказать, что лучшим robots.txt для WordPress в целом является именно robots.txt, сгенерированный WordPress . Его содержимое по умолчанию - из WordPress 4.4 и сейчас (4.9.8):
Пользовательский агент: * Disallow: / wp-admin / Allow: /wp-admin/admin-ajax.php
В большинстве случаев вам не нужно обращать никакого внимания на этот файл. Файл robots.txt по умолчанию уже хорош:
Общие, но деликатные рекомендации
1. Заблокируйте wp-контент, wp-includes, css, js, images и другие ресурсы
Опыт пользователя является показателем значительного веса в SEO, и его интерпретация требует, чтобы сканеры имели доступ ко всем ресурсам веб-страницы, а не только к ее HTML.
Чтобы дать вам представление о том, насколько важно то, что я хочу сказать, в Google Search Console есть панель, предназначенная исключительно для оповещения вас о страницах, на которых она находит заблокированные ресурсы :
Регистрация заблокированных ресурсов в Google Search Console
Посмотрите на текст на рисунке на предыдущем изображении, он говорит:
Обработка без определенных ресурсов может повлиять на индексацию ваших веб-страниц.
Тем не менее, в Интернете все еще легко найти учебники, в которых рекомендуется блокировать отслеживание определенных типов ресурсов для улучшения SEO.
Например, в WordPress часто встречаются рекомендации по блокированию каталогов wp-include и wp-content, но именно эти каталоги содержат ресурсы, используемые в общедоступной части сети.
Если вы не знаете, что делаете и не ставите четкую и обоснованную цель, эти каталоги не должны блокироваться .
2. Robots.txt не блокирует роботов
Несмотря на свое название, протокол исключения роботов ничего не блокирует . Если вы можете получить доступ к заблокированному ресурсу в robots.txt, это может сделать любой робот.
Если вы действительно хотите заблокировать доступ к ресурсу, вам придется работать с другими инструментами.
robots.txt содержит указания , некоторые роботы следуют за ними, другие роботы - нет. Например, сканеры из Google, Bing и других поисковых систем обращают внимание на эти рекомендации и не отслеживают и не индексируют то, что не позволяет robots.txt .
Но имейте в виду, что robots.txt ничего не блокирует в строгом смысле, это вопрос программного обеспечения робота, которое нужно игнорировать или нет, так просто. Блокировка спамеров, опасных или злых роботов с robots.txt не имеет особого смысла для меня. И все же, это также очень простая рекомендация для поиска в Интернете.
3. Блокировка отслеживания не всегда лучший вариант SEO
Как уже упоминалось, сканеры основных поисковых систем соблюдают указания, указанные в файле robots.txt. Если мы скажем ему не сканировать что-либо, он не отслеживает это и, следовательно, не индексирует это.
Но большую часть времени, с точки зрения SEO, мы действительно хотим, чтобы вы отслеживали, а не индексировали . Подумай об этом немного.
Давайте приведем пример, который я вижу очень четко с другой из наиболее распространенных рекомендаций по SEO, WordPress и robots.txt: блокировать отслеживание каналов, тегов, вложений и т. Д. Однако гораздо лучше позволить поисковым системам отслеживать эти страницы, читать эти документы и переходить по ссылкам, которые они могут содержать, на другие части Интернета.
С robots.txt вы предотвращаете сканирование и индексацию. Чтобы разрешить отслеживание, но не индексацию, что интересно, гораздо лучше использовать заголовки noindex: Заголовки HTTP X-Robots-Tag или с метатегами :
add_action ('template_redirect', function () {if (is_feed ()) {header ("X-Robots-Tag: follow, noindex");}});
Используя эти заголовки, боты могут читать эти документы, даже если они не проиндексированы , и когда они читают их, они могут переходить по содержащимся в них ссылкам , увеличивая возможность обнаружения всего контента вашего веб-сайта и отслеживаемого уровня контента .
Этот метод можно использовать для любого ресурса, который мы используем в веб-интерфейсе, но индексирование которого не очень своевременно.
Например, он используется в URL-адресах API REST WP и в URL-адресах API AJAX (wp-admin / admin-ajax.php). Оба являются URL-адресами, используемыми во внешнем интерфейсе, поэтому их следует разрешать сканировать, их не следует блокировать в файле robots.txt , хотя его индексация не является своевременной и известна поисковым системам через заголовки или теги HTTP. цель.
Конкретный случай URL-адреса admin-ajax.php является очень хорошим примером. Обратите внимание, что это было определенно разрешено в файле robots.txt WordPress по умолчанию в качестве исключения из каталога wp-admin, но если вы протестируете и проанализируете заголовки HTTP, вы найдете заголовок X-Robots-Tag: noindex.
Каталог wp-admin был заблокирован в robots.txt полностью до версии 4.4 WordPress, Joost de Valk (Yoast.com) предложил исключить файл admin-ajax.php в качестве исключения , поскольку он часто использовался во внешнем интерфейсе многими плагинами и блокировался в файле robots.txt, это вызывало ошибки в консоли поиска Google. Следовательно, его следует отслеживать, хотя и не индексировать.
Изменить robots.txt в WordPress
Несмотря на все вышеперечисленное, все еще может быть много ситуаций, в которых полностью оправдано изменение robots.txt из WordPress , хотя это не строго по причинам SEO, а тем более по соображениям безопасности.
WordPress создает файл robots.txt на лету , файл robots.txt на самом деле не существует физически, и для изменения файла robots.txt необходимо сделать из PHP команду фильтр robots_txt ,
Например, представьте, что вы хотите заблокировать сканирование каталога cgi-bin, каталога определенного плагина и добавить ссылку на карту сайта :
add_filter ('robots_txt', function ($ output) {$ output. = "Disallow: / cgi-bin / \ n"; $ output. = "Disallow: / wp-content / plugins / plugin-what-I-want-block / \ n "; $ output. =" Карта сайта: ". site_url ('sitemap.xml')." "\ n"; return $ output;});
Это приведет к следующему robots.txt (контент по умолчанию плюс тот, который добавлен в код):
User-agent: * Disallow: / wp-admin / Allow: /wp-admin/admin-ajax.php Disallow: / cgi-bin / Disallow: / wp-content / plugins / plugin-what-I-want-block / Карта сайта: https://ejemplo.com/sitemap.xml
Вы также можете заблокировать всю папку плагинов, но разрешить файлы .css и .js, добавив следующие строки:
Пользовательский агент: * Disallow: / wp-content / plugins / plugin-to-block / Разрешить: /wp-content/plugins/plugin-a-block/*.css Разрешить: / wp-content / plugins / plugin-a -блок / *. js
Эти изменения в robots.txt также можно сделать, создав файл robots.txt и загрузив его на сервер, а не через фильтр robots_txt, но при создании файла вы заблокируете использование robots.txt в WordPress и любом плагине, который использовать.
Например, большинство плагинов, которые создают файлы Sitemap, добавляют одну или несколько записей в файл robots.txt с помощью API WordPress. Если файл robots.txt действительно существует, они не смогут это сделать.
Помните, что в WordPress вы не должны создавать файл robots.txt на сервере напрямую , вы должны работать через API WordPress.