miralinks.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 настолько простое или сложное, насколько вы его таковым сделаете. Всё зависит от ваших конкретных потребностей.

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

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

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

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

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

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

Аспирант
2 лет назад
Ответить на  seoonly.ru

Это точно!

Александр
Александр
2 лет назад

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

Аспирант
2 лет назад
Ответить на  Александр

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

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