Вызов ошибки 404 средствами php
Я решил перенести большую часть файлов со старого сайта на новый. И у меня возник вопрос — «А не обвинит ли меня Yandex в использовании неуникальных статей?», т.к. у меня одни и те же материалы будут на разных страницах.
Я написал письмо в службу поддержки yandex, и мне пришло письмо, в котором сообщалось, что переживать не надо. Единственно, настоятельно желательно, чтобы я каким-то способом закрыл старые странички от индексирования (через robots.txt, вызов ошибки 404 или перенаправление) и удалил странички из базы по адресу http://webmaster.yandex.ru/delurl.xml. Удалять по указанному адресу желательно, чтобы быстрее прекратилась индексация страниц.
По некоторым причинам я предпочел способ вызова ошибки 404. Ошибка 404 вызывается в том случае, если ресурс на который идет ссылка не обнаружен. И тут я обнаружил, что у меня то и нет вызова этой ошибки, т.е. какие бы данные пользователь не ввел бы на старом сайте, что-то все равно выводится. Такая ситуация на мой взгляд не допустима, и я пошел с ней бороться.
Мой сайт написан был на php, поэтому я очень быстро нашел команду для вызова ошибки 404. Она имеет вид:
Казалось бы все просто, но нет же. Никак эти две команды не хотели работать. Тогда я почитал дополнительно материал и выяснил, что header() должна вызываться до отправки любого другого вывода. Т.е. она должна быть исключительно самой первой при выводе, поэтому ее нельзя использовать внутри require_once().
Но как оказалось существуют три замечательные функции, которые позволяют решить эту проблему:
ob_start() — задает начало области, которую надо поместить в буфер, я поместил ее самой первой при выводе.
С использованием этих команд организация вызова ошибки 404 выглядит следующим образом:
- Самая первая команда — ob_start()
- Далее идет основное содержание, которое пока копируется в буфер.
- Проверка на предмет вызова ошибки 404. Например, проверка наличия определенного значения. Если после проверки имеются причины вызвать ошибку, то задается код:
Далее в файле .htaccess можно указать файл, который будет сопоставляться ошибке 404, но это уже совершенно другая история…
404 ошибка – как настраивать и отслеживать страницу “Не найдено”?
Сайты развиваются: создаются новые разделы, меняется структура, удаляются страницы или переделываются их адреса. Часто за всеми этими процессами уследить очень сложно даже опытному веб-мастеру. Чем старше сайт – тем больше вероятность того, что каждый день он получают процент пользователей, попадающих на страницы, которых больше не существует. Как это отследить? Как оповестить робота и клиента, что таких страниц больше нет? Что показывать пользователю на странице 404? Отвечаю!
404 NOT FOUND – что означает?
Определение: “404 ошибка сервера (not found) — самая распространенная ошибка при пользовании Интернетом, основная причина — ошибка в написании адреса Web-страницы. Сервер понял запрос, но не нашёл соответствующего ресурса по указанному URI.”
Для чего нужна 404 страница?
1. Поисковому роботу необходимо сообщить, что такой страницы не существует, для этого используется 404 код ответа сервера. Это очень важно, чтобы не плодились дубли и не размывать релевантность страниц в индексе поисковых систем.
Проверить ответ это очень просто, наберите несуществующий адрес страницы тут – http://bertal.ru/.
2. Пользователю необходимо сообщить, что запрашиваемой страницы больше (или вообще) не существует, и предоставить возможность работать с сайтом дальше.
Как настроить ответ сервера?
404 ошибка сервера через htaccess
Если Ваш сервер или CMS не настроены атоматически, то придётся это сделать Вам самим – добавьте в htaccess строчку:
ErrorDocument 404 http://www.site.ru/404.php
Теперь, когда пользователь введёт неверный адрес, то он будет направлен на этот адрес. Страница может располагаться где угодно, но мы для примера поместили ее в корне сайта: /404.php.
404 ошибка сервера в PHP
Велосипеда изобретать не надо – существует специальная функция header, которая успешно поможет Вам это сделать.
header(«HTTP/1.0 404 Not Found»);
Как должна выглядеть страница 404?
- В дизайне сайта (а не страница по умолчанию вашего хостинга)
- Содержать информацию о том, что произошла ошибка
- Иметь форму поиска по сайту
- Иметь небольшую карту сайта с основными разделами.
Креативные 404 страницы – вред или польза?
Смешное оформление 404 страницы – это красиво и оригинально, но не стоит слишком сильно увлекаться. Не стоит забывать, чтобы пользователю в первую очередь необходимо решить какие-то задачи на вашем сайте, а не зависать на 404 странице, Вы должны максимально упростить и помочь ему в достижении его целей.
Как отследить, сколько таких пользователей попадают на страницу 404?
Яндекс.Метрика
Для этого удобно использовать “Параметры визитов”.
В код счётчика необходимо добавить строчку: params:window.yaParams||< >>);
Таким образом, должно получиться как-то так:
На самой же странице 404 в любом месте необходимо разместить следующий JS-код:
var url = document.location.pathname + document.location.search var url_referrer = document.referrer; var yaParams =
Где url – текущий адрес страницы 404, а url_referrer – адрес, с которого на него попали. Таким образом, мы в Яндекс.Метрике сможем отлеживать не только все 404 страницы, но и адреса, по которым на неё перешли.
Отчёт в Метрике необходимо смотреть тут: все отчеты -> содержание -> параметры визитов.
Google.Analytics
Для отслеживания ошибок используем “события”. Добавляем JS-код в тело страницы:
Где hitType – тип события, eventCategory – категория, eventAction – адрес ошибки, url_referrer – откуда на 404 страницу попали.
Отчёт в Гугл.Аналитикс: Поведение -> События -> Обзор.
Как использовать полученные данные?
Если ошибки 404 внутри сайта – исправьте все ссылки на правильные или уберите вовсе. Если эти ссылки с внешних ресурсов? и Вам никак не повлиять на них, то поставьте 301 редирект на максимально релевантные страницы. Любите своих клиентов и не заставляйте их думать или что-то искать на Вашем сайте.
Как сделать редирект 404 ошибки
Посетители сайта видят 404 ошибку, если страница, на которую они пытаются перейти, не существует или по какой-то причине сервер не может её найти. В статье рассмотрим, что это за ошибка и какое влияние она оказывает на поведенческие факторы пользователей и SEO. А также разберем, как настроить редирект 404 ошибки через .htaccess.
Что такое ошибка 404
Ошибка 404 (File not found) возникает, когда сервер не может найти запрашиваемую пользователем страницу. От ее появления не застрахован ни один сайт. Достаточно ввести в адресной строке после домена рандомный набор символов. Например:
Сервер не сможет найти страницу, и отобразится ошибка:
Ошибка 404 на сайте reg.ru
Также с ошибкой 404 можно столкнуться в следующих случаях:
- Администратор сайта удалил или переместил страницу, но не сделал редирект на актуальный материал.
- Изменилась структура сайта, а у страниц остались старые URL.
- Посетитель опечатался в адресе, когда вводил его вручную.
- Посетитель перешел по «битой» ссылке, которая ведет на несуществующую (удаленную или перемещенную) страницу.
Технически ошибка 404 связана с тем, что при открытии страницы браузер пользователя отправляет серверу запрос на контент, а сервер не находит запрашиваемой страницы и возвращает соответствующий ответ: не найдено.
Код 404 не стоит путать с другими похожими ошибками. Например, 403-й, которая означает, что доступ к ресурсу ограничен или запрещен. Подробнее о том, как ее исправить в статье.
Иногда при загрузке несуществующей страницы браузер получает ответ 200 вместо 404. Такой случай называют Ложной ошибкой (Soft 404). Он означает, что со страницей всё в порядке, хотя пользователь видит ошибку. Также проблема заключается в том, что Яндекс и Google показывают эту страницу в результатах поиска. Чтобы проверить код ошибки, воспользуйтесь проверкой URL от Google.
Наличие ложных ошибок негативно сказывается на SEO-продвижении и затрудняет видимость основного контента сайта. Чтобы это исправить, нужно вручную настроить редирект на страницу с ошибкой 404 для всех несуществующих страниц.
Возможные последствия для сайта
В самом наличии ошибок 404 на сайте нет ничего страшного. Как уже говорилось выше, посетитель может просто опечататься в адресе. Однако разработчику сайта стоит уделить внимание созданию и отладке страницы ошибки 404. О том, как это сделать, мы расскажем ниже.
Также важно следить за тем, чтобы на сайте было как можно меньше несуществующих страниц, битых ссылок и т. п. Чтобы отыскать их, можно воспользоваться веб-инструментами Яндекс и Google или другими сервисами. Найдите все, что нужно поправить, настройте 301-й редирект на актуальные материалы и замените некорректные ссылки.
Если на сайте регулярно встречается ошибка 404, это может повлиять на поведение посетителей. Пользователи, которые многократно видят сообщение о том, что страница не существует/не найдена, с большой вероятностью покинут сайт и уйдут к конкурентам.
Рекомендации по созданию страницы 404
Если сайт создавался в CMS WordPress, Joomla, Drupal и т. п., в нем, скорее всего, предусмотрена страница ошибки 404. Но она может быть неинформативной или отличаться от дизайна остальных страниц вашего веб-ресурса.
Лучше всего — создать свою страницу для ошибки 404. Если вы владеете навыками верстки и дизайна, можно сделать эту страницу красивой, шуточной и необычной. Это хорошо воспринимается пользователями и снижает негативный эффект.
Важно, чтобы страница была информативной и полезной:
- Объясните, что случилось и почему пользователю попалась ошибка;
- Посоветуйте, что пользователю стоит сделать, чтобы найти интересующий его контент;
- Оставьте каналы для связи и возможность связаться с поддержкой сайта.
Яндекс рекомендует оформлять страницу ошибки 404 так, чтобы она отличалась от остальных страниц сайта и содержала ссылку на главную страницу, поисковую строку и инструкцию с дальнейшими действиями.
Примеры страниц с ошибкой 404
СберМаркет предлагает познать мудрость котов и цены на сайте
404 ошибка в разделе «Помощь» на сайте REG.RU
Как создать страницу ошибки 404 и настроить редирект на нее в .htaccess
Создайте страницу одним из следующих способов:
Если вы знаете HTML и CSS, напишите код страницы самостоятельно и загрузите файл с названием 404.html в корневую папку сайта.
Если навыков верстки нет, в интернете можно найти бесплатные шаблоны со страницами ошибки. Скачайте файл и добавьте его в корневую папку.
Если вы используете WordPress, воспользуйтесь плагином 404page — your smart custom 404 error page по инструкции ниже. Обратите внимание! Если вы воспользовались плагином, вам не нужно прописывать путь к файлу в .htaccess.
1) Откройте админку вашего сайта в WordPress.
2) Перейдите в раздел «Плагины» и нажмите Добавить новый.
3) В строке поиска введите название 404page — your smart custom 404 error page.
4) Нажмите Установить → Активировать:
5) Перейдите в раздел Внешний вид → 404 Error Page.
6) Выберите в списке Sample Page, чтобы сменить стандартную страницу ошибки, и нажмите Edit Page:
7) Создайте страницу в открывшемся визуальном редакторе и нажмите Обновить:
Готово! После обновления страница будет использоваться автоматически.
Откройте конфигурационный файл .htaccess в корневой папке вашего сайта и добавьте в него строку:
Где вместо site.ru — домен вашего сайта.
Готово! Теперь при возникновении 404 ошибки, в браузере пользователей будет открываться созданная вами кастомная страница.
Также рекомендуется закрыть служебную страницу 404 от индексации, чтобы она не возникала в поисковой выдаче вместе с остальными страницами сайта. Для этого откройте файл robots.txt в корневой папке сайта, добавьте соответствующую команду и сохраните изменения:
Редирект с 404 на главную (не рекомендуется)
Чтобы не создавать отдельную страницу ошибки 404, некоторые веб-разработчики прописывают в .htaccess редирект на главную страницу сайта. Это нежелательно делать с точки зрения SEO-оптимизации.
Также редирект на главную страницу может ввести пользователей в заблуждение. Представьте, что вместо искомой страницы у посетителя открывается главный экран сайта. Будет непонятно, почему это произошло, ведь пользователь искал какой-то конкретный контент и не узнает, что не сможет найти его.
Рекомендуется использовать специальные страницы для ошибки 404.
Проверка редиректа 404
Проверить, корректно ли все настроено можно в Яндекс.Вебмастер и Google Search Console.
Яндекс.Вебмастер
Если вы используете его впервые, укажите домен вашего сайта и пройдите проверку валидации, добавив файл в корневую папку сайта. Это займет несколько минут.
В коде статуса HTTP должно отображаться 404 Not Found:
Google Search Console
Если вы используете этот инструмент впервые, укажите свой домен и пройдите валидацию, добавив TXT-запись/загрузив файл в корневую папку сайта или с помощью других способов.
На сайте небольшого объема можно самостоятельно следить за наличием ошибок и постараться не допускать того, чтобы на нём было много страниц, утративших актуальность. Своевременно настраивайте 301 редиректы, когда статья в справке, страница или товар теряют актуальность.
Страница 404: почему стоит уделить ей внимание прямо сейчас
В этой статье я расскажу, что такое страница 404, почему она очень важна для SEO, и, самое главное, как правильно настроить ее. Чтобы вы понимали, сразу обозначу, что эта страница и сама ошибка 404 не так просты, как может показаться на первый взгляд. Они таят в себе огромную опасность и вместе с тем, столь же огромную пользу. Новички очень часто упускают это из виду, за что потом, как правило, расплачиваются сполна. Но не будем тянуть время, давайте уже скорее начнем.
Страница и ошибка 404
Страница с сообщением “Ошибка 404: страница не найдена” часто вылетает при обращении к несуществующему адресу. То есть она возникает, когда вы или кто-то еще пытаетесь перейти по битой ссылке. По идее такого не должно возникать, ведь сейчас пользователи редко набирают адрес страницы или материала самостоятельно. Но изредка эта ошибка может возникнуть, например, когда вы меняете ссылку на какую-то страницу или вовсе удаляете ее.
Для поисковых систем ошибка 404 может быть сигналом, что на сайте творится что-то неладное. Если таких ошибок будет слишком много, сайт может очень сильно просесть в поисковой выдаче. Именно по этой причине многие вебмастеры стараются настраивать редиректы (переадресацию) на главную или другую страницу. Так они сводят негативное влияние на нет.
Чтобы минимизировать негативные ощущения и повысить поведенческие факторы, люди добавляют различные интерактивы на страницу 404. Например, там может быть сообщение в юмористической форме, которое разряжает обстановку. Рядом могут быть ссылки, которые помогают пользователю найти нужную информацию на сайте.
Красивая заглушка 404 – залог улучшенных поведенческих факторов. К слову, это очень важно для поискового продвижения в последнее время.
Далее мы разберемся, как сделать красивую страницу 404 для WordPress, Joomla или любой другой CMS.
Настройка страницы 404 на CMS
Настройка страницы 404 должна начинаться с проверки. Если вы используете CMS, то вполне возможно, что там уже предусмотрен какой-то кастомный вариант этой заглушки. Он вполне может отвечать всем требованиям и решать проблемы пользователей. Это значит, что вам не нужно ничего делать. Для проверки страницы 404 просто перейдите по несуществующему адресу. Например, вашдомен.ру/adahdjahjdahjd. На выходе должна быть искомая страница.
Так выглядит эта страница на нашем сайте. Есть пояснение, что искомой информации на сайте нет. Внутри пояснения есть ссылка на карту сайта, которая может помочь пользователю сориентироваться. Чуть ниже блок со статьями, который привлекает внимание и может обеспечить внутренний переход. Это пример хорошего оформления, стоит взять на вооружение.
Если при обращении к несуществующему адресу вас перекидывает на пустую страницу, где вообще ничего не настроено, то придется озаботиться оформлением самостоятельно. Как правило, таких проблем не возникает при работе с CMS. Если вы решите поставить WordPress, Joomla или любую другую популярную платформу, то, вероятнее всего, все будет уже настроено, имейте это ввиду.
Но не всегда эти заглушки будут выглядеть красиво. Вот так, например, выглядит заглушка стандартной темы для ВордПресс.
Как видите, появляется сообщение об ошибке и поле поиска. В принципе, этого достаточно.
Если вы хотите настроить страницу по своему вкусу, то вам нужно перейти во вкладку “Внешний вид” – “Редактор” – “Шаблон ошибки 404” (файл 404.php). Здесь и записывается код, который впоследствии будет отображаться на странице. При должном владении html/css можно сделать интересное решение, непохожее на заглушки других.
Как правило, во всех бесплатных и премиум-темах страница 404 уже настроена и готова к использованию. Вам не нужно лезть в код и самостоятельно там что-то править. В отдельных вариантах разработчики делают модульную страницу. По желанию вы можете включать и отключать отдельные модули (составные части), тем самым создавая собственный шаблон 404-й страницы для сайта.
В Joomla за отображение 404-й ошибки отвечает файл error.php. Его можно открыть через файловый менеджер хостинга или же через FTP-клиент. Там также имеется html-код, который при желании можно править.
Рассматривать настройку не имеет смысла, потому что там все индивидуально. Не каждый пользователь справится с ручной настройкой заглушки в Джумле, поэтому можно воспользоваться уникальными вариантами от тем оформления или вообще скачать готовый шаблон в интернете. Их очень много, поэтому вы точно сможете выбрать подходящий.
Джумла, как и ВордПресс, обладает собственным вариантом этой странички. Вам не нужно изобретать велосипед и пытаться поменять уже созданные шаблоны 404. Однако если очень хочется, то придется воспользоваться учебниками по HTML/CSS.
Настройка страницы 404 для самописных сайтов
Если ваш ресурс работает на самописной CMS, фреймворке или другой платформе, которая не обладает функционалом по редиректу на заглушку из коробки, то, увы, придется все делать своими руками.
Для начала, мы должны указать в htaccess специальный код, который будет перебрасывать пользователей на определенную страницу в случае обращения к неправильному адресу.
Находим этот файлик на хостинге и где-нибудь в конце прописываем такой код:
Вместо site.com – ваш домен. А вот 404.php – и есть файл, в котором хранится содержимое заглушки. В отличие от CMS, здесь его придется делать полностью с нуля. Но бывалых программистов это вряд ли напугает. Если хотите, можете сделать простенький вариант, где будет текст, например: “Не удается найти страницу, извините, вот вам ссылки на разделы сайта”. Для хороших поведенческих факторов этого будет достаточно. Хотя, конечно, лучше проработать этот файл более детально.
Сделать переадресацию можно и с помощью php. Для этого в статичную часть вашего сайта, если он написан на php, вы должны добавить следующий код:
Этот файл будет вызывать ошибку 404. Однако в этом случае могут понадобиться дополнительные манипуляции с кодом на PHP. Так просто реализовать страницу 404 на самописном сайте не выйдет, все зависит от конкретного случая.
Если вы не обладаете должными знаниями и опытом, то не мучайте себя. Лучше сразу обратитесь к программистам, которые понимают и знают, что и как должно выглядеть. Хотя, мне трудно представить мало понимающего человека с самописным сайтом.
Как исправить ошибку 404?
Теперь я расскажу как исправить ошибку 404. Исправлять, в общем-то, нечего. Ошибка 404 – это битые ссылки, значит, исправлять надо их. О том, как найти битые ссылки на сайте, я уже рассказывал.
Лучший вариант исправления – редирект, что означает, что вы должны настроить переадресацию битых ссылок на какой-то раздел или статью. Таким образом тоже повышаются поведенческие факторы, улучшается SEO.
То есть, по сути, ошибка 404 не требует исправления. Править нужно только битые ссылки, которые ведут на заглушку. Эти самые битые ссылки могут быть в других статьях, в составных частях вашего сайта и прочих местах. Но не будем увлекаться, вся информация представлена в материале по ссылке выше.
Стоит ли делать кастомную страницу 404?
Как я и говорил ранее, кастомная страница 404 может улучшить поведенческие факторы, что повысит ваш сайт в поисковой выдаче. Однако не всем это требуется. Большая часть уже имеет вполне сносные варианты заглушки, которые не требуют какой-то серьезной доработки или полного переосмысления. Вы можете сами проверить наличие этой страницы у себя и оценить, насколько она пригодна для использования конкретно на вашем проекте.
Если что-то не устраивает – милости прошу в редактор, где эту страницу очень легко исправить. Это я сейчас про WordPress, если что. Но в случае с другими CMS это тоже актуально. Там, как правило, есть отдельные файлы с html-кодом, который очень легко можно исправить или доработать.
Но возвращаясь к заданному вопросу, я бы уточнил, что кастомная страница нужна в том случае, когда ее функциональность действительно будет оправдана. Например, на больших порталах, где переходы на неправильные адреса очень частое явление. Там лучше сделать страницу с ссылками на разделы, полем поиска, а еще лучше – с блоком статей (как у нас).
Таким образом будет снижен риск отказов. Пользователи не будут уходить с сайта при попадании на такую страницу. Скорее всего представленная информация их заинтересует и они продолжат исследование ресурса.
В любом случае, решать только вам. От себя я бы советовал вам позаботиться о настройке 404-й страницы, если она уже не сделана по умолчанию.
Заключение
Теперь вы знаете, что значит ошибка 404, как должна выглядеть страница-заглушка, а также какое значение это имеет для поисковой оптимизации, поведенческих факторов и общей лояльности пользователей к вашему сайту.
Надеюсь, что эта статья даст ответы на все ваши вопросы и вы примите правильное решение. Даже такие мелочи, как заглушка 404, могут очень сильно влиять на эффективность вашего ресурса, конечный заработок в случае монетизации и другие очень важные факторы. Ничего не стоит упускать из внимания.
Если вы хотите научиться создавать крутые сайты и зарабатывать на них, то я советую вам курс Василия Блинова. В нем будут рассмотрены абсолютно все вопросы создания своего собственного информационного проекта для заработка, что включает в себя: создание и настройку сайтов на WordPress, обзор всех актуальных способов заработка на трафике, основы SEO-оптимизации и многое другое.
Обучение проходит в удобном виде на специальной обучающей платформе. Поэтапное прохождение информационных блоков, домашние задания и строгая политика. Допуск к следующим блокам осуществляется только после полного прохождения предыдущего. Переходите по ссылке выше для получения более подробной информации.