Проблема WP: плагин Internal Link Juicer не проставляет ссылки в постах, но в админке показывает, что они есть.

Автор: | 10.01.2023

О плагине Internal Link Juicer

Хороший плагин для сайтов на WordPress, даже в бесплатной версии. Можно прописать каждому посту/странице свои ключевые слова, а плагин самостоятельно построит внутреннюю перелинковку на сайте: найдет вхождения ключей в другие статьи и страницы и проставит в их содержимом dofollow-ссылки на соответствующие страницы.

Проблема

На одном из сайтов у меня этот плагин не «заработал» из коробки. В админке WP при этом он отображал информацию, что все ссылки проставлены и вообще всё отлично. Однако на сайте я ни одной этой ссылки не увидел, потому что плагин (по крайней мере, бесплатная его версия) создает отчеты не по фактически проставленным ссылкам, а по «запланированным». А проставлена эта ссылка или нет — он не проверяет.

Долго анализировал дебаг-логи и искал инфу о проблемах совместимости с другими плагинами (WPML, ACF, кэши и пр.), отключал по очереди все плагины, обновлял их и откатывал на более старые версии… Но нигде в логах не было и намека на ошибку. Разгадка оказалась банальной — Internal Link Juicer не работает с нестандартным выводом содержимого страницы (или поста).

В процессе изучения и серии тестов выяснилось, что:

  1. Плагин не записывает изменения в поле post_content, а добавляет ссылки непосредственно при генерации страницы (да, доп нагрузка и проблемы с кэшированием некоторых плагинов, которые обрабатывают страницу до того как её обработает плагин). Сначала думал что проблема — здесь.
  2. Плагин не работает с нестандартными выводами контента. То есть, если вы извлекаете для вывода на странице контент не через функцию «the_content()», а любым другим способом — ваши ссылки не появятся. Видимо, он использует фильтры, настроенные именно на эту функцию.

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

Решение:

В моем случае помогло отредактировать код вывода контента, частично заменив мой код на the_content() для того, чтоб на сайте стали появлятся проставленные плагином ссылки.

No votes yet.
Please wait...

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

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