- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Стоит следующая задача: если с сайта запрашивается страница вида www.site.ru/detail.php?ID=4, где число 4 - номер раздела на сайте, то надо проверить, существует ли такой номер ID, и если нет, то перенаправить юзера на 404-ю страницу, но не просто страичку, на которой будет написано, что это 404-я страница, и нет такой страницы, а чтобы поисковики тоже понимали, что страница выдает 404-ю, и не индексировали ее. Как это сделать? А именно, как послать роботу 404-ю - остальное реализовано. Т.е. сделана даже переадресация, если введен не верный номер ID.
Стоит следующая задача: если с сайта запрашивается страница вида www.site.ru/detail.php?ID=4, где число 4 - номер раздела на сайте, то надо проверить, существует ли такой номер ID, и если нет, то перенаправить юзера на 404-ю страницу, но не просто страичку, на которой будет написано, что это 404-я страница, и нет такой страницы, а чтобы поисковики тоже понимали, что страница выдает 404-ю, и не индексировали ее. Как это сделать? А именно, как послать роботу 404-ю - остальное реализовано. Т.е. сделана даже переадресация, если введен не верный номер ID.
UPD: Опоздал =)
UPD2: http://dr.pios.ru/9
header("HTTP/1.0 404 Not Found");
ууу, какие тута все быстрые :)
Сделал. И пошел регить несуществующую страницу на Яндекс. Он ее скушал и ошибки не написал, а как предполагалось, должен был отказать ее регить (индексировать) (это когда сделал переадресацию с неверным значением ID). Когда добавляешь реально несуществующую - то говорит, что код отличается от 200, и не регит ее.
UPD: Опоздал =)
UPD2: http://dr.pios.ru/9
exit или die делать всё же надо - компиляция продолжится и могут произойти разные вещи.
а вот location делать не стоит - 404 сменится на 302.
Вот именно это я и хотел сейчас сказать. Если Location убираю, то при заходе с неверным ID выводится просто ошибка в браузере, и ничего не открывается, и яндекс пишет, что данную страницу зарегить не может. А вот если после передачи 404-й ставить location - то видимо действительно 404-яменяется на 302, и яндекс кушает ее :(. Как же все же быть, чтобы и юзеру и роботу дать нужную инфу: роботу что 404, а юзеру что ошибка, и страницы не сущесвует.
Причем, в htaccess прописано ErrorDocument 404 /404.php.
Т.е. по логике, если возникла на сайте 404-я, то переход на 404.php - и это работает, когда обращаешься к реально несуществующему файлы. А вот когда добавил header('HTTP/1.1 404 Not Found'); - то перехода без header('Location: /404.php'); автоматом не происходит, а просто страница не отображается.
IE имеет свойство не отображать реальные 404-е страницы, подменяя 404ю ошибку своим уведомлением.
В других браузерах показывается?
На будущее: когда делаете Location - отдаётся 302 Moved Temporary, перебивается он только 301-м перед location
Фишка вся в том, что код состояния 404, как и 200 может выводить страничку. Поэтому, если страницы не существует просто отсылай в заголовке 404 и пиши что "ничего не найдено".
Например как сделано тут - http://muchmp3.ru/?page=123
Либо можно 302 редиректом перенаправлять на /404.html
ProgMaster, как вариант можно менять выдачу в зависимости от UA. Если робот, шлём 404. Если браузер, 301 или 302 на страницу "документ не найден".
ProgMaster, как вариант можно менять выдачу в зависимости от UA. Если робот, шлём 404. Если браузер, 301 или 302 на страницу "документ не найден".
Коряво по определению )