Отключить поиск по описаниям товаров в Битрикс
Иногда, нужно отключить поиск по описаниям анонсов и детальному описанию товаров, при разработке сайтов на Битрикс. Сделать это можно, воспользовавшись событием «BeforeIndex» который вызывается перед индексацией элемента методом CSearch::Index.
Для чего отключать поиск по описаниям товаров в Битрикс
Например: У вас очень большой каталог товаров, у каждого товара заполнено детальное описание, с большими объемами текста. При попытке поиска по каталогу, стандартным компонентом «Поиск по каталогу», есть вероятность, что начнут выдаваться не релевантные запросу результаты. Так как будет осуществлена попытка полнотекстового поиска по всему содержимому
Добавляем обработчик BeforeIndex
В директории /local/ создаем директорию php_interface и в ней файл init.php, в котором и описываем функцию-обработчик. Данная функция сработает при попытке переиндексации элементов модулем поиска и исключит описания анонсов и детальные описания из индекса.
AddEventHandler("search", "BeforeIndex", "BeforeIndexHandler"); function BeforeIndexHandler($arFields) < $arrIblock = array(48); $arDelFields = array( "DETAIL_TEXT", "PREVIEW_TEXT" ); if ( CModule::IncludeModule('iblock') && $arFields["MODULE_ID"] == 'iblock' && in_array($arFields["PARAM2"], $arrIblock) && intval($arFields["ITEM_ID"]) >0 ) < $dbElement = CIblockElement::GetByID($arFields["ITEM_ID"]); if ($arElement = $dbElement->Fetch()) < foreach ($arDelFields as $value) < if (isset ($arElement[$value]) && strlen($arElement[$value]) >0) < $arFields["BODY"] = str_replace(CSearch::KillTags($arElement[$value]), "", CSearch::KillTags($arFields["BODY"])); >> > return $arFields; > >
Где:
$arrIblock = array(48); — индетификатор инфоблока каталога
$arDelFields = array(«DETAIL_TEXT», «PREVIEW_TEXT») ; — поля которые исключаем из индекса
Сотбит: SEO умного фильтра — Для пользователя — Скрыть страницу от индексации
Иногда по различным причинам нужно закрыть страницу от индексации. Наше решение позволяет сделать это. Страница скрывается путем добавления метатега . Чтобы скрыть нужную страницу от индексации, нужно при добавлении или изменении условия поставить галочку Закрыть от индексации
Также вы можете отключить индексацию всех страниц, на которых подключен компонент sotbit:seo.meta. Сделать это можно в общих настройках модуля SEO умного фильтра, включив опцию «Отключить индексацию всех страниц».
Более подробную информацию по общим настройкам модуля вы можете получить в разделе «Параметры модуля».
Приоритет этой опции ниже, чем настройки индексации в условии. Таким образом, если в настройках условия будет отключена опция «Закрыть от индексации», то страница, соответствующая этому условию, будет проиндексирована.
Нужна помощь в настройке решения
Оставьте заявку и мы свяжемся с вами!
Как закрыть сайт на Битрикс от индексации поисковиками. ТОП 4 способа

Бывает требуется закрыть сайт от индексации, чтобы в поиске гугл или яндекс ссылок на ваш сайт не было. Рассмотрим несколько способов.
Способ от сеошников, через robots.txt
Самый распространённый и простой способ. В корне сайт надо найти файл robots.txt и добавить туда строки
User-agent: * Disallow: /
Редактировать файл можно через FTP или через админку Битрикс. Если работаете по второму способу, открывайте файл как PHP, потому что только в этом случае не будет лишнего форматирования файла.
Файл robots.txt в панели Битрикс

Но этот способ не надежный. Google всё равно может выводить сайт в поиске, только будет указано «Информация об этой странице недоступна.» Пояснение гугл по этому поводу
Так же, если вы закрываете от индексации тестовый сайт и используете систему контроля версий, например гит, то файл может перенестись на продакшн сайт.
Чтобы проверить, откройте файл в браузере по адресу http://ваш_сайт/robots.txt. Там должны быть строки, которые мы добавили выше.
Способ от программистов. Через тег meta robots
Если вы закрываете от индексации тестовый сайт, то определить его можно через настройку главного модуля «Установка для разработки«. Этот параметр должен быть установлен на всех сайтах для разработки, по правилам Битрикс.
В файл /local/php_interface/init.php, либо в /bitrix/php_interface/init.php, в зависимости от того, какой файл у вас есть, добавляем строки
if (\Bitrix\Main\Config\Option::get('main', 'update_devsrv') === 'Y') < $APPLICATION->SetPageProperty('robots', 'noindex'); >
Если вы хотите закрыть продакш сайт, то уберите условие, чтобы свойство устанавливалось всегда.
На всём сайте должна появиться такая строчка в исходном коде

Вот что нам говорит гугл по поводу тега.

Что важно понять — если вы заблокируете индексацию через robots.txt, дополнительно через тег meta, а на сайт есть ссылки из вне — сайт попадет в поиск. Уберите запрет из robots.txt.
От сисадмина. Запрет по Useragent через .htaccess
В корне сайт в файл .htaccess требуется добавить стоки
SetEnvIfNoCase User-Agent Googlebot search_bot SetEnvIfNoCase User-Agent YandexBot search_bot SetEnvIfNoCase User-Agent yandex.com/bots search_bot SetEnvIfNoCase User-Agent Slurp search_bot SetEnvIfNoCase User-Agent dotbot search_bot SetEnvIfNoCase User-Agent BLEXbot search_bot SetEnvIfNoCase User-Agent MJ12bot search_bot SetEnvIfNoCase User-Agent Ahrefsbot search_bot SetEnvIfNoCase User-Agent Semrush search_bot Order Allow,Deny Allow from all Deny from env=search_bot
Так мы запрещает доступ к серверу пользователям, чье имя браузера содержит Googlebot, YandexBot. Так помечают себя поисковики.
Строка «yandex.com/bots» добавлена, так как имя браузера бота яндекса не всегда содержит YandexBot. Может быть «Mozilla/5.0 (compatible; YandexImages/3.0; +http://yandex.com/bots)«. Список всех вариантов роботов от Яндекс.
Так поисковики не смогут попасть на сайт, соответственно не смогут его и проиндексировать. Но работать с . htaccess следует аккуратно, так как можно «положить» весь сайт.
Чтобы проверить способ, в браузер потребуется установить расширение для смены useragent. В маркетплейсе расширений ищите «User agent switcher«, устанавливайте любое, в котором можно ставить свое значение, а не только выбирать из списка.. В расширении ставите useragent из списка роботов яндекс, ссылка выше.
Определить ваш текущий браузер можно по ссылке. Когда вы установите useragent яндекс бота, в определении браузера должен появиться текст, что вы яндекс бот.
Проверка сайта прикинувшись поисковиком

От сисадмина 2. Добавление HTTP авторизации на сайт
В файл .htaccess следует добавить строки
AuthType Basic AuthName "Authorization" AuthUserFile /путь_до_директории/.htpasswd Require valid-user
Чтобы получить файл .htpasswd, загуглите «.htpasswd генератор онлайн«.
После при первом заходе на сайт, браузер запросит у вас логин и пароль. Поисковики ничего вводить не будут и на сайт не попадут.
Частные случаи закрытия от индексации
Закрыть от индексации страницы пагинации в Битрикс
Чтобы закрыть от индексации страницы пагинации, добавьте следующую запись в robots.txt. Внимание: добавлять строки надо после строки User-Agent: *
Disallow: ?PAGEN_* Disallow: &PAGEN_*
Должно получиться так:

Закрыть страницу от индексации
Тут есть 2 пути:
- Через файл роботс. Добавьте в файл robots.txt в корне вашего сайта строку, после строки User-Agent: *, где /your_page/ — адрес вашей страницы, без указания домена:
Disallow: /your_page/
Либо через свойства страницы в Битрикс:
Нажмите в панели над сайтом Изменить страницу — Заголовок и свойства страницы — Редактировать в панели управления — Вкладка Свойства — нажмите Еще — там спишите свойство robots, значение noindex. Сохраните
Форум
После запуска google sitemap в карте сайта появились строки
http://site.ru/ctalog/list.php?SECTION_ID=109
Такого раздела на сайте нет. При заходе на страницу выходит 404.
Как запретить или отключить индексацию этого раздела?
Заглянувший
Сообщений: 6 Регистрация: 22.05.2013
28.05.2013 22:20:13
Постоянный посетитель
Сообщений: 167 Баллов: 13 Регистрация: 30.10.2011
28.05.2013 22:53:17
Переиндексация всегда выполняется перед созданием карты сайта, но это не решает проблему.
Заглянувший
Сообщений: 6 Регистрация: 22.05.2013
28.05.2013 23:01:32
| Цитата |
|---|
| kott пишет: Переиндексация всегда выполняется перед созданием карты сайта, но это не решает проблему. |
С отключенной галкой «Переиндексировать только измененные»?
Сообщений: 2549 Баллов: 226 Регистрация: 13.02.2009
для СПАСИБО на форуме есть КНОПКА!
28.05.2013 23:06:25
В настройках инфоблока случайно урлы такого типа не фигурируют? А то может карта с ними генерируется
Сайт Startup’а — адаптивная Bootstrap вёрстка, композит, микроразметка . бесплатно
Постоянный посетитель
Сообщений: 167 Баллов: 13 Регистрация: 30.10.2011
28.05.2013 23:08:20
| Цитата |
|---|
| kott пишет: Переиндексация всегда выполняется перед созданием карты сайта, но это не решает проблему. |
Галка отключена.
Постоянный посетитель
Сообщений: 167 Баллов: 13 Регистрация: 30.10.2011
28.05.2013 23:09:15
| Цитата |
|---|
| Алексей Задойный пишет: В настройках инфоблока случайно урлы такого типа не фигурируют? А то может карта с ними генерируется |
Перебрал все инфоблоки, нигде такого url нет
Администратор
Сообщений: 8512 Баллов: 1056 Регистрация: 17.05.2007
29.05.2013 05:32:10
| Цитата |
|---|
| kott пишет: Перебрал все инфоблоки, нигде такого url нет |
Скорее всего пропустили проблема 100% в этом.
Рекомендую еще http://marketplace.1c-bitrix.ru/solutions/asd.robots/ после установки в настройках модуля поиск в исключениях вставьте /catalog/list.php и переиндексируйте, потом составьте карту сайта — поможет.
Постоянный посетитель
Сообщений: 167 Баллов: 13 Регистрация: 30.10.2011
29.05.2013 21:31:00
Инфоблок действительно был на сайте
Поставил модуль рекомендованный выше, модуль помог в решении проблемы.
Постоянный посетитель
Сообщений: 155 Баллов: 13 Регистрация: 01.09.2015
27.10.2015 16:12:39
Тот же вопрос.
Необходимо запретить индексировать некоторые разделы на сайте.
Например site.ru/catalog/zima/
указываю в маске исключения «/catalog/zima/»
Но раздел все равно индексируется и попадает в sitemap.xml
Страницы: 1 2 След.
Центр поддержки
Продукты
Управление сайтом
Битрикс24
Интернет-магазин + CRM
Решения
Для интернет-магазинов
Каталог готовых решений
Внедрение
Выбрать партнера
Проверить партнера
Стать партнером
1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507

© 2001-2023 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности
