SEO & Discoverability

Что на самом деле делают rel=noopener, noreferrer и nofollow

Три небольших атрибута ссылок с очень разными задачами: безопасность браузера, приватность реферера и сигналы для поисковых систем.

The Wux Webtools Team The Wux Webtools Team 1 минуты чтения С поддержкой ИИ, проверено человеком
Illustration of a web page link branching into security, privacy, and SEO concepts.
Содержание
  1. Краткая версия
  2. rel=noopener предотвращает reverse tabnabbing
  3. Влияет ли noopener на SEO?
  4. rel=noreferrer скрывает страницу-источник
  5. Когда полезен noreferrer
  6. Компромисс с аналитикой
  7. rel=nofollow предназначен для поисковых систем, а не для браузеров
  8. Когда использовать nofollow
  9. Чего nofollow не делает
  10. Распространенные комбинации
  11. Внешняя ссылка, открывающаяся в новой вкладке
  12. Платное размещение
  13. Пользовательская ссылка
  14. Внутренние ссылки
  15. Практическая политика для команд
  16. Как проверить, что происходит
  17. Итог

Краткая версия

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

<a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">
  External resource
</a>

Эти три токена часто вставляют вместе, как будто они делают одно и то же. Это не так.

  • noopener — это механизм безопасности браузера.
  • noreferrer — это управление приватностью и аналитикой.
  • nofollow — это сигнал для поисковых систем.

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

rel=noopener предотвращает reverse tabnabbing

rel="noopener" сообщает браузеру, что новой открытой странице не нужно давать доступ к исходной странице через window.opener.

Это важно в основном тогда, когда вы открываете ссылку в новой вкладке или окне с помощью target="_blank":

<a href="https://external.example" target="_blank" rel="noopener">
  Open external site
</a>

Без noopener целевая страница может получить возможность выполнить JavaScript вроде этого:

window.opener.location = 'https://phishing.example';

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

Современные браузеры здесь стали лучше. В текущем поведении браузеров target="_blank" обычно обрабатывается так, как если бы rel="noopener" уже присутствовал. Это хорошо, но явный атрибут от этого не становится бессмысленным. Явный noopener по-прежнему полезен, потому что:

  • он документирует ваше намерение;
  • он защищает старые или нестандартные среды просмотра;
  • он позволяет не полагаться на то, что каждое встроенное web view ведет себя как современный настольный браузер;
  • он упрощает ревью кода.

Для внешних ссылок, которые открываются в новой вкладке, rel="noopener" — разумное значение по умолчанию.

Влияет ли noopener на SEO?

Нет, сколько-нибудь значимо — нет. noopener отвечает за поведение браузера. Он не сообщает поисковым системам, одобряете ли вы страницу, должна ли передаваться ссылочная ценность или является ли ссылка платной.

Если ваша SEO-политика рассматривает noopener как директиву ранжирования, эту политику нужно отредактировать.

rel=noreferrer скрывает страницу-источник

rel="noreferrer" сообщает браузеру, что при переходе по ссылке не нужно отправлять HTTP-заголовок Referer.

Да, название заголовка исторически написано с ошибкой: Referer. Атрибут пишется как noreferrer.

Обычно, когда пользователь переходит по ссылке с вашей страницы на другой сайт, сайт назначения может получить значение реферера, показывающее, откуда пришел визит. В зависимости от Referrer-Policy вашего сайта это может быть полный URL, только origin или ничего.

Например, сайт назначения может увидеть:

Referer: https://www.example.com/pricing?plan=enterprise

или только:

Referer: https://www.example.com/

С rel="noreferrer" браузер не должен отправлять этот заголовок для такой навигации.

<a href="https://external.example" rel="noreferrer">
  External site
</a>

На практике noreferrer в современных браузерах также ведет себя как noopener. Если вы используете noreferrer, обычно вам не нужен noopener для безопасности на той же ссылке. Многие команды все равно пишут оба значения для ясности:

<a href="https://external.example" target="_blank" rel="noopener noreferrer">
  External site
</a>

Это нормально. Избыточно, но читаемо.

Когда полезен noreferrer

Используйте noreferrer, когда URL текущей страницы не должен раскрываться сайту назначения.

Типичные примеры:

  • ссылки из приватных дашбордов;
  • ссылки из неопубликованных preview-окружений;
  • ссылки из URL, содержащих чувствительные query-параметры;
  • ссылки в инструментах администрирования, очередях модерации, CRM-экранах или системах поддержки клиентов;
  • ссылки, где сайт назначения не должен знать точную страницу-источник.

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

Это соответствует более широкому направлению privacy-aware веб-дизайна. Браузеры, пользователи и регуляторы все больше движутся к тому, чтобы по умолчанию отправлять меньше фоновых данных. Если вы возвращаетесь к этой теме, наша статья о том, что изменилось для cookies в 2026 году и что с этим делать, описывает тот же общий сдвиг: меньше невидимого трекинга, более осознанные потоки данных.

Компромисс с аналитикой

noreferrer может нарушить атрибуцию для сайта, на который вы ссылаетесь. Его аналитика может классифицировать визит как прямой трафик вместо реферального.

Это не ваша основная проблема, но это может иметь значение в партнерствах, affiliate-отношениях, клиентских путях и внутренних междоменных экосистемах. Если ваша маркетинговая команда ожидает, что партнерские сайты будут видеть реферальный трафик с вашего домена, массовое применение noreferrer может создать путаницу.

Для многих обычных редакционных ссылок лучше задать заголовок Referrer-Policy на уровне всего сайта, а не добавлять noreferrer везде. Например:

Referrer-Policy: strict-origin-when-cross-origin

Такая политика отправляет полный URL для навигации внутри того же origin, отправляет только origin на защищенные cross-origin-адреса и не отправляет реферер при переходе с HTTPS на HTTP. Это практичное значение по умолчанию для многих сайтов.

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

rel=nofollow предназначен для поисковых систем, а не для браузеров

rel="nofollow" сообщает поисковым системам, что вы не хотите подразумевать одобрение страницы, на которую ведет ссылка.

<a href="https://external.example" rel="nofollow">
  User-submitted link
</a>

Изначально nofollow был введен для борьбы со спамом в комментариях. Идея была простой: если ссылки в комментариях не передают ранжирующий вес, у спамеров меньше мотивации засыпать блоги и форумы.

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

Когда использовать nofollow

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

Разумные примеры:

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

Для платных или спонсорских ссылок предпочтительнее rel="sponsored". Для пользовательского контента предпочтительнее rel="ugc". При необходимости значения можно комбинировать:

<a href="https://example.com" rel="ugc nofollow">
  User profile link
</a>

Если у вас есть публичные формы, комментарии, каталоги или страницы профилей, атрибуты ссылок — только одна часть проблемы злоупотреблений. Спам обычно начинается раньше, на этапе отправки данных. У нас есть отдельный разбор о том, почему ваша контактная форма — главный источник спам-рисков, и здесь применим тот же урок: не ждите, что nofollow компенсирует слабую модерацию.

Чего nofollow не делает

nofollow не мешает пользователям нажимать на ссылку. Он не блокирует отправку реферера браузером. Он не скрывает адрес назначения из вида. Он не защищает target="_blank".

Он также не гарантирует, что URL никогда не будет просканирован. Если поисковые системы найдут URL где-то еще, они все равно могут его просканировать. Если вам нужно предотвратить индексацию, используйте соответствующие robots-контроли на странице назначения, например noindex, а не атрибут nofollow на чужой ссылке.

Распространенные комбинации

Внешняя ссылка, открывающаяся в новой вкладке

<a href="https://external.example" target="_blank" rel="noopener">
  External resource
</a>

Это базовый вариант. Он решает проблему безопасности, возникающую при открытии нового контекста просмотра.

Если вы также не хотите отправлять данные реферера:

<a href="https://external.example" target="_blank" rel="noopener noreferrer">
  External resource
</a>

Платное размещение

<a href="https://sponsor.example" rel="sponsored">
  Sponsor site
</a>

Можно добавить noopener, если ссылка открывается в новой вкладке:

<a href="https://sponsor.example" target="_blank" rel="sponsored noopener">
  Sponsor site
</a>

Не используйте nofollow как расплывчатую замену раскрытию платных ссылок. У поисковых систем теперь есть более конкретное значение для этого: sponsored.

Пользовательская ссылка

<a href="https://user-submitted.example" rel="ugc nofollow">
  User-submitted site
</a>

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

Внутренние ссылки

Большинству внутренних ссылок не нужны ни одно из этих значений.

Не добавляйте nofollow к внутренним ссылкам как регулярную тактику скульптинга. Обычно это создает больше путаницы, чем пользы. Если страницу не нужно индексировать, решайте это напрямую. Если страницу не нужно сканировать, внимательно подумайте о robots-правилах, аутентификации, каноникализации и архитектуре сайта.

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

Практическая политика для команд

Простой внутренний стиль предотвращает большинство ошибок:

  1. Добавляйте rel="noopener" к ссылкам с target="_blank", особенно к внешним ссылкам.
  2. Добавляйте noreferrer только тогда, когда скрытие исходного URL намеренно.
  3. Добавляйте nofollow только тогда, когда вы не одобряете сайт назначения.
  4. Используйте sponsored для платных ссылок и ugc для пользовательских ссылок.
  5. Не используйте атрибуты ссылок как замену контролю доступа, модерации или правилам индексации.

Главное — намерение. Каждый токен в rel должен отвечать на конкретный вопрос:

  • Безопасность: должна ли новая страница быть изолирована от opener?
  • Приватность: должен ли сайт назначения получить информацию о реферере?
  • SEO: одобряем ли мы эту ссылку как редакционную ссылку-источник?

Если никто в команде не может ответить на эти вопросы, атрибут, вероятно, является cargo cult HTML.

Как проверить, что происходит

Для noopener откройте ссылку и проверьте, может ли сайт назначения получить доступ к window.opener. На контролируемой тестовой странице window.opener должен быть null, когда noopener активен.

Для noreferrer проверьте сетевой запрос на стороне сайта назначения или используйте логгер запросов в тестовой среде. Browser DevTools могут показать исходящие заголовки запросов, но серверные логи часто надежнее.

Для nofollow проверка менее мгновенная, потому что это интерпретация поисковой системы, а не поведение браузера. Лучший способ — инспекция исходного кода: убедитесь, что отрендеренный HTML содержит ожидаемое значение rel. Если ваш frontend-фреймворк переписывает ссылки, проверяйте итоговый DOM, а не только шаблон.

Итог

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

Щедро используйте noopener для ссылок, открывающихся в новой вкладке. Используйте noreferrer осознанно, когда важна приватность реферера. Используйте nofollow, когда делаете обращенное к поисковым системам заявление об одобрении. А когда ссылка платная или создана пользователем, используйте более конкретные современные значения: sponsored и ugc.

Этого достаточно для большинства сайтов. Цель не в том, чтобы украсить каждую ссылку. Цель — сделать так, чтобы каждая ссылка сообщала браузеру и поисковым системам ровно то, что им нужно знать.

Часто задаваемые вопросы

Должна ли каждая внешняя ссылка использовать rel="noopener noreferrer nofollow"?
Нет. `noopener` разумен для внешних ссылок, которые открываются в новой вкладке. `noreferrer` следует использовать, когда вы намеренно хотите скрыть данные реферера. `nofollow` следует использовать, когда вы не хотите одобрять сайт назначения. Они решают разные задачи.
Вредит ли noreferrer SEO?
Не напрямую. `noreferrer` влияет на информацию о реферере, которую отправляет браузер, а не на сигналы ранжирования. Он может повлиять на атрибуцию в аналитике сайта назначения, потому что визит может выглядеть как прямой трафик, а не как реферальный.
Нужен ли noopener, если современные браузеры применяют его по умолчанию?
Для ссылок с `target="_blank"` это по-прежнему хорошая явная практика. Она документирует намерение, помогает со старыми или встроенными браузерами и упрощает проверку безопасности.
Останавливает ли nofollow сканирование URL Google?
Ненадежно. Google рассматривает `nofollow` как подсказку. URL все равно может быть обнаружен и просканирован из других мест. Если нужно предотвратить индексацию, используйте правильные robots-контроли или `noindex` на странице назначения.
Можно ли комбинировать значения rel?
Да. Атрибут `rel` принимает токены, разделенные пробелами, например `rel="ugc nofollow noopener"`. Комбинируйте их, когда у каждого значения есть ясная цель.

Источники и дальнейшее чтение

  1. MDN Web Docs: rel="noopener"
  2. MDN Web Docs: rel="noreferrer"
  3. Google Search Central: Qualify your outbound links
  4. MDN Web Docs: Referrer-Policy
Об авторе
The Wux Webtools Team

Последнее обновление:

Продолжайте читать

SEO & Discoverability

Практическое руководство по alt-тексту для изображений в 2026 году

Alt-текст стал настолько привычной практикой, что большинство команд теперь добавляют его автоматически — и плохо. Вот что делает alt-текст по-настоящему полезным в 2026 году.

1 минуты чтения