При написании постов редактор WordPress автоматически добавляет некоторые теги, и это было нормально до последнего времени, когда разработчики ввели в автофрматирование атрибут rel=»noopener noreferrer».
Добавляется он в код ссылки лишь в том случае, если в ссылке присутствует атрибут target=»_blank», то есть ссылка открывает страницу в новой вкладке.
Сделано это было, как утверждается, в целях обеспечения дополнительной безопасности и так оно и есть, если-бы не одно но…
Если рекламодатель, размещающий рекламу на вашем сайте платит за переходы (клики) и отслеживает эти клики по конверсии в Google Analytics, то rel=»noopener noreferrer» оставит вас без денег.
Даже не столько noopener сколько noreferrer
Вообще-то по своему действию это два разных значения.
noopener — не позволяет новой вкладке, обычно сайта рекламодателя, воспользоваться имеющимися в javascript функциями, которые позволят получить контроль на страницей, с которой была открыта вкладка (вашего сайта).
noreferrer — запрещает передачу всей дополнительной информации из ссылки на новую вкладку. То есть все ваши реферские идентификаторы просто не передаются и переход не фиксируется.
Как-то в интернете прошла информация, что разработчики учли этот момент и из атрибута убрали noreferrer, но вот например у меня он как добавлялся так и продолжал добавляться, пока я его не запретил самостоятельно.
Для отключения noreferrer нужно зайти в файл темы functions.php и в конце вставить следующий код:
add_filter( 'wp_targeted_link_rel', 'my_function_remove_noreferrer' );
function my_function_remove_noreferrer( $rel_values ) {
return preg_replace( '/noreferrer\s*/i', '', $rel_values );
}
Работает как в старом, так и в новом редакторе WordPress.
Правда, все ранее автоматически добавленные значения noreferrer сохранятся и их нужно будет удалять вручную, но так как нам нужно почистить только реферские ссылки, а их бывает не особо много, большого труда это не составит.
Во все другие ссылки, открывающие сторонний сайт в новой вкладке, то есть имеющие атрибут target=»_blank», noreferrer можно добавить вручную.
Если вдруг вам захочется запретить так же и noopener, то в выше представленном коде нужно будет заменить слово noreferrer на noopener и так же вставить код в файл fuctions.php.
Кстати, точно так-же можно запретить автодобавление любых тегов и атрибутов в редакторе WordPress
И ещё, в настоящее время Яндекс не учитывает эти атрибуты, и если вы будете отслеживать клики по Метрике, то в ней будет представлена реальная статистика переходов.
В результате у вас могут появиться необоснованные претензии к рекламодателю, который отслеживает статистику по Google Analytics.
Поэтому, в приведённом случае, лучше удалить из ссылок данного рекламодателя атрибут rel=»noreferrer», или если вы сомневаетесь в безопасности такого действия, то обговорить иные способы отслеживания переходов.
Желаю хороших заработков.
Комментарии для сайта php
Как вставить блок во всех записях после заголовка php
Как закрыть сайт на обслуживание без плагина php
Там где он уже есть, его придётся удалять вручную. В новых ссылках не будет появляться. И это только до обновления WP. После обновления придётся делать заново.
Если не критично, то оставьте его в покое. Никакого вреда я от него, и никаких плюсов без него, не заметил.
Всё сделал как описано,а атрибут rel = ”noopener” так никуда и не делся,помогите его удалить пожалуйста!