Недостатки использования идентификаторов сессий при продвижении сайтов

11 Октября 2006
в 12:00
2 4274


Идентификатор сессий представляет собой уникальный параметр вида &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=
Вы также самостоятельно можете удалить страницы с идентификаторами сессий из индекса поисковых систем, используя следующие сервисы:

http://webmaster.yandex.ru/delurl.xml (Яндекс);
http://services.google.com:8882/urlconsole/controller?cmd=reload&lastcmd=siteDowncmdsiteDown (Google).

Подытоживая вышесказанное, использование идентификаторов сессий при продвижении сайта в поисковых системах может принести ему большой вред. Чтобы избежать этого, всегда используйте включенные cookies. В случае, если страницы с идентификаторами сессий появились в индексе, необходимо проделать вышеописанные действия.

По материалам http://www.ragepank.com/
Перевод под редакцией Сергея Стружкова.

2 комментария
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Поделиться 
Поделиться дискуссией:
  • Всеволод Яшин
    17
    комментариев
    0
    читателей
    Всеволод Яшин
    больше года назад
    Если они такие вредные, зачем же их тогда вообще изобрели?
    -
    0
    +
    Ответить
    Поделиться
  • Игорь Калинин
    15
    комментариев
    0
    читателей
    Игорь Калинин
    больше года назад
    Идентификаторы сессий и продвижение две не сопоставимые друг с дргом вещи. Они нужны для того, чтобы сохранять серверную память. Получая свой идентификатор, пользователь как бы получает номер, вся техническая информация о том, как вел себя пользователь записывается в отдельный файл, согласно этому номеру. для свойств Session устанавливают также определенный timeout, что бы пользователь, в случае его длительного отсутствия отключался от сервака.
    -
    0
    +
    Ответить
    Поделиться

Отправьте отзыв!
X | Закрыть