Назад | Перейти на главную страницу

Следует ли на «временной» странице перенаправления использовать перенаправление 301?

Скажем, что foo.com это где я в конце концов хотите разместить веб-сайт, когда он будет готов, и blog.foo.com это здесь В настоящее время я размещаю веб-сайт. До того как foo.com готов, можно ли сделать постоянное перенаправление (301) на blog.foo.com?

Может ли это оказать на него негативное влияние, когда исходный веб-сайт будет готов? Если да, то почему / как?


Одна из причин, по которой я хочу использовать постоянное перенаправление, заключается в том, что использование временного перенаправления негативно влияет на поисковый рейтинг blog.foo.com. Я использую Blogger для его обслуживания, поэтому не думаю, что можно добавить канонический метатег.

Отказ от ответственности: я далек от SEO-эксперта.

Использование постоянного редиректа 301 здесь не подходит. Не с точки зрения семантического кода HTTP или с точки зрения SEO. 301 следует использовать для постоянный перенаправления, а у вас нет. Это временно. С точки зрения SEO, контент должен начать переноситься с foo.com на blog.foo.com, что является противоположностью того, что вы хотите в долгосрочной перспективе.

Я бы рекомендовал использовать 302 или 307.

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

Даже если кеш браузера очищен, любые прозрачные прокси-серверы также могут кэшировать ответ 301.

302 ответа не кешируются.

Есть и другие ответы 3xx, которые указывают на то, что ресурс должен быть получен с другого URL-адреса, но я недостаточно знаком с фактически использую их чтобы знать, как с ними обращаются браузеры и прокси. Если вы решите использовать один из них, протестируйте перед развертыванием.


Собственно чтение RFC возможно так поучительно.

Из раздела по 301-м:

Клиенты с возможностями редактирования ссылок должны автоматически повторно связывать ссылки на Request-URI с одной или несколькими новыми ссылками, возвращаемыми сервером, где это возможно. Этот ответ кэшируется, если не указано иное.

Это означает, что закладки и URL-адреса RSS-каналов могут быть изменены в браузерах и программах чтения RSS-каналов. Некоторые клиенты делают это, а некоторые нет. Вы мог отправить заголовок кеша с 301, который явно сказал клиентам не кэшировать его, однако это не повлияет на вышеуказанное поведение.

Ответы 303 и 307 были созданы специально в ответ на клиентов, неправильно реализующих перенаправление 302. Предполагается, что метод запроса останется таким же в последующем запросе, однако очень немногие клиенты фактически делают это и вместо этого всегда переходят на запрос GET.

Ответ 303 сообщает клиенту, что они должны использовать запрос GET на следующем переходе. Запрос 303 не может быть кэширован.

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

И 303, и 307 обычно не понимаются клиентами до HTTP / 1.1. Это также может относиться к новым клиентам, где разработчик не реализовал всю спецификацию. Это, вероятно, вызывает беспокойство только в том случае, если вы знаете, что у вас много очень старых клиентов.


Что касается вашего беспокойства по поводу SEO, причина, по которой blog.foo.com не получает более высокий рейтинг, это то, что вы указываете, что foo.com правильный URL, и это только временно на blog.foo.com. Поэтому любые ссылки, указывающие на foo.com должен повысить рейтинг foo.com и нет blog.foo.com. Затем поисковый трафик будет направлен на foo.com и перенаправлен на blog.foo.com вместо трафика, отправляемого напрямую blog.foo.com.

Когда ты удалять перенаправление, foo.com уже будет иметь высокий рейтинг, и трафик на blog.foo.com. Я ожидаю, что это то, что ты хотеть произойдет.


Что вы должны сделать?

Я бы пошел с перенаправлением 303, если у меня не было форм на сайте, которые принимали запросы POST. Для них я бы использовал 307, которые заставили бы POST снова выполняться на временном сайте.

Я бы также изменил ответ 303 на перенаправление 302 для любого запроса, указывающего, что это было HTTP/1.0 и нет HTTP/1.1.

Если вы все же решите использовать 301-е, вы, скорее всего, все равно увидите, что трафик blog.foo.com в течение некоторого времени после удаления редиректа. Рейтинг blog.foo.com может задержаться на некоторое время.