soft 404 Errors
What soft 404 errors adalah, why Google flags halaman itu kembalikan 200 OK tetapi memiliki tanpa konten sebagai soft 404s, cara temukan them di Search Console, dan cara fix them.
Bahasa
1 sinyal bukti di halaman ini
- Alat aktif terkaitGoogle Index Checker
sebuah soft 404 adalah sebuah URL itu mengembalikan sebuah success kode status (biasanya 200 OK) bahkan though halaman adalah empty, missing, atau menampilkan sebuah 'tidak ditemukan' message. ini isn't sebuah code Anda server mengirim — ini adalah sebuah label Google applies setelah comparing kode respons terhadap rendered konten, dan ini treats halaman like sebuah 404 untuk pengindeksan. umum causes: deleted halaman itu don't 404, out-dari-stock atau discontinued products, empty internal hasil pencarian, thin JavaScript-rendered halaman, dan irrelevant redirects. fix adalah untuk membuat code match konten: mengembalikan nyata 404/410 when sebuah halaman adalah hilang, 301 untuk something genuinely relevant, atau tambahkan nyata konten when halaman seharusnya stay live.
TL;DR — sebuah soft 404 adalah sebuah halaman itu tells Anda browser “everything’s fine” (terjemahan) “everything’s fine” (sebuah
200 OKkode status) while halaman itself adalah empty atau says “not found.” (terjemahan) “tidak ditemukan.” Google spots mismatch dan treats halaman like sebuah 404 — ini won’t get terindeks. “Soft 404” (terjemahan) “soft 404” isn’t sebuah nyata error code Anda server mengirim; ini adalah sebuah label Google applies setelah looking di halaman. fix adalah untuk membuat code match konten.
What sebuah soft 404 adalah
sebuah soft 404 adalah sebuah Google classification, not sebuah HTTP kode status: dikembalikan konten looks like sebuah error despite sebuah success-like respons. Evidence for this claim Google may classify a success response as a soft 404 when rendered content suggests an error or has little usable content. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: HTTP status codes Google recommends returning sebuah accurate 404/410 untuk genuinely missing halaman atau berguna konten untuk valid halaman. Evidence for this claim Google recommends an accurate 404 or 410 for missing pages, a relevant redirect for moved pages, or substantive content for valid pages. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Soft 404 errors
setiap time sebuah halaman memuat, server mengirim back sebuah little kode status behind
scenes. 200 OK berarti “here’s the page, everything worked.” (terjemahan) “here’s halaman, everything worked.” 404 Not Found berarti
“that page doesn’t exist.” (terjemahan) “itu halaman doesn’t exist.”
sebuah soft 404 adalah when itu two things disagree. server says 200 OK — success —
tetapi halaman adalah blank, memiliki basically tanpa konten, atau literally menampilkan sebuah “Page not found” (terjemahan) “halaman tidak ditemukan”
message. Google renders halaman, sees itu konten looks like sebuah error while
kode status says success, dan decides not untuk trust 200. ini treats URL like sebuah
404 instead dan leaves ini out dari indeks.
penting bagian: tidak ada such thing sebagai sebuah “soft 404” (terjemahan) “soft 404” kode status. Anda server tidak pernah mengirim one. ini adalah sebuah label — sebuah classification — itu Google applies setelah ini looks di Anda halaman. Anda’ll see ini di Google Search Console, not di Anda server logs.
mengapa ini penting
sebuah soft 404 isn’t sebuah penalty, tetapi ini adalah not harmless either. ini berarti halaman won’t get terindeks, so ini dapat’t tampilkan up di search. dan jika lainnya situs tautan untuk itu halaman, nilai dari itu tautan dapat go nowhere. ini adalah sebuah silent failure — Google quietly drops halaman dan doesn’t selalu membuat sebuah big deal dari telling Anda.
What causes them
usual suspects:
- sebuah deleted halaman itu masih mengembalikan
200alih-alih sebuah nyata 404. - sebuah out-dari-stock atau discontinued product halaman itu’s telah emptied out.
- sebuah empty internal hasil pencarian halaman (“0 results for…” (terjemahan) “0 hasil untuk…”).
- sebuah thin JavaScript halaman where app memuat tetapi there’s no nyata konten untuk itu URL.
- sebuah redirect untuk homepage atau sebuah unrelated halaman alih-alih sebuah nyata replacement.
cara fix one
ini comes down untuk one pertanyaan: seharusnya ini halaman exist?
- No, ini adalah hilang untuk baik → mengembalikan nyata
404(atau410, which berarti “gone” (terjemahan) “hilang”). - ini moved atau memiliki sebuah proper replacement →
301redirect ini untuk itu relevant halaman — not hanya Anda homepage. - Yes, ini seharusnya menjadi live → tambahkan nyata konten so halaman stops looking empty, lalu re-periksa ini.
One thing itu trips people up: menambahkan sebuah noindex tag doesn’t fix sebuah soft 404.
halaman masih mengembalikan 200, so underlying mismatch adalah masih there. ingin deeper
versi — how Google detects them, JavaScript dan ecommerce angles, dan myths?
Switch untuk Advanced tab.
TL;DR — sebuah soft 404 adalah sebuah classification, not sebuah kode status. server mengembalikan sebuah success code (biasanya
200), tetapi rendered konten reads sebagai empty atau “not found,” (terjemahan) “tidak ditemukan,” so Google overrides200dan treats URL like sebuah 404 untuk pengindeksan. ini masih costs Anda: halaman isn’t terindeks, dan repeated re-crawling dari URLs itu tidak pernah actually resolve dapat tambahkan up pada larger situs — Google doesn’t publish sebuah universal crawl-budget cost. Root causes cluster ke four buckets — deleted halaman itu don’t 404, thin atau empty auto-generated halaman, irrelevant redirects, dan rendering failures (sering JS). Google’s saat ini documentation names missing server-side mencakup, broken database connections, empty internal hasil pencarian, dan unloaded JavaScript sebagai detection triggers. fix decision tree memiliki three branches: hilang →404/410; moved →301untuk something relevant; seharusnya exist → tambahkan nyata konten dan re-test.noindexmelakukan not fix ini.
What sebuah soft 404 actually adalah
Search Console applies ini label setelah evaluating respons dan konten; label adalah distinct dari what appears di server logs. Evidence for this claim Google may classify a success response as a soft 404 when rendered content suggests an error or has little usable content. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: HTTP status codes appropriate fix depends pada whether URL seharusnya exist. Evidence for this claim Google recommends an accurate 404 or 410 for missing pages, a relevant redirect for moved pages, or substantive content for valid pages. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Soft 404 errors
di my Ahrefs guide untuk HTTP kode status, I put ini ini cara:
“Most 2xxs will allow pages to be indexed. However, 204s will be treated as soft 404s and won’t be indexed. Soft 404s may also be URLs where the server says it is successful (200), but the content of the page says it doesn’t exist. The code should have been a 404, but the server says everything is fine when it isn’t. This can also happen on pages with little or no content.” (terjemahan) “sebagian besar 2xxs akan allow halaman untuk menjadi terindeks. However, 204s akan menjadi treated sebagai soft 404s dan won’t menjadi terindeks. Soft 404s dapat juga menjadi URLs where server says ini adalah successful (200), tetapi konten dari halaman says ini doesn’t exist. code seharusnya memiliki telah sebuah 404, tetapi server says everything adalah fine when ini isn’t. ini dapat juga happen pada halaman dengan little atau tanpa konten.”
itu’s whole thing di sebuah nutshell. server says 200, konten says “nothing
here,” (terjemahan) “nothing
here,” dan Google resolves contradiction di favor dari konten. Google’s own
HTTP kode status doc
describes yang sama mechanic di bawah 2xx table: ini mempertimbangkan konten untuk processing,
dan “if the content suggests an error… an empty page or an error message, Search Console
will show a soft 404 error.” (terjemahan) “jika konten suggests sebuah error… sebuah empty halaman atau sebuah error message, Search Console
akan tampilkan sebuah soft 404 error.” Google’s dedicated crawling-errors troubleshooting
halaman
spells out definition bahkan more directly: sebuah soft 404 adalah sebuah URL itu “returns a page
telling the user that the page does not exist and also a 200 (success) status code.” (terjemahan) “mengembalikan sebuah halaman
telling pengguna itu halaman melakukan not exist dan juga sebuah 200 (success) kode status.”
So sebuah soft 404 adalah not sebuah kode status Anda server dapat kembalikan. ini adalah sebuah label mesin pencari
apply setelah comparing kode respons (beberapa 2xx) terhadap rendered halaman. itu
precision penting, because sebuah lot dari writing tentang ini treats “soft 404” (terjemahan) “soft 404” like sebuah error
code — ini isn’t. (sebuah sibling code, 204 No Content, gets swept ke yang sama bucket, dan
404 vs 410 adalah sebuah separate distinction worth understanding — sebuah 410 says “gone” (terjemahan) “hilang” sebuah touch
more emphatically daripada sebuah 404.)
Why ini masih costs Anda bahkan though ini adalah not sebuah penalty
There’s no peringkat penalty untuk sebuah soft 404. tetapi there’s sebuah nyata cost, dan sebuah mungkin one:
- ** halaman isn’t terindeks.** Google drops ini (atau tidak pernah menambahkan ini), so ini dapat’t peringkat, dan apa pun tautan pointing di ini dapat not pass nilai melalui.
- ini dapat waste crawl activity, terutama di scale. Because server mempertahankan
returning sebuah success code alih-alih sebuah
404/410itu tells crawler “don’t bother,” (terjemahan) “don’t bother,” Google memiliki less signal untuk stop re-requesting URL. Google’s documentation doesn’t publish sebuah universal crawl-budget cost, percentage, atau peringkat effect dari ini — practical impact adalah largest when sebuah situs memiliki banyak soft-404’d URLs, not sebuah guaranteed per-halaman penalty.
How Google detects them
Detection happens di render time: Google fetches halaman, runs JavaScript, dan
evaluates resulting konten dan available resources terhadap kode respons.
Google’s saat ini troubleshooting documentation names spesifik triggers: sebuah missing
server-side sertakan file, sebuah broken database connection, sebuah empty internal search
hasil halaman, atau JavaScript itu fails untuk muat — apa pun dari which dapat leave sebuah 200
respons paired dengan error-like atau effectively empty konten.
One older data poin worth flagging alih-alih relying pada: di 2021, John Mueller told mesin pencari Land itu Search Console’s soft-404 status reflected mobile rendering dari sebuah halaman specifically, dan sebuah desktop-hanya soft 404 mungkin not surface sama cara. itu’s sebuah nyata, pada—record statement — tetapi ini adalah several years old, dan Google’s saat ini soft-404 documentation doesn’t restate sebuah smartphone-hanya aturan. Treat ini sebagai historical color alih-alih sebuah confirmed saat ini mechanic, dan verify apa pun spesifik URL dengan pemeriksaan URL’s live test alih-alih assuming report adalah device-complete atau fully nyata-time.
four buckets dari causes
Google’s own troubleshooting documentation names sebuah shorter, more mechanical list — sebuah missing server-side sertakan, sebuah broken database connection, sebuah empty internal search hasil halaman, atau JavaScript itu fails untuk muat. Almost setiap dunia nyata soft 404 I’ve seen falls ke one dari four broader buckets itu cover itu mechanics plus higher-tingkat causes behind them:
1. Deleted atau expired halaman itu tidak pernah mengembalikan nyata 404. sebuah halaman adalah dihapus tetapi CMS
(atau sebuah catch-semua route) masih menyajikan sebuah “sorry, not found” (terjemahan) “sorry, tidak ditemukan” template dengan sebuah 200. Fix: kembalikan
sebuah actual 404/410.
2. Thin atau empty auto-generated halaman. Tag atau category archives dengan zero posts, filter
combinations itu match nothing, dan — classic — empty internal hasil pencarian halaman
(“0 results for your query” (terjemahan) “0 hasil untuk Anda kueri”). ini muat fine dan kembalikan 200, tetapi there’s nothing pada them.
Fix: noindex dan/atau block search-hasil path di robots.txt, atau render genuinely
berguna fallback konten (popular halaman, related hasil).
3. Irrelevant atau overly broad redirects. ini one adalah widely underexplained. Redirecting sebuah deleted halaman untuk Anda homepage atau sebuah unrelated category dapat itself menjadi reclassified sebagai sebuah soft 404. di my ecommerce out-dari-stock guide:
“If you have a similar product that you want to push people toward, you may want to 301 redirect the old product to the new product. This will also maintain any link value if the pages are similar enough. If the pages are not similar enough or you redirect to a category page or your homepage, then these pages may be treated as a soft 404 and the value from links may not be preserved.” (terjemahan) “jika Anda memiliki sebuah similar product itu Anda ingin push people toward, Anda dapat ingin untuk 301 redirect old product untuk baru product. ini akan juga maintain apa pun tautan nilai jika halaman adalah similar enough. jika halaman adalah not similar enough atau Anda redirect untuk sebuah category halaman atau Anda homepage, lalu ini halaman dapat menjadi treated sebagai sebuah soft 404 dan nilai dari tautan dapat not menjadi dipertahankan.”
So redirect existing isn’t enough — -nya relevance adalah what determines whether tautan equity flows atau URL gets reclassified.
4. rendering failures — sering JavaScript. JS-framework dan single-halaman-app situs adalah
structurally prone untuk soft 404s. sebuah client-side router menyajikan app shell dengan sebuah 200 no
penting what route adalah requested, so sebuah nonexistent client route tidak pernah produces sebuah nyata HTTP
404 unless server atau edge adalah explicitly configured untuk intercept ini dan kembalikan one.
hasil adalah sebuah halaman itu renders “404 Page Not Found” (terjemahan) “404 halaman tidak ditemukan” sebagai text while kode respons stays
200 — sebuah textbook soft 404. framework fixes: Next.js’s notFound() helper (which mengembalikan sebuah
nyata 404), rendering sisi server / prerendering itu intercepts unknown routes, atau sebuah
edge-tingkat 404 untuk paths itu don’t exist. Broken server-side mencakup dan failed database
panggilan belong di ini bucket too — mereka leave sebuah mostly-blank halaman disajikan dengan 200.
Treat missing-resource state sebagai sebuah respons contract:
Evidence for this claim Google recommends an accurate 404 or 410 for missing pages, a relevant redirect for moved pages, or substantive content for valid pages. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Soft 404 errors| Architecture | Correct handling |
|---|---|
| server-rendered route | Resolve route atau backing entity sebelum committing respons; mengembalikan framework’s nyata 404 outcome when absent. |
| Next.js-style application | gunakan server routing such sebagai notFound() untuk sebuah absent entity; melakukan not merely render visual not-found component dari client state. |
| Static export | Generate known routes dan configure host/CDN so unknown paths mengembalikan dibangun 404 document dengan HTTP 404, not app shell di 200. |
| Client-hanya SPA | membuat sebuah full navigation untuk sebuah server URL itu mengembalikan 404, atau intercept unknown paths di origin/edge. Google’s SPA guidance menjelaskan why client router cannot rewrite status dari document sudah diterima. |
| Temporarily missing dependency | mengembalikan truthful temporary server error where appropriate; melakukan not convert sebuah operational failure ke sebuah permanent-looking empty 200 halaman. See Google’s HTTP status guidance. |
lalu choose outcome oleh resource state: gunakan permanent redirect hanya when sebuah spesifik equivalent exists, kembalikan 404 when requested resource melakukan not exist, dan reserve 410 untuk sebuah deliberately dihapus resource when application dapat assert itu state. 404-versus-410 distinction adalah less penting daripada avoiding sebuah salah 200 atau sebuah irrelevant redirect. Evidence for this claim Google recommends an accurate 404 or 410 for missing pages, a relevant redirect for moved pages, or substantive content for valid pages. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Soft 404 errors
fix decision tree
Three branches, driven oleh one pertanyaan — seharusnya ini URL exist?
- hilang untuk baik → kembalikan
404atau410. Stop serving sebuah200. - Moved atau memiliki sebuah genuine equivalent →
301untuk something actually relevant, not sebuah catch-semua destination. Redirecting untuk homepage untuk “save” (terjemahan) “save” URL biasanya backfires ke sebuah soft 404. - seharusnya exist dan memiliki nilai → fix atau expand konten so ini no longer reads sebagai empty atau error-like, lalu re-test dengan pemeriksaan URL dan permintaan pengindeksan.
Ecommerce: ini adalah situs-size dependent
untuk out-dari-stock dan discontinued products, there isn’t one right jawaban — ini scales dengan
Anda situs. John Mueller’s umum framing (via mesin pencari Roundtable) adalah untuk “do what works
best for the user, and search engines will generally figure it out from there.” (terjemahan) “melakukan what berfungsi
best untuk pengguna, dan mesin pencari akan umumnya figure ini out dari there.” Practically:
kecil situs dapat pertahankan halaman dan tampilkan related products; medium situs sering 404 sebuah truly
discontinued product (atau, jika ini adalah temporarily out, say when ini adalah coming back); very besar
situs dapat automate expiration dengan unavailable_after signal. melalui-line: don’t
mass-redirect discontinued products untuk homepage, because itu’s exactly pattern itu
gets reclassified sebagai sebuah soft 404.
Myths worth killing
- “Soft 404s are just cosmetic.” (terjemahan) “Soft 404s adalah hanya cosmetic.” No — halaman isn’t terindeks dan -nya tautan signals dapat not pass melalui. ini adalah sebuah silent failure mode, not sebuah label Anda dapat ignore.
- “
noindexfixes a soft 404.” (terjemahan) “undefined fixes sebuah soft 404.” ini doesn’t.noindexmasih mengembalikan sebuah200; status-vs-konten mismatch adalah untouched, dan Google dapat masih classify halaman sebagai sebuah soft 404 di reporting. Fix kode respons atau konten. - “Redirecting anywhere avoids a soft 404.” (terjemahan) “Redirecting anywhere menghindari sebuah soft 404.” salah. sebuah irrelevant redirect (untuk homepage atau sebuah unrelated category) dapat menjadi reclassified sebagai sebuah soft 404 dan break tautan-equity consolidation.
- “Soft 404 is an HTTP status code.” (terjemahan) “soft 404 adalah sebuah HTTP kode status.” There’s no such code. ini adalah sebuah downstream
classification — don’t confuse ini dengan
410atau invent sebuah nonstandard code. - “A soft 404 always means something’s broken.” (terjemahan) “sebuah soft 404 selalu berarti something’s broken.” Not selalu. Sometimes ini adalah sebuah legitimately empty state (sebuah internal search dengan genuinely zero hasil). halaman isn’t “broken” (terjemahan) “broken” — Anda hanya perlu untuk control -nya indexability alih-alih fix -nya konten.
- “GSC tells me about every soft 404 in real time.” (terjemahan) “GSC tells me tentang setiap soft 404 di nyata time.” Detection dapat lag dan, per Mueller, adalah tied untuk mobile rendering. Treat report sebagai sebuah strong signal, not sebuah complete atau instantaneous one.
Where Google actually documents ini now
Worth sebuah heads-up jika Anda’re chasing old tautan: Google memiliki reorganized -nya crawling/pengindeksan
documentation more daripada once, dan URLs pertahankan moving. standalone “How to fix a soft
404” (terjemahan) “cara fix sebuah soft
404” mendukung jawaban dan old /search/docs/advanced/crawling/soft-404-errors doc both
redirect elsewhere now, dan bahkan newer http-network-errors URL I originally cited here
memiliki since 301’d untuk sebuah restructured developers.google.com/crawling/docs/… path. saat ini
live set adalah: halaman pengindeksan report help halaman ( maintained definition dengan fix
recommendation), HTTP kode status doc ( 2xx mechanics, di -nya baru URL), dan sebuah
newer, more direct crawling-errors troubleshooting halaman itu spells out causes dan
three fix branches explicitly. Old bookmarks dapat 301 atau dead-end — see Official
Docs tab untuk saat ini live tautan.
AI summary
sebuah condensed take pada Advanced versi:
- sebuah soft 404 adalah sebuah classification, not sebuah kode status. server mengembalikan sebuah success code
(biasanya
200), tetapi rendered konten adalah empty atau reads sebagai “not found,” (terjemahan) “tidak ditemukan,” so Google overrides200dan treats URL like sebuah 404 untuk pengindeksan. No server literally mengirim “soft 404.” (terjemahan) “soft 404.” - ini adalah not sebuah penalty, tetapi ini memiliki nyata costs: halaman isn’t terindeks (dan tautan signals dapat not pass melalui), dan repeated re-melakukan crawl dari URLs itu tidak pernah resolve dapat tambahkan up pada larger situs — Google doesn’t publish sebuah universal crawl-budget cost atau peringkat effect.
- Detection happens di render time, comparing kode respons terhadap missing resources, broken mencakup, database failures, atau empty konten. sebuah 2021 Mueller comment tied report untuk mobile rendering specifically, tetapi saat ini Google documentation doesn’t restate itu sebagai sebuah aturan, so treat ini sebagai historical color dan report sebagai sebuah strong signal alih-alih sebuah complete, nyata-time inventory.
- Four cause buckets: (1) deleted halaman itu don’t
404; (2) thin/empty auto-generated halaman (empty tags, filters, internal hasil pencarian); (3) irrelevant redirects (untuk homepage / unrelated category); (4) rendering failures — sering JS/SPA, where sebuah client router mengembalikan200untuk sebuah route itu doesn’t exist. - Fix decision tree: hilang →
404/410; moved →301untuk something relevant (not homepage); seharusnya exist → tambahkan nyata konten dan re-test dengan pemeriksaan URL. noindexmelakukan NOT fix ini — ini masih mengembalikan200. Ecommerce out-dari-stock handling adalah situs-size dependent (related products /404/unavailable_after).
Official documentation
Primary-source documentation dari mesin pencari.
- halaman pengindeksan report — “Soft 404” (terjemahan) “soft 404” bagian — Google’s maintained definition dan fix recommendation (“return a 404 response code… and add more information on the page” (terjemahan) “mengembalikan 404 kode respons… dan tambahkan more informasi pada halaman”). ini adalah canonical saat ini source.
- Troubleshoot Google Search crawling errors — soft 404s — paling direct saat ini explainer: defines sebuah soft 404 sebagai sebuah halaman telling pengguna ini doesn’t exist while juga returning
200, lists spesifik causes (missing server-side sertakan, broken database connection, empty internal search hasil, unloaded JavaScript), dan spells out three fix branches (hilang/moved/masih-valid). - HTTP kode status, network dan DNS errors, dan Google Search —
2xx (success)mechanics: Google evaluates konten, dan “if the content suggests an error… Search Console will show a soft 404 error.” (terjemahan) “jika konten suggests sebuah error… Search Console akan tampilkan sebuah soft 404 error.” (ini doc’s URL memiliki moved setidaknya twice; tautan here adalah saat ini live one sebagai dari ini update.) - crawl Errors now reports soft 404s (2010) — historical: when Google pertama surfaced soft 404s sebagai mereka own bucket.
- Farewell untuk soft 404s (2008) — historical color pada Google’s original motivation untuk handling them.
Bing / Microsoft
- 404 halaman Best Practices (Bing Webmaster alat Help) — Bing’s guidance pada returning proper 404s. (Bing menggunakan konten classifiers untuk detect not-ditemukan halaman itu kembalikan
200/302; -nya help center adalah JS-rendered, so confirm exact wording live.)
answer/181708) dan old /search/docs/advanced/crawling/soft-404-errors halaman now redirect ke two Google docs above. Quotes dari source
pada—record statements dari Google. setiap tautan adalah sebuah deep tautan itu jumps untuk quoted passage pada source halaman.
Google Search Console Help — definition dan fix
- “The page request returns what we think is a soft 404 response. This means that it returns a user-friendly ‘not found’ message but not a 404 HTTP response code. We recommend returning a 404 response code for truly ‘not found’ pages and adding more information on the page to let us know that it is not a soft 404.” (terjemahan) “ halaman permintaan mengembalikan what kami think adalah sebuah soft 404 respons. ini berarti itu ini mengembalikan sebuah pengguna-friendly ‘tidak ditemukan’ message tetapi not sebuah 404 HTTP kode respons. kami recommend returning sebuah 404 kode respons untuk truly ‘tidak ditemukan’ halaman dan menambahkan more informasi pada halaman untuk let us know itu ini adalah not sebuah soft 404.” — Google Search Console Help, “Page indexing report.” (terjemahan) “halaman pengindeksan report.” Jump untuk quote
Google Search Central — 2xx mechanic
- “Google considers the content for processing (for example, in the case of Google Search, for indexing). If the content suggests an error for Google Search, an empty page or an error message, Search Console will show a soft 404 error.” (terjemahan) “Google mempertimbangkan konten untuk processing (misalnya, di case dari Google Search, untuk pengindeksan). jika konten suggests sebuah error untuk Google Search, sebuah empty halaman atau sebuah error message, Search Console akan tampilkan sebuah soft 404 error.” — Google Search Central, “HTTP status codes, network and DNS errors, and Google Search.” (terjemahan) “HTTP kode status, network dan DNS errors, dan Google Search.” Jump untuk quote.%20If%20the%20content%20suggests%20an%20error%20for%20Google%20Search%2C%20an%20empty%20page%20or%20an%20error%20message%2C%20Search%20Console%20will%20show%20a%20soft%20404%20error)
Google Search Central — saat ini troubleshooting-doc definition
- “A soft 404 error is when a URL that returns a page telling the user that the page does not exist and also a 200 (success) status code.” (terjemahan) “sebuah soft 404 error adalah when sebuah URL itu mengembalikan sebuah halaman telling pengguna itu halaman melakukan not exist dan juga sebuah 200 (success) kode status.” — Google Search Central, “Troubleshoot Google Search crawling errors.” (terjemahan) “Troubleshoot Google Search crawling errors.” Read doc
John Mueller, Google — 2021 comment pada mobile-spesifik detection (historical, not restated di saat ini docs)
- “In Search Console, we do show soft 404s but we show it for the mobile version… So if on the mobile version everything is okay on your side, then in Search Console it will look like it’s indexed normally. But for desktop, you won’t be able to see that directly in Search Console.” (terjemahan) “di Search Console, kami melakukan tampilkan soft 404s tetapi kami tampilkan ini untuk mobile versi… So jika pada mobile versi everything adalah okay pada Anda side, lalu di Search Console ini akan look like ini adalah terindeks normally. tetapi untuk desktop, Anda won’t menjadi able untuk see itu directly di Search Console.” — John Mueller, Google, via mesin pencari Land (2021). Read coverage
John Mueller, Google — redirecting vs. 404ing discontinued products
- “The short version, imo, is to do what works best for the user, and search engines will generally figure it out from there too. Sometimes that’s a redirect, sometimes a friendly 404 page (and those can be customized too).” (terjemahan) “ pendek versi, imo, adalah untuk melakukan what berfungsi best untuk pengguna, dan mesin pencari akan umumnya figure ini out dari there too. Sometimes itu’s sebuah redirect, sometimes sebuah friendly 404 halaman (dan itu dapat menjadi customized too).” — John Mueller, Google, via mesin pencari Roundtable. Read coverage
#:~:text= deep tautan. two Mueller quotes came melalui secondary coverage (mesin pencari Land dan mesin pencari Roundtable) alih-alih sebuah pertama-party transcript — tautan poin untuk itu coverage, dan exact wording seharusnya menjadi confirmed terhadap source sebelum menjadi treated sebagai akhir verbatim. Finding dan fixing soft 404s
temukan them di Google Search Console
- Open Search Console → pengindeksan → halaman ( halaman pengindeksan report — older artikel dan Google’s own older posts panggil ini “Coverage” (terjemahan) “Coverage” report).
- Scroll untuk “Why pages aren’t indexed” (terjemahan) “Why halaman aren’t terindeks” dan cari “Soft 404” (terjemahan) “soft 404” alasan row.
- Click ke ini untuk get list dari affected URLs, dan export them.
- Spot-periksa sebuah URL dengan pemeriksaan URL → Test live URL → View tested halaman untuk see rendered screenshot dan respons HTTP Google got.
- periksa halaman’s smartphone rendering di pemeriksaan URL — Google melakukan crawl dan indeks primarily sebagai mobile Googlebot, so confirm itu view pertama (sebuah older, unconfirmed report juga tied soft-404 detection specifically untuk mobile rendering).
- Cross-periksa di scale dengan sebuah crawler (Ahrefs situs Audit, Screaming Frog, Sitebulb) itu flags “possible soft 404” (terjemahan) “mungkin soft 404” phrases dan thin/empty halaman — tetapi remember ini adalah alat’s own heuristic, not proof Google’s classifier reached yang sama conclusion. Confirm apa pun flagged URL terhadap Search Console atau sebuah live pemeriksaan URL test sebelum acting pada ini.
Fix workflow — one pertanyaan per URL: seharusnya ini halaman exist?
- hilang untuk baik? mengembalikan nyata
404(atau410). Stop serving sebuah200dengan sebuah not-ditemukan template. - Moved / memiliki sebuah nyata equivalent?
301redirect untuk itu relevant halaman — not homepage atau sebuah unrelated category (itu gets reclassified sebagai sebuah soft 404). - seharusnya stay live? tambahkan substantive konten so ini no longer reads sebagai empty atau error-like.
- Empty internal search / filter halaman?
noindexthem dan/atau block path dirobots.txt, atau render berguna fallback hasil. - JS/SPA route? Configure server/framework untuk mengembalikan nyata
404untuk unknown routes (e.g., Next.jsnotFound()), not sebuah client-rendered “404” (terjemahan) “404” dengan sebuah200. - Don’t rely pada
noindexalone — ini masih mengembalikan200dan doesn’t resolve mismatch. - setelah fixing, re-test dengan pemeriksaan URL dan permintaan pengindeksan (atau Validate fix) di halaman pengindeksan report.
Concrete soft 404s — sebelum dan setelah
Three dari paling umum patterns, dengan what’s wrong dan cara fix setiap.
1. Empty internal hasil pencarian halaman
- sebelum:
example.com/search?q=asdfghmengembalikan200 OKdan renders “0 results found.” (terjemahan) “0 hasil ditemukan.” app shell memuat fine, kode status adalah sebuah success, tetapi there’s no nyata konten — Google flags ini sebagai sebuah soft 404. Multiply ini di seluruh setiap zero-hasil kueri sebuah pengguna (atau sebuah crawler following sebuah faceted tautan) generates, dan Anda get sebuah pile dari them. - setelah: tambahkan
noindexuntuk search-hasil halaman dan/atau block/searchpath dirobots.txtso bot don’t indeks them di semua. jika Anda ingin them berguna untuk pengguna, render fallback konten (popular products, related suggestions) alih-alih sebuah bare “no results.” (terjemahan) “no hasil.”
2. Out-dari-stock / discontinued product halaman
- sebelum: sebuah discontinued SKU di
/products/old-widgetmemiliki memiliki -nya konten stripped down untuk “This product is no longer available,” (terjemahan) “ini product adalah no longer available,” tetapi masih mengembalikan200. atau, worse, ini301redirects untuk homepage. Either cara Google treats ini sebagai sebuah soft 404, dan tautan itu pointed di product don’t consolidate anywhere berguna. - setelah (pick oleh intent): jika there’s sebuah genuine successor,
301untuk itu spesifik product so tautan nilai transfers. jika ini adalah simply hilang, mengembalikan404/410. jika ini adalah hanya temporarily out, pertahankan halaman live dengan nyata konten dan note when ini adalah returning — dan untuk very besar catalogs, automate expiration denganunavailable_after. Don’t mass-redirect untuk homepage.
3. Thin JavaScript-rendered halaman (SPA route)
- sebelum: sebuah single-halaman app menyajikan
/account/orders/99999(sebuah order itu doesn’t exist). client-side router mengembalikan app shell dengan200, lalu renders “Order not found” (terjemahan) “Order tidak ditemukan” sebagai pada-halaman text. nyata HTTP status:200. Rendered konten: sebuah error message. Classic soft 404, dan setiap broken deep tautan produces lainnya one. - setelah: Intercept unknown routes pada server atau edge dan mengembalikan nyata
404— untuk contoh, Next.js’snotFound()helper, sebuah SSR/prerender periksa bahwa 404s missing entities, atau sebuah edge aturan itu 404s paths dengan no backing data. halaman seharusnya kirim kode status itu matches what ini renders.
4. One retired-product template, thousands dari successful empty respons
- sebelum: sebuah crawl menemukan 18 400 URLs matching
/products/retired-*. setiap URL mengembalikan200 OK, judul adalah “Product unavailable,” (terjemahan) “Product unavailable,” body adalah yang sama two-kalimat shell, dan no replacement product adalah ditautkan. sebuah status-code export looks green bahkan though rendered cohort behaves like missing konten. - setelah: Fix route atau template once: kembalikan
404/410when no replacement exists, issue sebuah direct301hanya when sebuah genuinely equivalent successor exists, atau pertahankan sebuah berguna product halaman when demand dan pengguna nilai justify ini. Recrawl sebuah representative sample, compare rendered konten serta status, dan verify halaman pengindeksan alasan setelah Google processes perubahan.
counts dan URLs adalah illustrative. poin adalah cohort: repeated judul, body fingerprints, dan template paths reveal sebuah systemic soft-404 cause faster daripada reviewing individual URLs.
What seharusnya ini soft-404 URL melakukan?
Should the URL return 404, redirect, or stay live?
Soft-404 fixes itu adalah not fixes
kembalikan 200 untuk setiap route
Why ini adalah wrong: sebuah error template atau empty halaman dengan sebuah success respons membuat mismatch Google adalah classifying.
melakukan instead: mengembalikan nyata 404/410 untuk missing resources, atau restore substantive konten when URL seharusnya exist.
tambahkan noindex dan leave mismatch
Why ini adalah wrong: noindex melakukan not perubahan 200 respons atau membuat sebuah empty/error
halaman valid. ini controls pengindeksan, not HTTP truth.
melakukan instead: Correct respons atau konten pertama; gunakan noindex hanya when ini
matches actual halaman strategy.
Redirect setiap dihapus URL untuk homepage
Why ini adalah wrong: sebuah irrelevant catch-semua destination dapat itself menjadi treated sebagai sebuah soft 404 dan melakukan not pertahankan berguna intent.
melakukan instead: Redirect hanya untuk sebuah genuinely equivalent halaman. Otherwise kembalikan sebuah intentional 404 atau 410.
Treat Search Console label sebagai sebuah penalty
Why ini adalah wrong: label describes how Google interpreted URL; ini adalah not sebuah manual tindakan atau situs-wide punishment.
melakukan instead: Decide intended URL state, verify live respons dan rendered konten, dan fix hanya mismatches.
Assume report adalah complete dan immediate
Why ini adalah wrong: Google harus crawl dan render halaman, dan Search Console dapat lag atau tampilkan contoh alih-alih sebuah nyata-time inventory.
melakukan instead: Combine report dengan live permintaan, smartphone rendering memeriksa, server logs, dan sebuah crawl dari affected templates.
umum soft-404 symptoms
halaman says “tidak ditemukan” tetapi network respons adalah 200
mungkin cause: CMS, framework, atau single-halaman-app router renders sebuah error template without setting document respons status.
Fix: kembalikan 404/410 dari server, SSR layer, atau edge untuk unknown routes. Confirm dengan sebuah fresh document permintaan, not hanya text terlihat di browser.
Discontinued products appear sebagai soft 404s
mungkin cause: product template adalah stripped untuk sebuah availability kalimat, atau banyak products redirect untuk sebuah broad category/homepage.
Fix: pertahankan temporarily unavailable products berguna dan substantive; redirect sebuah permanently dihapus product hanya untuk sebuah nyata successor; otherwise kembalikan 404/410. Re-test status, destination relevance, dan rendered halaman.
Empty search, tag, atau filter halaman adalah flagged
mungkin cause: Auto-generated URLs kembalikan 200 dengan no hasil atau near-empty boilerplate.
Fix: mencegah useless combinations dari menjadi discoverable/dapat diindeks where appropriate, menyediakan berguna fallback konten untuk halaman itu seharusnya exist, atau mengembalikan truthful missing respons. Confirm chosen template no longer produces sebuah empty 200 di scale.
live halaman looks fine, tetapi Search Console masih says soft 404
mungkin cause: Google saw sebuah older versi, smartphone rendering differs, diperlukan resources failed, atau fix memiliki not telah recrawled.
Fix: gunakan pemeriksaan URL’s live test dan rendered screenshot, compare mobile document respons dan resources, lalu permintaan validation setelah live evidence adalah correct. melakukan not perubahan sebuah healthy halaman solely because report memiliki not refreshed.
sebuah apparently valid redirect adalah reported sebagai sebuah soft 404
mungkin cause: destination adalah unrelated untuk source intent, commonly sebuah homepage atau broad catch-semua category.
Fix: Map untuk sebuah spesifik equivalent atau hapus redirect dan kembalikan 404/410. Confirm entire chain ends pada sebuah relevant 200 halaman.
Prompt: classify suspected soft 404s
Paste sebuah CSV dengan URL, HTTP status, akhir URL, rendered judul/H1/body excerpt, intended state, template, sitemap presence, dan Search Console alasan. hapus private atau pengguna data pertama.
Classify each suspected soft-404 URL using only the supplied evidence.
Use these cause buckets:
1. missing/deleted URL returning a success response;
2. thin or empty generated page;
3. irrelevant redirect destination;
4. JavaScript/rendering failure;
5. likely valid page that needs live mobile verification;
6. insufficient evidence.
For every row, report the likely bucket, exact supporting evidence, intended-state
conflict, recommended next check, and the appropriate outcome: real 404/410, 301 to a
genuine equivalent, restore substantive content, fix server/rendering behavior, or no
change pending verification. Do not recommend noindex as the sole fix for a 200 error
page. Do not invent replacement URLs or infer page quality from word count alone.
Return a table and group repeated template-level causes separately from one-off URLs.
DATA:
[PASTE SANITIZED CSV HERE]Validate classifications dengan sebuah live permintaan dan smartphone-rendered output sebelum deploying sebuah template-wide perubahan.
alat untuk confirming mismatch
- Google indeks Checker — periksa observable status, redirects, noindex, dan canonical blockers, lalu ikuti -nya handoff untuk Search Console pemeriksaan URL untuk Google’s actual terindeks-state jawaban. ini melakukan not claim untuk kueri Google’s private indeks directly.
- Bulk HTTP kode status Checker — collect live status codes dan akhir destinations untuk sebuah suspected URL set. Pair export dengan rendered konten evidence; status alone cannot identify sebuah soft 404.
- Search Console halaman pengindeksan report — temukan Google’s soft 404 alasan group dan affected contoh.
- pemeriksaan URL → Test live URL → View tested halaman — compare live document status, HTML, screenshot, dan dimuat resources sebagai smartphone Googlebot sees them.
- sebuah rendering-capable crawler — locate 200 halaman dengan error phrases, empty templates, atau irrelevant redirect destinations di seluruh sebuah whole situs. Review salah positives alih-alih treating phrase matching sebagai Google’s classifier.
Test yourself: soft 404 Errors
Five quick pertanyaan pada what soft 404s adalah dan cara fix them. Pick sebuah jawaban untuk setiap, lalu periksa.
Resources worth Anda time
My related writing
- HTTP kode status & mereka SEO Impact — my breakdown dari how Google handles 2xx codes, including soft-404 definition quoted above.
- How seharusnya Anda Handle Out-dari-Stock Products? ini Depends — redirect-relevance nuance dan why redirecting untuk sebuah category atau homepage dapat become sebuah soft 404.
- 11 jenis dari Redirects & mereka SEO Impact — how Google treats irrelevant redirects sebagai soft 404s dan why tautan equity lalu doesn’t pass.
- Beginner’s Guide untuk SEO teknis — where kode status dan pengindeksan fit di bigger picture.
- JavaScript SEO Issues & Best Practices — why client-side routing produces soft 404s dan cara kembalikan nyata kode status.
My speaking
- SMX replay: SEO itu Google tries untuk correct untuk Anda (mesin pencari Land) — coverage dari my SMX Advanced session pada signals Google silently overrides, soft 404s among them.
dari sekitar industry
- halaman pengindeksan report — “Soft 404” (terjemahan) “soft 404” (Google Search Console Help) — canonical, maintained definition dan fix recommendation.
- Troubleshoot Google Search crawling errors — soft 404s (Google Search Central) — paling direct saat ini explainer, dengan cause list dan three fix branches.
- HTTP kode status, network dan DNS errors, dan Google Search (Google Search Central) — 2xx-status mechanics behind soft-404 detection.
- Google now melakukan soft 404 detection oleh device jenis (mesin pencari Land, 2021) — Mueller’s mobile-rendering comment; historical, not restated di Google’s saat ini soft-404 documentation.
- Google pada Redirecting vs 404ing Products itu No Longer Exist (mesin pencari Roundtable) — Mueller’s “do what works best for the user” (terjemahan) “melakukan what berfungsi best untuk pengguna” guidance dan irrelevant-redirect angle.
- 404 vs. soft 404 Errors: What’s Difference & cara Fix Both (mesin pencari Journal) — sebuah solid competitor explainer dari distinction.
- What adalah sebuah soft 404 error dan what untuk melakukan tentang ini? (Yoast) — plain-language overview dengan WordPress-flavored fixes.
- soft 404 halaman (issue doc) (Screaming Frog) — how sebuah crawler flags mungkin soft 404s di scale.
- berisi mungkin soft 404 phrases (Sitebulb) — phrase-matching heuristic untuk catching them di sebuah audit.
Log perubahan
Diperbarui 29 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 28 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
Diperbarui 18 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.
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.