Недостатки использования идентификаторов сессий
Идентификатор сессий представляет собой уникальный параметр вида &session_id= (&c_id=),
который при каждом посещении пользователем страницы добавляется к ее url.
Основными предназначениями идентификаторов сессий является возможность сбора
точной информации о том, как вел себя тот или иной пользователь на сайте
(электронные биржи и крупные интернет-магазины), а также сохранение серверной
памяти.
Вместе с тем, идентификаторы сессий могут явиться причиной некоторых серьезных
проблем, когда роботы поисковых систем начинают индексировать такие страницы как
самостоятельные, с уникальными url.
По этим причинам идентификаторы сессий рекомендуется оставлять выключенными на
сайте. Не следует также забывать о том, что любая работа с использованием
свойств объекта SESSION должна проходить с включенными cookies.
В случае, когда пользователь приходит на сайт, где cookies выключены, PHP
автоматически добавляет PHPSESSID в url на каждой странице. По этой причине
роботы поисковых систем, как уже говорилось, начинают индексировать страницы с
параметром ID, причем страница с одним и тем же содержанием может быть
проиндексирована много раз. В будущем будет крайне трудно устранить последствия
такой индексации.
Говоря простым языком, роботы поисковых систем, будь это Yandex или Google,
имеют алгоритмы склейки страниц, имеющих идентичный контент. Индексация таких
страниц произойдет, но, скорее всего, произойдет некорректно.
Чтобы у вас не возникало проблем с идентификаторами сессий, необходимо
произвести следующие действия:
• не дать возможности роботам поисковых систем проиндексировать страницы с
идентификаторами сессий при первом заходе;
• реализовать редирект пользователей, которые приходят на сайт по url с
идентификатором сессий на страницы с url без идентификаторов сессий;
• удалить список тех страниц из индекса поисковых систем, которые уже
проиндексировались роботами поисковых систем.
Дабы реализовать рассмотренный план, необходимо сделать следующее:
Во-первых, необходимо вставить следующий код в файл .htaccess, чтобы
предотвратить появление идентификаторов сессий:
php_flag session.use_trans_sid Off
php_flag session.use_only_cookie On
php_flag session.auto_start On
Во-вторых, необходимо перенаправить пользователей, приходящих на сайт по внешней
ссылке, содержащей идентификатор сессий. Пример этого показан ниже. Причем в
данном случае редирект реализован для одной конкретной страницы.
$actualurl= 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$correcturl = 'http://www……….com/articles/26/disable-phpsessid/';
if ($correcturl != $actualurl) {
header("HTTP/1.1 301 Moved Permanently");
header("Location: " . $correcturl);
exit();
}
Если вы попытаетесь посетить страницу с идентификатором сессий, данный код
укажет на то, что url является некорректным, и 301 редиректом вы будете
отправлены на страницу (с одинаковым содержанием), url которой идет без
идентификатора сессий.
Вставив на каждую страницу данный код, вы решите для себя проблему некорректной
индексации.
Что касается третьего пункта, удаления проиндексированных страниц, то, как
таковым удалением страниц из индекса поисковых систем заниматься не надо.
Поскольку робот поисковых систем, посещая сайт после проведенных мероприятий,
будет находить только те страницы, url которых не содержит идентификаторов
сессий. Таким образом, в течение 1-2 апдейтов в поиске не останется страниц с
параметром &session_id=
Вы также самостоятельно можете удалить страницы с идентификаторами сессий из
индекса поисковых систем, используя следующие сервисы:
Яндекс
Google
Подытоживая вышесказанное, использование идентификаторов сессий при продвижении
сайта в поисковых системах может принести ему большой вред. Чтобы избежать
этого, всегда используйте включенные cookies. В случае, если страницы с
идентификаторами сессий появились в индексе, необходимо проделать вышеописанные
действия.
|
Партнеры
|