Плагин Relevanssi замедляет сайт, как корректно подключать его только на страницах поиска?
Здравствуйте
Профилирование показывает что в relevanssi много времени уходит на функцию relevanssi_query, которая почему-то выполняется для каждой менюшки на сайте (их там около 10, так сайт построен). Отключение relevanssi дает ускорение генерации страницы примерно на 100-150 мс (при общем времени генерации с relevanssi 600-700 мс) - то есть замедление от плагина ощутимо. Но по факту relevanssi вообще не нужен для менюшек и обычных страниц, он нужен только на странице поиска.
Как минимальными правками кода плагина (или вообще без правок плагина) сделать так, чтобы он подключался только на страницах поиска или по другому запретить ему обрабатывать любые запросы, кроме явно относящихся к поиску статей.
Функция relevanssi_query подключается как хук add_filter( 'posts_pre_query', 'relevanssi_query', 99, 2 ) в файле /wp-content/plugins/relevanssi/lib/init.php
is_search в месте подключения видимо не выдает нужного результата, работает такой код:
if ($_GET['s']) add_filter( 'posts_pre_query', 'relevanssi_query', 99, 2 );
В этом случае менюшки на странице с результатами поиска будут все еще проходить через relevanssi_query но так как поиск на сайте используется не часто и в любом случае обходит многие элементы кэширования, этим можно пренебречь.
Решение с $_GET['s'] - допустимо, или есть более разумные способы отключить работу плагина везде кроме страниц поиска?