Если вы занимаетесь веб-разработкой или поисковой оптимизацией (SEO), скорее всего, вы сталкивались с терминами noopener, noreferrer и nofollow. Что такое noopener noreferrer? Как насчет nofollow? В этом посте мы объясняем их все и их значение для SEO и веб-безопасности.
Вступление
Все три термина (noopener, noreferrer и nofollow) являются значениями атрибута rel тега ссылки в HTML. Возможно, nofollow является наиболее известным среди веб-разработчиков и SEO experts
.
Тег <a>
ссылки обычно используется в HTML для определения URL/ссылки. Например, рассмотрим следующую строку кода.
<a href="https://pavefilippov.ru">
Нажмите чтобы посетить сайт.
<a>
Вы можете видеть, что используется атрибут href (href из гипертекстовой ссылки), который используется, и что значением этого атрибута является веб-адрес домашней страницы Point Jupiter. Далее следует текст, который отображается вам как пользователю. В зависимости от вашего CSS и браузера этот текст может быть подчеркнут, окрашен по-разному или и то, и другое.
Тэг ссылки может иметь множество различных атрибутов, один из которых — rel (отн. rel из RELationship). Ключевой темой этого сообщения в блоге являются noopener, noreferrer и nofollow — все три из них являются значениями атрибута rel.
Снова рассмотрим следующую строку кода.
<a href="https://pavefilippov.ru"
rel="noopener noreferrer nofollow"
target="_blank">Нажмите чтобы посетить сайт.
</a>
Вы можете быстро заметить три значения rel
атрибута. Но теперь вы также можете увидеть целевой атрибут с _blank
значением. Эта часть кода указывает веб-браузеру открыть эту ссылку в новой вкладке.
И это основная причина, по которой используются значения типа noopener
и noreferrer
. Это также является основной причиной потенциальных проблем безопасности и фишинга.
Давайте обсудим их более подробно и их важность для SEO и безопасности, а также когда вы должны добавлять rel
, добавлять nofollow
и каково значение добавления rel noopener.
Что такое noopener?
Когда вы используете target=" _blank"
, происходит нечто интересное. Страница, на которую вы ссылаетесь, получает частичный доступ к странице ссылки. Он делает это через window.opener
объект.
Затем ссылочную страницу можно использовать window.opener.location
для открытия вредоносного веб-сайта.
Использование target _blank может привести к проблемам с безопасностью. Фото Маркуса Списке на Unsplash.
Это может быть использовано для фишинговых атак. Рассмотрим следующий сценарий.
Вы создаете вредоносный веб-сайт и размещаете на нем вирусный контент. Затем вы делитесь этим веб-сайтом в социальных сетях или других источниках, которые открывают внешние ссылки, используя расширение target="_blank"
. Facebook является ярким примером здесь.
Ничего не подозревающий пользователь нажимает на ссылку, и ваша веб-страница открывается в новой вкладке. В этот момент ваш вредоносный веб-сайт теперь контролирует предыдущую вкладку («Facebook»). С помощью window.opener.location
он переходит на новый сайт — скажем, на форму входа, имитирующую экран входа в Facebook с сообщением: «Ваш предыдущий сеанс Facebook истек. Пожалуйста, войдите в систему еще раз, чтобы продолжить использование Facebook».
Теперь пользователя обманом заставляют ввести данные для входа в систему, и он становится жертвой фишинговой атаки.
Это всего лишь гипотетический случай, поскольку Facebook использует rel="noopener"
в своих target=" _blank"
ссылках. Но вы поняли.
Подробнее
Использование noopener
эффективно говорит браузеру открыть ссылку в новой вкладке, не предоставляя контекстный доступ к веб-странице, которая открыла ссылку. Это достигается за счет того, что свойство window.opener
не устанавливается, что возвращает нулевое значение.
Указывает браузеру открыть ссылку, не предоставляя новому контексту просмотра доступ к документу, который его открыл, — не устанавливая window.opener в открытом окне (он возвращает null
).
Таким образом, rel="noopener"
и его значение никак не влияют на поисковую оптимизацию (SEO). Это SEO-агностик. Но его стоит использовать в тех случаях, когда вы имеете дело со ссылками с целевым пробелом.
Что такое noreferrer?
Аналогично по своей функции noopener
, noreferrer
также предотвращает манипулирование window.opener
объектом вновь открытым сайтом. Но, кроме того, noreferrer
не позволяет браузеру при переходе на другую страницу отправлять адрес ссылающейся веб-страницы.
Проще говоря, это noreferrer
значение будет скрывать информацию о реферере при нажатии на ссылку. Например, если кто-то разместит вашу ссылку на своей веб-странице и использует noreferrer
, а затем пользователи нажмут на эту ссылку, вы не сможете сказать, откуда пришли эти пользователи. В вашем аналитическом программном обеспечении (скажем, Google Analytics) это будет отображаться как прямой трафик, а не как переход.
Опять же, noreferrer
это также не влияет на SEO, но может исказить цифры в вашей аналитике и программном обеспечении для отслеживания, сообщая о большем прямом трафике.
Есть также некоторые соображения относительно аффилированного маркетинга и noreferrer
, но они выходят за рамки этой статьи. В целом партнерские ссылки и партнерские программы сейчас используют подходы и методы, не зависящие от noreferrer
ценности.
Итак, когда вы должны использовать noreferrer
и когда noopener
? Я предлагаю вам рассмотреть возможность использования обоих. Большинство современных браузеров поддерживают noopener
, но в некоторых случаях, если они noopener
не поддерживаются, вы можете использовать noreferrer
.
Это означает, что с практической точки зрения имеет смысл использовать их оба для поддержки старых браузеров. Но лучшим подходом было бы вообще избегать использования target="_blank"
. Если только у вас нет веских причин для его использования.
Что такое nofollow?
В поисковой оптимизации очень важно получить много ценных и качественных ссылок, ведущих на вашу страницу. Это так называемые обратные ссылки. Но не все ссылки одинаковы.
В общем, когда одна страница ссылается на вашу — она передает свой ссылочный вес — это означает, что это повышает доверие к вашему сайту и сигнализирует поисковым системам, что они ценят ваш сайт. По сути, вы можете считать это одобрением. Если веб-страница с высоким авторитетом ссылается на вас — она поддерживает вас, и Google/Bing сочтет это фактором ранжирования. Google использует термин PageRank как меру количества и качества ссылок.
Однако иногда вы не хотите передавать сок ссылок. Это может иметь место при внутренних ссылках на ваши страницы — например, вы можете не захотеть передавать свой ссылочный вес с более ценных страниц на менее важные.
Введите rel="nofollow"
. Так же, как его кузены noopener noreferrer
, nofollow
является значением атрибута rel
. Когда вы добавите это значение, оно будет сигнализировать поисковым системам о том, что вы не хотите передавать ваш ссылочный вес/PageRank странице, на которую вы ссылаетесь.
<a href="https://pavefilippov.ru" rel="noopener noreferrer nofollow"
target="_blank">Нажмите чтобы посетить сайт.
</a>
В приведенной выше строке кода мы помещаем все три значения — добавляя nofollow
значение, мы сигнализируем Google, что PageRank/ссылочный вес не передается на веб-сайт pavelfilippov.ru .
Когда следует использовать nofollow?
Общее правило — использовать nofollow
по ссылкам в комментариях или на форумах. Пользовательский контент может быть источником спама и некачественных ссылок. Вы же не хотите, чтобы ваш блог или веб-форум передавали свою ценность этим низкокачественным страницам.
Кроме того, Google и другие поисковые системы требуют, чтобы вы использовали nofollow
все рекламные ссылки и рекламу. То же самое верно для ссылок в пресс-релизах и различных видов платных ссылок.
Немного о терминологии — noopener noreferrer nofollow
Иногда вы заметите, что люди упоминают noopener
тег или noreferrer
тег. В других случаях вы можете определить rel noreferrer
атрибут. Хотя они понятны большинству веб-разработчиков, стоит отметить следующее.
noopener
,noreferrer
, иnofollow
не являются тегами или атрибутами. Это значения атрибутов.rel
это не тег. Это атрибут тега ссылки.<a>
является тегом HTML. Как таковой он имеет атрибуты (т.е.rel
), и эти атрибуты имеют значения (noopener noreferrer nofollow
)
Вывод
Есть три основных значения rel
атрибута тега ссылки. Они noreferrer
, noopener
, и nofollow
.
rel="noopener"
вы используете для всех ссылок, открывающихся в новых вкладках, используя расширениеtarget _blank
. Существуют последствия для безопасности, если вы не используетеnoopener
для своих ссылок, открывающихся в новых вкладках. Злоумышленник может использоватьwindow.opener
для изменения содержимого и местоположения исходной страницы.rel="noreferrer"
может служить той же цели, что иnoopener
, особенно в старых браузерах. Следовательно, имеет смысл использовать их оба. Кроме того,noreferrer
это может повлиять на вашу аналитику и сообщить о трафике как о прямом, а не о реферальном.rel="nofollow"
сообщит поисковым системам, чтобы они не передавали ссылочный вес на связанную страницу, и она не будет передавать PageRank. Вы можете рассматривать его как значение, которое используется, когда вы хотите сделать ссылку на какую-то другую страницу, но не «одобряете» ее. Это единственное значениеrel
в этом списке, которая оказывает ощутимое влияние на усилия SEO.