Blog 24/7
ARK. S04Parametr monitoringuSEO · lista 87 parametrów

Canonical URL

ważność średniamierzonysposób seo

Czy strona główna ma poprawny tag canonical. Brak lub zły canonical to duplikacja treści w indeksie.

ARK. 1

WIKI

artykuł z 16.09.2026 · źródeł 8

Canonical URL to parametr monitoringu stron internetowych, który sprawdza, czy strona główna ma w kodzie HTML tag link rel="canonical" z niepustym adresem. Możliwe wyniki to: tag z adresem, tag bez adresu albo brak tagu. Relacja canonical wskazuje adres preferowany spośród zasobów o zduplikowanej treści [1]. MDN opisuje ją jako preferowany adres bieżącego dokumentu, który pomaga wyszukiwarkom ograniczać duplikację treści [5].

Jak działa

Adres docelowy musi według RFC 6596 wskazywać treść identyczną z treścią strony zawierającej tag albo obejmującą ją w całości [1]. Autor powinien się liczyć z tym, że wyszukiwarka zaindeksuje tylko treść adresu docelowego, przeniesie na niego np. popularność linków i pokaże go jako adres reprezentatywny [1]. Adres kanoniczny może być względny, wskazywać samą stronę, leżeć w innej domenie albo mieć inny schemat. Relację można też podać w nagłówku HTTP Link [1].

RYS. 1.1Warianty adresu, jeden kanoniczny

Google traktuje wskazanie jako wskazówkę. Strony o bardzo podobnej treści głównej łączy w grupę i sam wybiera z niej adres kanoniczny, który może się różnić od wskazanego przez właściciela [2]. Przekierowania i rel="canonical" są sygnałami silnymi, mapa witryny słabym [3]. Poza nimi Google bierze pod uwagę preferencję HTTPS przed HTTP [3].

RYS. 1.2Wybór adresu przez Google

Standardy i specyfikacje

  • RFC 6596 (2012) definiuje relację i wytyczne: jeden tag na zasób, a cel nie powinien być źródłem przekierowania stałego, adresem z własnym tagiem wskazującym gdzie indziej ani adresem zwracającym błąd 4xx [1]. Błędną deklarację aplikacja może zignorować [1].
  • Google Search Central zaleca adresy bezwzględne, choć obsługuje względne, oraz tag na samej stronie kanonicznej [3]. Tag jest akceptowany tylko w sekcji head [3]. Dokumentacja odradza kanonizację przez plik robots.txt, bo zablokowany adres może trafić do indeksu bez treści, oraz przez noindex, który usuwa stronę z wyszukiwarki całkowicie [3].
  • WordPress ma funkcję rel_canonical(), która wypisuje tag wyłącznie dla zapytań o pojedynczy wpis lub stronę (is_singular()) [6]. Adres daje wp_get_canonical_url(): bezpośredni link opublikowanego wpisu z numerem podstrony, modyfikowalny filtrem get_canonical_url [7]. Strona główna z listą najnowszych wpisów nie jest zapytaniem pojedynczym, więc sam rdzeń nie wypisze na niej tagu [6].
  • Wtyczki SEO przejmują tę rolę. Specyfikacja Yoast SEO przewiduje tag w head każdej indeksowalnej strony z kodem 200, a dla strony głównej adres złożony z protokołu, hosta i ukośnika [8].

Zagrożenia i skutki

Brak tagu. Bez wskazania Google sam wybiera wersję, którą uzna za najlepszą [3]. Typowe źródła duplikatów to warianty regionalne, wersje HTTP i HTTPS, sortowanie i filtry oraz przypadkowo dostępna wersja demonstracyjna [2].

Wiele tagów. Wtyczki SEO często dodają domyślny tag bez wiedzy właściciela. Przy wielu deklaracjach Google prawdopodobnie zignoruje wszystkie [4].

Wskazanie strony, która nie jest duplikatem. Tag z kolejnych stron artykułu na pierwszą sprawia, że ich treść nie zostanie zaindeksowana [4]. Tak samo działa szablon wpisujący każdej podstronie adres strony głównej, której treść nie obejmuje ich treści [1].

Skopiowany szablon i przejęcie. Strona zbudowana z kopii cudzego szablonu może wskazywać jako kanoniczną witrynę jego autora [4]. Po włamaniu tag może wskazać adres atakującego i przenieść na niego popularność linków, co dla ludzi jest prawie niewidoczne [1].

Przykłady

DeklaracjaOcena
link rel="canonical" href="https://www.example.com/" w headbezwzględny, wskazuje samą stronę [3]
href="/"względny: dopuszczalny [1], niezalecany przez Google [3]
href="example.com/"bez schematu to ścieżka względna, wskazanie może zostać zignorowane [4]
dwa tagi z różnymi adresamiprawdopodobnie zignorowane oba [4]
tag w bodypomijany [3] [4]
cel z przekierowaniem 301 albo błędem 4xxniezalecany, może zostać zignorowany [1]
nagłówek Link: <https://…>; rel="canonical"odpowiednik tagu, także dla plików PDF [3]
TAB. 1.1Przypisy8
  1. [1] RFC 6596 — The Canonical Link Relation · IETF
  2. [2] What is canonicalization · Google Search Central
  3. [3] How to specify a canonical URL with rel="canonical" and other methods · Google Search Central
  4. [4] 5 common mistakes with rel=canonical · Google Search Central Blog
  5. [5] HTML attribute: rel · MDN Web Docs
  6. [6] rel_canonical() — Function · WordPress.org
  7. [7] wp_get_canonical_url() — Function · WordPress.org
  8. [8] Yoast SEO: Canonical URLs — Functional specification · Yoast
ARK. 2

STATS

wyniki z systemu · tylko liczby zbiorcze
TAB. 2.1Odczyty per strona—

Ten parametr nie zapisuje odczytu per strona — przebieg zostawia tylko ustalenia, więc liczby sprawdzonych stron i wyników „ok” system nie ma. Pojawią się po wdrożeniu zapisu przebiegów per strona per parametr.

TAB. 2.3Ustalenia—

Ten parametr nie otworzył jeszcze żadnego ustalenia w bazie LAB247. Pusto nie znaczy „czysto” — znaczy, że nic nie przekroczyło reguły.

TAB. 2.4Przebiegi z tym sposobem sprawdzeniaod 09.09.2026
Przebiegów
33sposób seo
W 30 dni
0przebiegów
Ostatni
19.09.2026start przebiegu
Stron w przebiegach
—33 przebiegów bez liczby stron
ARK. 3

CARD

karta z kodu CREATO_PING, odczyt 22.09.2026

Jak ten parametr trafia do ClickUpa: wynik sondy to linia w subtasku 2. Pomiar, a usterka, którą otwiera — linia w subtasku 1. Podsumowanie (z identyfikatorem CWE i kategorią OWASP), skąd liczy się wskaźnik zagrożenia i status strony. Projekcja z bazy skanera odświeża oba subtaski co godzinę. Do 22.09 każde ustalenie dostawało własny subtask i status ze starego słownika (PODATNA, WARNING…) — te słowa zostały jeszcze w części opisów pomiaru niżej jako język wewnętrzny sond.

RYS. 3.1Droga parametru przez system: Canonical URL
TAB. 3.1Pomiarpliki: 7
Obszar i ważnośćSEO · średnia (S04)
Workflow i częstotliwośćcreato_ping_security_v2 · P3 działa na LAB247Skaner 2.0, rytm „p3” / „bezpieczenstwo”: premium co 6 h, reszta co 24 h (tier 1–3), co 9 dni (tier 4) · Dokładny skan. dns_integrity porównuje NS, MX, SPF i DMARC z wzorcem z poprzedniego przebiegu.
Sonda i helpersposób seo · CREATO_PING/helpers/seo_check.py
Testy
  1. Tylko przebieg P3; HTML strony głównej ze wspólnego pobrania przebiegu; nieudane pobranie = brak ustaleń.
  2. Pierwszy znacznik link z rel równym canonical w cudzysłowie, szukany w całym HTML.
  3. Brak znacznika albo pusty href = ustalenie; wartość adresu nie jest oceniana.
Typ wyniku0 albo 1 ustalenie seo_canonical_missing: brak tagu albo tag z pustym href
Jednostkabrak — wynik jakościowy
Próg i regułaReguła: brak tagu albo pusty href = ustalenie. Timeout 5,0 s, treść do 3 MB.
Gdzie leżą pokrętłaCREATO_PING/helpers/seo_check.py → _CANONICAL, _HREF_VALCREATO_PING/helpers/security_runner.py → do_writera (bramka gate z polityki; sito powagi zniknęło 18.09)CREATO_PING/config/incident_policy.toml → [finding] seo_canonical_missing
Retencja odczytówSurowy pomiar jako NIEZMIENNY wiersz tabeli `odczyty` w bazie skanera (wejście, wyjście, dowody, sha karty sondy i helpera, commit kodu) — trigger odrzuca każdą zmianę. Okno retencji z kohorty: 90 dni premium, 30 dni reszta; poza oknem zostają odczyty z werdyktem problemu, akcją albo etykietą, bo replay reguł ich potrzebuje (`skaner/retencja.py`). Do LAB247 ten kanał nie idzie (do bazy serwisu jadą dziś tylko sprawdzenia dostępności), więc poza odczytem zostaje werdykt w tabeli `werdykty` i sprawa w tabeli `sprawy`.
Znane rozbieżności
  1. Katalog mówi o „poprawnym” tagu, a sonda sprawdza tylko obecność i niepusty href: adres względny, adres innej domeny albo po http://, dwa tagi z różnymi adresami i tag w body przechodzą jako ok.
  2. rel=canonical bez cudzysłowów i rel z kilkoma wartościami dają fałszywy „brak tagu”.
  3. Nagłówek HTTP Link z rel=canonical nie jest czytany, choć RFC 6596 i Google uznają go za równoważny.
  4. WordPress bez wtyczki SEO nie wypisuje canonical na stronie głównej z listą wpisów — ustalenie mówi wtedy o konfiguracji, nie o awarii.
  5. Brak trzeciego stanu: nieudane pobranie strony daje pustą listę.
kandydaci do pętli: kod a opis parametru albo specyfikacja
Karta przepisana zCREATO_PING/helpers/seo_check.py · CREATO_PING/helpers/html_fetch.py · CREATO_PING/helpers/security_runner.py · CREATO_PING/config/incident_policy.toml · CREATO_PING/skaner/klasyfikacja.py · CREATO_PING/skaner/usterki.toml · CREATO_PING/skaner/ocena.py · odczyt 22.09.2026
TAB. 3.2Co oznacza failtypów Findingów: 1

seo_canonical_missing: bramka polityki zamknięta (gate=false) — zostaje odczyt i werdykt „bez_subtaska” w bazie skanera, sprawa nie powstaje, więc usterka „Brak adresu kanonicznego” (waga 1) nie wchodzi do wskaźnika strony.

KodFindingSeverityPewnośćSkutekFinding / alarmWaga → ocenaCo zrobić
S04.01Brak canonicalseo_canonical_missingNiskaEwidentnebez wpływunie / niewaga 1 → ocena 2 (zielony)Włącz canonical we wtyczce SEO.
TAB. 3.3S04.01 · Brak canonicalwersja 1 · 01.10.2026
Kod i kluczS04.01 · seo_canonical_missing · w tabeli typów
Co znaczyStrona główna bez tagu canonical.
Kiedy powstajeStrona główna zwraca kod poniżej 400 i niepusty HTML, a nie ma w nim <link rel="canonical"> albo tag nie ma href lub ma pusty href.
Severity · pewnośćNiska · Ewidentne
Skutek dla stronybez wpływu · tylko statystyka (gate=false) · alarm nie
Waga → ocenawaga 1 → ocena 2 (zielony)
KlasyfikacjaOCSF 1.9.0: poza klasami Findingu
Rekord OCSFfinding_info.analytic.uid = "S04.01" · analytic.name = "seo_canonical_missing" · finding_info.types = ["S04 Canonical URL"]
Co zrobićWłącz canonical we wtyczce SEO.
Wersje typu
  1. v1 · 01.10.2026 — kod S04.01 nadany (finding-codes.ts)
ARK. 4

LOOP

bez pętli
RYS. 4.1Pętla parametru — sześć etapów
TAB. 4.1Trafność, 30 dnialarmy · prawdziwe · fałszywe · bez rozstrzygnięcia

Trafności jeszcze nie liczymy: zamknięcie subtaska nie niesie dziś werdyktu (prawdziwy / fałszywy / nie dało się sprawdzić). Cztery liczby pojawią się, gdy każde zamknięcie dostanie werdykt — to warunek startu pętli 1.

TAB. 4.2Pętle—

Ten parametr nie przeszedł jeszcze żadnej pętli. Kolejność po pierwszych pięciu grupach ustali miara trafności.

Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com