Модуль для создания семантического ядра сайта

17.12.2017

Опубликовал месяца 3 назад на drupal.org модуль и забыл сделать тут анонс...
И нигде не делал анонс, но западные товарищи таки модуль нашли и уже стали постить баги и просить новые фичи.
Короче, - пришло время снова вернуться к модулю и ещё больше его улучшить, поэтому хочу услышать пожелания/баги от русского сообщества, а затем я уже возьмусь там что-то править.

Итак, модуль формирует семантическое ядро сайта.
Модуль keywords - статистика ключевых слов сайта
Как он это делает?
При сохранении ноды её текст (боди), анонс, заголовок парсятся на предмет ключевых слов, которые вычисляются на основании частоты вхождений.
То есть в настройках модуля задаётся порог повторов, а также количество слов в ключевых фразах. Таким образом каждая нода получает вкладку ("таб"), который называется "Ключевые слова" и есть список этих самых ключевых слов и ключевых фраз (словосочетаний).

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

Вроде бы все описал. Писал по памяти - подробности на странице модуля keywords на drupal.org

Из-за того, что парсить ноды дело достаточно хлопотное, то в модуле есть запуск этого парсера (назовем его "индексация") по крону для нод, у которых ещё нет списка ключевых слов - т.е., которые не проиндексированы модулем.

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

Есть список стоп-слов, которые исключаются из индексации, но только русские и английские. Западные товарищи просили дать возможность добавлять другие языки... Думаю, что это нужно будет сделать.

Ещё была задумка получать из яндекса частоты запросов по каждому ключевику, чтобы видеть насколько нода/сайт соответствует тому, что люди ищут. Парсер водстата яндекса есть и даже работает через прокси, но индекс часто их банит за частые обращения и поэтому дело дальше не пошло.

PS. Забыл сказать, что найденные ключевые слова и фразы можно сохранять в любой словарь таксономии, который выбирается в админке модуля. Далее этот словарь можно сделать скрытым (он не показывается), а модуль NodeWords (Metatags) настроить на использование этого словаря для формирования мета тега description.
В общем, - есть место для творчества.