Отключение rel="noopener noreferrer" в WordPress

Image

Приветствую!

Разработки WordPress не перестают удивлять нововведениями. Многие из них полезны, однако некоторые могут и навредить. И в данном случае речь идёт о избыточном самоуправстве, а именно автоматическом добавлении к ссылкам, что открываются в новом окне, атрибута rel="noopener noreferrer".

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

Содержание:

Что такое rel="noopener noreferrer"

В строке представлено сразу два атрибута:

  • Атрибут noopener – данный атрибут введён в целях повышения безопасности, но весьма условное. Дело в том, что в арсенале функций JavaScript имеются и такие, которые позволяют получить контроль над окном с открытым сайтом, с которого был осуществлён переход: видоизменить его, получить доступ к вводимым на вашем сайте данным. Т.е. если по вашей ссылке перейдут на такой сайт, где используется подобный вредоносный JavaScript код, то существует гипотетическая возможность того, что по возврату (в рамках текущей сессии) во вкладку к вашему сайту там могут что-то изменить и перехватить. Всё это, естественно, происходит только в окне браузера пользователя, на сам сайт это никак не влияет. Если ваш ресурс информационный и вы не ссылаетесь на сомнительные сайты, то вам нечего опасаться. Этим и объясняется тот факт, что на большинстве сайтов по сей день ссылки обычные, без этих атрибутов.
  • Атрибут noreferrer – значение этого атрибута куда более простое. Он отвечает за затрет передачи браузером реферера. Т.е. сайт, на который вы ссылаетесь, не сможет узнать (не будет видно в логах и посредством JavaScript-ов), откуда вы пришли.

Отключение автоматической вставки rel="noopener noreferrer" в Вордпресс

В этом нам помогут всего несколько строчек кода:

add_filter('tiny_mce_before_init', function ($init) {
    $init['allow_unsafe_link_target'] = true;
    return $init;
});

add_filter('wp_targeted_link_rel', function () {
    return;
});

Оные строчки необходимо вписать в файл functions.php используемой темы. Более подробно о том, где этот файл находится и как в него вписать приведённые выше строчки, рассказывается в материале «Файл functions.php – зачем он нужен, как его редактировать в WordPress».

Сделав это, более атрибут rel="noopener noreferrer" не будет добавляться и сохраняться автоматически при создании и редактировании записи и \ или страницы. Если же вы сами укажете в ссылке один или оба атрибута, то всё будет сохранено в неизменном виде, т.е. вы вернёте полный контроль над тем, какими должны быть те или иные ссылки на вашем сайте.

Причём не имеет значения, пользуйтесь ли вы новым редактором «Гутенберг» или вернули с помощью плагина классический вариант, который по праву по сей день считается куда более удобным вариантом создания и редактирования материалов на сайте, работающим под управлением движка Вордпресс.

Пожертвование сайту WPuse.ru (cбор пожертвований осуществляется через сервис «ЮMoney»)