В главе 5 было сказано, что средство trans_sid из РНР, которое выполняет автоматическую модификацию URL-адресов и форм, чтобы включать переменные сеанса, применяется для сохранения состояния сеанса у тех пользователей, которые запретили сохранение cookie-наборов. Однако у этого приема есть побочный эффект: выдача поисковым агентам потенциально бесконечного количества дублированного контента.
Поэтому на многих современных Web-сайтах данная возможность просто отключена.
Но эта возможность может включаться и отключаться динамически в PHP-коде, и
поэтому можно применить маскирование для ее динамического включения и выключения, в зависимости от того, является ли посетитель человеком или поисковым агентом.
Это позволяет сайту удовлетворять требованиям пользователей и в то же время
не запутывать поисковый агент, чтобы он не пробирался через огромное количество семантически бессмысленных вариантов URL, содержащих различные идентификаторы сеанса. Инструментальный набор маскирования, приведенный в данной главе, позволяет сделать это следующим образом:
Этот код нужно поместить в начало PHP-сценария, до посылки клиенту любых заголовков или другой информации.
if (SimpleCloak::isSpider())
{
ini_set ('session.use_trans_sid', 0) ;
}
else
{
ini_set ('session.use_trans_sid', 1);
)
session_start () ;
Конечно, ваш сайт также не должен строить свою работу на сеансах — поскольку
поисковые механизмы в любом случае не принимают cookie-данные.