Przekierowanie www ↔ bez www
ważność średniamierzonysposób www_redirect
Czy jedna forma przekierowuje na drugą. Brak to dwie różne wersje strony i problem z SEO oraz cookies.
WIKI
artykuł z 17.09.2026 · źródeł 9Przekierowanie www ↔ bez www to parametr monitoringu stron internetowych, który sprawdza, czy obie formy adresu domeny — z przedrostkiem www. i bez niego — prowadzą do jednej formy kanonicznej. Pomiar sprawdza, czy forma z www ma rekord w DNS, wysyła żądanie na każdą z form, podąża za przekierowaniami i porównuje adresy końcowe. Problemem są dwie formy odpowiadające kodem 200 bez przekierowania albo forma prowadząca na inną domenę; forma, która nie odpowiada, to sprawa dostępności, nie formy adresu. Google zaleca, by spośród adresów, pod którymi dostępna jest strona, na przykład https://example.com/home albo https://www.example.com, wybrać jeden preferowany i przekierować na niego ruch z pozostałych [1].
Jak działa
Dla DNS example.com i www.example.com to dwie osobne nazwy z własnymi rekordami. Nazwa główna domeny jest węzłem, w którym stoją rekordy NS strefy [4] i dokładnie jeden rekord SOA [5]. Każda z form może więc wskazywać inny serwer albo nie mieć rekordu wcale.
Samo przekierowanie jest sprawą serwera HTTP: odpowiedź z kodem 3xx i nagłówkiem Location. Kody i ich różnice opisuje artykuł Przekierowanie HTTP → HTTPS. Kanonikalizacja to wybór reprezentatywnego adresu treści: Google grupuje strony o tej samej treści głównej i wybiera jedną jako kanoniczną [3]. Stronę kanoniczną robot odwiedza regularniej, a duplikaty rzadziej, żeby zmniejszyć obciążenie [3]. Przekierowanie jest dla Google silnym sygnałem wyboru, podobnie jak adnotacja rel="canonical", a obecność w mapie witryny — słabym [2]. Jeśli właściciel nie wskaże adresu kanonicznego, Google wybierze go sam [2].
Poprawna konfiguracja to taka, w której jedna forma odpowiada treścią, a druga stałym przekierowaniem na nią. Pozostałe przypadki różnią się skutkami.
Standardy i specyfikacje
- RFC 1034, § 3.6.2: rekord CNAME oznacza nazwę jako alias nazwy kanonicznej, a jeśli w węźle jest CNAME, nie powinno tam być innych danych [4]. Rekordy NS stoją w węźle głównym strefy [4], a RFC 1035 przewiduje tam dokładnie jeden rekord SOA [5]. Nazwa główna domeny nie może więc być aliasem CNAME, a forma z
wwwmoże. - Spłaszczanie CNAME i rekordy alias obchodzą to ograniczenie po stronie dostawcy DNS. Cloudflare w 2014 r. wprowadził spłaszczanie CNAME: jego serwery autorytatywne same przechodzą łańcuch CNAME do rekordu A i zwracają adres IP [6]. Amazon Route 53 pozwala utworzyć w nazwie głównej rekord alias, choć nie pozwala na CNAME, i odpowiada na zapytanie adresami IP zasobu docelowego [7].
- Google Search Central zaleca przekierowanie z pozostałych adresów na preferowany [1] i przestrzega przed certyfikatem dla złego wariantu hosta: certyfikat musi pasować do pełnego adresu witryny albo być certyfikatem wieloznacznym [2].
- RFC 9525: symbol wieloznaczny w certyfikacie pasuje tylko do jednej etykiety nazwy [8], więc certyfikat
*.example.comnie obejmuje samegoexample.com. Szczegóły: Ważność certyfikatu SSL. - RFC 6265 ustala, że atrybut
Domainwskazuje hosty, do których ciasteczko będzie wysyłane: przy wartościexample.comprzeglądarka dołączy je do żądań doexample.com,www.example.comiwww.corp.example.com[9]. Bez tego atrybutu ciasteczko wraca tylko do serwera, który je ustawił [9].
Zagrożenia i skutki
Dwie wersje strony. Gdy obie formy odpowiadają kodem 200 bez przekierowania, powstają duplikaty. Wskazanie adresu kanonicznego pozwala wyszukiwarce połączyć sygnały poszczególnych adresów, np. linki, w jeden adres preferowany [2]; bez tego Google wybiera sam [2], a wskazania właściciela traktuje jako podpowiedź i może wybrać inny adres [3]. Rozproszone adresy utrudniają też zebranie statystyk dla jednej treści [2].
Niespójne sesje. Ciasteczko ustawione przez example.com bez atrybutu Domain wraca tylko do tego hosta [9], więc zalogowany użytkownik po przejściu na www.example.com może nie zostać rozpoznany. RFC 6265 ostrzega, że część przeglądarek błędnie wysyła takie ciasteczko także do www.example.com [9], więc zachowanie strony bywa różne w różnych przeglądarkach. Przeglądarka odrzuca też ciasteczko, którego Domain nie obejmuje serwera ustawiającego [9].
Certyfikat tylko dla jednej formy. Przekierowanie z https://www.example.com przeglądarka zobaczy dopiero po udanym uzgodnieniu TLS dla nazwy z www. Certyfikat musi pasować do adresu witryny [2], a certyfikat wieloznaczny nie obejmuje nazwy głównej [8]. Przy braku dopasowania odwiedzający widzi błąd certyfikatu, zanim dotrze do przekierowania.
Hosting wskazywany przez CNAME. Gdy usługę hostingową wskazuje się rekordem CNAME, tego rekordu nie da się postawić w nazwie głównej [4]. Cloudflare opisuje, że przez to domeny bez www nie mogły wskazywać usług takich jak AWS ELB czy Heroku, a właściciele musieli używać formy z www albo stałych adresów IP [6]. Jeśli stały adres się zmieni, a forma z www podąża za CNAME, działa tylko jedna z form.
Przykłady
| Konfiguracja | Forma z www | Forma bez www | Ocena |
|---|---|---|---|
| Przekierowanie z www na formę bez www | 301 na example.com | 200 | jeden adres preferowany [1] |
| Przekierowanie z formy bez www na www | 200 | 301 na www.example.com | jeden adres preferowany [1] |
| Brak przekierowania | 200 | 200 | duplikat, adres kanoniczny wybiera Google [2] [3] |
| CNAME tylko dla www, nazwa główna ze starym adresem IP | 200 | stary serwer albo błąd | CNAME w nazwie głównej niedozwolony [4] [6] |
| Nazwa główna przez spłaszczenie CNAME albo alias | 200 | 200 lub 301 | adres IP podaje serwer DNS dostawcy [6] [7] |
Certyfikat tylko dla example.com | błąd certyfikatu przed przekierowaniem | 200 | certyfikat musi pasować do nazwy [2] [8] |
| Ciasteczko sesji bez atrybutu Domain | sesja nierozpoznana | sesja aktywna | ciasteczko tylko dla hosta, który je ustawił [9] |
- [1] Redirects and Google Search · Google Search Central
- [2] How to specify a canonical URL with rel="canonical" and other methods · Google Search Central
- [3] What is URL canonicalization · Google Search Central
- [4] RFC 1034 — Domain Names: Concepts and Facilities · IETF
- [5] RFC 1035 — Domain Names: Implementation and Specification · IETF
- [6] Introducing CNAME Flattening: RFC-Compliant CNAMEs at a Domain's Root · Cloudflare
- [7] Choosing between alias and non-alias records — Amazon Route 53 Developer Guide · Amazon Web Services
- [8] RFC 9525 — Service Identity in TLS · IETF
- [9] RFC 6265 — HTTP State Management Mechanism · IETF
STATS
wyniki z systemu · tylko liczby zbiorcze- Stron zmierzonych
- 84w ostatnim dniu pomiaru
- OK
- 220odczytów
- Fail
- 2odczytów
- Nie dało się sprawdzić
- 2timeout, blokada, limit zapytań
- Udział fail
- 0,9%bez „nie dało się”
- Stron łącznie
- 272choć jeden odczyt
- OK
- 70326odczytów
- Fail
- 3411odczytów
- Nie dało się sprawdzić
- 4026timeout, blokada, limit zapytań
- Udział fail
- 4,6%bez „nie dało się”
| Dzień | fail | nie dało się sprawdzić | ok |
|---|---|---|---|
| 08.10.2026 | 48 odczytów | 127 odczytów | 1607 odczytów |
| 09.10.2026 | 55 odczytów | 127 odczytów | 1600 odczytów |
| 10.10.2026 | 43 odczyty | 262 odczyty | 1477 odczytów |
| 11.10.2026 | 70 odczytów | 30 odczytów | 1682 odczyty |
| 12.10.2026 | 70 odczytów | 33 odczyty | 1679 odczytów |
| 13.10.2026 | 71 odczytów | 67 odczytów | 1644 odczyty |
| 14.10.2026 | 65 odczytów | 109 odczytów | 1608 odczytów |
| 15.10.2026 | 66 odczytów | 118 odczytów | 1598 odczytów |
| 16.10.2026 | 63 odczyty | 115 odczytów | 1604 odczyty |
| 17.10.2026 | 62 odczyty | 116 odczytów | 1604 odczyty |
| 18.10.2026 | 56 odczytów | 163 odczyty | 1563 odczyty |
| 19.10.2026 | 59 odczytów | 123 odczyty | 1600 odczytów |
| 20.10.2026 | 62 odczyty | 122 odczyty | 1598 odczytów |
| 21.10.2026 | 58 odczytów | 59 odczytów | 1665 odczytów |
| 22.10.2026 | 64 odczyty | 32 odczyty | 1686 odczytów |
| 23.10.2026 | 68 odczytów | 27 odczytów | 1687 odczytów |
| 24.10.2026 | 77 odczytów | 90 odczytów | 1615 odczytów |
| 25.10.2026 | 56 odczytów | 91 odczytów | 1635 odczytów |
| 26.10.2026 | 74 odczyty | 126 odczytów | 1582 odczyty |
| 27.10.2026 | 68 odczytów | 123 odczyty | 1591 odczytów |
| 28.10.2026 | 65 odczytów | 134 odczyty | 1583 odczyty |
| 29.10.2026 | 58 odczytów | 124 odczyty | 1605 odczytów |
| 30.10.2026 | 57 odczytów | 124 odczyty | 1697 odczytów |
| 31.10.2026 | 54 odczyty | 122 odczyty | 1702 odczyty |
| 01.11.2026 | 52 odczyty | 96 odczytów | 1730 odczytów |
| 02.11.2026 | 71 odczytów | 33 odczyty | 1833 odczyty |
| 03.11.2026 | 64 odczyty | 31 odczytów | 1883 odczyty |
| 04.11.2026 | 78 odczytów | 49 odczytów | 1999 odczytów |
| 05.11.2026 | 52 odczyty | 187 odczytów | 1793 odczyty |
| 06.11.2026 | 2 odczyty | 2 odczyty | 220 odczytów |
- Otwarte teraz
- 37stron: 37 · w okresie łaski: 78
- Nowe w ostatnim dniu
- 206.11.2026
- Otwarte od początku
- 1125stron: 250
- Zamknięte
- 1010od początku
- Mediana trwania
- 11 h 53 minod wykrycia do zamknięcia
| Ustalenie | Skutek | Otwarte teraz | Łącznie | Zamknięte |
|---|---|---|---|---|
| Przekierowanie www ↔ bez www www_redirect | usterka niekrytyczna | 26 | 735 | 671 |
| Częściowa dostępność partial_availability | usterka niekrytyczna | 11 | 390 | 339 |
| Dzień | nowe ustalenia |
|---|---|
| 08.10.2026 | 9 ustaleń |
| 09.10.2026 | 4 ustalenia |
| 10.10.2026 | 164 ustalenia |
| 11.10.2026 | 22 ustalenia |
| 12.10.2026 | 13 ustaleń |
| 13.10.2026 | 16 ustaleń |
| 14.10.2026 | 30 ustaleń |
| 15.10.2026 | 8 ustaleń |
| 16.10.2026 | 12 ustaleń |
| 17.10.2026 | 4 ustalenia |
| 18.10.2026 | 27 ustaleń |
| 19.10.2026 | 8 ustaleń |
| 20.10.2026 | 13 ustaleń |
| 21.10.2026 | 15 ustaleń |
| 22.10.2026 | 14 ustaleń |
| 23.10.2026 | 14 ustaleń |
| 24.10.2026 | 34 ustalenia |
| 25.10.2026 | 34 ustalenia |
| 26.10.2026 | 16 ustaleń |
| 27.10.2026 | 6 ustaleń |
| 28.10.2026 | 13 ustaleń |
| 29.10.2026 | 11 ustaleń |
| 30.10.2026 | 6 ustaleń |
| 31.10.2026 | 3 ustalenia |
| 01.11.2026 | 27 ustaleń |
| 02.11.2026 | 8 ustaleń |
| 03.11.2026 | 7 ustaleń |
| 04.11.2026 | 17 ustaleń |
| 05.11.2026 | 185 ustaleń |
| 06.11.2026 | 2 ustalenia |
- Przebiegów
- 60sposób www_redirect
- W 30 dni
- 0przebiegów
- Ostatni
- 19.09.2026start przebiegu
- Stron w przebiegach
- 20461 przebiegów bez liczby stron
CARD
karta z kodu CREATO_PING, odczyt 22.09.2026Jak 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.
| Obszar i ważność | Dostępność · średnia (D06) |
|---|---|
| Workflow i częstotliwość | creato_ping_avail_v2 działa na LAB247Skaner 2.0, rytm „dostepnosc”: premium co 15 min, reszta co 3–12 h · Dawny workflow n8n avail_v2; od 20.09 te same sondy w rytmie kohort skanera. Sposób ssl daje odczyt ssl_expiry (dni do wygaśnięcia certyfikatu); odczyty trafiają do check_results. |
| Sonda i helper | sposób www_redirect · CREATO_PING/helpers/www_redirect.py |
| Testy |
|
| Typ wyniku | enum: ok / fail / timeout; od skanu 2026-09-18 04:07 UTC odczyt niesie w polu extra notę z powodem, regułę i adres końcowy każdej formy (nota, regula, www_final, root_final) |
| Jednostka | brak — wynik jakościowy (dokładny host adresu końcowego obu form, z przedrostkiem www.) |
| Próg i reguła | Timeout 7,0 s z jednym ponowieniem, limit 5 przekierowań — stałe w helperze, poza config.py. Reguła: fail = dwie formy z kodem 200 na różnych hostach albo forma kończąca na obcej domenie; wszystko inne, co odpowiedziało, = ok. Reguła kanoniczności jest domyślna w kodzie; starą (host po odcięciu www.) włącza tylko dokładna wartość „stara” zmiennej środowiskowej. |
| Gdzie leżą pokrętła | CREATO_PING/helpers/www_redirect.py → _TIMEOUT, _MAX_REDIRECTS, _fetch_kanonicznosc (_retries=1), _ma_dns, _check_one_kanonicznoscCREATO_PING .env na serwerze monitoringu → CREATO_PING_WWW_REDIRECT_REGULA — wyjście awaryjne: tylko wartość „stara” przywraca starą regułę; brak linii, pusto albo literówka = kanonicznośćCREATO_PING/helpers/partial_availability_check.py → _is_subdomain, _public_suffix (wyjątek subdomen)CREATO_PING/config/public_suffix_list.dat (Public Suffix List, wersja 2026-09-15; brak pliku = błąd przy starcie, bez cichego powrotu do starej listy)CREATO_PING/helpers/site_params.py → CRITICAL_CHECK_TYPES (www_redirect poza listą) |
| Retencja odczytów | Surowy 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`). Spłaszczony wynik jedzie dodatkowo do tabeli `check_results` bazy LAB247 (skrzynka `state/checks_outbox` → timer co 10 min); tej tabeli kod LAB247 nie czyści. |
| Znane rozbieżności |
|
| Karta przepisana z | CREATO_PING/helpers/www_redirect.py · CREATO_PING/helpers/tests/test_www_redirect.py · CREATO_PING/helpers/partial_availability_check.py · CREATO_PING/config/public_suffix_list.dat · CREATO_PING/helpers/site_params.py · CREATO_PING/skaner/adapter_clickup.py · CREATO_PING/skaner/sprawy.py · CREATO_PING/tools/avail_writer_input.py · CREATO_PING/helpers/checks_publish.py · LAB247/site/src/lib/ingest/schema.ts · CREATO_PING/skaner/usterki.toml · CREATO_PING/skaner/ocena.py · odczyt 22.09.2026 |
www_redirect: bramka polityki otwarta (gate=true) → sprawa w skanerze → Dwie formy adresu bez jednej kanonicznej — waga 2 → ocena 3–4 (niebieski), status strony „niski”, dopóki sprawa jest otwarta. partial_availability: bramka polityki otwarta (gate=true) → sprawa w skanerze → Jedna forma adresu (www / bez www) zepsuta — waga 3 → ocena 5–6 (żółty), status strony „sredni”, dopóki sprawa jest otwarta. Okres łaski: 1. porażka zakłada sprawę ze statusem IN PROGRESS, której wskaźnik NIE liczy (`ocena.py` pomija sprawy niepotwierdzone), 2. porażka z rzędu potwierdza sprawę i dopiero wtedy usterka wchodzi do oceny. Pierwszy odczyt ok zamyka sprawę. Od wieczora 17.09 domyślna jest reguła kanoniczności: obie formy kończące na jednym hoście = ok, dwie działające wersje strony = porażka. Zepsuta forma adresu należy już do `partial_availability`, nie do tego parametru.
| Kod | Finding | Severity | Pewność | Skutek | Finding / alarm | Waga → ocena | Co zrobić |
|---|---|---|---|---|---|---|---|
| D06.01 | Przekierowanie www ↔ bez wwwwww_redirect | Średnia | Ewidentne | usterka niekrytyczna | tak / nie | waga 2 → ocena 3–4 (niebieski) | Ustaw kanoniczną formę domeny i przekierowanie 301. |
| D06.02 | Częściowa dostępnośćpartial_availability | Wysoka | Ewidentne | usterka niekrytyczna | tak / nie | waga 3 → ocena 5–6 (żółty) | Popraw certyfikat lub vhost brakującej formy. |
| Kod i klucz | D06.01 · www_redirect · w tabeli typów |
|---|---|
| Co znaczy | Obie formy domeny (z www i bez) oddają 200 bez przekierowania albo forma prowadzi na obcą domenę. |
| Kiedy powstaje | Reguła „kanoniczność” (domyślna). Status ok dla subdomeny według PSL, przy braku www w DNS, gdy obie formy kończą się na tym samym hoście albo gdy któraś forma zwraca błąd lub kod inny niż 200. Status fail, gdy obie formy zwracają 200 na różnych hostach albo końcowy host którejś formy leży poza {root, www.root}. Timeout, gdy forma mająca rekord w DNS nie odpowie w 7 s mimo jednego ponowienia.Stara reguła działa tylko przy CREATO_PING_WWW_REDIRECT_REGULA=stara. |
| Severity · pewność | Średnia · Ewidentne |
| Skutek dla strony | usterka niekrytyczna · zakłada Finding · alarm nie |
| Waga → ocena | waga 2 → ocena 3–4 (niebieski) |
| Klasyfikacja | OCSF 1.9.0: poza klasami Findingu |
| Rekord OCSF | finding_info.analytic.uid = "D06.01" · analytic.name = "www_redirect" · finding_info.types = ["D06 Przekierowanie www ↔ bez www"] |
| Co zrobić | Ustaw kanoniczną formę domeny i przekierowanie 301. |
| Wersje typu |
|
| Kod i klucz | D06.02 · partial_availability · w tabeli typów |
|---|---|
| Co znaczy | Jedna forma domeny działa, druga jest zepsuta (certyfikat, 404, timeout). |
| Kiedy powstaje | Check sprawdza https://root i https://www.root z weryfikacją certyfikatu; forma działa, gdy zwraca kod 200. Status fail, gdy działa dokładnie jedna forma. Status cert_invalid, gdy żadna nie działa, wszystkie awarie to błędy SSL, a przy wyłączonej weryfikacji któraś forma zwraca 200. Status ok, gdy działają obie albo żadna nie odpowiada.Subdomena: sprawdzana jest tylko ona sama (linie 193–202). Limit 15 s, timeout i błąd sieci są ponawiane raz. |
| Severity · pewność | Wysoka · Ewidentne |
| Skutek dla strony | usterka niekrytyczna · zakłada Finding · alarm nie |
| Waga → ocena | waga 3 → ocena 5–6 (żółty) |
| Klasyfikacja | MITRE ATT&CK 19.2: T1499 Endpoint Denial of Service (skutek)OCSF 1.9.0: poza klasami Findingu |
| Rekord OCSF | finding_info.analytic.uid = "D06.02" · analytic.name = "partial_availability" · finding_info.types = ["D06 Przekierowanie www ↔ bez www"] |
| Co zrobić | Popraw certyfikat lub vhost brakującej formy. |
| Wersje typu |
|
LOOP
pętli: 2Trafnoś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.
Sygnał: Adres bez www odpowiadał 200, a forma z www miała certyfikat samopodpisany — silnik eskalował to do DOWN. · dotyczy też: Połączenie TCP, Rozwiązywanie DNS, Kod odpowiedzi HTTP, SSL: ważność certyfikatu
- 1. Zbiórkaręcznieodczyt z nocnego skanu, bez zapisu per strona
- 2. Werdyktręcznieużytkownicy widzą sprawną stronę, więc alarm był fałszywy
- 3. Miarabrakliczników trafności wtedy nie było
- 4. Kartabrakkarta parametru powstała 2026-09-16
- 5. Zmianazrobionesprawdzenie częściowej dostępności i status CONFIG
- 6. Replaybrakbrak zapisanych odczytów do replayu
| Data | Zmiana | Powód | Wpływ na system | Commit · replay |
|---|---|---|---|---|
| 2026-08-04 | Częściowa dostępność (jedna forma 200, druga zepsuta) daje status CONFIG, który bije DOWN.helpers/site_params.py · helpers/partial_availability_check.py | Błąd konfiguracji do naprawy to nie awaria; realny DOWN zostaje, gdy nie odpowiada żadna forma. | cały system Nowy status strony nad DOWN; dotyczy wszystkich sprawdzeń krytycznych (tcp, dns, http, ssl). | 091e318bez replayubez zapisu zatwierdzenia |
Sygnał: Karta parametru (2026-09-16): reguła odcinała www. z obu hostów końcowych, więc dwie formy z kodem 200 bez przekierowania dawały ok, a wszystkie ustalenia w bazie były timeoutami błędu sieci jednej z form — w tym subdomen bez formy www.
- 1. Zbiórkaręczniesuchy przebieg 206 stron obiema regułami, wyniki w pliku
- 2. Werdyktręczniewłaściciel: najpierw suchy przebieg, potem włączenie
- 3. Miararęcznieok / fail / timeout: stara 169 / 1 / 36, nowa 191 / 13 / 2
- 4. Kartazrobionekarta przepisana pod nową regułę 2026-09-17
- 5. Zmianazrobionereguła kanoniczności za przełącznikiem, włączona 2026-09-17 09:34 UTC
- 6. Replayręczniesuchy przebieg na żywo z maszyny lokalnej, nie po zapisanych odczytach
| Data | Zmiana | Powód | Wpływ na system | Commit · replay |
|---|---|---|---|---|
| 2026-09-17 | ok = jedna forma przekierowuje na drugą, brak www w DNS, subdomena albo obie formy bez 200; fail = dwie wersje 200 bez przekierowania albo forma na obcej domenie; timeout ponawiany raz; błąd TLS lub połączenia formy = ok z notą.helpers/www_redirect.py · helpers/tests/test_www_redirect.py | Stara reguła nie łapała duplikatu, dla którego parametr powstał, a dublowała częściową dostępność. Obie formy z 403 (WAF) albo 500 to dostępność, nie duplikat; bez ponowienia timeout zasłaniał dwie wersje strony. | cały system 33 otwarte subtaski (forma www z błędem 24, subdomena 5, brak www w DNS 4) zamknięte jako complete bez tagu werdyktu — zwykłe zamknięcia dalej dostają tag „naprawione”. Nowe fail u 12 stron; u 4 status strony przejdzie z IN PROGRESS na WARNING. Błąd TLS formy www zostaje wyłącznie przy partial_availability (CONFIG). | 68e4654bez replayuzatwierdził: właściciel, 2026-09-17 (najpierw suchy przebieg, potem włączenie i zamknięcie bez werdyktu) |