Является ли «404 редирект» законным перенаправлением? - PullRequest
4 голосов
/ 26 октября 2009

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

В этом случае подходит 301 Redirect. 301 означает «Перемещено навсегда», но в этом случае документ не был в первую очередь. Законно ли установить заголовок 404 Not Found, а затем перенаправить на правильный URL?

Ответы [ 8 ]

10 голосов
/ 26 октября 2009

Остерегайтесь 301, поскольку это означает «навсегда», например, даже если вы будете использовать этот URL в будущем, поисковые системы могут захотеть не обращать на него внимания, поскольку они «знают», что контент по этому конкретному URL был перемещен «навсегда».

Используйте 303 См. Прочее , если вы хотите перенаправить, или - лучше - отобразите 404 и понятное сообщение об ошибке, которое ссылается на предпочтительный контент.

4 голосов
/ 26 октября 2009

Я думаю, что привлечение пользователя к типу страницы "Вы имели в виду" было бы моим предпочтением. Если у вас нет предложений по содержанию "Вы имели в виду", то сообщите им страницу с настоящей ошибкой и сообщите ее 404. В противном случае, оставьте страницы как статус 200 и дайте пользователю возможность пролистать.

Я склонен использовать 301 для перенаправления ранее известных и хорошо зарекомендовавших себя URL, которые по какой-то причине изменились. Причина, по которой я буду беспокоиться о подходе автоматического перенаправления, заключается в том, что недостаток в вашем алгоритме обнаружения может оказать негативное влияние на SEO.

3 голосов
/ 26 октября 2009

Я бы использовал 301. Перемещение навсегда уместно, поскольку оно говорит о том, что доступной страницы нет и не будет Если у кого-то есть ссылка на эту страницу, он знает, что должен обновить ссылку.

2 голосов
/ 26 октября 2009

301 идеально подходит, если вы достаточно уверены, что знаете, каким должен быть URL. Это лучшее решение как для браузеров, так и для SEO, когда они сталкиваются с неработающими входящими ссылками.

Однако 3xx неуместен в качестве общего ответа «страница не найдена». Есть некоторые сайты, которые всегда вынуждают вас возвращать / возвращать 404, но это действительно плохая вещь, которая может легко сломать вещи.

1 голос
/ 26 октября 2009

Я знаю, что 404 может включать заголовок перенаправления, но это звучит очень плохо для меня.

0 голосов
/ 26 октября 2009

Либо используйте 301 и выполните перенаправление, либо используйте 404 и отобразите сообщение в виде строки «Я думаю, что вы имеете в виду« этот URL »вместо этого; обновите свои закладки» (и не перенаправление).

0 голосов
/ 26 октября 2009

Вы можете ответить только один раз на запрос http - вы не можете отправить 404, а затем отправить 301. Так что я думаю, вы застряли с 301.

0 голосов
/ 26 октября 2009

вы не можете перенаправить с 404 документа. может быть, просто отобразить страницу 404 и предложить несколько правильных URL. 404 означает ошибку. Я знаю, что Google не будет рад видеть эти ссылки. :)

...