Последние Статьи

  Статьи Прочитано Добавил
» Толкование народных выражений
Раздел: Легкое чтиво
9598 Streamer
04/01/2010 11:10
» Семь шагов по увеличению Google PR
Раздел: Оптимизация Сайта
3755 Streamer
14/12/2009 09:33
» Роль уникального контента и оптимизация
Раздел: Оптимизация Сайта
10579 Streamer
28/10/2009 13:57
» Ключевые Слова и Оптимизация
Раздел: Оптимизация Сайта
13387 Streamer
20/09/2009 23:15
» "Грязные" методы оптимизации
Раздел: Оптимизация Сайта
38676 Streamer
02/05/2009 04:56

Собрано по крупицам из интернета по поисковому запросу "robots.txt идентификатор сессии".

Для начала пару слов, что такое Идентификатор сессии (session ID).
Для идентификации посетителей на страницах сайта, некоторые скрипты могут открывать этим посетителям сессии с уникальным идентификационным номером. Для этих целей обычно используется случайное 32-разрядное 16-ричное число. В php идентификатор по умолчанию называется PHPSESSID. Этот идентификатор посылается посетителю в Cookie и одновременно, для надежности, присоединяется как параметр ко всем ссылкам на странице. Теперь, пока посетитель бродит по сайту, в ссылке передается идентификатор сессии, если он не обнаружен в Cookie.
Ну и собственно, негативный эффект, вызванный присоединением идентификатора сессии. Скрипт не различает посетителей, и поисковому роботу по запросу будет также выдана страница с уникальным параметром в ссылках. Причем, каждый визит робота по ссылке без идентификатора, будет вызывать выдачу ему нового идентификатора и нового комплекта «уникальных» ссылок. Таким образом, в индексе поисковой системы накапливается множество дубликатов страниц до бесконечности, что в свою очередь влечет за собой увеличение нагрузки на сервер и снижение эффективности обхода сайта поискавиками.
Ниже представлено несколько способов как избавиться от Session ID. Эксперименты проводились, в первую очередь, над популярным форумом phpBB 2 (про третью версию форума пока ничего рассказать не могу). 

Итак, как убрать идентификатор сессий phpbb

Найдите в папке форума файл includes/sessions.php

Далее, найдите там следующую строку:

$SID = 'sid=' . $session_id;

и замените на код:

if ( $userdata['session_user_id'] != ANONYMOUS ){
$SID = 'sid=' . $session_id;
} else {
$SID = '';
}


Сохраните файл и загрузите обратно на сервер

Что получилось - если посетитель является зарегистрированным пользователем, ему будет присвоен идентификатор. Ну а если аноним (как все поисковики), то и идентификатор сессии он не получит.

Другой способ рассчитан практически на все случаи, но требует редактирования файла .htaccess. Для того чтобы не присваивался роботам идентификатор сессии, необходимо вставить следующи команды в файл .htaccess:

php_flag session.use_trans_sid Off
php_flag session.use_only_cookie On
php_flag session.auto_start On


или

php_value session.use_only_cookies 1
php_value session.use_trans_sid 0



Ну и последний, самый легкий, но увы, направленный на устранение идентификаторов только для роботов Yandex. По словам Яндекса: Если адреса страниц вашего сайта содержат динамические параметры которые не влияют на их содержимое (например: идентификаторы сессий, пользователей, рефереров и т.п.), вы можете описать их при помощи директивы 'Clean-param'. Робот Яндекса, используя эту информацию, не будет многократно перезакачивать дублирующуюся информацию.
Откройте файл robots.txt и добавте следующие директивы:

User-agent: Yandex
Disallow:
Clean-param: sid /*.php


Это разрешит роботу Яндекса не принимать во внимание все, что начинается со слова sid. В данном примере этой команде подвержены все пхп файлы находящиеся в корне каталога.

Статья не претендует на уникальность и если Вы нашли ошибку или более лучший способ решения этой проблемы, пишите

Рейтинги

Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесь для голосования.

Нет данных для оценки.