Как убрать next/prev link от YoastSEO?

Ссылка скопирована
1 ответ

Собственно вопрос состоит в заглавии: Как убрать next/prev link от YoastSEO. Стандартная функция ниже не работает.

function remove_nextprev_links() {     remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 ); } add_action('init', 'remove_nextprev_links');

function remove_nextprev_links() { remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 ); } add_action('init', 'remove_nextprev_links');

Дополнительно:

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Андрей PHP Ответ

Функция remove_action('wp_head', 'adjacent_posts_rel_link') убирает стандартные ссылки WordPress на соседние записи, но Yoast SEO может выводить свои элементы через собственные фильтры. Поэтому ваш код не срабатывает именно против Yoast.

В старых версиях Yoast next/prev для пагинации можно было отключать фильтром presentation. В современных версиях проще проверить, что именно выводится: adjacent posts для одиночной записи или rel next/prev для архивов/пагинации. Это разные вещи.

Для стандартных adjacent posts:

remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10);

remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10);

Для Yoast используйте фильтры Yoast, если нужно убрать конкретный output. Например, можно фильтровать presentation:

add_filter('wpseo_frontend_presenters', function ($presenters) {
    return array_filter($presenters, function ($presenter) {
        return ! is_a($presenter, 'YoastWPSEOPresentersRel_Next_Presenter')
            && ! is_a($presenter, 'YoastWPSEOPresentersRel_Prev_Presenter');
    });
});

add_filter('wpseo_frontend_presenters', function ($presenters) { return array_filter($presenters, function ($presenter) { return ! is_a($presenter, 'YoastWPSEOPresentersRel_Next_Presenter') && ! is_a($presenter, 'YoastWPSEOPresentersRel_Prev_Presenter'); }); });

Но перед удалением подумайте, зачем вы это делаете. Для обычных записей adjacent rel почти не мешает. Для пагинации архивов удаление next/prev редко даёт SEO-выигрыш. Если цель — убрать дубли или закрыть пагинацию, правильнее настроить canonical/noindex/архивы, а не просто вырезать теги из head.

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

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно