Uptime: 99.978%
Strony WWW:
Nowe strony WWW dzisiaj:
100 000 Użytkowników w SEOHOST. To dzięki Wam! Czytaj więcej W SEOHOST Użytkownik jest zawsze na pierwszym miejscu! Czytaj więcej Z SEOHOST korzysta już ponad 90 000 Użytkowników! Czytaj więcej Pełna transparencja: uptime naszej infrastruktury Czytaj więcej Wywiad z naszym CEO na bezprawnik.pl Czytaj więcej SEOHOST.pl zdobywa 2 miejsce w rankingu NASK. Czytaj więcej Uwaga: kolejna próba phishingu! Czytaj więcej Dlaczego warto migrować do SEOHOST? Czytaj więcej
Redakcja SEOHOST.pl
Redakcja SEOHOST.pl
03 Marca 2025
4 minuty

Jakie są różnice między atrybutem NAME i ID w kotwicach HTML?

Linkowanie wewnętrzne to kluczowy element budowy struktury strony WWW. Pozwala użytkownikom płynnie przemieszczać się między sekcjami, poprawia doświadczenie użytkownika (UX), a także wpływa na pozycjonowanie strony w wyszukiwarkach (SEO). W kontekście HTML, kotwice (ang. anchor links) odgrywają tu fundamentalną rolę. W tym artykule porównamy dwa podejścia: użycie atrybutu id oraz przestarzałego name, wyjaśniając, które rozwiązanie wybrać dla efektywnej responsywnej nawigacji.

W tym artykule: 

W tym artykule wyjaśniamy kluczowe różnice między id i name, pokazuję, dlaczego jeden z nich jest standardem, a drugi już niezalecany oraz jakie znaczenie ma to dla SEO i organizacji treści na stronie WWW. Jeśli chcesz dowiedzieć się więcej, na temat tworzenia efektywnych linków HTML, polecamy zajrzeć do osobnego artykułu w naszym Centrum Pomocy: 

Wprowadzenie  do atrybutów ID i NAME

Chociaż zaczęliśmy od linków HTML, nasza wiedza się rozszerza i warto wspomnieć, że id i name mają szersze zastosowania w WordPressie i w projektowaniu stron internetowych. Możemy rozpatrywać użycie id i name w dwóch głównych obszarach:

  1. Linkowanie wewnętrzne i kotwice w treści stron – czyli sytuacje, gdy chcemy dodać odnośniki do konkretnych sekcji na stronie. To typowe dla spisów treści, nawigacji w długich artykułach czy strukturyzowania dokumentów HTML. W tym przypadku w nowoczesnym HTML5 powinno się używać id, ponieważ name w tagu jest przestarzałe.

  2. Zastosowanie w kodzie HTML, CSS i JavaScriptid i name mogą być wykorzystywane w kontekście stylowania CSS, interakcji z JavaScriptem, a także przesyłania danych formularzy:

    • id – unikalne identyfikatory dla stylów CSS (#element {}), manipulacji DOM w JavaScript (document.getElementById()), czy do kotwicowania sekcji.
    • name – wciąż kluczowe dla formularzy HTML, np. przy przekazywaniu wartości pól do serwera (), a także grupowania pól typu radio i checkbox ().

Jak to się odnosi do WordPressa?

  • W klasycznym edytorze (lub edytorze blokowym Gutenberg): Możemy korzystać z id do kotwicowania nagłówków i linkowania wewnętrznego. Wiele wtyczek (np. Table of Contents, Elementor) pozwala automatycznie generować spisy treści na tej podstawie.
  • W kodzie źródłowym motywu lub CSS: id pozwala stylować poszczególne elementy (np. #nawigacja dla menu głównego), a name używa się w polach formularzy kontaktowych czy logowania.

Podstawowe różnice funkcjonalne

Atrybut Przeznaczenie Unikalność Obszar zastosowań
id Identyfikacja elementu w DOM (CSS, JavaScript), kotwice wewnętrzne Wymagana unikalność w całym dokumencie Wszystkie elementy HTML (globalny)
name Przesyłanie danych formularza, grupowanie elementów (np. radio buttons) Może być powtarzany w formularzu Głównie formularze

Wpływ na SEO i dostępność

  • Unikalne id na nagłówkach (np. <h2 id="poradnik-seo">) ułatwia robotom analizę hierarchii treści.
  • Opisowe wartości id (np. id="tabela-cen") poprawiają kontekst semantyczny.

Dostępność (WCAG):

  • Powiązanie <label for="id"> z id pola formularza jest kluczowe dla screen readerów.
  • Błędne użycie name zamiast id może prowadzić do niespójności w nawigacji dla użytkowników z niepełnosprawnościami.

Praktyczne wskazówki dla developerów

Kiedy używać id?

  • Do stylowania CSS (#nawigacja { ... }).
  • W JavaScript do wybierania elementów (document.getElementById("przycisk")).
  • Jako cel linków wewnętrznych (<a href="#kontakt">).

Kiedy używać name?

  • W formularzach, aby serwer otrzymał dane (np. <input name="email">).
  • Do grupowania pól typu radio/checkbox.

Podsumowanie: Najważniejsze różnice między ID i NAME

Podsumowując, oba atrybuty – id i name – mają swoje miejsce w HTML, ale ich zastosowanie różni się w zależności od kontekstu.

  • Unikalność: id musi być unikalne w całym dokumencie, podczas gdy name może się powtarzać (np. w grupach pól formularza).
  • Formularze: name jest niezbędne do przesyłania danych do serwera i grupowania pól, natomiast id ułatwia integrację z CSS i JavaScript.
  • Semantyka HTML5: id stał się standardem dla linkowania wewnętrznego i kotwic, zastępując przestarzałe name w <a>.
  • SEO i dostępność: id pomaga w organizacji struktury strony, ułatwia indeksację i poprawia dostępność (WCAG). name jest niewidoczne dla robotów wyszukiwarek i ogranicza się do przetwarzania danych formularzy.

Które rozwiązanie wybrać?

Dzięki tym informacjom wiesz już, które podejście najlepiej stosować w różnych przypadkach. Jeśli tworzysz nowoczesną stronę internetową, id powinno być Twoim standardowym wyborem do kotwicowania i stylowania elementów. name natomiast pozostaje kluczowe w formularzach – to właśnie ono pozwala serwerowi przetwarzać dane użytkownika.

Warto także pamiętać, że jeśli korzystasz z nowoczesnych systemów zarządzania treścią, takich jak WordPress, wiele z tych aspektów można kontrolować bezpośrednio z poziomu edytora blokowego lub za pomocą dodatkowych wtyczek. Nie zawsze konieczna jest edycja kodu HTML, ale nawet w edytorach wizualnych id nadal pełni ważną rolę, np. w generowaniu spisów treści, linkowaniu wewnętrznym czy stylowaniu poszczególnych sekcji strony.

Podsumowując – znajomość id i name to nie tylko kwestia składni HTML, ale także umiejętność optymalnego projektowania stron, ułatwiania indeksacji oraz zapewnienia lepszej użyteczności i dostępności. Warto stosować nowoczesne podejście i unikać przestarzałych metod, aby kod był zgodny z aktualnymi standardami.

Czy udało Ci się rozwiązać problem?
Nie znalazłeś odpowiedzi na swoje pytanie?