www.rookee.ru

Атрибут ссылки target blank: в каких случаях его лучше не использовать

Рубрика: Теория и статистика | Время на чтение: 8 мин.

Использование атрибута _blank приводит к тому, что ссылка открывается в новом окне или вкладке браузера. Однако на практике всё далеко не так просто, как кажется.

Атрибут ссылки _blank не только представляет собой угрозу для безопасности сайта, но также существует множество ситуаций, когда рекомендуется использовать не _blank, а нечто иное.

Из этой статьи вы узнаете, когда использование атрибута _blank не является хорошей идеей.

Атрибут ссылки target blank: в каких случаях его лучше не использовать

А спонсором блога в этом месяце выступает сервис Rookee. Когда требуется комплексное поисковое продвижение, контекстная реклама на автопилоте или формирование репутации в сети – на помощь приходят Rookee!

Что такое атрибут ссылки _blank?

Атрибут _blank указывает браузеру открыть ссылку в новой вкладке.

На странице сайта может присутствовать несколько ссылок, использующих атрибут _blank, и каждая из них, при нажатии, будет открывать новую вкладку браузера.

Более того, если пользователь нажимает на одну и ту же ссылку снова и снова, браузер будет открывать всё новые и новые вкладки.

Этично ли использовать target blank?

Некоторые вебмастеры считают, что пользователи должны сами решать, хотят ли они открыть ту или иную ссылку в новом окне.

Кто-то даже утверждает, что target blank – неэтичный SEO-инструмент, заманивающий людей в ловушку на сайте. Ведь, открывая ссылки в новом окне браузера, вы, косвенно, улучшаете поведенческие факторы своего проекта.

Пример использования атрибута target="_blank"

Проблема с этой точкой зрения заключается в том, что многие пользователи интернета до сих пор попросту не знают, что ссылки можно открывать в новых окнах. Аудитория в различных нишах технически подкована на разном уровне.

Среднестатистический посетитель сайта не знает, что можно щёлкнуть правой кнопкой мыши по ссылке (или совершить продолжительное нажатие на экране мобильного устройства) и выбрать открытие новой вкладки браузера.

Таким образом, предоставление пользователям «выбора» на самом деле не является выбором. Люди просто идут туда, куда вы их посылаете.

«Этичность» выбора одного посетителя открыть ссылку в том же веб-браузере может запутать другого, когда тот попытается вернуться на исходную веб-страницу, закрыв вкладку, в которой он сейчас находится.

Поэтому, на мой взгляд, выбор, использовать ли атрибут ссылки _blank или нет, является личным и деловым выбором каждого, отдельно взятого, вебмастера. Я на своих проектах использую.

Ссылочный атрибут _blank может угрожать безопасности сайта

Атрибут ссылки target=”_blank” может создать брешь в системе безопасности сайта. На странице Web.dev Google о рисках использования атрибута ссылки _blank говорится следующее:

Другая страница может выполняться в рамках того же процесса, что и ваша страница. Если на другой странице выполняется много JavaScript, производительность вашей страницы может снизиться.

Другая страница может получить доступ к объекту window с помощью свойства window.opener. Это может позволить другой странице перенаправить вашу страницу на вредоносный URL.

Что же делать в таком случае?

Использовать атрибуты rel=”noopener” или rel=”noreferrer” для каждой ссылки.

  • Атрибут ссылки rel=”noopener” не позволяет стороннему сайту получить доступ к исходной веб-странице, с которой установлена ссылка. Это предотвращает возможность контроля или иного влияния на ссылающийся сайт.
  • Атрибут ссылки rel=”noreferrer” скрывает информацию о реферере от сайта, на который ведёт ссылка. Когда посетитель сайта нажимает на такую ссылку, сайт, на который она ведёт, не знает, откуда тот пришёл.
Атрибут ссылки rel="noopener" помогает защитить пользователей

Атрибут ссылки rel=”noreferrer” функционирует, по сути, так же, как и атрибут ссылки rel=”noopener”, поскольку он не позволяет сайту, на который ведёт ссылка, взять под контроль сайт, с которого ссылка установлена.

Поэтому, если вы хотите отправлять веб-сайтам информацию о реферере, параллельно защищаясь от уязвимости, создаваемой атрибутом ссылки _blank, используйте “noopener”.

Если же вы предпочитаете сохранять приватность и не передавать информацию о реферере, параллельно защищаясь от уязвимости, создаваемой атрибутом ссылки _blank, используйте “noreferrer”.

Безопасность данных на чувствительных веб-страницах

Существуют особые ситуации, связанные с безопасностью, когда вебмастер не хочет, чтобы пользователь создавал несколько веб-страниц. Одним из таких случаев является сайт, работающий с конфиденциальной информацией о клиентах.

Если на YMYL-проекте используется _blank для ссылок на конфиденциальную информацию, это может привести к тому, что посетитель сайта откроет несколько веб-страниц с конфиденциальной информацией.

Неосознанно, одна из этих страниц может остаться открытой.

Например, человек может закрыть основное окно и дополнительное, где он вводил свои личные данные, и не заметить, что третье окно с конфиденциальной информацией всё ещё открыто на фоновой вкладке браузера.

В таком случае владелец сайта может воспользоваться другим ссылочным атрибутом – blank (без нижнего подчёркивания).

В чём разница между target blank и _blank

Атрибут “blank” откроет ссылку в новой вкладке браузера. Однако, в отличие от атрибута _blank, все остальные ссылки на исходной веб-странице также откроют связанную страницу на той же вкладке, что и первая нажатая ссылка.

Например, если на странице имеется пять ссылок, использующих атрибут “blank”, и пользователь нажимает на первую ссылку, она открывается в новом окне. Затем, клик по второй ссылке приведёт к тому, что страница загрузится в том окне, которое открылось при нажатии на первую ссылку. И так далее.

Альтернатива атрибуту _blank

Кстати, вы вовсе не обязаны использовать слово blank. Можно подставить практически любой другой набор символов.

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

Например, можно закодировать ссылку следующим образом:

<a href=”https://www.example.com/” target=”_SEOA” rel=”noreferrer”>

В таком случае она откроется в новой вкладке браузера.

Теперь возьмём две ссылки с одинаковым атрибутом:

<a href=”https://www.example.com/” target=”_SEOA” rel=”noreferrer”>

<a href=”https://www.example.net/” target=”_SEOA” rel=”noreferrer”>

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

Возможно, вы не захотите использовать _blank для фреймов

Бывают случаи, когда вебмастеру необходимо использовать не атрибут _blank, а что-то другое. Одним из таких случаев является использование встроенных фреймов.

Инлайн-фрейм (iframe) – это элемент HTML, который может содержать внутри себя другой веб-документ.

Например, некоторые рекламные объявления содержатся во фрейме, так что, в итоге, они оказываются веб-страницей внутри веб-страницы.

Inline frame кодируется с помощью элемента iframe (также называемого тегом iframe).

Поскольку iframe – это, по сути, веб-страница, встроенная в другую веб-страницу, в спецификациях HTML есть атрибуты ссылок, специфичные для iframe, которые заставляют ссылки, встроенные в iframe, вести себя определённым образом.

Внутри iframe по-прежнему можно использовать _blank для открытия веб-страницы в новой вкладке браузера. Но это не рекомендуется, если вам требуется определённое поведение iframe.

Существует три атрибута ссылки, специфичных для iframe:

  1. _parent. Открывает ссылку вне iframe (а также внутри той же веб-страницы).
  2. _self. Открывает ссылку внутри того же iframe (или на той же веб-странице), но только если ссылка находится на том же домене. Он не будет работать, если ссылка находится на другом домене.
  3. _top: Открывает ссылку за пределами iframe (а также на той же веб-странице).

Ссылочные атрибуты _blank

Когда заходит речь об атрибуте ссылки _blank, можно особо не задумываться и просто использовать его вместе с noreferrer или noopener. Тем не менее, полезно знать, что существуют альтернативы.

В конечном счёте, использование ссылочного атрибута _blank настолько простое или сложное, насколько вы его таковым сделаете. Всё зависит от ваших конкретных потребностей.

ПОНРАВИЛСЯ ПОСТ? ПОДЕЛИСЬ ССЫЛКОЙ С ДРУЗЬЯМИ!

Получать новые публикации по электронной почте:

Skyeng

СТАТЬИ ИЗ РУБРИКИ:

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

4 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
seoonly.ru
11 месяцев назад

безопасность превыше всего

Аспирант
11 месяцев назад
Ответить на  seoonly.ru

Это точно!

Александр
Александр
11 месяцев назад

Было дело, увлекался этим и чего только не пробовал: и открытие через JS, и через редирект, и даже есть такая редкая фигня, когда ссылка открывается через форму, не помню, как называется, для скрытия ссылки от поисковика.
Но я к чему, тема не раскрыта, запутался: так что с norefferer для реферальных ссылок? Партнёрки такие ссылки видят, как твои, или это слив трафика впустую?

Аспирант
11 месяцев назад
Ответить на  Александр

Noreferrer не влияет на партнёрские ссылки. Большинство партнёрских программ полагаются не на «реферальный трафик» для начисления конверсии, а на ID партнёра, который указан в ссылке.

4
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x