Ошибка 404 робот

Около 50 000 сайтов уже получили от Вебмастера оповещения, которые помогают заметить возможную проблему на сайте, — об ответе некоторых страниц кодом 4XX. Коды ответа 4ХХ означают, что контент сайта недоступен для робота и, соответственно, через некоторое время пропадет из поисковой выдачи.   

Как посмотреть примеры страниц с кодами статусов 4XX 

В Яндекс Вебмастере есть уведомление, благодаря которому можно будет вовремя узнать о росте количества страниц с кодами 4ХХ и посмотреть их список в сервисе. Если вы подписаны на уведомления от Вебмастера, то оповещение поступит вам на указанный почтовый адрес. В любом случае, посмотреть сообщение об ошибке можно в Вебмастере. Для этого: 

1.    Перейдите в Вебмастер в раздел Диагностика. 

2.    Найдите алерт «Некоторые страницы сайта отвечают HTTP-кодом 4хх». 

3.    Нажмите на ссылку «Посмотреть примеры страниц» — откроется список список с такими кодами. 

Если такого уведомления нет, то Вебмастер не диагностировал проблем с ошибками 4ХХ. 

Если вы обнаружили, что статус некоторых ваших страниц — 4ХХ, найдите и исправьте возникшие ошибки, чтобы робот продолжил индексирование. Если вы действительно недавно удалили достаточно большое количество страниц с вашего сайта, пропустите это сообщение. Но если такое произошло неожиданно и без видимых причин, то оповещение поможет вовремя заметить ошибку или техническую проблему.  

Возможные причины кода ответа 4ХХ

  1. Страница удалена (специально или по ошибке).
  2. Возникла ошибка в адресе при размещении ссылки.
  3. Доступ к странице заблокирован. 

Рекомендации 

В зависимости от типа страницы есть несколько способов исправления ошибки.

В случае важных страниц с необходимым в поиске контентом:

  • Обратитесь к хостинг-провайдеру и разработчику сайта.
  • Проверьте настройки сервера на предмет блокировок робота, уточнить их у хостинг-провайдера или в службе поддержки используемого движка.
  • Изучите логи обращений к сайту и поищите запросы с User-Agent робота Яндекса. 

В случае намеренно удаленных страниц:

  • Настройте перенаправление с удаленных страниц на нужные с помощью кодов 3ХХ, чтобы у пользователей сохранился доступ к важному контенту.
  • Запретите обход ненужных страниц в robots.txt директивой Disallow.
  • Проверьте черный список сайта и IP, так как запросы робота Яндекса могли быть заблокированы по IP, а инструмент проверки сервера не всегда может показать такую проблему.
  • Правильно оформите страницу с ошибкой 4ХХ, сообщите пользователям, что контент по данному адресу отсутствует и предложите перейти к другим разделам сайта.

В случае страниц, которые никогда не существовали на сайте: 

  • Убедитесь в том, что на вашем сайте нет ошибок в адресах ссылок. 
  • Если исправление технических ошибок не помогло, запретите обход ненужных страниц в robots.txt директивой Disallow. 

Подробнее об этих и других HTTP-статусах можно прочитать в Справке. 

Способы «получше»:

1. Семь раз отмерь, один раз отрежь. 

2.  Надо было сначала удалить юрлы, а потом удалять сами страницы. А вы дождались пока робот зашел к вам и поместил все в 404. Щаз уже поздно рыпаться, но на будущее галочку себе поставьте..

3. Вам выше правильно написали — робот поместил юрлы в 404, остается только ждать. Если не любите ждать — пишите в ПЛАТОНариум, хоть развлечетесь  ;)  :)

ясно, спасибо. А Платону писал ранее говорил ждите.

Роботы Google бывают двух типов. Одни (поисковые) действуют автоматически и поддерживают стандарт исключений для роботов (REP).
Это означает, что перед сканированием сайта они скачивают и анализируют файл robots.txt, чтобы узнать, какие разделы сайта для них открыты. Другие контролируются пользователями (например, собирают контент для фидов) или обеспечивают их безопасность (например, выявляют вредоносное ПО). Они не следуют этому стандарту.

В этой статье рассказывается о том, как Google интерпретирует стандарт REP. Ознакомиться с описанием самого стандарта можно здесь.

Что такое файл robots.txt

В файле robots.txt можно задать правила, которые запрещают поисковым роботам сканировать определенные разделы и страницы вашего сайта. Он создается в обычном текстовом формате и содержит набор инструкций. Так может выглядеть файл robots.txt на сайте example.com:

# This robots.txt file controls crawling of URLs under https://example.com.
# All crawlers are disallowed to crawl files in the "includes" directory, such
# as .css, .js, but Google needs them for rendering, so Googlebot is allowed
# to crawl them.
User-agent: *
Disallow: /includes/

User-agent: Googlebot
Allow: /includes/

Sitemap: https://example.com/sitemap.xml

Если вы только начинаете работать с файлами robots.txt, ознакомьтесь с общей информацией о них. Также мы подготовили для вас рекомендации по созданию файла и ответы на часто задаваемые вопросы.

Расположение файла и условия, при которых он действителен

Файл robots.txt должен находиться в каталоге верхнего уровня и передаваться по поддерживаемому протоколу. URL файла robots.txt (как и другие URL) должен указываться с учетом регистра. Google Поиск поддерживает протоколы HTTP, HTTPS и FTP. Для HTTP и HTTPS используется безусловный HTTP-запрос GET, а для FTP – стандартная команда RETR (RETRIEVE) и анонимный вход.

Правила, перечисленные в файле robots.txt, действительны только в отношении того хоста, где расположен файл, а также протокола и номера порта, по которым доступен этот файл.

Примеры действительных URL файла robots.txt

Примеры URL файла robots.txt и путей URL, для которых они действительны, приведены в таблице ниже.
В первом столбце указан URL файла robots.txt, а во втором – домены, к которым может или не может относиться этот файл.

Примеры URL файла robots.txt
http://example.com/robots.txt

Общий пример. Такой файл не действует в отношении других субдоменов, протоколов и номеров портов. При этом он действителен для всех файлов во всех подкаталогах, относящихся к тому же хосту, протоколу и номеру порта.

Действителен для:

  • http://example.com/
  • http://example.com/folder/file

Недействителен для:

  • http://other.example.com/
  • https://example.com/
  • http://example.com:8181/
https://www.example.com/robots.txt

Файл robots.txt в субдомене действителен только для этого субдомена.

Действителен для:https://www.example.com/

Недействителен для:

  • https://example.com/
  • https://shop.www.example.com/
  • https://www.shop.example.com/
https://example.com/folder/robots.txt Недействительный файл robots.txt. Поисковые роботы не ищут файлы robots.txt в подкаталогах.
https://www.exämple.com/robots.txt

Эквивалентами IDN являются их варианты в кодировке Punycode. Ознакомьтесь также с документом RFC 3492.

Действителен для:

  • https://www.exämple.com/
  • https://xn--exmple-cua.com/

Недействителен для:https://www.example.com/

ftp://example.com/robots.txt

Действителен для:ftp://example.com/

Недействителен для:https://example.com/

https://212.96.82.21/robots.txt

Если robots.txt относится к хосту, имя которого совпадает с IP-адресом, то он действителен только при обращении к сайту по этому IP-адресу. Инструкции в нем не распространяются автоматически на все сайты, размещенные по этому IP-адресу (хотя файл robots.txt может быть для них общим, и тогда он будет доступен также по общему имени хоста).

Действителен для:https://212.96.82.21/

Недействителен для:https://example.com/ (даже если сайт расположен по IP-адресу 212.96.82.21)

https://example.com:80/robots.txt

Если URL указан со стандартным портом (80 для HTTP, 443 для HTTPS, 21 для FTP), такая запись эквивалентна имени хоста по умолчанию.

Действителен для:

  • https://example.com:80/
  • https://example.com/

Недействителен для:https://example.com:81/

https://example.com:8181/robots.txt

Файлы robots.txt, размещенные не по стандартным номерам портов, действительны только для контента, который доступен по этим номерам портов.

Действителен для:https://example.com:8181/

Недействителен для:https://example.com/

Обработка ошибок и коды статуса HTTP

От того, какой код статуса HTTP вернет сервер при обращении к файлу robots.txt, зависит, как дальше будут действовать поисковые роботы Google. О том, как робот Googlebot обрабатывает файлы robots.txt для разных кодов статуса HTTP, рассказано в таблице ниже.

Обработка ошибок и коды статуса HTTP
2xx (success) Получив один из кодов статуса HTTP, которые сигнализируют об успешном выполнении, робот Google начинает обрабатывать файл robots.txt, предоставленный сервером.
3xx (redirection)

Google выполняет пять переходов в цепочке переадресаций согласно RFC 1945. Затем поисковый робот прерывает операцию и интерпретирует ситуацию как ошибку 404, относящуюся к файлу robots.txt. Это также относится к любым заблокированным URL в цепочке переадресаций, поскольку из-за них поисковый робот не может получить правила.

Google не обрабатывает логические перенаправления в файлах robots.txt (фреймы, JavaScript или метатеги refresh).

4xx (client errors)

Поисковые роботы Google воспринимают все ошибки 4xx (кроме ошибки 429) так, как если бы действительный файл robots.txt отсутствовал. При этом сканирование выполняется без ограничений.

5xx (server errors)

Поскольку сервер не может дать определенный ответ на запрос файла robots.txt, Google временно интерпретирует ошибки сервера 5xx и 429 так, как если бы сайт был полностью заблокирован. Google будет пытаться просканировать файл robots.txt до тех пор, пока не получит код статуса HTTP, не связанный с ошибкой сервера. При появлении ошибки 503 (service unavailable) попытки будут повторяться достаточно часто. Если файл robots.txt недоступен более 30 дней, будут выполняться правила в его последней кешированной копии. Если такой копии нет, роботы Google будут действовать без ограничений.

Если вам необходимо временно остановить сканирование, рекомендуем передавать код статуса HTTP 503 для каждого URL на сайте.

Если нам удается определить, что сайт настроен неправильно и в ответ на запросы отсутствующих страниц возвращает ошибку 5xx вместо 404, она будет обрабатываться как ошибка 404, а не 5xx. Например, если на странице, которая возвращает код статуса 5xx, есть сообщение «Страница не найдена», это будет восприниматься как код статуса 404 (not found).

Другие ошибки Если файл robots.txt невозможно получить из-за проблем с DNS или сетью (слишком долгого ожидания, недопустимых ответов, разрыва соединения, ошибки поблочной передачи данных по HTTP), это приравнивается к ошибке сервера.

Кеширование

Содержание файла robots.txt обычно хранится в кеше не более суток, но может быть доступно и дольше в тех случаях, когда обновить кешированную версию невозможно (например, из-за истечения времени ожидания или ошибок 5xx). Сохраненный в кеше ответ может передаваться другим поисковым роботам.
Google может увеличить или уменьшить срок действия кеша в зависимости от значения атрибута max-age в HTTP-заголовке Cache-Control.

Формат файла

В файле robots.txt должен быть обычный текст в кодировке UTF-8. В качестве разделителей строк следует использовать символы CR, CR/LF и LF.

Добавляемая в начало файла robots.txt метка порядка байтов Unicode BOM игнорируется, как и недопустимые строки. Например, если вместо правил robots.txt Google получит HTML-контент, система попытается проанализировать контент и извлечь правила. Все остальное будет проигнорировано.

Если для файла robots.txt используется не UTF-8, а другая кодировка, то Google может проигнорировать символы, не относящиеся к UTF-8. В результате правила из файла robots.txt не будут работать.

В настоящее время максимальный размер файла, установленный Google, составляет 500 кибибайт (КиБ). Контент сверх этого лимита игнорируется. Чтобы не превысить его, применяйте более общие правила. Например, поместите все материалы, которые не нужно сканировать, в один каталог.

Синтаксис

Каждая действительная строка в файле robots.txt состоит из имени поля, двоеточия и значения. Использовать пробелы не обязательно, но рекомендуется для удобства чтения. Пробелы в начале и конце строки игнорируются. Чтобы добавить комментарии, начинайте их с символа #. Весь текст после символа # и до конца строки будет игнорироваться. Стандартный формат: <field>:<value><#optional-comment>.

Google поддерживает следующие поля:

  • user-agent: агент пользователя робота, для которого применяется правило.
  • allow: путь URL, который можно сканировать.
  • disallow: путь URL, который запрещено сканировать.
  • sitemap: полный URL файла Sitemap.

Поля allow и disallow также называются правилами или директивами. Они всегда задаются в формате rule: [path], где значение [path] указывать необязательно. По умолчанию роботы могут сканировать весь контент. Они игнорируют правила без [path].

Значения [path] указываются относительно корневого каталога сайта, на котором находится файл robots.txt (используется тот же протокол, порт, хост и домен).
Значение пути должно начинаться с символа /, обозначающего корневой каталог. Регистр учитывается. Подробнее о соответствии значения пути конкретным URL…

user-agent

Строка user-agent определяет, для какого робота применяется правило. Полный список поисковых роботов Google и строк для различных агентов пользователя, которые можно добавить в файл robots.txt, вы можете найти здесь.

Значение строки user-agent обрабатывается без учета регистра.

disallow

Правило disallow определяет, какие пути не должны сканироваться поисковыми роботами, определенными строкой user-agent, с которой сгруппирована директива disallow.
Роботы игнорируют правило без указания пути.

Google не может индексировать контент страниц, сканирование которых запрещено, однако может индексировать URL и показывать его в результатах поиска без фрагмента. Подробнее о том, как блокировать индексирование…

Значение правила disallow обрабатывается с учетом регистра.

Синтаксис:

disallow: [path]

allow

Правило allow определяет пути, которые могут сканироваться поисковыми роботами. Если путь не указан, он игнорируется.

Значение правила allow обрабатывается с учетом регистра.

Синтаксис:

allow: [path]

sitemap

Google, Bing и другие крупные поисковые системы поддерживают поле sitemap из файла robots.txt. Дополнительную информацию вы можете найти на сайте sitemaps.org.

Значение поля sitemap обрабатывается с учетом регистра.

Синтаксис:

sitemap: [absoluteURL]

Строка [absoluteURL] указывает на расположение файла Sitemap или файла индекса Sitemap.
URL должен быть полным, с указанием протокола и хоста. Нет необходимости кодировать URL. Хост URL не обязательно должен быть таким же, как и у файла robots.txt. Вы можете добавить несколько полей sitemap. Эти поля не связаны с каким-либо конкретным агентом пользователя. Если их сканирование не запрещено, они доступны для всех поисковых роботов.

Пример:

user-agent: otherbot
disallow: /kale

sitemap: https://example.com/sitemap.xml
sitemap: https://cdn.example.org/other-sitemap.xml
sitemap: https://ja.example.org/テスト-サイトマップ.xml

Группировка строк и правил

Вы можете группировать правила, которые применяются для разных агентов пользователя. Просто повторите строки user-agent для каждого поискового робота.

Пример:

user-agent: a
disallow: /c

user-agent: b
disallow: /d

user-agent: e
user-agent: f
disallow: /g

user-agent: h

В этом примере есть четыре группы правил:

  • первая – для агента пользователя «a»;
  • вторая – для агента пользователя «b»;
  • третья – одновременно для агентов пользователей «e» и «f»;
  • четвертая – для агента пользователя «h».

Техническое описание группы вы можете найти в разделе 2.1 этого документа.

Приоритет агентов пользователей

Для отдельного поискового робота действительна только одна группа. Он должен найти ту, в которой наиболее конкретно указан агент пользователя из числа подходящих. Другие группы игнорируются. Весь неподходящий текст игнорируется. Например, значения googlebot/1.2 и googlebot* эквивалентны значению googlebot. Порядок групп в файле robots.txt не важен.

Если агенту пользователя соответствует несколько групп, то все относящиеся к нему правила из всех групп объединяются в одну. Группы, относящиеся к определенным агентам пользователя, не объединяются с общими группами, которые помечены значком *.

Примеры

Сопоставление полей user-agent

user-agent: googlebot-news
(group 1)

user-agent: *
(group 2)

user-agent: googlebot
(group 3)

Поисковые роботы выберут нужные группы следующим образом:

Выбор групп различными роботами
Googlebot-News googlebot-news выбирает группу 1, поскольку это наиболее конкретная группа.
Googlebot (веб-поиск) googlebot выбирает группу 3.
Google StoreBot Storebot-Google выбирает группу 2, поскольку конкретной группы Storebot-Google нет.
Googlebot-News (при сканировании изображений) При сканировании изображений googlebot-news выбирает группу 1.
googlebot-news не сканирует изображения для Google Картинок, поэтому выбирает только группу 1.
Otherbot (веб-поиск) Остальные поисковые роботы Google выбирают группу 2.
Otherbot (для новостей) Другие поисковые роботы Google, которые сканируют новости, но не являются роботами googlebot-news, выбирают группу 2. Даже если имеется запись для схожего робота, она недействительна без точного соответствия.

Группировка правил

Если в файле robots.txt есть несколько групп для определенного агента пользователя, выполняется внутреннее объединение этих групп. Пример:

user-agent: googlebot-news
disallow: /fish

user-agent: *
disallow: /carrots

user-agent: googlebot-news
disallow: /shrimp

Поисковые роботы объединяют правила с учетом агента пользователя, как указано в примере кода ниже.

user-agent: googlebot-news
disallow: /fish
disallow: /shrimp

user-agent: *
disallow: /carrots

Парсер для файлов robots.txt игнорирует все правила, кроме следующих: allow, disallow, user-agent. В результате указанный фрагмент файла robots.txt обрабатывается как единая группа и правило disallow: /: влияет как на user-agent a, так и на b:

user-agent: a
sitemap: https://example.com/sitemap.xml

user-agent: b
disallow: /

При обработке правил в файле robots.txt поисковые роботы игнорируют строку sitemap.
Например, вот как роботы обработали бы приведенный выше фрагмент файла robots.txt:

user-agent: a
user-agent: b
disallow: /

Соответствие значения пути конкретным URL

Google использует значение пути в правилах allow и disallow, чтобы определить, должно ли правило применяться к определенному URL на сайте. Для этого правило сравнивается с компонентом пути в URL, данные по которому пытается получить поисковый робот.
Символы, не входящие в набор 7-битных символов ASCII, можно указать в виде экранированных значений в кодировке UTF-8 (см. RFC 3986).

Google, Bing и другие крупные поисковые системы поддерживают определенные подстановочные знаки для путей:

  • * обозначает 0 или более вхождений любого действительного символа.
  • $ обозначает конец URL.
Примеры
/ Соответствует корневому каталогу и всем URL более низкого уровня.
/* Аналогичен элементу /. Подстановочный знак игнорируется.
/$ Соответствует только корневому каталогу. На всех URL более низкого уровня разрешено сканирование.
/fish

Соответствует всем путям, которые начинаются с /fish. Учтите, что сопоставление выполняется с учетом регистра.

Соответствует:

  • /fish
  • /fish.html
  • /fish/salmon.html
  • /fishheads
  • /fishheads/yummy.html
  • /fish.php?id=anything

Не соответствует:

  • /Fish.asp
  • /catfish
  • /?id=fish
  • /desert/fish
/fish*

Аналогичен элементу /fish. Подстановочный знак игнорируется.

Соответствует:

  • /fish
  • /fish.html
  • /fish/salmon.html
  • /fishheads
  • /fishheads/yummy.html
  • /fish.php?id=anything

Не соответствует:

  • /Fish.asp
  • /catfish
  • /?id=fish
  • /desert/fish
/fish/

Соответствует любым элементам в папке /fish/.

Соответствует:

  • /fish/
  • /fish/?id=anything
  • /fish/salmon.htm

Не соответствует:

  • /fish
  • /fish.html
  • /animals/fish/
  • /Fish/Salmon.asp
/*.php

Соответствует всем путям, которые содержат .php.

Соответствует:

  • /index.php
  • /filename.php
  • /folder/filename.php
  • /folder/filename.php?parameters
  • /folder/any.php.file.html
  • /filename.php/

Не соответствует:

  • / (хотя и соответствует /index.php)
  • /windows.PHP
/*.php$

Соответствует всем путям, которые заканчиваются на .php.

Соответствует:

  • /filename.php
  • /folder/filename.php

Не соответствует:

  • /filename.php?parameters
  • /filename.php/
  • /filename.php5
  • /windows.PHP
/fish*.php

Соответствует всем путям, которые содержат /fish и .php (именно в таком порядке).

Соответствует:

  • /fish.php
  • /fishheads/catfish.php?parameters

Не соответствует:/Fish.PHP

Порядок применения правил

Когда роботы соотносят правила из файла robots.txt с URL, они используют самое строгое правило (с более длинным значением пути). При наличии конфликтующих правил (в том числе с подстановочными знаками) выбирается то, которое предполагает наименьшие ограничения.

Ознакомьтесь с примерами ниже.

Примеры
https://example.com/page
allow: /p
disallow: /

Применяемое правило: allow: /p, поскольку оно наиболее строгое.

https://example.com/folder/page
allow: /folder
disallow: /folder

Применяемое правило: allow: /folder, поскольку при наличии конфликтующих правил используется наименее строгое.

https://example.com/page.htm
allow: /page
disallow: /*.htm

Применяемое правило: disallow: /*.htm поскольку оно имеет более длинное значение пути и точнее совпадает с символами в URL, поэтому является более строгим.

https://example.com/page.php5
allow: /page
disallow: /*.ph

Применяемое правило: allow: /page, поскольку при наличии конфликтующих правил используется наименее строгое.

https://example.com/
allow: /$
disallow: /

Применяемое правило: allow: /$, поскольку оно наиболее строгое.

https://example.com/page.htm
allow: /$
disallow: /

Применяемое правило: disallow: /, поскольку правило allow действует только для корневого URL.

Файл Robots.txt для сайта

Примерно 60% пользователей сталкивается с тем, что новый сайт имеет проблемы с продвижением в поиске из-за неправильно настроенного файла robots.txt. Поэтому не всегда стоит сразу после запуска вкладывать все ресурсы в SEO-тексты, ссылки или внешнюю рекламу, так как некорректная настройка одного единственного файла на сайте способна привести к фатальным результатам и полной потере трафика и клиентов. Однако, всего этого можно избежать, правильно настроив индексацию сайта, и сделать это можно даже не будучи техническим специалистом или программистом.

Что такое файл robots.txt?

Robots.txt это обычный текстовый файл, содержащий руководство для ботов поисковых систем (Яндекс, Google, etc.) по сканированию и индексации вашего сайта. Таким образом, каждый поисковый бот (краулер) при обходе страниц сайта сначала скачивает актуальную версию robots.txt (обновляет его содержимое в своем кэше), а затем, переходя по ссылкам на сайте, заносит в свой индекс только те страницы, которые разрешены к индексации в настройках данного файла.

User-agent: *
Disallow: /*?*
Disallow: /data/
Disallow: /scripts/
Disallow: /plugins/

Sitemap: https://somesite.com/sitemap.xml

При этом у каждого краулера существует такое понятие, как «краулинговый бюджет», определяющее, сколько страниц можно просканировать единоразово (для разных сайтов это значение варьируется: обычно в зависимости от объема и значимости сайта). То есть, чем больше страниц на сайте и чем популярнее ресурс, тем объемнее и чаще будет идти его обход краулерами, и тем быстрее эти данные попадут в поисковую выдачу (например, на крупных новостных сайтах поисковые боты постоянно сканируют контент на предмет поиска новой информации (можно сказать что «живут»), за счет чего поисковая система может выдавать пользователем самые актуальные новости уже через несколько секунд после их публикации на сайте).

Google, краулинговый бюджет

Таким образом, из-за ограниченности краулингового бюджета рекомендуется отдавать поисковым ботам в приоритете только ту информацию, которая должна обновляться или появляться в индексе поисковиков наиболее быстро (например, важные, полезные и актуальные страницы сайта), а все прочее устаревшее и не нужное можно смело скрывать, тем самым не распыляя краулинговый бюджет на не имеющий ценности контент.

Вывод: для оптимизации индексирования сайта стоит исключать из сканирования дубликаты страниц, результаты локального поиска по сайту, личный кабинет, корзину, сравнения, сортировки и фильтры, пользовательские профили, виш-листы и всё, что не имеет ценности для обычного пользователя.

Как найти и просмотреть содержимое robots.txt?

Файл размещается в корне домена по адресу somesite.com/robots.txt.

Блокнот, редактирование robots.txt

Данный метод прост и работает для всех веб-ресурсов, на которых размещен robots.txt. Доступ у файла открытый, поэтому каждый может просмотреть файлы других сайтов и узнать, как они настроены. Просто допишите «/robots.txt» в конец адресной строки интересующего домена, и вы получите один из двух вариантов:

  1. Откроется страница с содержимым robots.txt.
  2. Вы получите ошибку 404 (страница не найдена).

Вывод: если на вашем ресурсе по адресу /robots.txt вы получаете ошибку 404, то этот момент однозначно стоит исправить (создать, настроить и добавить файл на сервер).

Создание и редактирование robots.txt

  • Если у вас еще нет файла, то нужно создать его с нуля. Откройте самый простой текстовый редактор (но не MS Word, т.к. нам нужен именно простой текстовый формат), к примеру, Блокнот (Windows) или TextEdit (Mac).
  • Если файл уже существует, отыщите его в корневом каталоге вашего сайта (предварительно, подключившись к сайту по FTP-протоколу, для этого я рекомендую бесплатный Total Commander), скопируйте его на жесткий диск вашего компьютера и откройте через Блокнот.

Примечания:

  • Если, например, сайт реализован на CMS WordPress, то по умолчанию, вы не сможете найти его в корне сайта, так как «из коробки» его наличие не предусмотрено. Поэтому для редактирования его придется создать заново.
  • Регистр имени файла важен! Название robots.txt указывается исключительно строчными буквами. Также убедитесь, что вы написали корректное название, НЕ «Robots» или «robot» – это наиболее частые ошибки при создании файла.

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

Существуют стандартные директивы разрешения или запрета индексации тех ли иных страниц и разделов сайта:

User-agent: *
Disallow: /

В данном примере всем поисковым ботам не разрешается индексировать сайт (слеш через : и пробел от директивы Disallow указывает на корень сайта, а сама директива – на запрет чего-либо, указанного после двоеточия). Звездочка говорит о том, что данная секция открыта для всех User-agent (у каждой поисковой машины есть свой юзер-агент, которым она идентифицируется. Например, у Яндекса это Yandex, а у Гугла – Googlebot).

А, например, такая конструкция:

User-agent: Googlebot
Disallow:

Говорит о том, что роботам Гугл разрешено индексировать весь сайт (для остальных поисковых систем директив в данном примере нет, поэтому если для них не прописаны какие-либо запрещающие правила, значит индексирование также разрешено).

Еще пример:

# директивы для Яндекса
User-agent: Yandex
Disallow: /profile/

Здесь роботам Яндекса запрещено индексировать личные профили пользователей (папка somesite.com/profile/), все остальное на сайте разрешено. А, например, роботу гугла разрешено индексировать вообще все на сайте.

Как вы уже могли догадаться, знак решетка «#» используется для написания комментариев.

Пример для запрета индексации конкретной страницы, входящей в блок типовых страниц:

User-agent: *
Disallow: /profile/$

Данная директива запрещает индексацию раздела /profile/, однако разрешает индексацию всех его подразделов и отдельных страниц:

  • /profile/logo.png
  • /profile/users/
  • /profile/all.html

Директива User-agent

Это обязательное поле, являющееся указанием поисковым ботам для какого поисковика настроены данные директивы. Звездочка (*) означает то, что директивы указаны для всех сканеров от всех поисковиков. Либо на ее месте может быть вписано конкретное имя поискового бота.

User-agent: * # определяем, для каких систем даются указания

Это будет работать до тех пор, пока в файле не встретятся инструкции для другого User-agent, если для него есть отдельные правила.

User-agent: Googlebot # указали, что директивы именно для ботов Гугла
Disallow: /

User-agent: Yandex # для Яндекса
Disallow:

Директива Disallow

Как мы писали выше, это директива запрета индексации страниц и разделов на вашем сайте по указанным критериям.

User-agent: *
Disallow: /profile/ #запрет индексирования профилей пользователей

Пример запрета индексации PDF и файлов MS Word и Excel:

User-agent: *
Disallow: *.pdf
Disallow: *.doc*
Disallow: *.xls*

В данном случае, звездочка играет роль любой последовательности символов, то есть к индексации будут запрещены файлы формата: pdf, doc, xls, docx, xlsx.

Примечание: для ускорения удаления из индекса недавно запрещенных к индексации страниц можно прибегнуть к помощи панели Яндекс Вебмастера: Удалить URL. Для группового удаления страниц и разделов нужно перейти в раздел «Инструменты» конкретного сайта и уже там выбрать режим «По префиксу».

Яндекс, удаление URL

Директивы Allow, Sitemap, Clean-param, Crawl-delay и другие

Дополнительные директивы предназначены для более тонкой настройки robots.txt.

Allow

Как противоположность Disallow, Allow дает указание на разрешение индексации отдельных элементов.

User-agent: Yandex
Allow: /

User-agent: *
Disallow: /

Яндекс может проиндексировать сайт целиком, остальным поисковым системам сканирование запрещено.

Либо, к примеру, мы можем разрешить к индексации отдельные папки и файлы, запрещенные через Disallow.

User-agent: *
Disallow: /upload/
Allow: /upload/iblock
Allow: /upload/medialibrary

Sitemap.xml

Это файл для прямого указания краулерам списка актуальных страниц на сайте. Данная карта сайта предназначена только для поисковых роботов и оформлена специальным образом (XML-разметка). Файл sitemap.xml помогает поисковым ботам обнаружить страницы для дальнейшего индексирования и должен содержать только актуальные страницы с кодом ответа 200, без дублей, сортировок и пагинаций.

Стандартный путь размещения sitemap.xml – также в корневой папке сайта (хотя в принципе она может быть расположена в любой директории сайта, главное указать правильный путь к sitemap):

User-agent: Yandex
Disallow: /comments/
Sitemap: https://smesite.com/sitemap.xml

Для крупных порталов карт сайта может быть даже несколько (Google допускает до 1000), но для большинства обычно хватает одного файла, если он удовлетворяет ограничениям:

  • Не более 50 МБ (без сжатия) на один Sitemap.xml.
  • Не более 50 000 URL на один Sitemap.xml.

Если ваш файл превышает указанный размер в 50 мегабайт, или же URL-адресов, содержащихся в нем, более 50 тысяч, то вам придется разбить список на несколько файлов Sitemap и использовать файл индекса для указания в нем всех частей общего Sitemap.

Пример:

User-agent: Yandex
Allow: /

Sitemap: https://project.com/my_sitemap_index.xml
Sitemap: https://project.com/my_sitemap_1.xml
Sitemap: https://project.com/my_sitemap_2.xml
...
Sitemap: https://project.com/my_sitemap_X.xml

Примечание: параметр Sitemap – межсекционный, поэтому может быть указан в любом месте файла, однако обычно принято прописывать его в последней строке robots.txt.

Clean-param

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

К примеру, «Clean-param: highlight /forum/showthread.php» преобразует ссылку «/forum/showthread.php?t=30146&highlight=chart» в «/forum/showthread.php?t=30146» и таким образом не будет добавлять дубликат страницы форума с параметром подсветки найденного текста в ветке форума.

User-Agent: *
Clean-param: p /forum/showthread.php
Clean-param: highlight /forum/showthread.php

Clean-param используется исключительно для Яндекса, Гугл же использует настройки URL в Google Search Console. У гугла это осуществляется намного проще, простым добавлением параметров в интерфейсе вебмастера:

Google, параметры URL

Crawl-delay

Данная инструкция относится к поисковой системе Яндекс и указывает правила по интенсивности его сканирования поисковым роботом. Это бывает полезно, если у вас слабый хостинг и роботы сильно нагружают сервер. В таком случае, вы можете указать им правило сканировать сайт реже, прописав интервалы между запросами к веб-сайту.

К примеру, Crawl-delay: 10 – это указание сканеру ожидать 10 секунд между каждым запросом. 0.5 – пол секунды.

User-Agent: *
Crawl-delay: 10
# Crawl-delay: 0.5

Robots.txt для WordPress

Ниже выложен пример robots.txt для сайта на WordPress. Стандартно у Вордпресс есть три основных каталога:

  • /wp-admin/
  • /wp-includes/
  • /wp-content/

Папка /wp-content/ содержит подпапку «uploads», где обычно размещены медиа-файлы, и этот основной каталог целиком блокировать не стоит:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/
Allow: /wp-content/uploads/

Данный пример блокирует выбранные служебные папки, но при этом позволяет сканировать подпапку «uploads» в «wp-content».

Настройка robots.txt для Google и Яндекс

Желательно настраивать директивы для каждой поисковой системы отдельно, как минимум, их стоит настроить для Яндекса и Гугл, а для остальных указать стандартные значения со звездочкой *.

User-agent: *
User-agent: Yandex
User-agent: Googlebot

Настройка robots.txt для Яндекса

В некоторых роботс иногда можно встретить устаревшую директиву Host, предназначенную для указания основной версии (зеркала) сайта. Данная директива устарела, поэтому ее можно не использовать (теперь поисковик определяет главное зеркало по 301-м редиректам):

User-agent: Yandex
Disallow: /search
Disallow: /profile
Disallow: */feed
Host: https://project.com # необязательно

Воспользуйтесь бесплатным инструментом Яндекса для автоматической проверки корректности настроек роботса.

Настройка robots.txt для Google

Принцип здесь тот же, что и у Яндекса, хоть и со своими нюансами. К примеру:

User-agent: Googlebot
Disallow: /search
Disallow: /profile
Disallow: */feed
Allow: *.css
Allow: *.js

Важно: для Google мы добавляем возможность индексации CSS-таблиц и JS, которые важны именно для этой поисковой системы (поисковик умеет рендерить яваскрипт, соответственно может получить из него дополнительную информацию, имеющую пользу для сайта, либо просто для понимания, для чего служит тот или ной скрипт на сайте).

По ссылке в Google Webmaster Tools вы можете убедиться, правильно ли настроен ваш robots.txt для Гугла.

Google, Robots TXT tester

Запрет индексирования через Noindex и X-RobotsTag

В некоторых случаях, поисковая система Google может по своему усмотрению добавлять в индекс страницы, запрещенные к индексации через robots.txt (например, если на страницу стоит много внешних ссылок и размещена полезная информация).

Цитата из справки Google:

Google может по своему усмотрению добавлять в индекс страницы, запрещенные к индексации

Для 100% скрытия нежелаемых страниц от индексации, используйте мета-тег NOINDEX.

Noindex – это мета-тег, который сообщает поисковой системе о запрете индексации страницы. В отличие от роботса, он является более надежным, поэтому для скрытия конфиденциальной информации лучше использовать именно его:

  • <meta name=»robots» content=»noindex»>

Чтобы скрыть страницу только от Google, укажите:

  • <meta name=»googlebot» content=»noindex»>

X-Robots-Tag

Тег x-robots позволяет вам управлять индексированием страницы в заголовке HTTP-ответа страницы. Данный тег похож на тег meta robots и также не позволяет роботам сканировать определенные виды контента, например, изображения, но уже на этапе обращения к файлу, не скачивая его, и, таким образом, не затрачивая ценный краулинговый ресурс.

Для настройки X-Robots-Tag необходимо иметь минимальные навыки программирования и доступ к файлам .php или .htaccess вашего сайта. Директивы тега meta robots также применимы к тегу x-robots.

<?
  header("X-Robots-Tag: noindex, nofollow");
?>

Примечание: X-Robots-Tag эффективнее, если вы хотите запретить сканирование изображений и медиа-файлов. Применимо к контенту лучше выбирать запрет через мета-теги. Noindex и X-Robots Tag это директивы, которым поисковые роботы четко следуют, это не рекомендации как robots.txt, которые по определению можно не соблюдать.

Как быстро составить роботс для нового сайта с нуля?

Очень просто – скачать у конкурента! )

Как быстро составить роботс для нового сайта с нуля

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

И главное: после внесения изменений проверяйте robots.txt на валидность (соответствие правилам). Тогда вам точно не нужно будет опасаться за корректность индексации вашего сайта.

Другие примеры настройки Robots.txt

User-agent: Googlebot
Disallow: /*?* # закрываем от индексации все страницы с параметрами
Disallow: /users/*/photo/ # закрываем от индексации адреса типа "/users/big/photo/", "/users/small/photo/"
Disallow: /promo* # закрываем от индексации адреса типа "/promo-1", "/promo-site/"
Disallow: /templates/ #закрываем шаблоны сайта
Disallow: /*?print= # версии для печати
Disallow: /*&print=

Запрещаем сканировать сервисам аналитики Majestic, Ahrefs, Yahoo!

User-agent: MJ12bot
Disallow: /

User-agent: AhrefsBot
Disallow: /

User-agent: Slurp
Disallow: /

Настройки robots для Opencart:

User-agent: *
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php?route=product/product*&manufacturer_id=
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /registration
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=
Allow: /catalog/view/theme/default/stylesheet/stylesheet.css
Allow: /catalog/view/theme/default/css/main.css
Allow: /catalog/view/javascript/font-awesome/css/font-awesome.min.css
Allow: /catalog/view/javascript/jquery/owl-carousel/owl.carousel.css
Allow: /catalog/view/javascript/jquery/owl-carousel/owl.carousel.min.js

1. Введение

Технические аспекты созданного сайта играют не менее важную роль для продвижения сайта в поисковых системах, чем его наполнение. Одним из наиболее важных технических аспектов является индексирование сайта, т. е. определение областей сайта (файлов и директорий), которые могут или не могут быть проиндексированы роботами поисковых систем. Для этих целей используется robots.txt – это специальный файл, который содержит команды для роботов поисковиков. Правильный файл robots.txt для Яндекса и Google поможет избежать многих неприятных последствий, связанных с индексацией сайта.

2. Понятие файла robots.txt и требования, предъявляемые к нему

Файл /robots.txt предназначен для указания всем поисковым роботам (spiders) индексировать информационные сервера так, как определено в этом файле, т.е. только те директории и файлы сервера, которые не описаны в /robots.txt. Этот файл должен содержать 0 или более записей, которые связаны с тем или иным роботом (что определяется значением поля agent_id) и указывают для каждого робота или для всех сразу, что именно им не надо индексировать.

Синтаксис файла позволяет задавать запретные области индексирования, как для всех, так и для определенных, роботов.

К файлу robots.txt предъявляются специальные требования, не выполнение которых может привести к неправильному считыванию роботом поисковой системы или вообще к недееспособности данного файла.

Основные требования:

  • все буквы в названии файла должны быть прописными, т. е. должны иметь нижний регистр:
  • robots.txt – правильно,
  • Robots.txt или ROBOTS.TXT – неправильно;
  • файл robots.txt должен создаваться в текстовом формате Unix. При копировании данного файла на сайт ftp-клиент должен быть настроен на текстовый режим обмена файлами;
  • файл robots.txt должен быть размещен в корневом каталоге сайта.

3. Содержимое файла robots.txt

Файл robots.txt включает в себя две записи: «User-agent» и «Disallow». Названия данных записей не чувствительны к регистру букв.

Некоторые поисковые системы поддерживают еще и дополнительные записи. Так, например, поисковая система «Yandex» использует запись «Host» для определения основного зеркала сайта (основное зеркало сайта – это сайт, находящийся в индексе поисковых систем).

Каждая запись имеет свое предназначение и может встречаться несколько раз, в зависимости от количества закрываемых от индексации страниц или (и) директорий и количества роботов, к которым Вы обращаетесь.

Предполагается следующий формат строк файла robots.txt:

имя_записи[необязательные

пробелы]:[необязательные

пробелы]значение[необязательные пробелы]

Чтобы файл robots.txt считался верным, необходимо, чтобы, как минимум, одна директива «Disallow» присутствовала после каждой записи «User-agent».

Полностью пустой файл robots.txt эквивалентен его отсутствию, что предполагает разрешение на индексирование всего сайта.

Запись «User-agent»

Запись «User-agent» должна содержать название поискового робота. В данной записи можно указать каждому конкретному роботу, какие страницы сайта индексировать, а какие нет.

Пример записи «User-agent», где обращение происходит ко всем поисковым системам без исключений и используется символ «*»:

User-agent: *

Пример записи «User-agent», где обращение происходит только к роботу поисковой системы Rambler:

User-agent: StackRambler

Робот каждой поисковой системы имеет свое название. Существует два основных способа узнать его (название):

на сайтах многих поисковых систем присутствует специализированный§ раздел «помощь веб-мастеру», в котором часто указывается название поискового робота;

при просмотре логов веб-сервера, а именно при просмотре обращений к§ файлу robots.txt, можно увидеть множество имен, в которых присутствуют названия поисковых систем или их часть. Поэтому Вам остается лишь выбрать нужное имя и вписать его в файл robots.txt.

Запись «Disallow»

Запись «Disallow» должна содержать предписания, которые указывают поисковому роботу из записи «User-agent», какие файлы или (и) каталоги индексировать запрещено.

Рассмотрим различные примеры записи «Disallow».

Пример записи в robots.txt (разрешить все для индексации):

Disallow:

Пример (сайт полностью запрещен к индексации. Для этого используется символ «/»):Disallow: /

Пример (для индексирования запрещен файл «page.htm», находящийся в корневом каталоге и файл «page2.htm», располагающийся в директории «dir»):

Disallow: /page.htm

Disallow: /dir/page2.htm

Пример (для индексирования запрещены директории «cgi-bin» и «forum» и, следовательно, все содержимое данной директории):

Disallow: /cgi-bin/

Disallow: /forum/

Возможно закрытие от индексирования ряда документов и (или) директорий, начинающихся с одних и тех же символов, используя только одну запись «Disallow». Для этого необходимо прописать начальные одинаковые символы без закрывающей наклонной черты.

Пример (для индексирования запрещены директория «dir», а так же все файлы и директории, начинающиеся буквами «dir», т. е. файлы: «dir.htm», «direct.htm», директории: «dir», «directory1», «directory2» и т. д.):

Запись «Allow»

Опция «Allow» используется для обозначения исключений из неиндексируемых директорий и страниц, которые заданы записью «Disallow».

Например, есть запись следующего вида:

Disallow: /forum/

Но при этом нужно, чтобы в директории /forum/ индексировалась страница page1. Тогда в файле robots.txt потребуются следующие строки:

Disallow: /forum/

Allow: /forum/page1

Запись «Sitemap»

Эта запись указывает на расположение карты сайта в формате xml, которая используется поисковыми роботами. Эта запись указывает путь к данному файлу.

Пример:

Sitemap: http://site.ru/sitemap.xml

Запись «Host»

Запись «host» используется поисковой системой «Yandex». Она необходима для определения основного зеркала сайта, т. е. если сайт имеет зеркала (зеркало – это частичная или полная копия сайта. Наличие дубликатов ресурса бывает необходимо владельцам высокопосещаемых сайтов для повышения надежности и доступности их сервиса), то с помощью директивы «Host» можно выбрать то имя, под которым Вы хотите быть проиндексированы. В противном случае «Yandex» выберет главное зеркало самостоятельно, а остальные имена будут запрещены к индексации.

В целях совместимости с поисковыми роботами, которые при обработке файла robots.txt не воспринимают директиву Host, необходимо добавлять запись «Host» непосредственно после записей Disallow.

Пример: www.site.ru – основное зеркало:

Host: www.site.ru

Запись «Crawl-delay»

Эту запись воспринимает Яндекс. Она является командой для робота делать промежутки заданного времени (в секундах) между индексацией страниц. Иногда это бывает нужно для защиты сайта от перегрузок.

Так, запись следующего вида обозначает, что роботу Яндекса нужно переходить с одной страницы на другую не раньше чем через 3 секунды:

Crawl-delay: 3

Комментарии

Любая строка в robots.txt, начинающаяся с символа «#», считается комментарием. Разрешено использовать комментарии в конце строк с директивами, но некоторые роботы могут неправильно распознать данную строку.

Пример (комментарий находится на одной строке вместе с директивой):

Disallow: /cgi-bin/ #комментарий

Желательно размещать комментарий на отдельной строке. Пробел в начале строки разрешается, но не рекомендуется.

4. Примеры файлов robots.txt

Пример (комментарий находится на отдельной строке):

Disallow: /cgi-bin/#комментарий

Пример файла robots.txt, разрешающего всем роботам индексирование всего сайта:

User-agent: *

Disallow:

Host: www.site.ru

Пример файла robots.txt, запрещающего всем роботам индексирование сайта:

User-agent: *

Disallow: /

Host: www.site.ru

Пример файла robots.txt, запрещающего всем роботам индексирование директории «abc», а так же всех директорий и файлов, начинающихся с символов «abc».

User-agent: *

Disallow: /abc

Host: www.site.ru

Пример файла robots.txt, запрещающего индексирование страницы «page.htm», находящейся в корневом каталоге сайта, поисковым роботом «googlebot»:

User-agent: googlebot

Disallow: /page.htm

Host: www.site.ru

Пример файла robots.txt, запрещающего индексирование:

– роботу «googlebot» – страницы «page1.htm», находящейся в директории «directory»;

– роботу «Yandex» – все директории и страницы, начинающиеся символами «dir» (/dir/, /direct/, dir.htm, direction.htm, и т. д.) и находящиеся в корневом каталоге сайта.

User-agent: googlebot

Disallow: /directory/page1.htm

User-agent: Yandex

Disallow: /dir

Host: www.site.ru

5. Ошибки, связанные с файлом robots.txt

Одна из самых распространенных ошибок – перевернутый синтаксис.

Неправильно:

User-agent: /

Disallow: Yandex

Правильно:

User-agent: Yandex

Disallow: /

Неправильно:

User-agent: *

Disallow: /dir/ /cgi-bin/ /forum/

Правильно:

User-agent: *

Disallow: /dir/

Disallow: /cgi-bin/

Disallow: /forum/

Если при обработке ошибки 404 (документ не найден), веб-сервер выдает специальную страницу, и при этом файл robots.txt отсутствует, то возможна ситуация, когда поисковому роботу при запросе файла robots.txt выдается та самая специальная страница, никак не являющаяся файлом управления индексирования.

Ошибка, связанная с неправильным использованием регистра в файле robots.txt. Например, если необходимо закрыть директорию «cgi-bin», то в записе «Disallow» нельзя писать название директории в верхнем регистре «cgi-bin».

Неправильно:

User-agent: *

Disallow: /CGI-BIN/

Правильно:

User-agent: *

Disallow: /cgi-bin/

Ошибка, связанная с отсутствием открывающей наклонной черты при закрытии директории от индексирования.

Неправильно:

User-agent: *

Disallow: dir

User-agent: *

Disallow: page.HTML

Правильно:

User-agent: *

Disallow: /dir

User-agent: *

Disallow: /page.HTML

Чтобы избежать наиболее распространенных ошибок, файл robots.txt можно проверить средствами Яндекс.Вебмастера или Инструментами для вебмастеров Google. Проверка осуществляется после загрузки файла.

6. Заключение

Таким образом, наличие файла robots.txt, а так же его составление, может повлиять на продвижение сайта в поисковых системах. Не зная синтаксиса файла robots.txt, можно запретить к индексированию возможные продвигаемые страницы, а так же весь сайт. И, наоборот, грамотное составление данного файла может очень помочь в продвижении ресурса, например, можно закрыть от индексирования документы, которые мешают продвижению нужных страниц.

Очень полезная вещь! Что это? Какие-то таинственные заклинания?

Обработка Error 404 в WordPress

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

Суть проблемы ошибки 404 в WordPress.

Все ошибки 404 (нет запрошенной страницы) WordPress обрабатывает самостоятельно. Это здорово придумано, можно делать свою красивую страницу 404 — и будет счастье.

Но в интернете развелось очень много желающих сломать Ваш сайт и постоянно роботы (сетевые боты) делают проверки вида:

  • domen,ru/pass.php
  • domen,ru/login.php
  • domen,ru/administrator.php

и прочая ахинея

Обработка Error 404 в WordPress

Обратите на временной интервал подборщиков:

  • 6:44
  • 6:46
  • 6:48
  • 6:49
  • 6:50
  • 6:51

и на каждое такое обращение WP генерирует страницу 404…

Можно поискать плагин, который пишет ошибки не в базу, а в файл на сервере (пока не нашел, напишу сам). При наличии файла на сервере — можно подключить fail2ban (и скормить ему этот файл) и блочить тупых ботов по IP после трех-пяти ошибок 404.

Плюс часть «умных» утащили с Вашего сервера картинки себе на сайт методом «copypaste» — т.е. картинки на чужом сайта по-прежнему загружаются с Вашего сервера (и дополнительно его используют).

И  после того, как Вы переделали свою исходную статью и картинки к ней (часть удалили, например) — Ваш WordPress начнет генерировать ошибку 404 на каждую отсутствующую картинку! Причем по одной странице 404 на каждую картинку!

Жесть какая, да? Нам нужно оставить генерацию 404 средствами WordPress только для отсутствующих страниц.

Возвращаем управление Error 404 серверу Apache

В WopdPress принудительно сделана передача себе обработки 404. Нужно изменить файл .htaccess, что бы движок обрабатывал только отсутствующие страницы (а не файлы).

Вот собственно код для модуля  mod_rewrite.c (поделились добрые люди)

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On 
RewriteBase / 
RewriteRule ^index.php$ - [L] 
 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} .(php|s?html?|css|js|jpe?g|png|gif|ico|txt|pdf)(/??.*)?$ 
RewriteRule . - [R=404,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule>

# END WordPress

Синим цветом — от WordPress, красным — в центре добавлены изменения:

  • запрос файла
  • проверка расширения
  • действие -> 404

Этот код полностью переключит всю обработку 404 на Apache для соответствующих расширений файлов.

Обратите внимание на регулярное выражение s?html? — это означает целый набор расширений файлов:

  • shtml
  • shtm
  • html
  • htm

Знак вопрос в регулярном выражении разрешает повторение предыдущего символа 0 или 1 раз. Конструкция jpe?g работает аналогично — это или jpg или jpeg

Если Вам надо оставить обработку файлов .html на WordPress, а все остальные варианты htm отдать Apache — можно сделать так

s?htm|shtml — т.е. отдаем Apache три варианта (вертикальная черта означает «или»)

  • shtm
  • htm
  • shtml

Можно еще добавить расширений файлов, которые любят роботы-подборщики

  • yml — Yandex Market Language — для загрузки прайс-листов в Маркет
  • swp — файл обмена виртуальной памяти
  • bak — архивные файлы чего-либо
  • xml — разметка xml
  • env — настройка переменных среды Unix
  • sql — дамп базы данных MySql
  • dat — файл хранения необработанных данных
  • new — не знаю почему, но роботы пробуют
  • zip, gzip,rar — файлы архивов
  • log — файлы логов
  • suspected — расширение, которое присваивает антивирус хостера для зараженных файлов (index.php -> index.php.suspected)
  • 7z — файл архива
  • gz — файл архива
  • tar — файл архива

И еще для особо продвинутых (любопытных) ботов надо запретить:

  • тильду на конце расширения файла — т.е. вот такой вариант domen.ru/abcd.php~ (тильда в некоторых ОС используется как временно сохраненная версия)
  • и слеш в конце — т.е. вот такой вариант тоже не должен обрабатываться 404  в WP — domen.ru/abcd.php/

Добавляем после скобки с расширениями файлов еще скобку (/?~?) — принцип тот же (символ на конце может быть а может и не быть) — это и /? и ~?

Лишний бэкслеш нужен для экранирования обычного слеша — т.к. он является системным символом.

Исключаем robots.txt из обработки Apahce

ВАЖНО: использование txt в списке расширений отключит генерацию виртуального файла robots.txt средствами WordPress (при отсутствии физического файла robots.txt на сервере). Просто запрос domen.ru/robots.txt не дойдет до сервера PHP.

Для исключение файла /robots.txt из обработки ошибки 404 средствами Apache — его надо добавить в условие (исключить ТОЛЬКО robots.txt)

RewriteCond %{REQUEST_URI} !^/robots.txt$

  • символ ! означает отрицание
  • символ ^ означает, что проверяется совпадение с начала строки
  • символ означает, что следующий символ является просто символом, а не управляющим символом (наша точка перед txt) — в данном случае не критично (в regex точка означает одиночное совпадение с любым символом, в т.ч. и с точкой)
  • символ $ означает (без доллара никуда…), что мы не только слева проверяем наличие robots.txt, но и справа. Символы txt справа — они последние в проверке. Без $ мы заодно исключим варианты для обработки Apache (а оно нам надо?)
    • robots.txt~
    • robots.txt/ 
    • и так далее

Итоговая конструкция (которая в середине файла .htaccess) будет иметь вид

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !^/robots.txt$
RewriteCond %{REQUEST_URI} .(php|asp|suspected|log|xml|s?htm|shtml|css|js|yml|swp|bak|env|new|sql|dat|zip|gzip|rar|7z|tar|gz|jpe?g|svg|png|gif|ico|txt|pdf)(/?~?)$
RewriteRule . - [R=404,L]

Решение этого вопроса на WordPress (вариант и для Nginx)

How do I skip wordpress’s 404 handling and redirect all 404 errors for static files to 404.html?

https://wordpress.stackexchange.com/questions/24587/how-do-i-skip-wordpresss-404-handling-and-redirect-all-404-errors-for-static-fi

Вносим корректировки в .htaccess 

ВАЖНО:  ручная корректировка файла .htaccess не поможет, WordPress контролирует его содержимое и периодически возвращает свои исходные настройки в блоке, выделенному тэгами 

# BEGIN WordPress

# Директивы (строки) между `BEGIN WordPress` и `END WordPress`
# созданы автоматически и подлежат изменению только через фильтры WordPress.
# Сделанные вручную изменения между этими маркерами будут перезаписаны.

# END WordPress

Используйте плагин, которые умеет его редактировать и перехватывает управление WP, например

Плагин All in One SEO Pack

Вот его раздела «Редактор файлов»

Обработка Error 404 в WordPress

Или через использование хуков и функций WordPress

Вот в этой статье подробно написано, как это сделать

Вред от страницы 404 в WordPress или не загружаем страницу 404, если это файл

ВАЖНО: разработчики WordPress периодически что-то изменяют — обратите внимание на появление в WoprdPress 5.6 новой  инструкции

RewriteRule .* — [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

Поэтому можно вообще сделать отдельным блоком до модуля Вордпресса

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/robots.txt$
RewriteCond %{REQUEST_URI} .(php|asp|suspected|log|xml|s?htm|shtml|css|js|yml|swp|bak|env|new|sql|dat|zip|gzip|rar|7z|tar|gz|jpe?g|svg|png|gif|ico|txt|pdf)(/?~?)$
RewriteRule . - [R=404]
</IfModule>
# BEGIN WordPress
# Директивы (строки) между `BEGIN WordPress` и `END WordPress`
# созданы автоматически и подлежат изменению только через фильтры WordPress.
# Сделанные вручную изменения между этими маркерами будут перезаписаны.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Обязательно в нашем правиле RewriteRule убираем флаг L (который Last — т.е. последнее перенаправление). Иначе часть инструкций ниже от WP работать не будет.

И конструкцию <IfModule mod_rewrite.c></IfModule> тоже крайне желательно использовать — она дает серверу исполнять инструкции внутри, если уставлен mod_rewrite.c для Apache.  У 99% хостеров он установлен по умолчанию — но на всякий случай пусть будет.

Результат обработки 404 со стороны Apache

ВАЖНО: весь этот список файлов (по их расширениям) не блокируется Apache — мы просто ему возвращаем управление ошибкой 404 при отсутствии какого-либо файла с этим расширением. Если  файл есть или расширение не запрещенное (в данном случае html разрешено) — Apache пропускает url в обработку WordPress.

Раз

Обработка Error 404 в WordPress

Два

Обработка Error 404 в WordPress

Три

Обработка Error 404 в WordPress

Красота же

Нагрузка на сервер PHP падает на 50% — теперь ему не нужно обрабатывать 404 в ответ на тупые подборы…

Оставим только медиа для APACHE

Вроде всё хорошо, и Апач быстрый — но b «мамкиных» хакеров много.

Вот такое безобразие может быть

https://site.ru/site.php71
https://site.ru/site.php72
https://site.ru/site.php73
https://site.ru/site.php74
https://site.ru/site.php75

Причем скрипт подборщика делает это 60 раз в минуту (и в user agent = python) — т.е. APACHE занят полностью и никто к Вам на сайт из живых людей не зайдет.

Имеет смысл оставить 404 ошибку через APACHE только для медиафайлов — а всё остальное пропускать в WordPress. Делать лог и баннить

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/robots.txt$
RewriteCond %{REQUEST_URI} .(jpe?g|svg|png|gif|ico)(/?~?)$
#media only
RewriteRule . - [R=404]
</IfModule>
# BEGIN WordPress
# Директивы (строки) между `BEGIN WordPress` и `END WordPress`
# созданы автоматически и подлежат изменению только через фильтры WordPress.
# Сделанные вручную изменения между этими маркерами будут перезаписаны.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Далее php-скриптом формируем лог ошибок 404 на сервере и отдаем в блокировку fail2ban.

В результате IP такого вредителя блокируется на уровне сервера (NetFilter)  на 1 неделю — 1 месяц.

В принципе обработку 404 ошибки в логе можно оставить и в APACHE, но не удобно:

  • это не ошибка вебсервера — это отсутствие URL
  • все ответы сервера 200…400…500 пишутся в лог доступа, а в не лог ошибок
  • если сайтов несколько — будут отдельные логи для каждого сайта

Плюс достаточно сложная логика обработки статуса 404:

  • это могут быть боты поисковых систем — их не надо блокировать
  • это могут быть ошибки реальных пользователей
  • вообще кто угодно и что угодно может набрать в строке браузера

Проще всю логику сделать на PHP, чем на регулярных выражениях при настройке fail2ban.

16.08.2022
Публикация 6 месяцев назад
Длинная ссылка URL выходит за пределы блока Вот, например, ссылка на сайт MS
https://docs.microsoft.com/ru-ru/microsoftteams/platform/concepts/build-and-test/deep-links?tabs=teamsjs-v2
При просмотре на широком экране все в порядке.
В мобильной версии сайта ссылка выходит за пределы блока и браузер рисует лишнее место справа. Вроде немного ссылка за пределы блока вышла — но получается так. И самое плохое — наша кнопка «Обратная связь» оказалась за пределами экрана мобильной версии.
Особенно такая беда в бесплатных темах WordPress.
Как это исправить?
Нам нужен CSS для указания переноса строк
Таблицы каскадных стилей управляют выводом браузера на экран.
Кратко о…
(Читать полностью…)

31.05.2022
Публикация 8 месяцев назад
Есть такой плагин для архивирования сайта  All-in-One WP Migration Читаем статью
Плагины для архивирования и переноса сайта
Было так: тестовый вариант до 64 Мб
бесплатный вариант (расширение Basic) до 500 Мб
выше 500 Мб сайт — платный вариант А стало так: бесплатный вариант до 100 МБ
платный вариант — сайты более 100 Мб Ссылка на расширение к плагину
https://import.wp-migration.com/en Чувствуете, что одной колонки не хватает?
Остался вариант только  «премиум». Причем при создании архива Вам плагин ничего не сообщает, что правила игры изменились. Плагин дает возможность создать архив для любого объема сайта.
В результате архив у Вас есть — а…
(Читать полностью…)

22.02.2022
Публикация 11 месяцев назад
Как добавить свои столбцы в административной панели WordPress Нужно в простом варианте сделать несколько вещей: создать саму колонку и его название (через add_filter)
заполнить его данными (через add_action)
при необходимости включить возможность сортировки колонки (через add_filter) Создаем колонку
// создаем новую колонку для записей
add_filter( ‘manage_’.’post’.’_posts_columns’, ‘tsl_manage_pages_columns’, 4 );
function tsl_manage_pages_columns( $columns ){
$columns = array( ‘views’ => ‘Визиты’ );
return $columns;
}
Итого в массиве $columns появится новый элемент (обычно в самом конце)
Заполняем…
(Читать полностью…)

20.11.2021
Публикация 1 год назад
Это же просто. Возвращается текущая дата и текущее локальное время сервера (с правильно установленной таймзоной).
Вот каждый может проверить
https://wpavonis.ru/server.php
Но если запустить этот же код из среды WordPress — мы получим другие результаты
UTC
2021-11-20 07:42:01
Что это за фокус?
Почему время по Гринвичу  и таймзона другая? WordPress живет в прошлом?
ДА! Как говорится — «это не баг, а фича».
При запуске ядро WP устанавливает таймзону на UTC. Сделано это специально.
Вот тут подробнее.

current_time

ВАЖНО: Функция учитывает время сервера установленное в date.timezone setting и переписывает его в момент инициализации системы,…
(Читать полностью…)

20.04.2021
Публикация 2 года назад
Вышла версия 1.9 плагина tsl-plugin-out-list-posts Страница плагина находится здесь
Плагин вывода анонсов постов в конце контента
Плагин добавляет в конце текста анонсы дочерних или одноуровневых страниц для текущего контента. Логика вывода: список дочерних страниц
при отсутствии дочерних страниц — выводятся страницы одного уровня
при наличии и дочерних страниц и страниц одного уровня — выводятся дочерние страницы
на верхнем уровне при отсутствии дочерних страниц ничего не выводится  
По умолчанию выводятся первые 700 знаков текста и миниатюра.
Для примера дерево страниц. Верхняя страница Средняя страница 1
Средняя страница 2
Средняя страница…
(Читать полностью…)

13.02.2021
Публикация 2 года назад
После установки WordPress в папке сайта создаются несколько информационных файлов Это собственно файлы: license.txt
readme.html Их можно просмотреть через прямой доступ в строке URL. Ранее в файлах добрый WP указывал установленную версию, чем облегчал работу хакеров. Теперь убрали, но нельзя гарантировать, что в будущих обновлениях снова не добавят.
Поэтому лучше закрыть.
Совет «Удалить после установки!» не подходит — т.к. при обновлении эти файлы будут восстановлены.
Файл license.txt
Описание лицензии GPL и указание на CMS WP  Файл readme.html
Общее описание WordPress Файл wp-config-sample.php
Это, собственно, не информационный файл. Это образец для создания…
(Читать полностью…)

05.02.2021
Публикация 2 года назад
В версии WP 5.6 страница с результатами поиска изменилась и стала попадать в индекс поисковых машин Что это такое? 
А это теперь WordPress оптимизировал URL выдачи результатов внутреннего поиска в виде domen.ru/search/term
Ранее было domen.ru/? s = term
И побежали радостные китайские боты заводить в поиск всякую чепуху.
Если в этот момент на страницу заходит поисковый  робот: он её проверяет
получает ответ от сервера 200 ОК  (даже при отрицательных результатах поиска!)
ой
и радостно сохраняет в индексе Вот так это выглядит в строке URL

 
Для запрета поисковым роботам индексации необходимо добавить в файл robots.txt инструкцию
Disallow: /search
Это запрет на индекс…
(Читать полностью…)

26.01.2021
Публикация 2 года назад
Можно увидеть в файле .htaccess новую строку Это добавлена возможность создавать пароли приложений: на сайте должно быть включено шифрование SSL (протокол HTTPS)
для API WP
для защиты мобильного входа в админку xml-rpc.php (через сервер WordPress) Подробнее можно прочитать в статье 
Пароли приложений (авторизация)
Сделано на основе плагина Application Passwords
Пароли можно установить в управлении учетной записью пользователя Смысл в том, что Вы указываете мобильное приложение на своем смартфоне (которое, например, WordPress), создаете для него пароль = и Вы можете входить в мобильную версию админки (только с данного устройства) без основного пароля…
(Читать полностью…)

Robots.txt — это текстовый файл, в котором прописаны указания (директивы) по индексации страниц сайта. С помощью данного файла можно указывать поисковым роботам, какие страницы или разделы на веб-ресурсе нужно сканировать и заносить в индекс (базу данных поисковой системы), а какие — нет.

Файл robots.txt располагается в корневом каталоге сайта и доступен по адресу: domain.com/robots.txt.

Почему robots.txt важен для продвижения?

Этот файл дает поисковым системам важные указания, которые напрямую будут влиять на результативность продвижения сайта. Использование robots.txt может помочь:

  • предотвращению сканирования дублированного контента и бесполезных для пользователей страниц (результаты внутреннего поиска, технические страницы и др.);
  • сохранению конфиденциальности разделов веб-сайта (например, можно закрыть системную информацию CMS);
  • избежать перегрузки сервера;
  • эффективно расходовать краулинговый бюджет на обход полезных страниц.

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

Можно случайно запретить индексирование важных для продвижения страниц, и они не попадут в результаты поиска.

Ниже приведены ссылки на инструкции по использованию файла robots.txt:

  • от Яндекса;
  • от Google.

Содержание отчета

Содержание отчета ошибки robots.txt

  1. Кнопка «обновить» — при нажатии на неё данные о наличии ошибок в файле robots.txt обновятся.
  2. Содержимое строк файла robots.txt.
  3. При наличии в какой-либо директиве ошибки Labrika дает её описание.

Ошибки robots.txt, которые определяет Labrika

Сервис находит следующие виды ошибок:

Директива должна отделятся от правила символом «:».

Каждая действительная строка в файле robots.txt должна состоять из имени поля, двоеточия и значения. Использовать пробелы не обязательно, но рекомендуется для удобства чтения. Для добавления комментария применяется символ решётки «#», который ставится перед его началом. Весь текст после символа «#» и до конца строки робот поисковой системы будет игнорировать.

Стандартный формат:

<field>:<value><#optional-comment>

Пример ошибки:

User-agent Googlebot

Пропущен символ “:”.

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

User-agent: Googlebot

Пустая директива и пустое правило.

Недопустимо делать пустую строку в директиве User-agent. Это основная директива, которая указывает, для какого поискового робота прописаны дальнейшие правила индексации.

Пример ошибки:

User-agent:

Не указан пользовательский агент.

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

User-agent: название бота 

Например:

User-agent: Googlebot

Каждое правило должно содержать не менее одной директивы «Allow» или «Disallow». Disallow закрывает раздел или страницу от индексации, Allow открывает страницы сайта для индексации (например, разрешает сканирование подкаталога или страницы в закрытом для обработки каталоге). Эти директивы задаются в формате: directive: [path], где значение [path] (путь к странице или разделу) указывать не обязательно. Однако роботы игнорируют директивы Allow и Disallow без указания пути. В этом случае они могут сканировать весь контент. Пустая директива Disallow: равнозначна директиве Allow: /, то есть «не запрещать ничего».

Пример ошибки в директиве Sitemap:

Sitemap:

Не указан путь к карте сайта.

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

Sitemap: https://www.site.ru/sitemap.xml

Перед правилом нет директивы User-agent

Правило должно всегда стоять после директивы User-agent. Размещение правила перед первым именем пользовательского агента означает, что никакие сканеры не будут ему следовать.

Пример ошибки:

Disallow: /category
User-agent: Googlebot

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

User-agent: Googlebot
Disallow: /category

Найдено несколько правил вида «User-agent: *»

Запись вида User-agent: * означает, что правило задается для всех поисковых роботов.

Например:

User-agent: *
Disallow: /

запрещает всем поисковым роботам индексирование всего сайта.

Должна быть только одна директива User-agent для одного робота и только одна директива вида User-agent: * для всех роботов. Если в файле robots.txt несколько раз указан один и тот же пользовательский агент с разными списками правил, то поисковым роботам будет сложно определить, какие из этих правил нужно учитывать. В результате возникает большая неопределенность в действиях роботов.

Пример ошибки:

User-agent: *
Disallow: /category
User-agent: *
Disallow: /*.pdf.

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

User-agent: *
Disallow: /category
Disallow: /*.pdf.

Неизвестная директива

Обнаружена директива, которая не поддерживается поисковой системой (например, не описана в правилах использования robots.txt Яндекса).

Причины этого могут быть следующие:

  • была прописана несуществующая директива;
  • допущены ошибки синтаксиса, использованы запрещенные символы и теги;
  • эта директива может использоваться роботами других поисковых систем.

Пример ошибки:

Disalow: /catalog

Директивы «Disalow» не существует, допущена ошибка в написании слова.

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

Disallow: /catalog

Количество правил в файле robots.txt превышает максимально допустимое

Поисковые роботы будут корректно обрабатывать файл robots.txt, если его размер не превышает 500 КБ. Допустимое количество правил в файле — 2048. Контент сверх этого лимита игнорируется. Чтобы не превышать его, вместо исключения каждой отдельной страницы применяйте более общие директивы.

Например, если вам нужно заблокировать сканирование файлов PDF, не запрещайте каждый отдельный файл. Вместо этого запретите все URL-адреса, содержащие .pdf, с помощью директивы:

Disallow: /*.pdf

Правило превышает допустимую длину

Правило не должно содержать более 1024 символов.

Некорректный формат правила

В файле robots.txt должен быть обычный текст в кодировке UTF-8. Поисковые системы могут проигнорировать символы, не относящиеся к UTF-8. В таком случае правила из файла robots.txt не будут работать.

Чтобы поисковые роботы корректно обрабатывали инструкции в файле robots.txt, все правила должны быть написаны согласно стандарту исключений для роботов (REP), который поддерживают Google, Яндекс и большинство известных поисковых машин.

Использование кириллицы и других национальных языков

Использование кириллицы запрещено в файле robots.txt. Согласно утверждённой стандартом системе доменных имен название домена может состоять только из ограниченного набора ASCII-символов (буквы латинского алфавита, цифры от 0 до 9 и дефис). Если домен содержит символы, не относящиеся к ASCII (в том числе буквы национальных алфавитов), его нужно преобразовать с помощью Punycode в допустимый набор символов.

Пример ошибки:

User-agent: Yandex
Sitemap: сайт.рф/sitemap.xml

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

User-agent: Yandex
Sitemap: https://xn--80aswg.xn--p1ai/sitemap.xml

Возможно, был использован недопустимый символ

Допускается использование спецсимволов «*» и «$». Они применяются для указания шаблонов адресов при объявлении директив, чтобы не прописывать большой перечень конечных URL для блокировки. Например:

Disallow: /*.php$

запрещает индексировать любые php файлы.

  • Звездочка «*» обозначает любую последовательность и любое количество символов.
  • Знак доллара «$» означает конец адреса и ограничивает действие знака «*».

Например, если /*.php соответствует всем путям, которые содержат .php., то /*.php$ соответствует только тем путям, которые заканчиваются на .php.

Символ «$» прописан в середине значения

Знак «$» можно использовать только один раз и только в конце правила. Он показывает, что стоящий перед ним символ должен быть последним.

Пример ошибки:

Allow: /file$html

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

Allow: /file.html$

Правило начинается не с символа «/» и не с символа «*».

Правило может начинаться только с символов «/» и «*».

Значение пути указывается относительно корневого каталога сайта, на котором находится файл robots.txt, и должно начинаться с символа слэш «/», обозначающего корневой каталог.

Пример ошибки:

Disallow: products

Правильным вариантом будет:

Disallow: /products

или

Disallow: *products

в зависимости от того, что вы хотите исключить из индексации.

Некорректный формат URL файла Sitemap

Sitemap — это карта сайта для поисковых роботов, которая содержит рекомендации того, какие страницы необходимо обходить в первую очередь и с какой частотой. Наличие карты сайта помогает роботам быстрее индексировать нужные страницы.

В качестве URL файла Sitemap должен быть указан полный адрес, который содержит обозначение протокола (http:// или https://), имя сайта, путь к файлу, а также имя файла.

Пример ошибки:

Sitemap: /sitemap.xml

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

Sitemap: https://www.site.ru/sitemap.xml

Некорректное имя главного зеркала сайта

Директива Host указывала роботу Яндекса главное зеркало сайта, если к веб-ресурсу был доступ по нескольким доменам. Остальные поисковые роботы её не воспринимали.

Директива Host могла содержать только протокол (необязательный) и домен сайта. Прописывался протокол https, если он использовался. Указывалась только одна директива Host. Если их было несколько, робот учитывал первую.

Пример ошибки:

User-agent: Yandex
Host: http://www.example.com/catalog
Host: https://example.com

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

User-agent: Yandex
Host: https://example.com

Некорректный формат директивы «Crawl-delay»

Директива Crawl-delay задает роботу минимальный период времени между окончанием загрузки одной страницы и началом загрузки следующей.

Использовать директиву Crawl-delay следует в тех случаях, когда сервер сильно загружен и не успевает обрабатывать запросы поискового робота. Чем больше устанавливаемый интервал, тем меньше будет количество загрузок в течение одной сессии.

При указании интервала можно использовать как целые значения, так и дробные. В качестве разделителя применяется точка. Единица измерения – секунды:

К ошибкам относят:

  • несколько директив Crawl-delay;
  • некорректный формат директивы Crawl-delay.

Пример ошибки:

Crawl-delay: 0,5 second

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

Crawl-delay: 0.5

С 22 февраля 2018 года Яндекс перестал учитывать директиву Crawl-delay. Чтобы задать скорость, с которой роботы будут загружать страницы сайта, используйте раздел «Скорость обхода сайта» в Яндекс.Вебмастере.

Google также не поддерживает эту директиву. Для Google-бота установить частоту обращений можно в панели вебмастера Search Console. Однако роботы Bing и Yahoo соблюдает директиву Crawl-delay.

Некорректный формат директивы «Clean-param»

Директива используется только для робота Яндекса. Google и другие роботы не поддерживают Clean-param.

Директива указывает, что URL страниц содержат GET-параметры, которые не влияют на содержимое, и поэтому их не нужно учитывать при индексировании. Робот Яндекса, следуя инструкциям Clean-param, не будет обходить страницы с динамическими параметрами, которые полностью дублируют контент основных страниц.

Labrika определяет некорректный формат директивы Clean-param, например:

В именах GET-параметров встречается два или более знака амперсанд «&» подряд:

Clean-param: sort&&session /category

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

Clean-param: sort&session /category

Правило должно соответствовать виду «p0[&p1&p2&..&pn] [path]». В первом поле через символ «&» перечисляются параметры, которые роботу не нужно учитывать. Во втором поле указывается префикс пути страниц, для которых применяется правило. Параметры отделяются от префикса пути пробелом.

Имена GET-параметров должны содержать только буквы латинского алфавита, цифры, нижнее подчеркивание и дефис.

Префикс PATH URL для директивы Clean-param может включать только буквы латинского алфавита, цифры и некоторые символы: «.», «-«, «/», «*», «_».

Ошибкой считается и превышение допустимой длины правила — 500 символов.

Строка содержит BOM (Byte Order Mark) — символ U+FEFF

BOM (Byte Order Mark — маркер последовательности байтов) — символ вида U+FEFF, который находится в самом начале текста. Этот Юникод-символ используется для определения последовательности байтов при считывании информации.

При создании и редактировании файла с помощью стандартных программ редакторы могут автоматически присвоить ему кодировку UTF-8 с BOM меткой.

BOM – это невидимый символ. У него нет графического выражения, поэтому большинство редакторов его не показывает. Но при копировании этот символ может переноситься в новый документ.

При использовании маркера последовательности байтов в файлах .html сбиваются настройки дизайна, сдвигаются блоки, могут появляться нечитаемые наборы символов, поэтому рекомендуется удалять маркер из веб-скриптов и CSS-файлов.

Как избавиться от BOM меток?

Избавиться от ВОМ довольно сложно. Один из простых способов это сделать — открыть файл в редакторе, который может изменять кодировку документа, и пересохранить его с кодировкой UTF-8 без BOM.

Например, вы можете бесплатно скачать редактор Notepad++, открыть в нём файл с ВОМ меткой и выбрать во вкладке меню «Кодировки» пункт «Кодировать в UTF-8 (без BOM)».

Страница 404 призвана сообщать пользователю, что заданный им url (адрес страницы) не существует.
Такие неправильные урлы еще можно назвать «битыми ссылками».
Многие сайты делают свои страницы 404 для удобства своих пользователей. Часто это красивые и интересные страницы, которые вызывают у пользователя улыбку вместо разочарования от того, что адрес страницы неправильный.
При создании страницы 404 есть важная техническая составляющая, которая сильно влияет на ранжирование сайтов в поисковых системах, если все не настроено правильно.

Если вы озадачились созданием страницы 404, то вам нужно учитывать три момента:
1) Переадресация со всех неправильно введенных url на страницу 404 в .htaccess.
2) Правильный ответ сервера после переадресации (http-код страницы должен быть 404, а не 200).
3) Закрытие страницы 404 от индексации в robots.txt

Сразу отмечу, что все вышеизложенное написано для самописных сайтов, преимущественно на php. Для wordpress существуют плагины по настройке того же самого. Но в этой статье мы рассмотрим, как все выглядит в реальности. %)

ЕСЛИ КРАТКО, то нужно сделать следующее:

I. В файле .htaccess добавить строку:
—————
ErrorDocument 404 http://mysite.com/404.php
—————
Это перенаправит все неправильные (битые) ссылки на страницу — 404.php. Детали ниже в статье.

II. В файле 404.php в самом начале php-кода пишите:
—————
404-4.jpg
—————
Это даст правильный ответ о статусе страницы. Не 200, не 302, а 404 — потому что страницы, на которую якобы хотел перейти пользователь — не существует. Как это проверить — читайте ниже.

III. В файле rodots.txt делаете следующую запись:
—————
User-agent: *
Disallow:
Disallow: /404.php
—————-
Это закрывает страницу 404.php от индексации поисковыми системами. В этом пункте будьте аккуратны. Детали читайте ниже.

Дальше каждый пункт расписан в деталях! Если вам достаточно короткого описания… то благодарности принимаются в виде комментариев и лайков.

404-1.jpg

Переадресация (редирект) неправильных url на страницу 404

Первое, что вы делаете – создаете саму страницу 404, чтобы было куда людей посылать %).
Перенаправление url настраивается в файле .htaccess
Просто вписываете строчку:
ErrorDocument 404 http://mysite.com/404.php
Где «mysite.com» – ваш домен, а http://mysite.com/404.php — путь к реальной странице. Если ваш сайт на html, то строка будет выглядеть как:
ErrorDocument 404 http://mysite.com/404.html
Проверка очень проста. После заливки на хостинг файла .htaccess с вышеуказанной строкой, делаете проверку, вводя заведомо не существующий урл (битая ссылка), например: http://mysite.com/$%$%
Если переадресация на созданную вами страницу произошла, значит все работает.
Итак, полностью файл .htaccess, где настроена ТОЛЬКО переадресация на 404 будет выглядеть так:
____________________________
RewriteEngine on
ErrorDocument 404 http://mysite.com/404.html
____________________________

Правильный ответ сервера (http-код страницы)

Очень важно, чтобы при перенаправлении был правильный ответ сервера, а именно – 404 Not Found.

Тут следует объяснить отдельно.
Любому url при запросе назначается статус (http-код страницы).
• Для всех существующих страниц, это: HTTP/1.1 200 OK
• Для страниц перенаправленных: HTTP/1.1 302 Found
• Если страницы не существует, это должен быть HTTP/1.1 404 Not Found

То есть, какой бы урл не был введен, ему присваивается статус, определенный код ответа сервера.
Проверить ответ сервера можно:
1. Консоль браузера, закладка Network. Нажмите F12 для Chrome. Или Ctrl + Shift + I — подходит и для Chrome и для Opera.
2. На такой ресурсе как bertal.ru
3. SEARCH CONCOLE GOOGLE – Сканирование/Посмотреть как GOOGLE бот.

Когда у вас не было перенаправления через .htaccess на страницу 404, то на любой несуществующий url, введенный пользователем, а также на битые ссылки был ответ «HTTP/1.1 404 Not Found»
404-2.jpg

Итак, после краткой теоретической части, вернемся к нашим

баранам

настройкам.

После того, как вы настроили перенаправление на свою авторскую страницу 404 через .htaccess, как описано выше, то вводя битую ссылку (неверный url, который заведомо не существует), типа http://mysite.com/$%$%, ответ сервера будет:
— сначала HTTP/1.1 302 Found (перенаправление),
— а затем HTTP/1.1 200 OK (страница существует).
Страница 404
Проверьте через bertal.ru.
Чем это грозит? Это будет означать, что гугл в свою базу данных (индекс) может внести все битые ссылки, как существующие страницы с содержанием страницы 404. По сути — дубли страниц. А это невероятно вредно для поисковой оптимизации (SEO).

В этом случае нужно сделать две вещи:
1) Настроить правильный ответ сервера на странице 404.
2) Закрыть от индексирования страницу 404. Это делается через файл robots.txt

Настраиваем ответ сервера HTTP/1.1 404 Not Found для несуществующих страниц

Ответ сервера настраивается благодаря функции php в самом начале страницы 404.php:
404-4.jpg
Пишите ее вначале файла 404.php.
В результате мы должны получить ответ на битую ссылку:
Страница 404

Пример страницы 404.php. Вот как это выглядит +/-:
Пример страницы 404.php
Естественно, что у вас скорее всего сайт полностью на php и динамический, то просто вставляете строку с ответом сервера в начало — перед всеми переменными и подключенными шаблонами.

Закрыть страницу 404 от индексирования

Закрыть страницу от индексирования можно в файле rodots.txt. Будьте внимательны с этим инструментом, ведь через этот файл ваш сайт, по сути, общается с поисковыми роботами!
Полный текст файла rodots.txt, где ТОЛЬКО закрыта индексация 404 страницы, выглядит так:
____________________________
User-agent: *
Disallow:
Disallow: /404.php
____________________________
Первая строка User-agent: * сообщает, что правило для всех поисковых систем.
Вторая строка Disallow: сообщает что весь сайт открыт для индексации.
Третья строка Disallow: /404.php закрывает индексацию для страницы /404.php, которая находится в корневой папке.

Замечания по коду: «/404.php» означает путь к странице. Если на вашем сайте страница 404.php (или 404.html соответственно) находится в какой-то папке, то путь будет выглядеть:
/holder/404.php
где «holder» — название папки.

Вот, собственно и все по странице 404. Проверьте работу страницы, перенаправления битых ссылок, и ответы серверов.
Повторюсь: Все вышеизложенное для самописных сайтов. Если вы используете wordpress, то можете поискать приличный плагин для настройки ошибки 404.

Благодарности принимаются в виде комментариев

Читать также:
Быстро создать свой сайт на WordPress
Сколько стоит создать сайт
Как залить сайт на хостинг
Зарегистрировать торговую марку самостоятельно
Самое ценное на сайте
Сайт бесплатно – это миф!
Продвижение сайта
Резервная копия сайта (бэкап)

  • Что такое ошибка 404?
  • Миф
  • Индексирует ли робот страницу 404?
  • Проводим поисковую оптимизацию

Каждый ресурс имеет определенное количество страниц расположенных по заданным адресам. Если ввести URL несуществующего раздела, то сервер ответит, что не нашел запрашиваемый файл и отдаст ответ 404. В этот момент пользователь увидит специально созданную для таких случаев страницу с ошибкой 404.

Существует множество примеров подобных страниц. Как только дизайнеры ни «отрываются» и ни креативят по этому поводу. Вот лишь небольшая часть забавных примеров.

Пример страницы 404 номер 1

Пример страницы 404 номер 2

Пример страницы 404 номер 3

Миф

На самом деле «ошибка 404» совсем никакая не ошибка. Это распространенное заблуждение. 404 — обычный ответ сервера о том, что ему не удалось найти запрашиваемую страницу. Никаких ошибок нет, рутинный ответ на очередной запрос.

Если говорить об ошибках, то они начинаются с 5xx (Server Error). Среди них есть такие, как: 500 — внутренняя ошибка сервера, 501 — не может быть реализовано, 502 — ошибочный или нерабочий шлюз, а так же множество других.

Популярность выражения «error 404» объясняется очень просто. Неопытные пользователи нарекают данный ответ ошибкой, а профессионалы, отвечая на спрос и подстраиваясь под клиентов, называют так страницы своих ресурсов. Справедливо полагать, что и название нашей статьи основано в первую очередь на спросе:)

Да. Поисковые системы прекрасно индексируют такие страницы. Происходит это когда краулер переходит по «битой» ссылке. Не нужно думать, что отсутствие последних на сайте исключает попадание робота на 404 страницу. Зачастую, пользователи не полностью копируют адрес, тем самым размещая на стороннем ресурсе заведомо ложную ссылку. По которой впоследствии переходит робот.

Страница с ответом 404 полностью индексируется с последующим переходом по всем расположенным на ней ссылкам.

Проводим поисковую оптимизацию

Оптимизация страницы с ответом 404 довольно простой процесс. В первую очередь необходимо убедиться, что сервер действительно отдает ответ 404, а не 200 или какой либо другой.

Проверить это можно при помощи бесплатного сервиса Яндекса — «Проверка ответа сервера» (Расположен в Яндекс Вебмастере)
Проверка ответов сервера

Обратите внимание, что надпись «404 — Страница не найдена» в title и <h1></h1> не настраивает ответ сервера:)

После того, как мы убедились, что ответ корректен, необходимо создать для страницы дизайн. Он не должен сильно отличаться от стиля сайта, а может и полностью повторять его. Основная задача дизайна, что бы человек не закрыл страницу, поняв, что он ввел неверный адрес. Сделайте заманивающий элемент, смешную картинку — что угодно, что бы пользователь остался на сайте.

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

Что касается title и description, то для страницы 404 они стандартны.

Title — «404 — Страница не найдена»;

Description — «К сожалению, запрашиваемая Вами страница не найдена. Пожалуйста, перейдите в существующий раздел»;

Тут Вы можете проявить креативность и переставить слова местами, но сути это не изменит.

Вот в общем-то и все, что требуется от страницы с ответом 404. Наша выглядит следующим образом — https://dh-agency.ru/none

Опубликовано:
10 апреля 2015

Обновлено:
11 апреля 2019

77 851

Сайты развиваются: создаются новые разделы, меняется структура, удаляются страницы или переделываются их адреса. Часто за всеми этими процессами уследить очень сложно даже опытному веб-мастеру. Чем старше сайт – тем больше вероятность того, что каждый день он получают процент пользователей, попадающих на страницы, которых больше не существует. Как это отследить? Как оповестить робота и клиента, что таких страниц больше нет? Что показывать пользователю на странице 404? Отвечаю!

404-not-found

404 NOT FOUND – что означает?

Определение: 404 ошибка сервера (not found) — самая распространенная ошибка при пользовании Интернетом, основная причина — ошибка в написании адреса Web-страницы. Сервер понял запрос, но не нашёл соответствующего ресурса по указанному URI.”

Для чего нужна 404 страница?

1. Поисковому роботу необходимо сообщить, что такой страницы не существует, для этого используется 404 код ответа сервера. Это очень важно, чтобы не плодились дубли и не размывать релевантность страниц в индексе поисковых систем.

Проверить ответ это очень просто, наберите несуществующий адрес страницы тут – http://bertal.ru/.

not-found-404

2. Пользователю необходимо сообщить, что запрашиваемой страницы больше (или вообще) не существует, и предоставить возможность работать с сайтом дальше.

Как настроить ответ сервера?

404 ошибка сервера через htaccess

Если Ваш сервер или CMS не настроены атоматически, то придётся это сделать Вам самим – добавьте в htaccess строчку:

1
ErrorDocument 404 http://www.site.ru/404.php

Теперь, когда пользователь введёт неверный адрес, то он будет направлен на этот адрес. Страница может располагаться где угодно, но мы для примера поместили ее в корне сайта: /404.php.

404 ошибка сервера в PHP

Велосипеда изобретать не надо – существует специальная функция header, которая успешно поможет Вам это сделать.

1
header(«HTTP/1.0 404 Not Found»);

Как должна выглядеть страница 404?

  • В дизайне сайта (а не страница по умолчанию вашего хостинга)
  • Содержать информацию о том, что произошла ошибка
  • Иметь форму поиска по сайту
  • Иметь небольшую карту сайта с основными разделами.

Креативные 404 страницы – вред или польза?

Смешное оформление 404 страницы – это красиво и оригинально, но не стоит слишком сильно увлекаться. Не стоит забывать, чтобы пользователю в первую очередь необходимо решить какие-то задачи на вашем сайте, а не зависать на 404 странице, Вы должны максимально упростить и помочь ему в достижении его целей.

404

Как отследить, сколько таких пользователей попадают на страницу 404?

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

Для этого удобно использовать “Параметры визитов”.
В код счётчика необходимо добавить строчку: params:window.yaParams||{ }});

Таким образом, должно получиться как-то так:

1
2
3
4
5
6
7
8
w.yaCounterХХХХХХХХ = new Ya.Metrika({id:ХХХХХХХХ,
                    webvisor:true,
                    clickmap:true,
                    trackLinks:true,
                    accurateTrackBounce:true,
                    trackHash:true,
                    ut:"noindex",
                    params:window.yaParams||{ }});

На самой же странице 404 в любом месте необходимо разместить следующий JS-код:

1
2
3
var url = document.location.pathname + document.location.search	
var url_referrer = document.referrer;
var yaParams = {error404: {page: url, from: url_referrer}};

Где url – текущий адрес страницы 404, а url_referrer – адрес, с которого на него попали. Таким образом, мы в Яндекс.Метрике сможем отлеживать не только все 404 страницы, но и адреса, по которым на неё перешли.

Отчёт в Метрике необходимо смотреть тут: все отчеты -> содержание -> параметры визитов.

params

Подробнее о параметрах визита в Яндекс.Метрике: http://help.yandex.ru/metrika/content/visit-params.xml

Google.Analytics

Для отслеживания ошибок используем “события”. Добавляем JS-код в тело страницы:

1
2
3
4
5
6
7
8
9
jQuery(document).ready(function() { 
var url = document.location.pathname + document.location.search	
var url_referrer = document.referrer;
ga('send', {'hitType': 'event', 
	'eventCategory': 'page-404', 
	'eventAction': url, 
	'eventLabel': url_referrer
	});
});

Где hitType – тип события, eventCategory – категория, eventAction – адрес ошибки, url_referrer – откуда на 404 страницу попали.

Отчёт в Гугл.Аналитикс: Поведение -> События -> Обзор.

events

Подробнее о настройке событий в Аналитикс: https://support.google.com/analytics/answer/1033068?hl=ru

Как использовать полученные данные?

Если ошибки 404 внутри сайта – исправьте все ссылки на правильные или уберите вовсе. Если эти ссылки с внешних ресурсов? и Вам никак не повлиять на них, то поставьте 301 редирект на максимально релевантные страницы. Любите своих клиентов и не заставляйте их думать или что-то искать на Вашем сайте.

  • Что такое ошибка 404?
  • Миф
  • Индексирует ли робот страницу 404?
  • Проводим поисковую оптимизацию

Каждый ресурс имеет определенное количество страниц расположенных по заданным адресам. Если ввести URL несуществующего раздела, то сервер ответит, что не нашел запрашиваемый файл и отдаст ответ 404. В этот момент пользователь увидит специально созданную для таких случаев страницу с ошибкой 404.

Существует множество примеров подобных страниц. Как только дизайнеры ни «отрываются» и ни креативят по этому поводу. Вот лишь небольшая часть забавных примеров.

Пример страницы 404 номер 1

Пример страницы 404 номер 2

Пример страницы 404 номер 3

Миф

На самом деле «ошибка 404» совсем никакая не ошибка. Это распространенное заблуждение. 404 — обычный ответ сервера о том, что ему не удалось найти запрашиваемую страницу. Никаких ошибок нет, рутинный ответ на очередной запрос.

Если говорить об ошибках, то они начинаются с 5xx (Server Error). Среди них есть такие, как: 500 — внутренняя ошибка сервера, 501 — не может быть реализовано, 502 — ошибочный или нерабочий шлюз, а так же множество других.

Популярность выражения «error 404» объясняется очень просто. Неопытные пользователи нарекают данный ответ ошибкой, а профессионалы, отвечая на спрос и подстраиваясь под клиентов, называют так страницы своих ресурсов. Справедливо полагать, что и название нашей статьи основано в первую очередь на спросе:)

Индексирует ли робот страницу 404?

Да. Поисковые системы прекрасно индексируют такие страницы. Происходит это когда краулер переходит по «битой» ссылке. Не нужно думать, что отсутствие последних на сайте исключает попадание робота на 404 страницу. Зачастую, пользователи не полностью копируют адрес, тем самым размещая на стороннем ресурсе заведомо ложную ссылку. По которой впоследствии переходит робот.

Страница с ответом 404 полностью индексируется с последующим переходом по всем расположенным на ней ссылкам.

Проводим поисковую оптимизацию

Оптимизация страницы с ответом 404 довольно простой процесс. В первую очередь необходимо убедиться, что сервер действительно отдает ответ 404, а не 200 или какой либо другой.

Проверить это можно при помощи бесплатного сервиса Яндекса — «Проверка ответа сервера» (Расположен в Яндекс Вебмастере)
Проверка ответов сервера

Обратите внимание, что надпись «404 — Страница не найдена» в title и <h1></h1> не настраивает ответ сервера:)

После того, как мы убедились, что ответ корректен, необходимо создать для страницы дизайн. Он не должен сильно отличаться от стиля сайта, а может и полностью повторять его. Основная задача дизайна, что бы человек не закрыл страницу, поняв, что он ввел неверный адрес. Сделайте заманивающий элемент, смешную картинку — что угодно, что бы пользователь остался на сайте.

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

Что касается title и description, то для страницы 404 они стандартны.

Title — «404 — Страница не найдена»;

Description — «К сожалению, запрашиваемая Вами страница не найдена. Пожалуйста, перейдите в существующий раздел»;

Тут Вы можете проявить креативность и переставить слова местами, но сути это не изменит.

Вот в общем-то и все, что требуется от страницы с ответом 404. Наша выглядит следующим образом — https://dh-agency.ru/none

Ошибка 404 – это вид ответа сервера, который встречается, если браузер не смог найти введенный пользователем URL. В этой статье мы подробнее расскажем об этой ошибке, разберемся, что она значит, как влияет на позиции сайта в выдаче, можно ли ее заставить работать на себя. Также мы рассмотрим несколько примеров креативного оформления соответствующей страницы.

В каких случаях возникает 404

Как реализуется 404 с технической точки зрения

Почему возникает ошибка 404

Инструменты для поиска ошибок на сайте

Способы исправления ошибки 404

Какие последствия для сайта могут быть от ошибки 404

Можно ли извлечь пользу из страницы с ошибкой 404

Примеры оформления страниц 404

В каких случаях возникает 404

Ответ сервера в зависимости от сайта может быть разным. Пользователь может увидеть оповещения:

  • Error 404 Not Found;
  • «404 Страница не найдена»;
  • «HTTP 404 не найден»;
  • «Ошибка 404».

Все они являются вариантами одной и той же ситуации: страницы нет на сайте (никогда не было или удалена) или она по какой-то причине перестала функционировать.

404 – стандартный код, который используется в протоколе HTTP. Если расшифровать подробно, он означает, что браузер смог связаться с сервером, но не нашел данных, соответствующих запросу пользователя. Для сравнения, если человек введет в адресную строку браузера набор несвязанных символов и нажмет Enter, то не получит ответа 404, вместо этого появится один из трех вариантов: сообщение о невозможности установить соединение с сервером, отчет о невозможности получить запрошенный URL или просто поисковая выдача.

Ошибка 404

Как реализуется 404 с технической точки зрения

Опишем подробнее техническую сторону формирования страницы 404.

Когда браузер обращается к серверу по HTTP для запроса прописанного пользователем URL, он ждет конкретного цифрового ответа, кода. Например, когда удается найти интересующую страницу, браузер получает код 200 OK. В этом случае загружается и отображается содержимое введенного URL.

Расшифруем код «404»:

  • первая 4 показывает, что в запросе содержалось слишком много символов или в нем имелась ошибка;
  • цифра 0 указывает на то, что в запросе есть синтаксическая неточность;
  • последняя 4 говорит о том, что запрошенной ссылки не существует.

Почему возникает ошибка 404

Перечислим самые распространенные ситуации, когда пользователь может получить ответ 404 Not Found.

  • Адрес введен неправильно. Опечатки не редкость, когда пользователь печатает URL вручную. Также при копировании он может случайно не выделить часть адреса и вставить получившуюся ссылку в строку браузера не полностью. Важно отметить, что ошибка 404 невозможна, если человек неправильно написал имя домена. В этом случае никакая страница не загрузится, не будет даже номера ошибки.
  • Страница удалена. Разработчики нередко удаляют страницы с устаревшей или ошибочной информацией. Например, когда компания отказывается от одной из своих услуг или больше не продает тот или иной товар. Пользователь может попробовать зайти на эту страницу по сохраненной ссылке, из истории браузера или со сторонних ресурсов и получить в ответ ошибку 404.
  • Битый линк. Изначально нерабочая ссылка, которая никуда не ведет. Часто подобная проблема имеет место при организации внутренней перелинковки. Например, разработчик указал адрес страницы с услугой, которую он в будущем создаст, и разместил ее в одной из статей блога, но в итоге так никогда и не сделал этот URL.
  • Неправильный редирект. Такое случается, когда в процессе редизайна изменили адрес страницы, но не поправили связанные ссылки. Например, сначала все URL с товарами были с порядковыми номерами, но в дальнейшем было решено перейти на ЧПУ (человекопонятный УРЛ).
  • Проблемы на сервере. Редкий случай, когда происходят те или иные неполадки и страница пропадает.

Получается, когда сервер доступен, а страница – нет, пользователь получает 404.

Инструменты для поиска ошибок на сайте

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

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

Яндекс предлагает собственный сервис для вебмастеров, с помощью которого поиск ошибок 404 становится максимально простым.

  1. Сначала нужно авторизоваться в Вебмастере с помощью аккаунта Яндекса.
  2. Далее нужно перейти в «Индексирование», затем открыть вкладку «Доступные для поиска страницы», найти «Исключенные страницы».
  3. Появится список, в котором нужно с помощью фильтра «Ошибка HTTP: 404» отделить все несуществующие страницы.

Обязательное условие для использования Вебмастера – метатег в HTML-коде главной страницы. Это позволяет идентифицировать пользователя как владельца сайта.

Ошибка 404

Google Search Console

С помощью консоли Google можно быстро обнаруживать несуществующие страницы, для этого понадобится выполнить всего 4 шага:

  1. Авторизоваться в Google;
  2. Зайти в Search Console;
  3. Найти раздел «Ошибки сканирования», из него перейти в пункт  «Диагностика»;
  4. Нажать на фильтр Not Found.

Пользователь сможет увидеть список страниц с 404, если предварительно выполнит несколько действий: получит проверочный код через Google Workspace, вставит его в записи DNS для своего домена и дождется, когда регистратор обновит данные. Этот шаг привяжет сайт к его электронной почте и позволит уберечь домен от злоумышленников.

SiteAnalyzer

Полностью бесплатное ПО для ПК и ноутбуков, которое находит различные технические проблемы на сайте. С помощью SiteAnalyzer вебмастер сможет быстро найти все страницы, дающие ошибку 404.

Screaming Frog

Это десктопная программа, у которой нет веб-версии. Ее нужно скачать и установить на ПК. Затем достаточно запустить ПО и вставить URL интересующего веб-ресурса в окошко. Программа платная, но проверка на наличие ошибок 404 входит в бесплатный пакет, так что беспокоиться о денежных тратах не стоит.

Способы исправления ошибки 404

Вебмастер выбирает решения в зависимости от того, почему появилась ошибка.

  1. Неверный URL приводит к тому, что при переходе по линку появляется 404. Такое случается, например, когда в адресе есть опечатка и ее не нашли при выкладке контента. Нужно найти все такие ссылки и заменить их на правильные, которые будут давать браузеру ответ 200 OK.
  2. Битый линк. Чаще всего подобная ситуация возникает из-за того, что страница ссылается на давно удаленный с сайта URL. Такие проблемы бывают на старых сайтах, которыми в течение их «жизни» занимается один и тот же небольшой подрядчик. Нередко в этом случае специалисты удаляют ненужные страницы и забывают при этом проверять, не вели ли на них линки из других разделов.

Удаление и корректировка ссылок вручную возможна только при управлении сайтом с небольшим количеством страниц. Вебмастеры, которые работают с большими порталами, автоматизируют этот процесс. Они могут использовать специализированные плагины, которые организуют и контролируют внутреннюю перелинковку. Среди них Dagon Design Sitemap Generator, Terms Description. Для автоматического прописывания URL новым страницам можно применять Cyr-To-Lat. Этот плагин транскрибирует названия в ЧПУ.

Существует несколько несложных приемов, которые позволяют сократить количество ошибок 404 на сайте:

  • давать основным разделам простые адреса. Благодаря этому удастся избежать частых опечаток в URL. Пользователь может сам заметить, что ошибся и исправить недочет;
  • реже менять адреса страниц или удалять. Если переименовывать URL слишком часто, можно запутать поискового робота и затруднить пользование сайтом для людей;
  • выбирать надежный сервер. Обращайтесь только к тем хостерам, которые хорошо зарекомендовали себя.

Все перечисленные выше меры касались сайтов, к которым у вебмастера есть доступ. Однако битые линки могут размещаться на сторонних ресурсах. Такое часто бывает при наращивании ссылочной массы: на других сайтах появляются статьи с гиперссылками на определенные разделы или товары рекламируемого сайта и остаются там навсегда. При этом ассортимент может поменяться, неактуальные позиции будут удалены, но ссылки на них останутся. В этом случае при клике на линк появится ошибка 404. Желательно связаться с администрацией сайта и попросить поправить или удалить контент.

Какие последствия для сайта могут быть от ошибки 404

Следует ли опасаться ошибки 404 Not Found с точки зрения последствий для сайта? На первый взгляд, нет ничего страшного в том, что пользователь не сможет найти страницу. Тем не менее регулярное повторение этой ошибки может привести к оттоку аудитории и ухудшению поведенческих факторов. Одни люди решат, что сайт закрылся, другие просто не захотят разбираться с веб-ресурсом, который выдал им ошибку, и переходить на другие существующие страницы. А кто-то после 404 еще и перестанет кликать по ссылкам на сайт в поисковой выдаче, потому что будет помнить, что его уже здесь «обманули».

Яндекс и Google достаточно лояльно относятся к ошибкам 404, они не должны влиять на рейтинг сайта. Однако, когда поисковый робот будет все чаще и чаще находить URL, отдающие Page Not Found, он решит, что веб-ресурс некачественный, и будет понижать позиции в выдаче. Разработчик, который хочет сделать взаимодействие с пользователями более качественным, старается сделать так, чтобы ошибки 404 не возникали.

Можно ли извлечь пользу из страницы с ошибкой 404

Тренд последнего десятилетия – полезные страницы с ошибкой Error 404 Not Found. Что они из себя представляют? Мы выделили несколько общих рекомендаций, как их оформить.

Разместить полезный контент

Хорошо, когда даже на странице с ошибкой пользователь может получить помощь. Поэтому советуем размещать на 404 следующее:

  • ссылку на главную страницу;
  • меню, ведущее на основные разделы сайта;
  • афишу мероприятий, анонсы, объявления (для специализированных ресурсов);
  • контактные данные для отчета об ошибке или обратной связи.

Пользоваться подсказками поисковых машин

У Яндекса и Google есть собственные рекомендации по оформлению страницы с ошибкой 404.

  • Совет Яндекса. Страница должна отличаться от остальных с точки зрения дизайна: цвета, размера шрифта, графики, наполненности. Пользователь сразу должен понять, что что-то пошло не так, и получить варианты выхода из ситуации.
  • Совет Google. Поисковик рекомендует оформлять страницу 404 в таком же стиле, как и остальные разделы сайта. Но посыл о том, что произошла ошибка, должен быть прозрачным и понятным, его можно сопроводить ссылками на полезные материалы.

Обе поисковые машины рекомендуют не использовать стандартное отображение страницы с ошибкой. Важно удержать внимание пользователя даже в негативно окрашенной ситуации.

Примеры оформления страниц 404

Designzillas

Красивый рисунок в анимационном стиле, сообщение об ошибке, кнопка для перехода на главную страницу и верхнее меню – здесь есть все необходимое, чтобы пользователь не ушел с сайта сразу.

Ошибка 404

Dogstudio

Привлекательный видеоряд и предложение перейти на главную страницу. Анимация не дает сразу уйти и заставляет умиляться, а кнопка позволяет продолжить навигацию по сайту.

Ошибка 404

Domenart Studio

Веб-студия «ДоменАРТ» создала красочную страницу для ошибки 404.  Важно, что она выполнена в стилистике остальных разделов и предлагает множество вариантов дальнейших действий: отправиться на главную, перейти к услугам, получить полезную информацию в блоге или связаться с представителями компании.

Ошибка 404

Hakim El Hattab

Анимация с поочередно открывающимися и моргающими глазами помогает дизайнеру из Швеции продемонстрировать свои способности и подсказать пользователю, что что-то пошло не так.

Ошибка 404

Hot Dot

Страница, где надпись 404 состоит из точек и бесконечно передвигается по экрану. В хедере остается меню для удобной навигации по сайту и заказа услуг по увеличению количества подписчиков, лайков и пр.

Ошибка 404

E-co

«ЕКО Power» является дистрибьютором источников питания, поэтому анимация на странице ошибки 404 у компании изображает разорванный провод и короткое замыкание. Чтобы оставить пользователя на сайте, ему предлагают перейти на главную.

Ошибка 404

Magnt

Компания, помогающая бизнесам вырасти за счет применения ИИ, вместе с отчетом об ошибке 404 предлагает шуточную диаграмму и кнопку для перехода на главную.

Ошибка 404

Госуслуги

Страница 404 на государственном портале предлагает два варианта: попросить помощи у робота или вернуться на главную.

Ошибка 404

Kualo

Веб-хостинг Kualo предлагает сыграть в аналог Space Invaders. В игре несколько уровней и всего 3 жизни. Прямо под текстом об ошибке расположена ссылка на главную.

Ошибка 404

Понравилась статья? Поделить с друзьями:
  • Ошибка 404 при регистрации
  • Ошибка 4042 при прошивке айфона
  • Ошибка 404 роблокс что значит
  • Ошибка 404 шутки
  • Ошибка 404 украина