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 е за поведението на браузъра. Той не казва на търсачките дали препоръчвате дадена страница, дали трябва да се предава link equity, или дали връзката е платена.

Ако вашата 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, не го изпращайте.

Това се вписва в по-широката посока на уеб дизайн, съобразен с поверителността. Браузърите, потребителите и регулаторите се придвижиха към изпращане на по-малко фонови данни по подразбиране. Ако преглеждате отново тази област, нашата статия за какво се промени при cookies през 2026 г. и какво да направите по въпроса разглежда същата обща промяна: по-малко невидимо проследяване, по-съзнателни потоци от данни.

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

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

Това не е основно ваш проблем, но може да има значение при партньорства, affiliate отношения, клиентски пътеки и вътрешни cross-domain екосистеми. Ако маркетинг екипът ви очаква партньорските сайтове да виждат referral трафик от вашия домейн, повсеместният noreferrer може да създаде объркване.

За много обикновени редакционни връзки по-добрият подход е да зададете заглавка Referrer-Policy за целия сайт, вместо да добавяте noreferrer навсякъде. Например:

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

Тази политика изпраща пълния URL при навигация в същия origin, изпраща само origin към защитени cross-origin дестинации и не изпраща реферер при преминаване от HTTPS към HTTP. Това е практична настройка по подразбиране за много сайтове.

Ако трябва да проверите как се държат заглавките в production, директна HTTP проверка често е по-ясна от гадаене по таблата за аналитика. Работният процес в малък набор от инструменти за debugging на redirects и HTTP headers в production се прилага директно при debugging на 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>

Това е базовият вариант. Той адресира проблема със сигурността, създаден от отварянето на нов browsing context.

Ако също не искате да изпращате referrer данни:

<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 към вътрешни връзки като рутинна тактика за sculpting. Това обикновено създава повече объркване, отколкото полза. Ако дадена страница не трябва да се индексира, решете това директно. Ако дадена страница не трябва да се обхожда, помислете внимателно за robots правила, удостоверяване, canonicalization и архитектура на сайта.

За вътрешни връзки, които се отварят в нов таб, noopener все още е безвреден и може да е подходящ. Но по-добрият въпрос е защо вътрешната връзка изобщо има нужда от нов таб.

Практична политика за екипи

Един прост вътрешен стил предотвратява повечето грешки:

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

Важното е намерението. Всеки токен в rel трябва да отговаря на конкретен въпрос:

  • Сигурност: трябва ли новата страница да бъде изолирана от opener?
  • Поверителност: трябва ли целевият сайт да получи referrer информация?
  • SEO: препоръчваме ли тази връзка като редакционна справка?

Ако никой в екипа не може да отговори на тези въпроси, атрибутът вероятно е cargo cult HTML.

Как да тествате какво се случва

За noopener отворете връзката и проверете дали целевата страница има достъп до window.opener. В контролирана тестова страница window.opener трябва да бъде null, когато noopener е активен.

За noreferrer прегледайте мрежовата заявка от страната на целевия сайт или използвайте request logger в тестова среда. Browser DevTools могат да покажат изходящите request headers, но server-side logs често са по-надеждни.

За nofollow тестването е по-малко непосредствено, защото това е интерпретация от търсачка, а не поведение на браузъра. Най-добрата проверка е преглед на изходния код: потвърдете, че рендерираният HTML съдържа очакваната стойност на rel. Ако вашият frontend framework пренаписва връзките, прегледайте крайния DOM, а не само шаблона.

Изводът

Тези атрибути са малки, но стоят на пресечната точка между сигурност, поверителност и SEO. Третирането им като взаимозаменяеми създава лоши навици.

Използвайте noopener щедро при връзки, които се отварят в нов таб. Използвайте noreferrer обмислено, когато поверителността на реферера е важна. Използвайте nofollow, когато правите изявление към търсачките относно препоръката. А когато една връзка е платена или генерирана от потребител, използвайте по-специфичните съвременни стойности: sponsored и ugc.

Това е достатъчно за повечето сайтове. Целта не е да украсявате всяка връзка. Целта е всяка връзка да казва на браузъра и търсачките точно това, което трябва да знаят.

Често задавани въпроси

Трябва ли всяка външна връзка да използва rel="noopener noreferrer nofollow"?
Не. `noopener` е разумен за външни връзки, които се отварят в нов таб. `noreferrer` трябва да се използва, когато умишлено искате да скриете referrer данни. `nofollow` трябва да се използва, когато не искате да препоръчвате целевия сайт. Те решават различни проблеми.
Вреди ли noreferrer на SEO?
Не директно. `noreferrer` влияе на referrer информацията, изпращана от браузъра, а не на сигналите за класиране. Той може да повлияе на аналитичната атрибуция за целевия сайт, защото посещението може да изглежда като директен трафик, а не като referral трафик.
Нужен ли е още noopener, ако съвременните браузъри го прилагат по подразбиране?
Все още е добра изрична практика за връзки с `target="_blank"`. Той документира намерението, помага при по-стари или вградени браузъри и улеснява прегледа на сигурността.
Спира ли nofollow Google да обхожда даден URL?
Не надеждно. 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

Практично ръководство за алтернативен текст на изображения през 2026 г.

Алтернативният текст стана достатъчно рутинен, че повечето екипи вече го добавят автоматично — и зле. Ето какво прави алтернативния текст наистина полезен през 2026 г.

1 мин четене