Maxsite CMS 404 Неверные заголовки

Воскресенье, 12 апреля 2009 г.
Рубрика: Сайтостроительство
Метки: | |
Подписаться на комментарии по RSS

Здравствуйте друзья!

Совершенно неожиданное развитие получила тема Maxsite CMS на моём сайте... Как я уже писал, сайт построен на ней и ни на что другое менять пока не собирался. В принципе и сейчас не собираюсь, однако хочу предупредить вас, если собираетесь её использовать, необходимо провести небольшую ревизию стандартного шаблона. Или того который будете использовать вы, ибо большая часть копируется из стандартного. Так вот - недавно обнаружил несоответствие заголовков, отдаваемых сервером - HTTP HEADER. На несуществующей странице, рубрике, теге, а может и других типах страниц отдаётся код 200 - страница существует, при этом на самом сайте исправно выводится сообщение "ничего не найдено". По этому поводу я писал Максу, и вот что наша переписка с Гугла, которая позже была удалена (точнее спрятана - ссылка у меня осталась и она рабочая):

UmFal Mar 10, 2009:

Какие действия приводят к появлению ошибки? 1. ввод несуществующей рубрики в строке браузера

Какой результат? Что отображается? на сайте 404 - правильно, но HTTP заголовок. там 200 - норма. думаю нужно проверить и другие типы. обнаружилось случайно. Яндекс проиндексировал мне тестовую рубрику. вот адресок для примера: http://askname.ru/category/456 версия системы - 0.29

Мах Mar 10, 2009:

Если нарушены ссылки, то выводится надпись «Извините, ничего не найдено». Для неё отдается тот же хидер, что и для нормальной страницы (200). Я не вижу здесь проблемы, потому что система не генерирует «пустых» ссылок, то есть никто не будет ссылаться на несуществующую страницу. В принципе если строго нужен header-404, то решается это сразу же после получения $pages.

...
$pages = askname_ru_get_pages(...);
if (!$pages) header('HTTP/1.0 404 Not Found');
...

то есть до любого вывода в браузер. Если же страница вообще не определена по типу данных, то выводится как положено 404-header. Он указывается прямо в шаблонном page_404.php.

UmFal Mar 10, 2009:

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

$pages = askname_ru_get_pages(...);
if (!$pages) header('HTTP/1.0 404 Not Found');

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

Больше ответов я не получал...

Итак, недавно у меня всё-же дошли руки всё проверить и исправить. Вышла версия 30, затем 31 Maxsite CMS. И как я увидел, ничего так и не было исправлено! Как я убедился, не только рубрики страдают этим, но и все остальные типы...

Вам, друзья, такой совет - если будете использовать систему, впишите в файлы типов в шаблоне (находятся в ваш_шаблон/type) перед выводом ошибки на страницу ещё и оператор:

header('HTTP/1.0 404 Not Found');

Зачем так надо сделать написано в переписке: Дабы избежать дублирования контента и пессимизации Яндексом. Однако хотелось бы услышать мнение людей более близких к сео, чем я. Думаю моя позиция правильнее, чем у Макса

Как говорится, доверяй да проверяй!

Спасибо! На этом всё.

Комментариев: 2

  1. 2009-08-29 в 04:04:24 | IgorZhelez
    ]]>]]>

    в админке в настройках шаблона сайта есть опция

    "404 http-заголовок - Отметьте, если нужно отправлять 404-ошибку, при ненайденных страницах."

    у меня версия 0.33 последняя рекомендуемая с официального сайта. это случайно не оно ли будет?

  2. 2009-08-31 в 19:22:20 | Иван Александрович ( UmFal )
    ]]>]]>

    Это было темой долгих обсуждений на форуме и в личке. Две ветки вроде, уговоры на гугл-коде... На самом деле система генерирует нормальные УРЛ, но иногда бывает нужно поставить такой редирект. Я не помню в какой версии это стало штатной возможностью, но не раньше мая 2009 точно. До этого делали всё сами по старинке:) ручками;). Так что да. Тема на сегодня уже исчерпана.

Оставьте комментарий!

Используйте нормальные имена.

(обязательно)

Поиск

Статистика

Rambler's Top100