Приветствую друзья! В данном посте я поведаю вам как сделать страницу 404 для Joomla. Порыскав по блогам схожей тематики, я наткнулся на массу копипаста и решил сделать просторы интернета немного разнообразней. Так и увидела свет данная статья (шучу).
Откуда берется ошибка 404 Joomla?
Содержание:
После того как Яндекс.Вебмастер сообщил о существовании нескольких страниц 404 моего веб-проекта, я решил вникнуть в суть проблемы и взять быка за рога. Ознакомившись с десятками блогов, пришел к выводу, что такая проблема существует у каждого вебмастера. Поэтому не отчаивайтесь. Все дело в том, что удаляя какой-либо материал со своего сайта, поисковики по-прежнему продолжают индексацию ликвидированных уже несуществующих страниц, в результате чего система сообщает посетителю о том, что страница не найдена. Возникшая проблема в 99% связана с вашими действиями. В моем случае страницы error 404 появились из-за меня.
Как это произошло? По моей глупости! Изучая азы сайтостроения, продвижения и оптимизации я решил что не помешало бы заняться оптимизацией изображений. В итоге я изменил некоторые названия ранее проиндексированных картинок в соответствии с правилами SEO-оптимизации. В следствии, ранее проиндексированные картинки стали распознаваться как новые, а прежние вели на страницу ошибки 404.
Самые известные причины возникновения ошибки 404 Joomla
1. Страница удалена с сайта, но по-прежнему продолжает индексироваться поисковиками (со временем поисковые боты автоматически удалят эту страницу с индекса).
2. Администратор (то есть вы) изменили название поста либо переместили в более подходящую категорию (со временем эта проблема решится автоматически и ранее проиндексированные страницы исключатся из поиска).
3. На сервере возникли непредвиденные сбои как раз в момент отправления НТТР запроса. Проблема несущественная, так как может быть решена способом обновления страницы.
4. Ошибка возникла из-за неправильного ввода адреса в адресной строке браузера. Проверьте правильность написания символов.
Что такое ERROR 404?
Ошибка 404 Not Found в протоколе HTTP извещает возможность связи с сервером, но в свою очередь сервер не способен найти запрашиваемый файл. В идеале подчас запроса сервер получает статус с кодом «200 ОК», что гласит о работоспособности запрашиваемого документа.
О важности создания страницы 404
Страница, сообщающая об ошибке должна быть продуманной и интересной. Помимо этого она обязана сообщать клиенту об возможных причинах возникновения ошибки. Хотя этот элемент сайта не влияет на продвижение, но в комплексе относится к общей оптимизации. Стандартная страница ошибки 404 Джумла не пестрит интересным дизайном и в какой-то мере даже отпугивает потенциального пользователя.
Чтобы привлечь посетителей и улучшить поведенческий фактор, необходимо создать оригинальную и в тоже время информативную страницу. При этом станица 404 должна соответствовать общему дизайну вашего сайта.
Делаем страницу ошибки 404 для Joomla 3.6
Заходим в панель управления Джумла – Материалы/Менеджер материалов/Создать материал. В поле заголовок пишем что-то наподобие – Ошибка 404. Страница не найдена. Алиас создается в автоматическом режиме, но в этот раз, мы его пропишем сами – error-404. В текстовый редактор вставляем подобающую картинку и прописываем возможные причины возникновения ошибки. Также не забудьте поставить ссылку на главную страницу сайта.
Правее «Состояние» оставляем «Опубликовано». Категория - «Uncategorised», таким способом мы предотвратим отображение материала на сайте. Больше в этом окне ничего не изменяем. Теперь нам нужно переместится в подменю «Публикация» и в «Мета-тег Robots» указать «No index, no follow».
Теперь можно сохранить материал и записать где-нибудь или запомнить его ID, который для большей наглядности заключен в красную рамочку внизу на скриншоте.
Полдела сделано. Далее переходим в корень нашего сайта – ваш сайт/templates/ваш шаблон и находим файл error.php. Если там его нет, мы его туда зальем. Для этого перейдем по пути – ваш сайт/templates/system и скопируем файл error.php в наш шаблон. Открываем перемещенный файл с помощью текстового редактора и находим следующие строки:
Все что расположено ниже - удаляем, предварительно сохранив оригинальный файл, так сказать, на всякий пожарный. Затем прописываем следующий код:
if ($this->_error->get('code') == '404') {
header("HTTP/1.0 404 Not Found");
header('Location: index.php?option=com_content&view=article&id=ВАША ЦИФРА');
exit;} ?>
либо:
<?php
defined('JPATH_BASE') or die();
echo file_get_contents(JURI::root().'/index.php?option=com_content&view=article&id=ВАША ЦИФРА');
?>
Где в строчке index.php?option=com_content&view=article&id=ХХ выполняем соответственную корректировку. Теперь можно сохранять файл, после чего ваша страница ошибки 404 будет отредактирована.
Сначала я использовал первый вариант, но позже заметил, что ответ сервера выдает код 302, что не очень хорошо. После редактирования файла error.php рекомендую сразу же проверить код ответа сервера, воспользовавшись специальным сервисом, к примеру - http://mainspy.ru/otvet_servera. Если вы не в курсе, существуют ли на вашем сайте страницы 404, узнать об их наличии можно с помощью Яндекс Вебмастер. Для проверки зайдите во вкладку Статистика/Индексирование/Исключенные страницы. Здесь же можно посмотреть и HTTP-код каждой проиндексированной страницы.
Помимо этого можно скрыть несуществующие страницы от индексации, внеся определенную команду в файл robots.txt. Для этого необходимо зайти в корень вашего сайта/robots.txt и прописать соответствующую директиву: Disallow: /404.
Как видите, открытая в браузере страница 404 изменилась, но она перегружена ненужными модулями. Давайте закроем их. Для этого переходим в админку Joomla – Расширения/Менеджер модулей. Заходим в модуль во вкладку «Отображение по условиям» и опускаемся в самый низ.
Здесь нам необходимы «Материалы». Нажимаем исключить и в соответственном окошке «Выбрать» выбираем наш материал. После этого не забудьте сохранить. Все тоже самое проделываете для каждого модуля, который не желаете видеть на странице ошибки Joomla 404.
Чуть было не забыл, вот как эта страничка выглядит у меня.
Спасибо за внимание, надеюсь, у вас хватило терпения дочитать этот пост до конца и преобразить свою страницу 404. Делитесь своими удачами и неудачами в комментариях. До скорых встреч на страницах Stimylrosta.
Обнаружили в тексте грамматическую ошибку? Пожалуйста, сообщите об этом администратору: выделите текст и нажмите сочетание горячих клавиш Ctrl+Enter