Контролируемая плотность слов (медиана)

Описание

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

Модуль позволяет настроить добавление до или после названия элемента слова, что позволяет получить нужную плотность по слову на листинге. Настройка осуществляется для конкретного раздела, поэтому один и тот же элемент, привязанный к нескольким разделам, может иметь разное наименование в листингах разных разделов. Можно использовать как с компонентами типа список элементов каталога, так и со списком новостей и другими.

Модуль предназначен для работы с инфоблоками, в которых есть разделы. Слова задаются для разделов, если в будущем у раздела поменяется адрес, то настройка останется актуальной.

Модуль не осуществляет замену слов, для решения этой задачи Вы можете использовать решение [URL=https://marketplace.1c-bitrix.ru/solutions/kemplox.replacewords/]Замена слов в названиях[/URL].
.
Для удобства поиска есть фильтр по инфоблокам, разделам, словам.

После установки в разделе «Контент» административной панели появится пункт «Контролируемая плотность слов (медиана)».

1. Выберите инфоблок, выберите раздел.

2. Добавьте ключевые слова, указав их расположение (до названия или после) и количество повторений. Вывод слов идет поочередно. Если Вы задали слово «До» 5 раз и слово «После» 5 раз, то сначала будет выведено пять раз «До», а потом еще пять раз «После». Вместе они выведены не будут.

3. Пагинация не учитывается. Если Вы задали слово «До» 5 раз и слово «После» 5 раз, то и на первой странице списка элементов они будут выведены, и на второй странице они снова будут выведены, аналогично первой.

4. Модуль обрабатывает название элемента и, если задан, заголовок элемента, заданный в seo-шаблонах ($arItem[«NAME»] и $arItem[«IPROPERTY_VALUES»][«ELEMENT_PAGE_TITLE»]). Если в качестве заголовка элемента выводятся какие-то свои свойства (например, [«PROPERTIES»][«NAME_ENGLISH»][«VALUE»]), то они обработаны не будут и к ним не будут добавлены слова.

5. В коде шаблона компонента, выводящего список элементов, нужно добавить функцию:
[CODE]if(BitrixMainLoader::includeModule(«kemplox.controlledwords»))
    kemploxmodulescontrolledwordsController::updateTitles($arItems, $sectionID);[/CODE]где $arItems — массив с выводимыми элементами, в которых есть поле [«NAME»] и/или [«IPROPERTY_VALUES»][«ELEMENT_PAGE_TITLE»], $sectionID — ID текущего раздела.

Например, можно в конец файла result_modifier.php или в начале файла template.php шаблона компонента catalog.section добавить этот код:         
[CODE]if(BitrixMainLoader::includeModule(«kemplox.controlledwords»))
    kemploxmodulescontrolledwordsController::updateTitles($arResult[«ITEMS»], $arResult[«ID»]);[/CODE]
[B]Выше представлены лишь образцы кода, они не универсальны и могут отличаться на разных проектах. Перед модификацией кода шаблона рекомендуем сделать его резервную копию. Модификацию кода рекомендуем производить посредством FTP-доступа.[/B]

6. Рекомендуем после обработки сбросить кеш.

Модуль тестировался на Битриксе версии от 18.0.6 и старше, php от 5.6 и старше. Но должен работать с версиями Битрикса от 15 и старше, хотя это не тестировалось.

Детали

Разработчик

Тестовый период (дней)