Warning! Cloaking! Не возвращается rss-лента форума поисковикам - важно возвращать

Рейтинг: 0.5818  
На голосовании
Предложил Пользователь 269 05.05.2017 16:15:21

Warning! Cloaking! Не возвращается rss-лента форума поисковикам - важно возвращать

Исохдя из того, что RSS лента может быть довольно объемной, а хиты поисковиков - очень частыми, разработчики системы "Битрикс Управление Сайтом" намеренно сделали такое ограничение, что поисковикам не возвращается RSS.

Нет никакой опции изменить это поведение.

Проблема усугубляется тем, то вместо XML-содержимого RSS (хотя бы пустой XML-заглушки), поисковик получит пустую страницу, содержащую лишь site header & footer в формате html.

Это крайне вредная практика, т.к. поисковики не приветствуют, когда им возвращают одну информацию, а обычным пользвателям - другую. Это может быть расценено поисковиком как cloaking ( https://en.wikipedia.org/wiki/Cloaking ) и сайт может получить вечный бан.

Обращения поисковиков к RSS можно запретить через /robots.txt - указать там URLы или маски, и тогда поисковики не будут обращаться к RSS вообще.


В файле /bitrix/components/bitrix/forum.rss/component.php есть такой код

if (empty($arResult["FORUMS"]) || ($_SESSION["SESS_SEARCHER_ID"] > 0 && CModule::IncludeModule("statistic";))):
return false;

Таким образом, обычные пользователи могут подписываться на обновления RSS на форумах, например на https://www.ritlabs.com/en/forums/rss/rss2/forum/0/

Но если к этому URL обратится поисковик, который зарегистрирован у нас в списке поисковиков (Рабочий стол - Аналитика - Поисковики - Индексация - Список)

то вместо XML-содержимого RSS, поисковик получит пустую страницу, содержащую лишь site header & footer в формате html.


Я решил эту проблему для себя так: закоментировал сравнение на предмет поисковика. Стало так:

в файле /bitrix/components/bitrix/forum.rss/component.php есть такой код

if (empty($arResult["FORUMS"]) /*|| ($_SESSION["SESS_SEARCHER_ID"] > 0 && CModule::IncludeModule("statistic";))*/):
return false;

... но при обновлении Битрикс это может создать проблемы.

Необходимо внести это изменение в стандартный код Битрикс Управление Сайтом.

Аналогичный код есть и в /bitrix/modules/forum/include.php, там тоже идёт сравнение на поисковик перед авторизацией.

Также есть сравнение на поисковики при показе баннеров - там тоже безусловно вырезаются баннеры поисковикам - это граничит с cloaking.

Можно добавить параметр вызова $APPLICATION->IncludeComponent("bitrix:forum", который бы указывал отдавать rss поисковикам, или нет, например:

<?$APPLICATION->IncludeComponent("bitrix:forum","",Array(
      "DISABLE_RSS_FOR_SEARCH_ENGINES" => "N",

(по умолчанию этот параметр можно сделать"Y", чтобы сохранить существующую функциональность) , а кому НУЖНо отдавать RSS поисковикам, передаст "N".