В заголовки отправлять 404 если по тегу нету топиков

Сейчас на ЛС есть «замечательная» возможность — если подставить любой тег, которого не существует:

http://livestreet.ru/tag/any_value


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

Примечание:

«засветить» в данном контексте означает, что был топик с тегом «мывкиывиывиы», его проиндексировали ПС, потом топик отредактировали, невнятный тег удалили, но в кеше ПС эта ссылка осталась и будет там висеть вечно достаточно долго.

Нужно в ActionTag.class.php если не найдено топиков по тегу, то возвращать 404 или 301 на главную чтобы поисковики не индексировали отсутствующий тег.

17 комментариев

avatar
Нужная вещь. У себя допиливал это руками.
avatar
я у себя это не стал исправлять(хотя желательно так сделать).
А оставил т.к. это приводит посетителей, каких никаких но из поисковиков. Пусть в ущерб человеку, который зашел и ничего не нашел на этой странице.
Но как показывает вебвизор: если человеку надо, то он дальше продолжает искать на этом сайте информацию(как руками, либо поиск)
avatar
это хорошо если сайт узко-специализированный. то тогда пользователь поищет далее.
avatar
да, специализированные
avatar
Философия.
хочу добавить: я бы сказал своему клиенту или программеру это исправить.
Но видимо тут на меня нашло что-то, и я захотел побольше посетителей и нестал от этого отказываться. (((
увы но в одном случае так хорошо, в другом подругому и надо выбирать, что надо человеку, а что оставлять по умолчанию.
avatar
но в движке наверное по-умолчанию лучше такое убрать и не плодить сущностей.
нету тега — зачем для него страницу делать?
avatar
согласен с 404 и страницей.
с 301 и редиректом несогласен — т.к. пользователя перекинет пусть с редиректом на главную, а он и не поймет, что произошло.

НО в том и другом случае — ссылок битых в поисковике станет меньше.
avatar
что мешает давать 404 прямо на той странице?
avatar
имеется в виду header
avatar
на какой?
avatar
прямо на livestreet.ru/tag/any_value, на которой нет топиков для этого тега.
avatar
заголовки должны быть отправлены до какого-либо вывода данных.

вопрос не в сложности реализации, а в необходимости и мнениях.
avatar
я точно не помню, но header 200 не посылается по умолчанию. То есть можно в любом экшене отдавать 404, где надо, и скрипты не будут материться на headers has already sent…
avatar
Проверил, можно в конце эвента дописать.
if (!$aResult['count'])  header("HTTP/1.1 404 Not Found");
avatar
тут вопрос, в каком случае быстрее произойдет переиндексация этой страницы, когда она заполнится топиками
avatar
ну а если тег не несет смысловой нагрузки? (ыциаываи)
avatar
по сути если return parent::EventNotFound(), то 404 будет просто со сменой шаблона. Поиковику без разницы, а для юзера форма поиска по тегу пропадет.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.