Перенаправить страницу на себя - какой правильный код состояния http использовать

Это вопрос об архитектуре веб-приложений, а не о кодировании как таковом, однако я все же думаю, что он здесь, поскольку он находится в проблемной области большинства веб-разработчиков:

Моя проблема. У меня есть страница, на которой содержимое не полное (только частичное содержимое). Я не хочу просто возвращать ответ 200, потому что я хочу, чтобы было ясно, что содержимое на странице является временным и что посетитель (Google) должен вернуться позже, чтобы получить правильную страницу.

Я не уверен, что в спецификации http есть код состояния, который был бы здесь полезен. Я думаю об использовании перенаправления 302 на тот же URI, но я не уверен, что Google увидит это как игру (я не понимаю, почему это должно быть - никто не будет 302 на один и тот же URI на постоянной основе так как содержание страницы будет в значительной степени проигнорировано).

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

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


person calumbrodie    schedule 02.08.2012    source источник


Ответы (3)


206 - это частичный код состояния, но это не то, что вы здесь делаете. Это для документов, состоящих из нескольких частей. Здесь у вас есть страница типа «в разработке», но изменится только содержимое страницы, а не uri. Поэтому правильно было бы просто вернуть 200 и позволить Google проиндексировать его.

Если вы еще не хотите, чтобы он был проиндексирован, потому что он еще не готов для публики, добавьте мета-индекс, как вы говорите. Google по-прежнему загружает страницу и анализирует ее, чтобы найти отсутствие индекса, но не индексирует ее. Удалите индекс без индекса, когда будете готовы, и он начнет индексацию. Вы даже можете запросить это, отправив новый файл sitemap.xml с вашей страницей в нем.

В наши дни Google переиндексирует безумно быстро, поэтому не беспокойтесь о временной блокировке страницы с помощью метатега.

person Pete Duncanson    schedule 02.08.2012

Google переиндексирует страницу при автоматическом изменении содержания. Или вы можете принудительно обновить где-нибудь в инструментах для веб-мастеров.

В качестве альтернативы вы можете иметь страницу 302 на альтернативный адрес с вашим частично завершенным контентом до тех пор, пока страница не будет «завершена». Затем скопируйте окончательный контент на исходную страницу и снимите ошибку 302.

person Nick    schedule 02.08.2012
comment
Хм.. интересно. Как /my-url/partial/.... Я подумаю об этом - спасибо за идею. - person calumbrodie; 02.08.2012

Любые коды ошибок зарезервированы для условий ошибки. Ошибки типа "Эта страница не в финальной версии" действительно нет. Возможно, вы захотите указать, что эта страница устареет и станет недействительной через какое-то время. Например, следующий код означает, что страница мгновенно устаревает:

person Senna    schedule 02.08.2012