Как убрать автогенерацию rel="oreferrer noopener" в WordPress?

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

WordPress автоматом добавляет rel="oreferrer noopener" как это можно отключить?
Пробовал коды, не срабатывают

add_filter('tiny_mce_before_init', function ($init) {     $init['allow_unsafe_link_target'] = true;     return $init; });  add_filter('wp_targeted_link_rel', function () {     return; });  add_filter( 'wp_targeted_link_rel', 'my_function_remove_noreferrer' ); function my_function_remove_noreferrer( $rel_values ) {    return preg_replace( '/noreferrers*/i', '', $rel_values ); }

add_filter('tiny_mce_before_init', function ($init) { $init['allow_unsafe_link_target'] = true; return $init; }); add_filter('wp_targeted_link_rel', function () { return; }); add_filter( 'wp_targeted_link_rel', 'my_function_remove_noreferrer' ); function my_function_remove_noreferrer( $rel_values ) { return preg_replace( '/noreferrers*/i', '', $rel_values ); }

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

Куда это WP добавляет эти теги автоматом?

Ответы:

А зачем убирать?
Это, в общем-то, опция безопасности, закрывающая одну старую матерую дырку.

Как убрать автогенерацию rel="oreferrer noopener" в WordPress?

Может, это не ВП, а плагин какой-нибудь? Который для SEO, например. И надо где-нибудь снять галочку?
Сам ВП вроде ничего такого не добавляет, если просто ссылку через редактор блоков вставлять.

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

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

Заказать помощь
Лучший ответ
1
Стас DB Ответ

WordPress добавляет rel="noopener noreferrer" к ссылкам с target="_blank" для безопасности. noopener защищает от доступа новой вкладки к исходной странице через window.opener. Убирать его обычно не нужно.

Если вам мешает именно noreferrer, потому что не передаётся referrer, можно фильтровать атрибуты. Но делайте это осознанно:

add_filter('wp_targeted_link_rel', function ($rel) {
    $parts = explode(' ', $rel);
    $parts = array_diff($parts, ['noreferrer']);
    return trim(implode(' ', $parts));
});

add_filter('wp_targeted_link_rel', function ($rel) { $parts = explode(' ', $rel); $parts = array_diff($parts, ['noreferrer']); return trim(implode(' ', $parts)); });

Полностью отключать noopener я бы не советовал. Если всё же нужно убрать оба атрибута:

add_filter('wp_targeted_link_rel', '__return_empty_string');

add_filter('wp_targeted_link_rel', '__return_empty_string');

Но это sitewide-правка, она затронет все ссылки в контенте. Лучше сначала понять, зачем это нужно. Для партнёрских ссылок и аналитики чаще достаточно убрать только noreferrer, а noopener оставить.

После правки очистите кэш и проверьте HTML конкретной ссылки в исходном коде страницы, а не только в визуальном редакторе.

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

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

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

комментарий

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

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