Подтвердить что ты не робот

Перенаправление заголовка PHP 301 - каковы последствия?

У меня domain.com. Если пользователь вошел в систему, он должен автоматически загружать domain.com/option-X, где X является предопределенным выбором пользователя.

Итак, я делаю это в верхней части index.php:

header("Location: /option-X"); 

Но, если пользователь не вошел в систему, я просто выбираю автоматически первый вариант:

header("HTTP/1.1 301 Moved Permanently"); 
header("Location: /option-a"); 

Итак, у меня есть два вопроса относительно последствий этого:

  • Поскольку поисковые системы не будут входить в систему, они всегда получат domain.com/option-a - влияет ли это на то, что у него есть заголовок 301?
  • Какова может быть загрузка сервера с помощью этих перенаправлений? Я не знаю, как сделать тест. Текущий сайт (который не имеет переадресаций) имеет около 100 тыс. Ежедневных посещений.
4b9b3361

Ответ 1

Эффект 301 будет заключаться в том, что поисковые системы будут индексировать /option -a вместо/option-x. Скорее всего, это хорошо, поскольку /index -x недоступен для индекса поиска и, таким образом, может оказать положительное влияние на индекс. Только если вы используете это с умом, -)

После перенаправления put exit(); для остановки остальных script для выполнения

header("HTTP/1.1 301 Moved Permanently"); 
header("Location: /option-a"); 
exit();

Ответ 2

Это лучше:

<?php
//* Permanently redirect page
header("Location: new_page.php",TRUE,301);
?>

Только один вызов, включая код 301. Также обратите внимание на относительный путь к файлу в том же каталоге (не "/dir/dir/new_page.php" и т.д.), который, по-видимому, поддерживает все современные браузеры.

Я думаю, что это верно с PHP 5.1.2, возможно, раньше.

Ответ 3

После перенаправления убедитесь, что вы die(), и убедитесь, что вы выполняете перенаправление AS SOON AS ВОЗМОЖНО во время выполнения script. Он гарантирует, что больше запросов к базе данных (если они есть) не пропадут даром. Это один совет, который я могу вам дать.

Для поисковых систем 301 является лучшим кодом ответа

Ответ 4

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

Использование процессора будет минимальным, если вы хотите сохранить еще больше циклов, вы можете попробовать и обработать перенаправление в apache с помощью htaccess, тогда php даже не придется участвовать. Если вы хотите загрузить тестовый сервер, вы можете использовать ab, который поставляется с apache или httperf, если вы ищете более надежный инструмент тестирования.

Ответ 5

Только совет: использование http_response_code гораздо легче запомнить, чем писать полный заголовок:

http_response_code(301);
header('Location: /option-a'); 
exit;