Czego się dowiesz?
- Na czym polega otwieranie linku w nowej karcie w HTML i od czego zależy efekt w przeglądarce?
Otwieranie linku w nowej karcie w HTML polega na użyciu target=”_blank” w znaczniku <a>, ale przeglądarka tworzy technicznie nowy kontekst, nie zawsze dosłownie kartę. To, czy użytkownik zobaczy kartę czy osobne okno, zależy od ustawień przeglądarki, systemu, narzędzi dostępności i sposobu kliknięcia.
- Jak wdrożyć link otwierany w nowej karcie w WordPressie, WooCommerce lub PrestaShop?
W CMS-ach takich jak WordPress, WooCommerce i PrestaShop linki otwierane w nowej karcie często ustawisz z poziomu edytora, bez ręcznego wpisywania kodu. Trzeba jednak sprawdzić, czy system dodaje też rel=”noopener noreferrer” i przyjąć jeden standard dla opisów produktów, banerów, stopki oraz innych powtarzalnych modułów.
- Dlaczego opisowy tekst linku w HTML jest ważny dla użyteczności i dostępności?
Opisowy tekst linku od razu wyjaśnia, dokąd prowadzi odnośnik i czego użytkownik może się spodziewać po kliknięciu. Zamiast ogólnych fraz typu „kliknij tutaj” lepiej stosować komunikaty w rodzaju „Pobierz regulamin w PDF”, bo są czytelniejsze przy skanowaniu strony i lepiej działają z technologiami asystującymi.
- Gdzie otwieranie linków w nowej karcie HTML ma praktyczne zastosowanie na stronach firmowych i w e-commerce?
Nowa karta ma sens głównie przy linkach do źródeł zewnętrznych, dokumentów PDF, stron partnerów, map, systemów rezerwacji i materiałów pomocniczych. Na blogach, kartach produktów i stronach instytucji takie rozwiązanie pomaga zachować bieżącą stronę w tle, o ile liczba takich linków pozostaje ograniczona i oznaczenia są spójne.
Otwieranie linku w nowej karcie html to prosty zabieg, ale wymaga poprawnej składni, dbałości o bezpieczeństwo i zgodności z WCAG. W artykule pokazujemy, kiedy używać target=”_blank”, jak dodać rel=”noopener noreferrer” i jak nie pogorszyć UX ani SEO.
Co znajdziesz w artykule?
Na czym polega otwieranie linku w nowej karcie w HTML
Otwieranie linku w nowej karcie HTML opiera się na jednym natywnym mechanizmie: atrybucie target=”_blank” dodanym do znacznika <a>. To jedyny standardowy sposób w samym HTML, który pozwala zasugerować przeglądarce, że po kliknięciu odnośnik ma zostać otwarty poza bieżącą kartą. Nie wymaga to JavaScriptu, dodatkowych bibliotek ani niestandardowych obejść.
W praktyce warto jednak mówić precyzyjnie. Programista wpisuje target=”_blank”, ale ostateczny efekt zależy jeszcze od przeglądarki, systemu operacyjnego i ustawień użytkownika. Dla jednej osoby link otworzy się jako nowa karta, dla innej jako nowe okno, a w niektórych środowiskach może zadziałać inaczej, jeśli użytkownik korzysta ze skrótów klawiaturowych, rozszerzeń albo niestandardowej konfiguracji dostępności.
Jak działa target=”_blank” w znaczniku <a>
Znacznik <a> służy do tworzenia linków. Gdy dodasz do niego target=”_blank”, przeglądarka traktuje kliknięcie jako polecenie otwarcia zasobu w nowym kontekście przeglądania. Tym zasobem może być inna strona, dokument PDF, podstrona partnera, zewnętrzny system płatności albo panel logowania.
To ważne szczególnie wtedy, gdy chcesz zachować bieżącą stronę w tle. Dobrym przykładem są artykuły eksperckie, gdzie użytkownik czyta treść, a dodatkowy materiał źródłowy ma mu się otworzyć osobno. W takim scenariuszu otwieranie linku w nowej karcie HTML może poprawić wygodę, ale tylko wtedy, gdy jest stosowane oszczędnie i świadomie.
Warto też pamiętać, że target=”_blank” nie służy do „naprawiania” słabej nawigacji. Jeśli użytkownik musi otwierać wiele kart tylko po to, aby nie zgubić miejsca na stronie, problem najczęściej leży w architekturze informacji lub w zbyt agresywnym używaniu linków zewnętrznych.
Nowa karta a nowe okno — od czego to zależy
W języku potocznym mówi się zwykle „otwórz w nowej karcie”, ale technicznie przeglądarka tworzy nowy kontekst. To, czy będzie to karta czy oddzielne okno, zależy między innymi od:
- ustawień konkretnej przeglądarki,
- systemu operacyjnego i trybu pracy urządzenia,
- preferencji użytkownika,
- narzędzi wspomagających dostępność,
- sposobu kliknięcia, na przykład z użyciem środkowego przycisku myszy lub skrótu klawiaturowego.
Z tego powodu nie warto obiecywać w dokumentacji, komunikacie ani opisie funkcji, że dany link „na pewno otworzy nową kartę”. Lepsze i uczciwsze sformułowanie to: link otworzy się w nowym oknie lub karcie. Takie podejście jest zgodne z praktyką projektową i lepiej oddaje realne zachowanie przeglądarek.
✅ Łącz _blank z rel: Jeśli dodajesz target=”_blank”, stosuj od razu rel=”noopener noreferrer”. To prosty standard, który poprawia bezpieczeństwo bez wpływu na SEO.
Poprawna składnia linku: target=”_blank” i rel=”noopener noreferrer”
Poprawny zapis nie kończy się dziś na samym target=”_blank”. W praktyce standardem jest połączenie go z atrybutem rel=”noopener noreferrer”. Taki zapis spotkasz w nowoczesnych wdrożeniach stron firmowych, sklepów internetowych, blogów i serwisów instytucjonalnych. Powód jest prosty: chodzi jednocześnie o bezpieczeństwo, przewidywalność działania i dobrą jakość kodu.
Minimalny przykład poprawnego linku
Najprostszy poprawny wariant wygląda tak:
<a href=”https://external.example.com” target=”_blank” rel=”noopener noreferrer”>Odwiedź stronę zewnętrzną</a>
Taki zapis robi trzy rzeczy naraz. Po pierwsze, prowadzi do wskazanego adresu. Po drugie, sugeruje otwarcie w nowym kontekście. Po trzecie, ogranicza możliwość niepożądanej interakcji nowo otwartej strony z kartą źródłową. To właśnie dlatego otwieranie linku w nowej karcie HTML powinno być rozumiane nie jako pojedynczy atrybut, ale jako mały zestaw dobrych praktyk.
Wariant z linkiem zewnętrznym
Jeśli link prowadzi poza Twoją domenę, warto od razu dodać także informację dla użytkownika. Przykład zgodny z dobrymi praktykami dostępności wygląda tak:
<a href=”https://external.example.com” target=”_blank” rel=”noopener noreferrer”>Odwiedź stronę zewnętrzną<span class=”sr-only”>, otworzy się w nowej karcie</span></a>
W warstwie wizualnej użytkownik widzi krótki i zrozumiały tekst. Osoba korzystająca z czytnika ekranu dostaje dodatkową informację o zmianie kontekstu. To rozwiązanie dobrze sprawdza się na stronach z dużą liczbą odnośników: w artykułach blogowych, sekcjach z materiałami do pobrania, listingach partnerów czy kartach produktowych.
Jak wdrożyć ten zapis w CMS i edytorze treści
W wielu systemach CMS nie musisz wpisywać kodu ręcznie. W WordPressie, edytorze blokowym, klasycznym edytorze oraz w popularnych builderach zwykle znajdziesz opcję typu „Otwórz w nowej karcie”. To jednak dopiero połowa pracy. Warto sprawdzić, czy system automatycznie dopisuje również rel=”noopener noreferrer”. W nowszych wdrożeniach często tak się dzieje, ale nie jest to reguła absolutna.
W WooCommerce i PrestaShop problem pojawia się najczęściej w opisach produktów, modułach z banerami, blokach CTA i edytowalnej stopce. Tam linki bywają dodawane przez różne osoby: marketing, obsługę sklepu, administratora treści. Jeśli nie ustalisz standardu redakcyjnego, część odnośników będzie miała tylko target=”_blank”, część nie będzie miała informacji o nowej karcie, a część zostanie wstawiona bez żadnej kontroli jakości.
Dlatego w praktyce firmowej najlepiej przyjąć prostą zasadę wdrożeniową:
- dla linków zewnętrznych stosuj target=”_blank” tylko wtedy, gdy ma to uzasadnienie,
- zawsze łącz ten atrybut z rel=”noopener noreferrer”,
- dodawaj komunikat tekstowy o nowej karcie, widoczny lub ukryty dla czytników,
- kontroluj to samo w komponentach powtarzalnych, na przykład w stopce, banerach i sekcjach z dokumentami.
💡 WCAG wymaga uprzedzenia: Przy linku otwieranym w nowej karcie warto dodać jasny komunikat w treści linku lub ukryty tekst dla czytników ekranu.
Dostępność i WCAG: jak informować użytkownika o nowej karcie
Z punktu widzenia dostępności sam kod techniczny nie wystarcza. Jeśli link otwiera nową kartę lub okno, użytkownik powinien wiedzieć o tym wcześniej. Takie podejście wynika z zaleceń WCAG 2.2, w tym z techniki H83 oraz wytycznych G200 i G201. Ich sens jest prosty: nie zmieniaj kontekstu bez uprzedzenia, bo część użytkowników traci wtedy orientację.
To szczególnie ważne dla osób korzystających z czytników ekranu, powiększeń, nawigacji klawiaturowej albo uproszczonych interfejsów. Gdy ktoś aktywuje link i nagle ląduje w nowej karcie bez żadnego komunikatu, może uznać, że strona zadziałała niestabilnie. W środowiskach publicznych i instytucjonalnych jest to realny problem zgodności z poziomem AA.
Opisowy tekst linku zamiast „kliknij tutaj”
Dobry link powinien sam tłumaczyć, dokąd prowadzi. Frazy typu „kliknij tutaj”, „więcej” albo „sprawdź” bez kontekstu są słabe zarówno dla dostępności, jak i dla użyteczności. Użytkownik skanujący stronę po samych linkach nie dowie się wtedy, co dokładnie wybiera.
Zamiast tego lepiej użyć tekstu opisowego, na przykład: „Pobierz regulamin w PDF, otworzy się w nowej karcie” albo „Przejdź do serwisu producenta, otworzy się w nowej karcie”. Taki komunikat jest jednoznaczny. Pokazuje cel linku i uprzedza o zmianie kontekstu. To rozwiązanie jest czytelne dla użytkownika, pomocne dla technologii asystujących i zgodne z logiką WCAG.
Dopisek tekstowy i element sr-only
Nie zawsze chcesz rozbudowywać widoczny tekst linku. Wtedy możesz zastosować element ukryty wizualnie, ale odczytywany przez czytniki ekranu, na przykład klasę sr-only. To popularny wzorzec front-endowy, stosowany w projektach, gdzie ważna jest zgodność z WCAG 2.1 i 2.2.
Praktycznie działają dwa modele:
- model jawny — dopisek o nowej karcie jest widoczny dla każdego użytkownika,
- model wspierający — część komunikatu trafia do elementu sr-only, dzięki czemu interfejs pozostaje bardziej kompaktowy.
Na stronach firmowych i blogach zwykle dobrze działa model mieszany: widoczna ikona plus ukryty tekst dla czytników. W instytucjach publicznych częściej wybiera się komunikat widoczny wprost, bo minimalizuje ryzyko niejednoznaczności podczas audytu dostępności.
Czy sama ikona wystarczy
Najczęściej nie. Ikona z symbolem zewnętrznego linku może być przydatna wizualnie, ale sama w sobie bywa niewystarczająca. Nie każdy użytkownik rozumie znaczenie symbolu, a czytnik ekranu nie odczyta intencji projektanta, jeśli nie dostarczysz tekstowej informacji. Dlatego najbezpieczniejszy wariant to ikona + opis tekstowy albo ikona + sr-only.
Jeżeli przygotowujesz komponenty dla WordPressa, WooCommerce, PrestaShop albo serwisów publicznych, warto zdefiniować jeden wzór linku zewnętrznego i używać go konsekwentnie. Dzięki temu redaktor treści nie musi za każdym razem pamiętać o wszystkich detalach, a zgodność z WCAG nie zależy od przypadku.
Bezpieczeństwo: dlaczego sam target=”_blank” to za mało
Sam atrybut target=”_blank” nie załatwia kwestii bezpieczeństwa. Bez dodatkowych zabezpieczeń nowo otwarta strona może uzyskać dostęp do obiektu window.opener, czyli odwołania do karty źródłowej. To otwiera drogę do scenariusza znanego jako reverse tabnabbing. Z perspektywy użytkownika problem jest podstępny, bo wszystko wygląda normalnie: kliknięcie działa, link się otwiera, a zagrożenie pozostaje niewidoczne.
Czym jest reverse tabnabbing
Reverse tabnabbing polega na tym, że strona otwarta w nowej karcie próbuje zmienić zawartość karty, z której użytkownik przyszedł. W skrajnym wariancie może podmienić ją na fałszywą stronę logowania, formularz płatności albo komunikat udający znany serwis. Użytkownik wraca do poprzedniej karty i nie zauważa, że treść została podmieniona. To właśnie sprawia, że atak jest groźny.
W nowoczesnych przeglądarkach część ryzyka została ograniczona, ale nie jest to powód, by rezygnować z zabezpieczeń. Kod powinien być odporny systemowo, a nie tylko „wystarczająco dobry” dla większości przypadków. Jeśli publikujesz treści redakcyjne, obsługujesz sklep albo wdrażasz stronę dla sektora publicznego, standard bezpieczeństwa powinien być spójny niezależnie od urządzenia końcowego.
Rola noopener i noreferrer
Atrybut noopener sprawia, że nowo otwarta strona nie dostaje dostępu do window.opener. To główna ochrona przed opisanym wyżej scenariuszem. Z kolei noreferrer dodatkowo blokuje przekazanie informacji o stronie odsyłającej w nagłówku referencyjnym. W praktyce oba atrybuty często stosuje się razem, bo to prosty, krótki i powszechnie akceptowany zapis.
Dla porządku warto rozdzielić ich funkcje:
- noopener — odcina nowej stronie dostęp do karty źródłowej,
- noreferrer — nie przekazuje informacji referencyjnej o źródle ruchu.
W praktyce biznesowej ten zapis jest zalecany nawet wtedy, gdy przeglądarka i tak w części przypadków chroni użytkownika automatycznie. Powód jest prosty: kod ma być bezpieczny z założenia. Dlatego otwieranie linku w nowej karcie HTML powinno być wdrażane razem z pełnym pakietem zabezpieczeń, a nie tylko z samym _blank.
⚠️ Nie otwieraj wszystkiego w nowych kartach: Kilka takich linków na jednej podstronie bywa męczące. W ścieżkach zakupowych i formularzach łatwo w ten sposób pogorszyć orientację użytkownika.
SEO i UX: kiedy otwieranie linku w nowej karcie ma sens
Wokół linków otwieranych w nowej karcie narosło sporo mitów. Najważniejszy fakt jest prosty: target=”_blank” sam w sobie nie obniża pozycji strony w Google. Również rel=”noopener noreferrer” nie powoduje utraty wartości SEO tylko dlatego, że został dodany do linku. Dla wyszukiwarki ważniejsze są kontekst linku, jakość treści, trafność tematyczna i sposób korzystania z witryny.
Czy target=”_blank” wpływa na pozycjonowanie
Nie ma podstaw, by traktować samo target=”_blank” jako czynnik negatywny rankingowo. Jeśli link jest sensowny, opisowy i osadzony w dobrej treści, sposób otwarcia karty nie decyduje o jego wartości SEO. Podobnie noopener i noreferrer nie „zabierają link juice” w taki sposób, jak czasem błędnie się to przedstawia.
Co faktycznie może zaszkodzić? Przede wszystkim słaba użyteczność. Jeśli użytkownik otwiera serię przypadkowych nowych kart, gubi wątek, szybko zamyka stronę albo nie wie, jak wrócić do poprzedniego kroku, cierpi doświadczenie korzystania z serwisu. To z kolei może pogarszać zachowania użytkowników, a pośrednio wpływać na skuteczność treści, konwersję i odbiór marki.
Kiedy lepiej pozwolić użytkownikowi zdecydować
Nie każdy link powinien otwierać się poza bieżącą kartą. W wielu sytuacjach lepiej pozostawić decyzję użytkownikowi, bo współczesne przeglądarki dają mu wygodne narzędzia: klik prawym przyciskiem, środkowy przycisk myszy, skróty klawiaturowe czy gesty na urządzeniach mobilnych.
Najczęściej nie warto wymuszać nowej karty w tych miejscach:
- w menu głównym i nawigacji między podstronami tej samej witryny,
- w ścieżce zakupowej, szczególnie od koszyka do płatności,
- w formularzach kontaktowych, rekrutacyjnych i zapisowych,
- na stronach, gdzie użytkownik wykonuje zadanie wymagające skupienia i ciągłości.
Z kolei sensowne zastosowania to zwykle linki do zewnętrznych źródeł, partnerów, dokumentów, serwisów urzędowych albo materiałów pomocniczych. Wtedy użytkownik nie traci bieżącej strony, a jednocześnie rozumie, że przechodzi do innego podmiotu lub innego rodzaju zasobu.
Praktyczne zastosowania na stronach firmowych, sklepach i w instytucjach
Teoria jest prosta, ale największą wartość daje dopiero poprawne wdrożenie w konkretnych miejscach serwisu. Na stronach firmowych, w e-commerce i w instytucjach publicznych linki zewnętrzne pojawiają się regularnie: w artykułach, sekcjach pomocniczych, stopce, dokumentach do pobrania, kartach produktów czy panelach klienta. Właśnie tam najlepiej widać, czy zasady są spójne.
Linki zewnętrzne w blogu i opisach produktów
W blogu firmowym link otwierany w nowej karcie ma sens wtedy, gdy prowadzi do źródła, normy, producenta, partnera albo zewnętrznego narzędzia. Dzięki temu użytkownik może wrócić do artykułu bez szukania go w historii. Podobnie w opisach produktów: jeśli odsyłasz do instrukcji producenta, karty katalogowej lub niezależnej certyfikacji, osobna karta bywa uzasadniona.
Warto jednak pilnować skali. Jeśli na jednej karcie produktu znajduje się 8–12 linków z target=”_blank”, użytkownik szybko traci kontrolę nad tym, co już otworzył. Z punktu widzenia UX lepiej wybrać 1–3 najważniejsze odnośniki i oznaczyć je jasno niż mnożyć nowe karty przy każdym mikroelemencie.
PDF-y, regulaminy i serwisy zewnętrzne
Dobrym kandydatem do osobnej karty są dokumenty PDF, regulaminy hostowane poza główną strukturą strony, mapy dojazdu, zewnętrzne systemy rezerwacji, portale partnerów czy serwisy urzędowe. Użytkownik zwykle traktuje takie zasoby jako materiał poboczny albo formalny. Otworzenie ich osobno ułatwia późniejszy powrót do formularza, oferty lub artykułu.
W instytucjach publicznych i szkołach szczególnie ważne jest, by taki link był opisany precyzyjnie. Zamiast „pobierz” lepiej napisać: „Pobierz statut szkoły w PDF, otworzy się w nowej karcie”. Taki wzorzec jest prostszy do audytowania i zmniejsza ryzyko błędów dostępności.
Standard wdrożeniowy dla WordPressa i e-commerce
Jeśli tworzysz lub zlecasz wdrożenie strony w WordPressie, WooCommerce albo PrestaShop, najlepiej ustalić jednolity standard komponentów. W praktyce oznacza to, że każdy link zewnętrzny ma zdefiniowane:
- kiedy używa target=”_blank”,
- obowiązkowe rel=”noopener noreferrer”,
- tekstowy komunikat o nowej karcie,
- spójny wygląd, na przykład ikonę lub etykietę,
- kontrolę w powtarzalnych modułach, takich jak stopka, widgety, banery i sekcje CTA.
Dla firm B2B, sklepów i instytucji to nie jest detal techniczny, ale element jakości całego serwisu. Gdy zespół wdrożeniowy pracuje nad użytecznością, konwersją i zgodnością z WCAG 2.1 lub 2.2, taki standard ogranicza liczbę poprawek redakcyjnych i przyspiesza audyty. W praktyce właśnie tak powinno wyglądać dojrzałe otwieranie linku w nowej karcie HTML: bezpieczne, opisane, uzasadnione i stosowane konsekwentnie.
Najczęściej zadawane pytania
Jak otworzyć link w nowej karcie w HTML?
Najprościej użyj atrybutu target=„_blank” w znaczniku . Dobrą praktyką jest dodanie także rel=„noopener noreferrer”, np. przy linkach zewnętrznych. To jedyny natywny sposób HTML bez JavaScriptu.
Czy target=„_blank” ma wpływ na SEO?
Nie, samo użycie target=„_blank” nie obniża pozycji w Google. Również rel=„noopener noreferrer” nie powoduje utraty link juice. Na SEO bardziej wpływa jakość linku, kontekst i użyteczność treści niż sposób otwarcia karty.
Czy trzeba informować użytkownika, że link otworzy się w nowej karcie?
Tak, to zgodne z dobrymi praktykami dostępności i zaleceniami WCAG 2.2. Informacja może znaleźć się w samym tekście linku, obok niego albo w elemencie sr-only. Dzięki temu użytkownik nie traci orientacji po kliknięciu.
Po co dodawać rel=„noopener noreferrer” do linku?
Atrybut noopener blokuje dostęp nowej strony do window.opener, co ogranicza ryzyko ataku reverse tabnabbing. Noreferrer dodatkowo ukrywa dane referencyjne. W praktyce to standard bezpieczeństwa przy linkach otwieranych w nowej karcie.
Kiedy lepiej nie używać otwierania linku w nowej karcie?
Warto unikać tego rozwiązania, gdy na stronie jest dużo linków albo gdy użytkownik wykonuje ważne zadanie, np. wypełnia formularz lub finalizuje zakup. Zbyt wiele nowych kart utrudnia powrót i może obniżyć komfort nawigacji.
Czy sama ikona przy linku wystarczy, żeby spełnić wymagania dostępności?
Nie zawsze. Ikona pomaga wizualnie, ale dla wielu użytkowników, zwłaszcza korzystających z czytników ekranu, potrzebny jest też komunikat tekstowy. Najbezpieczniej połączyć ikonę z opisem lub tekstem ukrytym typu sr-only.
Jeśli stosujesz target=”_blank”, rób to świadomie: z uzasadnieniem, z informacją dla użytkownika i z pełnym zabezpieczeniem rel=”noopener noreferrer”. Dzięki temu linki będą nie tylko poprawne technicznie, ale też bezpieczne, zgodne z WCAG i wygodne w codziennym użyciu.
Jeśli chcesz dowiedzieć się więcej kliknij tutaj: https://ansite.pl/