410 Gone — trwale usunięte

Czym jest status HTTP 410 Gone, jak Google usuwa strony 410 z indeksu nieco szybciej niż 404, kiedy używać 410 zamiast 404 dla trwale usuniętej treści i jak wpływa to na budżet crawlowania.

Opublikowano po raz pierwszy: 27 cze 2026 · Ostatnia aktualizacja: 8 sie 2026 · Advanced
Języki
1 sygnał dowodowy na tej stronie

Kod statusu 410 Gone mówi wyszukiwarkom, że strona została celowo i trwale usunięta — w przeciwieństwie do 404, które mówi tylko „nie znaleziono” i nie wyjaśnia dlaczego. Oba kody z czasem usuwają stronę z indeksu; 410 mocniej sygnalizuje trwałość, więc Google potwierdza i usuwa go nieco szybciej oraz trochę rzadziej sprawdza. Różnica jest rzeczywista, ale umiarkowana — nie chodzi o powtarzaną w sieci dramatyczną liczbę „3 razy szybciej”. Dla większości pojedynczych usunięć wystarczy 404; 410 opłaca się przy dużej skali (masowe usunięcia, migracje bez równoważnego URL-a, sprzątanie spamu). Większym błędem niż wybór 404 czy 410 jest soft 404, który bez końca marnuje budżet crawlowania.

TL;DR — 410 i 404 z czasem usuwają URL z indeksu Google; ważne są szybkość decyzji o usunięciu i budżet crawlowania, nie samo usunięcie. Dokumentacja Google traktuje oba kody jako jedną grupę 4xx. Twierdzenie „410 jest szybszy” ma potwierdzenie w danych i wypowiedzi Google, ale skala jest mała. Google potwierdza 410 nieco szybciej i rzadziej go ponownie crawluje. Często powtarzana liczba „3 razy szybciej, 4 wobec 12 dni” to niezweryfikowany folklor. 410 ma największy sens przy masowych usunięciach, migracjach bez odpowiednika i sprzątaniu spamu; większym błędem jest soft 404 marnujący budżet.

Czym naprawdę jest 410

410 Gone to błąd klienta z rodziny 4xx. Semantycznie jest to „silniejszy 404”: zasób istniał, został celowo i trwale usunięty, a klient nie otrzymuje adresu przekierowania. 404 nie mówi nic o intencji ani trwałości.

Evidence for this claim RFC 9110 defines 410 Gone as indicating that access to the target resource is no longer available and is likely to remain unavailable. Scope: HTTP semantics for 410 responses; servers should use 404 when permanence is unknown. Confidence: high · Verified: IETF: RFC 9110 §15.5.11 — 410 Gone

RFC 9110 §15.5.11 określa „gone” jako stan prawdopodobnie trwały; jeśli nie wiesz, czy będzie trwały, specyfikacja zaleca 404. Kod ma ułatwić utrzymanie przez wskazanie klientom i crawlerom, że odnośnik należy usunąć. Standard nie wymaga 410 dla każdego trwale usuniętego zasobu ani utrzymywania go wiecznie — oba wybory pozostawia właścicielowi. Odpowiedź 410 jest domyślnie heurystycznie buforowalna, więc cache lub CDN może ją serwować do wygaśnięcia bez jawnych nagłówków cache-control.

Evidence for this claim RFC 9110 does not require every permanently unavailable resource to return 410, nor does it require the 410 status to remain in place indefinitely — both are left to the origin server's discretion. A 410 response is also heuristically cacheable by default unless cache-control headers say otherwise. Scope: HTTP semantics for 410 responses; deployment scope, duration, and caching are origin/CDN-level decisions, not protocol requirements. Confidence: high · Verified: IETF: RFC 9110 §15.5.11 — 410 Gone

W SEO różnica sprowadza się do sygnalizowania intencji. Oba kody mówią crawlerowi, że strony nie należy serwować. 410 dodaje „i nie oczekuj jej powrotu”.

Czy Google usuwa 410 z indeksu szybciej niż 404?

Krótka odpowiedź: tak, ale umiarkowanie. Uczciwe wyjaśnienie trzeba rozdzielić na trzy rzeczy, które często są mylone.

1. Co naprawdę mówi dokumentacja Google. Dokumenty nie wyznaczają specjalnego terminu dla 410. Mówią: “All 4xx errors, except 429, are treated the same: Google crawlers inform the next processing system that the content doesn’t exist.” (tłumaczenie) „Wszystkie błędy 4xx, poza 429, są traktowane tak samo: crawlery Google informują następny system przetwarzania, że treść nie istnieje.” Evidence for this claim Google treats 404, 410, and other 4xx responses except 429 the same for Search, does not use their content, and removes previously indexed URLs over time. Scope: Google Search handling of 4xx responses; no exact removal timetable is promised. Confidence: high · Verified: Google: HTTP status codes and Search Google: How HTTP status codes affect Google's crawlers Dalej czytamy: “Google doesn’t use the content from URLs that return 4xx status codes. If a URL was previously used but is now returning 4xx status code, Google systems will stop using the URL over time.” (tłumaczenie) „Google nie używa treści z URL-i zwracających kody 4xx. Jeśli URL był wcześniej używany, ale teraz zwraca 4xx, systemy Google z czasem przestaną go używać.” W praktyce właśnie tak Google opisuje wygaszanie adresów, które wcześniej działały; mechanizm jest opisany dla 404 i działa tak samo: “the indexing pipeline removes the URL from the index if it was previously indexed. Newly encountered 404 pages aren’t processed. The crawling frequency gradually decreases.” (tłumaczenie) „Potok indeksowania usuwa URL z indeksu, jeśli wcześniej był zindeksowany. Nowe strony 404 nie są przetwarzane. Tempo crawlowania stopniowo spada.” Tylko 429 ma inne traktowanie.

2. Co mówił John Mueller. Początkowo nazywał różnicę nieistotną, lecz później skorygował się: “it appears I was wrong there — we do treat 410s slightly differently than 404s,” (tłumaczenie) „wygląda na to, że się myliłem — traktujemy 410 nieco inaczej niż 404”, a Google “will sometimes want to confirm a 404 before removing a URL from the index, and we tend to do that faster with a 410.” (tłumaczenie) „czasem chce potwierdzić 404 przed usunięciem URL-a z indeksu i zwykle robi to szybciej przy wyniku HTTP 410.” Różnica istnieje, ale jest mała. 410 nie zatrzymuje okazjonalnego ponownego sprawdzania, szczególnie gdy do URL-a prowadzą linki przychodzące.

3. Co pokazują niezależne testy. Reboot Online zbadał 119 testowych URL-i przez ponad trzy miesiące. Wynik dotyczył częstotliwości crawlowania, nie liczby dni do usunięcia z indeksu: “404’s are, on average, crawled 49.6% more often than 410’s.” (tłumaczenie) „404 są średnio crawlowane o 49,6% częściej niż 410.” Googlebot wydaje więc mniej budżetu na ponowne sprawdzanie 410. Badanie mierzyło częstotliwość, bo API GSC nie pozwalało czysto zmierzyć, czy URL nadal jest w indeksie.

Moje ujęcie w tekście HTTP Status Codes: A Complete List jest zgodne z tym obrazem: “404s and 410s have a similar treatment. Both drop pages from the index, but 410s are slightly faster. In practical applications, they’re roughly the same.” (tłumaczenie) „404 i 410 są traktowane podobnie. Oba usuwają strony z indeksu, ale 410 jest nieco szybszy. W praktyce są mniej więcej takie same.” Uwierz w „nieco”, a odrzuć „trzy razy”.

Mit, który należy porzucić

W wielu blogach powtarza się „410 usuwa z indeksu 3 razy szybciej — 4 dni wobec 12”. Nie udało mi się prześledzić tej liczby do badania z opisaną metodologią — wygląda na zniekształconą wersję wyniku Reboot. Nie cytuj jej. Uzasadnione twierdzenie brzmi: „trochę szybciej i trochę rzadziej crawlowany”.

Kiedy użyć 410, 404 albo przekierowania

To decyzja między trzema możliwościami, nie dwiema.

  • Użyj 410, gdy masz pewność, że treść zniknęła na zawsze i chcesz to aktywnie zasygnalizować: masowe usunięcia, wycofane produkty, sprzątanie spamu lub treści po włamaniu, konsolidacje bez zamiennika.
  • Wybierz 404, gdy nie masz pewności, strona może wrócić albo nie warto ponosić kosztu szczególnej implementacji. Przy małej liczbie usunięć 404 wystarczy.
  • Użyj przekierowania 301, gdy istnieje równoważna strona. Przekieruj ją, przekaż sygnały i zachowaj popyt; 410 celowo to wszystko odrzuca.

Ani 410, ani 404, ani przekierowanie nie jest samo w sobie dźwignią wartości linków zwrotnych lub autorytetu tematycznego. Zależy to od tego, dokąd prowadzą linki po zmianie: przekierowanie może przekazać sygnały nowemu celowi, a 410 nie ma ich gdzie przekazać. Sprawdź rzeczywiste linki i cele zamiast zakładać, że sam status gwarantuje wynik.

Pułapka soft 404 (błąd, który naprawdę kosztuje)

Wybór „niewłaściwego” kodu 4xx to drobiazg w porównaniu z soft 404 — stroną, która zwraca 200 OK, ale pokazuje komunikat „nie znaleziono”. Google nadal ją crawluje, bo według statusu jest aktywna. Takie strony “will continue to be crawled, and waste your budget.” (tłumaczenie) „będą nadal crawlowane i będą marnować Twój budżet.” Celem jest prawdziwy 404/410, nie przyjazna strona „tego już nie ma” odpowiadająca 200.

410 przy migracjach i masowych usunięciach

Przy zmianie platformy albo dużym przycinaniu treści decydujesz o losie tysięcy URL-i naraz, więc wybór przestaje być akademicki.

  • Migracje: treść, której nie przenosisz, powinna zwracać na nowej stronie prawdziwy 404 albo 410. Przekieruj to, co ma odpowiednik; 410 zwróć dla treści wycofanej bez odpowiednika; niepewne URL-e mogą pozostać jako 404. Przekierowania utrzymuj długo (Google sugeruje co najmniej rok), ale nie przekierowuj adresu bez miejsca docelowego na luźno powiązaną stronę.
  • Masowe usunięcia: 410 ma tu największy sens. Przy usunięciu 50 000 SKU albo całej sekcji rzadsze powroty crawlera dają skumulowaną oszczędność. Produkt wycofany na zawsze dostaje 410, lecz produkt chwilowo niedostępny, który wróci, powinien pozostać aktywny.
  • Wdrożenie na dużą skalę: użyj reguł w serwerze, CDN-ie, workerze edge albo CMS-ie — na przykład location Nginx, RewriteRule … [R=410] Apache lub wtyczki masowej — zamiast ręcznie edytować każdą stronę.

Przejdź do karty Playbooks, aby zobaczyć procedurę masowego usuwania krok po kroku.

Jak Bing to obsługuje (i jak to przyspieszyć)

Mechanizm Binga jest podobny: usuń stronę, aby zwracała 404 albo 410, pozostaw URL możliwy do crawlowania (nie blokuj go w robots.txt), a Bing usunie go po ponownym crawlowaniu. IndexNow przyspiesza powiadomienie — wyślij sygnał przy usunięciu i utrzymuj aktualną sitemapę. Przy pilnych usunięciach narzędzie Binga Block URLs ukrywa URL na około 90 dni jako rozwiązanie tymczasowe.

Strony pomocy Binga renderują się przez JavaScript, więc dokładne obecne brzmienie nie dało się czysto automatycznie zweryfikować. Traktuj opisany mechanizm jako praktykę udokumentowaną przez Bing; przed uznaniem szczegółów, takich jak około 90-dniowe okno Block URLs, za ostateczne sprawdź bieżącą pomoc.

Jak sprawdzić, czy 410 działa

  • Sprawdź surowy status. curl -I https://example.com/gone-page/ powinno pokazać HTTP/… 410; DevTools → Network pokaże to samo. Ufaj nagłówkowi, nie samej widocznej stronie.
  • Inspekcja URL-a (GSC). Sprawdź, kiedy Google ostatnio zcrawlował URL i jaki status zobaczył.
  • Raport Page Indexing. Obserwuj URL-e wychodzące ze zbioru zindeksowanych podczas kolejnych crawli.

Pamiętaj o oczekiwaniu opisanym w poradniku remove URLs: “removed from the index shortly after the page is re-crawled. Until it is removed, the page may still show in search results.” (tłumaczenie) „usuwana z indeksu wkrótce po ponownym zcrawlowniu strony. Zanim to nastąpi, strona może nadal pojawiać się w wynikach wyszukiwania.” 410 nie omija ponownego crawlowania — wygrywa decyzję, gdy crawl się wydarzy.

Powiązane teksty w tym klastrze: status 404 Not Found, porównanie 404 a 410 i pułapka soft 404.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.