Атрибут ссылки target blank: в каких случаях его лучше не использовать
Использование атрибута _blank приводит к тому, что ссылка открывается в новом окне или вкладке браузера. Однако на практике всё далеко не так просто, как кажется.
Атрибут ссылки _blank не только представляет собой угрозу для безопасности сайта, но также существует множество ситуаций, когда рекомендуется использовать не _blank, а нечто иное.
Из этой статьи вы узнаете, когда использование атрибута _blank не является хорошей идеей.
А спонсором блога в этом месяце выступает сервис Rookee. Когда требуется комплексное поисковое продвижение, контекстная реклама на автопилоте или формирование репутации в сети – на помощь приходят Rookee!
Что такое атрибут ссылки _blank?
Атрибут _blank указывает браузеру открыть ссылку в новой вкладке.
На странице сайта может присутствовать несколько ссылок, использующих атрибут _blank, и каждая из них, при нажатии, будет открывать новую вкладку браузера.
Более того, если пользователь нажимает на одну и ту же ссылку снова и снова, браузер будет открывать всё новые и новые вкладки.
Этично ли использовать target blank?
Некоторые вебмастеры считают, что пользователи должны сами решать, хотят ли они открыть ту или иную ссылку в новом окне.
Кто-то даже утверждает, что target blank – неэтичный SEO-инструмент, заманивающий людей в ловушку на сайте. Ведь, открывая ссылки в новом окне браузера, вы, косвенно, улучшаете поведенческие факторы своего проекта.
Проблема с этой точкой зрения заключается в том, что многие пользователи интернета до сих пор попросту не знают, что ссылки можно открывать в новых окнах. Аудитория в различных нишах технически подкована на разном уровне.
Среднестатистический посетитель сайта не знает, что можно щёлкнуть правой кнопкой мыши по ссылке (или совершить продолжительное нажатие на экране мобильного устройства) и выбрать открытие новой вкладки браузера.
Таким образом, предоставление пользователям «выбора» на самом деле не является выбором. Люди просто идут туда, куда вы их посылаете.
«Этичность» выбора одного посетителя открыть ссылку в том же веб-браузере может запутать другого, когда тот попытается вернуться на исходную веб-страницу, закрыв вкладку, в которой он сейчас находится.
Поэтому, на мой взгляд, выбор, использовать ли атрибут ссылки _blank или нет, является личным и деловым выбором каждого, отдельно взятого, вебмастера. Я на своих проектах использую.
Ссылочный атрибут _blank может угрожать безопасности сайта
Атрибут ссылки target=”_blank” может создать брешь в системе безопасности сайта. На странице Web.dev Google о рисках использования атрибута ссылки _blank говорится следующее:
Другая страница может выполняться в рамках того же процесса, что и ваша страница. Если на другой странице выполняется много JavaScript, производительность вашей страницы может снизиться.
Другая страница может получить доступ к объекту window с помощью свойства window.opener. Это может позволить другой странице перенаправить вашу страницу на вредоносный URL.
Что же делать в таком случае?
Использовать атрибуты rel=”noopener” или rel=”noreferrer” для каждой ссылки.
- Атрибут ссылки rel=”noopener” не позволяет стороннему сайту получить доступ к исходной веб-странице, с которой установлена ссылка. Это предотвращает возможность контроля или иного влияния на ссылающийся сайт.
- Атрибут ссылки rel=”noreferrer” скрывает информацию о реферере от сайта, на который ведёт ссылка. Когда посетитель сайта нажимает на такую ссылку, сайт, на который она ведёт, не знает, откуда тот пришёл.
Атрибут ссылки rel=”noreferrer” функционирует, по сути, так же, как и атрибут ссылки rel=”noopener”, поскольку он не позволяет сайту, на который ведёт ссылка, взять под контроль сайт, с которого ссылка установлена.
Поэтому, если вы хотите отправлять веб-сайтам информацию о реферере, параллельно защищаясь от уязвимости, создаваемой атрибутом ссылки _blank, используйте “noopener”.
Если же вы предпочитаете сохранять приватность и не передавать информацию о реферере, параллельно защищаясь от уязвимости, создаваемой атрибутом ссылки _blank, используйте “noreferrer”.
Безопасность данных на чувствительных веб-страницах
Существуют особые ситуации, связанные с безопасностью, когда вебмастер не хочет, чтобы пользователь создавал несколько веб-страниц. Одним из таких случаев является сайт, работающий с конфиденциальной информацией о клиентах.
Если на YMYL-проекте используется _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:
- _parent. Открывает ссылку вне iframe (а также внутри той же веб-страницы).
- _self. Открывает ссылку внутри того же iframe (или на той же веб-странице), но только если ссылка находится на том же домене. Он не будет работать, если ссылка находится на другом домене.
- _top: Открывает ссылку за пределами iframe (а также на той же веб-странице).
Ссылочные атрибуты _blank
Когда заходит речь об атрибуте ссылки _blank, можно особо не задумываться и просто использовать его вместе с noreferrer или noopener. Тем не менее, полезно знать, что существуют альтернативы.
В конечном счёте, использование ссылочного атрибута _blank настолько простое или сложное, насколько вы его таковым сделаете. Всё зависит от ваших конкретных потребностей.
СТАТЬИ ИЗ РУБРИКИ:
- Как получить больше лайков в Инстаграме: исследование NC State University
- Что такое лид-магнит: 10 актуальных примеров из практики
- Google рассказал, почему весь топ-10 занят ворованным контентом
- 8 актуальных плагинов WordPress для мобильной версии вашего сайта
- Как помочь Google ранжировать товары с дублирующимися описаниями
- Два типа краулинга Google: Discovery и Refresh
- Google не будет предоставлять подробности обновлений основного алгоритма поиска (core updates)
- Что такое OTT-реклама: руководство по использованию
- Пугающая PPC-статистика для арбитражников и рекламодателей (11 примеров и советы по выживанию)
- Чистый спам или контент для взрослых могут отравить ваш домен
Было дело, увлекался этим и чего только не пробовал: и открытие через JS, и через редирект, и даже есть такая редкая фигня, когда ссылка открывается через форму, не помню, как называется, для скрытия ссылки от поисковика.
Но я к чему, тема не раскрыта, запутался: так что с norefferer для реферальных ссылок? Партнёрки такие ссылки видят, как твои, или это слив трафика впустую?