На одном из проектов часть статических страниц не индексировалась стандартным модулем поиска. Функция CSearch::ReIndexFile() для них всегда возвращала 0, хотя для аналогичного файла из соседнего раздела отрабатывала корректно.

Для корректной индексации файлов необходимо наличие заголовка, установленного функцией $APPLICATION->SetTitle(). Вызов этой функции обязательно должен находиться в первом php-блоке кода страницы.

Такая страница будет доступна для поиска:

<?
require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");
$APPLICATION->SetPageProperty("keywords", "keywords");
$APPLICATION->SetPageProperty("description", "description");
$APPLICATION->SetTitle("Title");
?>

А такая нет:

<?require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/header.php");?>
<?$APPLICATION->SetPageProperty("keywords", "keywords");?>
<?$APPLICATION->SetPageProperty("description", "description");?>
<?$APPLICATION->SetTitle("Title");?>

Больше статей и материалов по web-разработке в tg-канале - подписывайтесь!

Подписаться в telegram

2 комментария “Битрикс не индексирует статические страницы

  1. Дарья

    Какая разнится между первым и вторым примером?

  2. Алексей Валеев Автор записи

    Дарья, SetTitle во втором примере находится в первом php-блоке

Добавить комментарий

Ваш адрес email не будет опубликован.