Я запускаю apache2.0, и мне просто интересно, можно ли сделать 301 переадресацию с помощью javascript или jQuery.
У меня есть тег с href в указанном месте, и я прошу сделать 301 переадресацию, когда я нажимаю на эту ссылку.
Это для SEO, и я пытаюсь найти способ перенаправления 301 на ту же страницу в ссылке, не создавая новую страницу или не создавая форму / submit.
Короче Нет .
JavaScript работает полностью на стороне клиента. 301 переадресации должны поступать как ответ от сервера. Это означает, что вы не можете сделать это без поддержки сервера.
Я знаю, что это старый вопрос, но ответы на самом деле не затрагивают основной вопрос, который был представлен в вопросе, который является перенаправлением 301 для целей SEO (и ответ сегодня может быть очень отличным, чем когда вопрос был изначально спросил и ответил).
Ответ, что нет, вы не можете переадресовать с клиентом 301 технически корректно, однако (и что более важно) вам необязательно. В то время как истинным 301 было бы предпочтительнее, в таких случаях, когда это невозможно (или, например, переход от хэш-сайтов к традиционным URL-адресам), вопрос действительно в том, есть ли жизнеспособная альтернатива, которая достигает цели.
Сайт поисковой системы подробно проанализировал возможности Google в отношении JavaScript, и это связанная с этим выдержка из этой статьи:
- Переадресация JavaScript
Мы сначала протестировали общие переадресации JavaScript, изменяя, как URL был представлен разными способами. Метод, который мы выбрали, – это функция window.location. Было проведено два теста: в тест А включен абсолютный URL-адрес, указанный в функции window.location. Тест B использовал относительный URL-адрес.
Результат: за перенаправлением вскоре последовали Google. С точки зрения индексирования они были интерпретированы как 301-е – URL-адреса конечного состояния заменяли перенаправленные URL-адреса в индексе Google.
В последующем тесте мы использовали авторитетную страницу и реализовали переадресацию JavaScript на новую страницу на сайте с точно таким же контентом. Исходный URL-адрес, размещенный на первой странице Google для популярных запросов.
Результат. Как и ожидалось, за перенастройкой последовал Google, а исходная страница была сброшена из индекса. Новый URL-адрес был проиндексирован и сразу же размещен в одной позиции для тех же запросов. Это удивило нас и, похоже, указывает, что переадресация JavaScript (иногда) ведет себя точно так же, как постоянные 301 переадресации с точки зрения рейтинга.
В следующий раз, когда ваш клиент захочет реализовать переадресацию JavaScript для перемещения своего сайта, ваш ответ, возможно, и не понадобится, «пожалуйста, не делайте этого». Похоже, что есть передача сигналов ранжирования в этих отношениях. Поддержка этого вывода – это цитата из рекомендаций Google :
«Использование JavaScript для перенаправления пользователей может быть законной практикой. Например, если вы перенаправляете пользователей на внутреннюю страницу после их входа в систему, вы можете использовать JavaScript для этого. При изучении JavaScript или других методов перенаправления для обеспечения того, чтобы ваш сайт придерживался в соответствии с нашими рекомендациями, подумайте о намерениях. Имейте в виду, что переадресация 301 лучше всего подходит для перемещения вашего сайта, но вы можете использовать перенаправление JavaScript для этой цели, если у вас нет доступа к серверу вашего веб-сайта ».
301 – код ответа сервера. Вы не сможете создать 301 переадресацию из jQuery.
Вы должны будете сделать 301 из PHP.
301 перенаправления – это постоянные переадресации и являются в основном ответами HTTP-сервера. JavaScript / jQuery – это то, что выполняется на клиенте. Два разных мира.
Вместо этого вы можете направить окончательный URL href, если вы не можете сделать это на сервере.
Или, если вы спрашиваете, можете ли вы перенаправить текущую страницу, да, это возможно с переадресацией META или изменением window.location.
Если вы используете Apache, вы можете использовать mod_rewrite для переадресации 301.