Joomla ошибка 404 как исправить

The most common problem with websites which are struggling in search engine rankings is the number of ‘not found’ errors – commonly referred to as 404 errors because that is the status code returned if the page cannot be found.

First, there are legitimate reasons to have 404 errors – if you have a page for an event which has passed, or a service which you no longer provide. In these cases, eventually the page will be removed from the index of search engines and won’t be associated with your site any more.

The problem occurs if you have a lot of 404 errors – for example if you unpublish a category which contained hundreds of articles. From the search engine’s perspective, this is not a great experience for their visitors, because they land on your site and the information that the search engine told them was there, isn’t. This is why it is not a great idea to have too many 404 errors on your site.

The first step is to find out how many you have – which can be done using Google’s Search Central. This is a free set of tools which allows you to analyse your website and pick up on problems, errors and issues quickly. It is recommended that you have every site you manage registered at Search Central to ensure you are notified in the event of any problems.

When you visit Search Central there is a section which shows you URL Errors in the search listing – this will show you a list of the 404 errors that Google has found on your site, and a graph which shows you how this has changed over time. If the graph starts to go up, look into why there are pages that were on your site and now can’t be found.

If there was a temporary problem on your site, you can mark errors as being fixed.

404discovery.png

Fixing Problems[edit]

Discovery is only one part of the process. Once you have discovered the problematic URLs, do something about it (if it needs fixing!) by either redirecting the page to another on the site, re-instating the original page, or looking into what has caused the 404 error.

If you need to redirect a page, check out this page which explains how to create 301 (permanent) redirects: Creating 301 redirects

Monitoring Problems[edit]

If you want to monitor your 404 traffic, the best way to do this in Analytics is to look at what happens when you have a 404 error. In most cases, the page title changes to 404 – so we can create a custom segment which will filter traffic with a title of 404 and tell you what the landing page is. This should allow you to monitor and proactively manage your 404 errors and ensure that your site visitors do not end up landing on dead links.

Analyticsalerts.png

Analyticsalerts2.png

Google also has the ability, in Analytics, to set up alerts. Alerts allow you to be emailed when certain events occur. In this case, we can set up an alert to be notified if there is more than a 5% increase in the number of 404 errors in a weekly period – which might mean we have a problem with the website which needs investigating.

This is a great way to keep on top of things even if you haven’t logged in to look at your dashboard!

Analyticsalertsemail.png

Monitoring Errors with a Dashboard[edit]

There is also a dashboard you can install called the Data Integrity Dashboard which shows you information about 404 errors, along with some other metrics which might be of interest. Just search the Google Analytics Gallery for Data Integrity Dashboard and select which profile to install it under.

Dataintegrity.png

0 Пользователей и 1 Гость просматривают эту тему.

  • 17 Ответов
  • 31355 Просмотров

https://centrsveta.kz/ вот собственно этот сайт, захожу через админку то всё работает, сайт нормально грузиться и т.п и т.д, но кидаю ссылку друзьям они не могут зайти так как ошибка :
404 – Материал не найден

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

Пожалуйста, перейдите на одну из следующих страниц:
Домашняя страница
Что делать?? файл htaccess переименовал в txt всё равно не работает! Помогите уже 2 дня не могу решить проблемму, Joomla 2.5!

Как только выключите в общих настройках – вкладка сервер, SSL – все станет кошерно ! )

Записан

Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги – http://dtkp.ru/ s@dtkp.ru

Как только выключите в общих настройках – вкладка сервер, SSL – все станет кошерно ! )

Выключил всё равно не помагает!

https://centrsveta.kz/ вот собственно этот сайт, захожу через админку то всё работает, сайт нормально грузиться и т.п и т.д, но кидаю ссылку друзьям они не могут зайти так как ошибка :
404 – Материал не найден

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

Пожалуйста, перейдите на одну из следующих страниц:
Домашняя страница
Что делать?? файл htaccess переименовал в txt всё равно не работает! Помогите уже 2 дня не могу решить проблемму, Joomla 2.5!

HELP HEEEEELP!

Ну тогда только полная аннигиляция сайта с дальнейшим обеззараживанием территории )))

Записан

Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги – http://dtkp.ru/ s@dtkp.ru

Ну тогда только полная аннигиляция сайта с дальнейшим обеззараживанием территории )))

Что?) можно по русски)

Записан

Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги – http://dtkp.ru/ s@dtkp.ru

Marques

Ну помоги, пожалуйста

Ну чего помогать-то ? В админке покуражились ? Все настройки поменяли как “нужно” ? Теперь-то что… теперь проще убить старушку, чем лечить (шутка) Ну что я могу посоветовать… эм-м-м.. а не почитать ли вам форум ? Здесь есть интересные решения !

Записан

Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги – http://dtkp.ru/ s@dtkp.ru

Ну чего помогать-то ? В админке покуражились ? Все настройки поменяли как “нужно” ? Теперь-то что… теперь проще убить старушку, чем лечить (шутка) Ну что я могу посоветовать… эм-м-м.. а не почитать ли вам форум ? Здесь есть интересные решения !

Юзал поиск но не чего не нашёл) не подкините ссылочки %)

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

Записан

Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги – http://dtkp.ru/ s@dtkp.ru

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

Не, спасибо, сам решу как нибудь)

Уф, слава яйц Богу. Удачи !

Записан

Зануда перфекционист, не признающий авторитетов, ищет легкую работу за большие деньги – http://dtkp.ru/ s@dtkp.ru

[Решено]Уррррря Разобрался) Дело было вот в чём) я создал материал что бы поместить на главную, он был в стандартной категории Samples-data помоему) потом я все категории удалил и создал новые, далее категория осталась в этом материале, и сервер просто напросто не мог найти эту категорию, зашёл в менеджер категорий и переставил на мою катагорию! Буду безумно рад если кто то тупанёт как я, и моё решение поможет им! ыыы) Marques Спасибо что уделил мне своё драгоценное времечко!)

Та-же беда была….Наклацал в меню “Менеджер меню: Редактирование пункта меню”   вкладка “Порядок”    снес главную, поставил обратно и все робит!

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

А мне не помогает((( Подскажите пожалуйста еще идеи ! ! ! ! ! ! ! ! ! !

зарегался, чтобы рассказать, как я решил этот вопрос.))
Не отображалась Главная страница. Вместо неё – ошибка 404. страница не найдена.

Тестировал категории, создавал, удалял… В общем Главная была в категории “1”.
Эта категория была в корзине.
Поставил состояние “Опубликовано” и главная стала отображаться. Всё))

Время на прочтение
2 мин

Количество просмотров 14K

image

Известно, что для того, чтобы удержать посетителя на сайте, нужно правильно обрабатывать HTTP/1.0 404 и другие подобные коды. На просторах интернета можно найти массу занимательных примеров страниц 404, а также руководств – что и как сделать, чтобы ошибка 404 правильно обрабатывалась сайтом как для посетителя, так и для поисковых систем.

Хочу с вами обсудить проблему 404 для сайтов Joomla.

Общие рекомендации по настройке Joomla для обработки HTTP/1.0 404

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

  1. Создаем в нашей Joomla «красивую страничку 404». Можно несколько — при реализации вашей особенной логики и способа их выбора для
    посетителя;
  2. В свой шаблон, который используется на сайте в качестве основного шаблона frontend, из системного шаблона system переписываем файл error.php;
  3. Далее редактируем этот файл для того, чтобы следовать следующей логике – если мы отловили ошибку 404 – то сначала выдать заголовок HTTP/1.0 404, а затем выдать страницу, которую мы ранее подготовили. Предположим, номер (ID) нашей «красивой страницы 404» равен 1001. Файл error.php в вашем шаблоне может выглядеть так:

defined('_JEXEC') or die;

if (!isset($this->error))
{
	$this->error = JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
	$this->debug = false;
}

// Get language and direction
$doc             = JFactory::getDocument();
$app             = JFactory::getApplication();
$this->language  = $doc->language;
$this->direction = $doc->direction;

if($this->error->getCode()=='404') {
	header("HTTP/1.0 404 Not Found");
	header('Location: index.php?option=com_content&view=article&id=1001');
}

Теперь проверяем. Вводим адрес сайта. Далее – абракадабра после символа /. Работает? Работает, чего и следовало ожидать.

В чем подвох?

Открываем отладку страниц в вашем любимом браузере (мой любимый браузер – Fitefox с Firebug-ом), вкладка «Сеть», и смотрим заголовки, которыми общается браузер с сайтом.

Вводим адрес сайта – заголовок HTTP/1.0 200 OK

Теперь абракадабра… Ожидаем HTTP/1.0 400 Not Found — смотрим заголовки:

  1. Сначала HTTP/1.0 302 Found
  2. Затем наша красивая страница отдается браузеру с кодом HTTP/1.0 200 OK

image

Чем это плохо?

— Но, ведь, работает? — Скажете вы. Да, работает. А как на это смотрит поисковая система?

Был у меня переезд страниц сайта с одного раздела (папки) сайта на другой. Но переехать должны были не все страницы. Страницы старого раздела сайта были в индексе. Те, что переехали – выдавались с кодом HTTP/1.0 301 Moved Permanently (классика жанра) и поисковики их правильно «переехали» на новое место. А те, что должны были «кануть в лету» – так и мелькали в индексе, хотя физически отсутствовали на сайте, а при обращении к ним выдавалась «красивая страничка 404», но не код HTTP/1.0 404 (смотрим выше).

Выход из этой ситуации

Для страниц с ошибкой 404 я решил выдавать заголовок HTTP/1.0 404 Not Found и делать не редирект через заголовок Location, а читать поток «красивой страницы 404» и перенаправлять его браузеру. Вот реализация:

if($this->error->getCode()=='404') {
	header("HTTP/1.0 404 Not Found");
	$url=JURI::root()."index.php?option=com_content&view=article&id=1001";
	$data = file_get_contents($url) or die("Cannot open URL");
    echo $data; 
}

Теперь, и нужная страница посетителю отдается при ошибке 404, и поисковая машина видет действительно код 404 и считает введенный адрес таковым — Not Found.

SEO идеальная обработка 404 ошибки в Джумле

ПРОБЛЕМА

По умолчанию Joomla не умеет отдавать станицу 404 Not Found так, как рекомендуют поисковики. В интернетах есть несколько способов решения разной степени свежестии понятности, но нигде нет полного рецепта. Дело в том, что все рассказывают как вписать страницу 404 в шаблон, но никто не знает как организовать при этом правильный ответ сервера. По умолчанию Джумла отдает статус 302 — временно перемещено, или даже 200 — получено. А нам нужен 404 — не найдено. Решение ниже.

Создаем новую статью с заголовком ‘404 error’, публикуем её.

В текст вставляем что-то типа этого:

<h1>404 Не найдено</h1>
<p>Извините, такой страницы не найдено. Попробуйте поискать по содержанию</p>
<p><a href="/index.php?option=com_search&view=search">Поиск</a> | <a href="/">На главную страницу</a> | <a href="index.php?option=com_contact&amp;view=contact&amp;id=1&amp;Itemid=67">Контакты</a></p>

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

ДЕЛАЕМ ПУНКТ МЕНЮ

Джумла работает странно, и для того, чтобы назначить адресу алиас, нужно сделать невидимый пункт меню. Создаем новое меню, в нем делаем пункт ‘404’ с алиасом ‘404-error’, указывающий на нашу статью ‘404 error’. В настройках индексации выбираем NO INDEX, NO FOLLOW. Всё публикуем, сохряняем. Этого меню не будет нигде видно, но у нас теперь есть короткий адрес для нашей страницы 404, выглядит он так: site.ru/404-error или site.ru/404-error.html если вы включили суффиксы.

РЕДАКТИРУЕМ ШАБЛОН

В корне используемого вами шаблона должен лежать файл error.php. Если его нет, смело создаем.

Минимальное содержимое этого файла должно быть таким:

<?php
defined('_JEXEC') or die;
if (!isset($this->error)) {
    $this->error = JError::raiseWarning(404, JText::_('JERROR_ALERTNOAUTHOR'));
    $this->debug = false;
}
//get language and direction
$doc = JFactory::getDocument();
$this->language = $doc->language;
$this->direction = $doc->direction;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">
<?php
if (($this->error->getCode()) == '404') {
header("HTTP/1.1  404 Not Found");   
echo file_get_contents(JURI::root().'/404-error');
exit;
}
?>

Если в файле уже есть какой-то код, попробуйте сохранить его под другим именем и заменить моей версией. Потом по аналогии добавите обработку 403 ошибки если будет нужно.

Проверяем как всё работает, набирая различную абракадабру в адресной строке и коверкая адреса страниц. Все попытки перейти по несуществующему адресу должны приводить нас на страницу сайта с нашим шаблоном и текстом из статьи ‘404 error’. Если это не так, и все пункты проделаны верно, проблема в отключенной переадресации, не работающих seo-урлах (алиасах) или файле .htaccess.

ЗАКРЫВАЕМ СТРАНИЦУ 404 ОТ ИНДЕКСАЦИИ

В файл robots.txt добавляем секцию

Disallow: /404-error

А теперь главное: проверяем ответ сервера! Идем на http://mainspy.ru/otvet_servera и проверяем ответ на не существующую страницу. Он должен быть HTTP/1.1 404 Not Found. Именно этого мы и добивались — поисковик или бот должен однозначно понимать, что перешел по битой ссылке и нечего здесь индексировать.

Всё работает для версии Джумлы 3.4 c установленным компонентом К2. В других версиях и без K2 возможно будет не так, но принцип понятен.

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

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

Возможные варианты страницы 404:

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

Настроить страницу 404 в joomla можно двумя способами:

  1. Если вы не используете компоненты для ЧПУ, необходимо:
  • создать статью с содержимым для страницы ошибки, не относящейся ни к какой-либо категории;
  • Запомнить id статьи
  • Редактировать файл error.php в папке: templates/system. Удалите содержимое файла и  вставьте код: <?php

defined(‘JPATH_BASE’) or die();

echo file_get_contents(JURI::root().’/index.php?option=com_content&amp;view=article&amp;id=id статьи);

?>

  • id статьи – сюда вставьте номер вашей статьи для страницы 404.

При использовании на сайте компонентов ЧПУ, например: sh404SEF, Artio JoomSEF редактировать файл error.php вручную не требуется. В настройках компонента можно создать страницу 404. После этого наберите в браузере ваш.сайт/ошибка – где ваш.сайт – домен вашего сайта, а ошибка – это специально выдуманный текст, который приведет к ошибке. Если только что созданная вами страница ошибки отображается, значит, вы все сделали верно.

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

    Добавить комментарий