Как лучше всего перенаправить веб-страницу без использования Javascript?

StackOverflow https://stackoverflow.com/questions/875318

Вопрос

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

На данный момент у меня есть следующее:

<noscript>
  <META HTTP-EQUIV=REFRESH CONTENT="1; URL=en/index.htm">.
</noscript>

Но я читал, что это не слишком разумно, поскольку некоторые поисковые системы не одобряют это.Как мне это сделать и оставить поисковые системы довольными?

Это было полезно?

Решение

Вы также можете перенаправить на стороне сервера с кодом состояния HTTP 301.Это лучший способ сделать это для хорошего SEO.Пример написан на C#, но у каждой платформы есть свой метод добавления заголовков к ответу:

Response.Clear();
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", "/newfolder/newfilelocation");

Причина использования кода состояния 301 заключается в том, что поисковая система индексирует новую страницу, поскольку она была «Перемещена навсегда», а не 302, которая была «Перемещена временно».

Другие советы

Вам следует использовать файл .htaccess, чтобы определить язык браузера по заголовкам (с помощью регулярного выражения), а затем перенаправить их таким образом.Это совершенно не зависит от конфигурации на стороне клиента, и поисковые системы справятся с этим правильно.Существует масса информации о том, как именно этого добиться.

Это можно сделать с помощью серверного языка, добавив следующий http-заголовок

Location: /en/index

перенаправит пользователя на http://www.example.com/en/index

Почему бы вам не выполнить перенаправление на стороне сервера, ответив кодом состояния HTTP 302.Я не знаю, что у вас на сервере, но все фреймворки это поддерживают.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top