halaman terindeks Without konten

What Google Search Console "Page indexed without content" _(terjemahan)_ “halaman terindeks without konten” status berarti — halaman adalah di Google's indeks tetapi Googlebot couldn't read ini — dan cara diagnose ini. sering sebuah server/CDN block, not hanya sebuah JavaScript masalah.

Pertama kali diterbitkan: 23 Jun 2026 · Terakhir diperbarui: 3 Agu 2026 · Advanced
Bahasa
2 sinyal bukti di halaman ini

"Page indexed without content" _(terjemahan)_ “halaman terindeks without konten” adalah sebuah Google Search Console halaman pengindeksan status meaning URL adalah di Google's indeks, tetapi Googlebot couldn't read apa pun usable konten dari ini — Google's own docs say cloaking atau sebuah unindexable format adalah mungkin causes, dan explicitly ini adalah not yang sama thing sebagai sebuah halaman-tingkat robots.txt block. ini adalah not yang sama sebagai di-crawl/ditemukan — currently not terindeks (itu aren't terindeks di semua). dominant assumption adalah itu ini adalah sebuah JavaScript masalah; di one January 2026 case John Mueller told sebuah pengguna ini biasanya berarti sebuah rendah-tingkat server/CDN block — sering IP-based dan aimed di Googlebot — itu Anda dapat't reproduce dengan curl atau sebuah ketiga-party crawler. lainnya mungkin causes: cloaking, sebuah empty render, konten gated behind clicks, atau sebuah unsupported format — treat ini sebagai sebuah checklist, not sebuah fixed order. Diagnose dengan pemeriksaan URL's terindeks View di-crawl halaman untuk what Google's last crawl saw (note: live test dapat't directly re-test ini spesifik status, dan sebuah valid live hasil doesn't guarantee pengindeksan). jika terindeks render adalah blank tetapi halaman looks fine di Anda browser, suspect sebuah Googlebot-targeted block atau accidental cloaking. menambahkan more kata won't fix sebuah halaman Google dapat't read.

TL;DR — “Page indexed without content” (terjemahan) “halaman terindeks without konten” berarti URL adalah di Google’s indeks tetapi Googlebot couldn’t read apa pun usable konten dari ini — distinct dari di-crawl/ ditemukan — currently not terindeks, which aren’t terindeks di semua, dan distinct dari sebuah halaman-tingkat robots.txt block, which adalah -nya own separate alasan. default assumption adalah sebuah JavaScript failure; di one January 2026 case, Mueller told sebuah pengguna ini biasanya berarti sebuah rendah-tingkat server/CDN block, sering IP-based dan aimed di Googlebot, itu Anda dapat’t reproduce dengan curl atau sebuah ketiga-party crawler. lainnya mungkin causes: cloaking, sebuah empty render, click-gated konten, atau sebuah unsupported format — periksa them sebagai evidence-led branches, not sebuah fixed peringkat. Diagnose dengan pemeriksaan URL’s terindeks View di-crawl halaman, keeping di mind Google explicitly lists ini status among ones live test dapat’t directly re-test, dan sebuah “valid” (terjemahan) “valid” live hasil isn’t proof status memiliki cleared.

What Google’s docs actually say

Google’s halaman pengindeksan report documentation adalah pendek pada ini one: halaman adalah di indeks, tetapi untuk beberapa alasan Google dapat not read konten. doc’s own cause contoh adalah itu halaman mungkin menjadi cloaked untuk Google, atau mungkin menjadi di sebuah format itu Google dapat’t indeks — dan recommended tindakan adalah untuk inspect URL dan lihat Coverage detail. Evidence for this claim Google defines Page indexed without content as indexed even though Google could not read the content, citing cloaking or unsupported formats as examples. Scope: Google Search Console Page Indexing status; other diagnoses require inspection. Confidence: high · Verified: Google: Page indexing report (See Official Docs dan Quotes tabs untuk verbatim wording dan deep tautan.)

Two things worth menjadi precise tentang, because guides pada ini istilah routinely blur both:

  • Google’s wording adalah “could not read the content” (terjemahan) “dapat not read konten” — ini melakukan not describe sebuah internal “blank object” (terjemahan) “blank object” ini stores. Treat “blank/empty entry” (terjemahan) “blank/empty entry” sebagai shorthand untuk reader-facing effect, not sebuah documented mechanism.
  • ini status adalah explicitly not yang sama thing sebagai sebuah halaman-tingkat robots.txt disallow — itu memiliki -nya own separate alasan di report. Where robots.txt melakukan penting here adalah indirectly: blocking sebuah critical resource (sebuah JS atau CSS file halaman perlu untuk render) dapat masih leave render empty, which adalah sebuah render-branch cause, not robots alasan itself.
Evidence for this claim Google explicitly says Page indexed without content is not a case of robots.txt blocking; a page-level disallow belongs to the separate robots reason even though critical resource blocks can still impair rendering. Scope: verified Search Console properties Confidence: high · Verified: Page indexing report

pertahankan itu straight dan Anda won’t confuse ini dengan “not indexed at all” (terjemahan) “not terindeks di semua” statuses, atau dengan sebuah robots block.

Don’t assume ini adalah JavaScript

ini adalah paling penting correction di whole artikel, so I’ll lead dengan ini.

reflex — dan sebagian besar dari guides peringkat untuk ini istilah — treat “indexed without content” (terjemahan) “terindeks without konten” sebagai sebuah rendering/JavaScript masalah. John Mueller pushed back pada itu di one spesifik case. Replying pada Reddit’s r/TechSEO untuk sebuah pengguna whose homepage memiliki dropped dari roughly position 1 untuk position 15 setelah ini status appeared, he told them ini biasanya berarti server atau CDN adalah blocking Google dari receiving apa pun konten, dan itu ini isn’t related untuk JavaScript. He ditambahkan itu ini adalah typically sebuah fairly rendah-tingkat block, sometimes berdasarkan Googlebot’s IP address — which membuat ini effectively impossible untuk test dari outside Search Console testing alat. affected setup adalah reportedly Webflow pada Cloudflare, sebuah berguna concrete contoh dari where sebuah CDN atau bot-protection default dapat quietly starve Googlebot. (I’m paraphrasing sebuah relayed Reddit remark here, not quoting ini — treat framing sebagai takeaway dari one documented case, not sebuah diukur statistic tentang how sering setiap cause occurs.)

itu’s correction worth internalizing: Mueller’s “usually” (terjemahan) “biasanya” describes what he saw di itu one exchange, not sebuah diperingkatkan, universal cause order. Google’s own docs don’t peringkat causes either — mereka hanya name cloaking dan unsupported format sebagai possibilities. So alih-alih sebuah fixed 1-melalui-5 list, berfungsi melalui ini sebagai evidence-led branches dan let what Googlebot actually diterima poin Anda di right one:

  • server / CDN / WAF respons — something di network layer adalah starving Googlebot dari konten (sering IP-based, sering invisible dari outside). Mueller’s documented cause.
  • Client-spesifik serving (cloaking) — Googlebot adalah disajikan berbeda atau empty konten daripada pengguna. ini dapat menjadi intentional cloaking (sebuah spam-policy violation requiring intent untuk manipulate rankings) atau sebuah accidental configuration difference — don’t panggil accidental versi “cloaking” (terjemahan) “cloaking” sebagai jika ini adalah policy violation; panggil ini what ini adalah, sebuah serving bug.
  • Format / parser issue — respons isn’t di sebuah format Google indeks, atau Content-Type header doesn’t match actual konten.
  • Render / resource failure — sebuah JavaScript render itu fails, times out, atau depends pada sebuah blocked resource, leaving rendered HTML empty.
  • konten gated behind interaction — konten itu hanya appears setelah sebuah click atau scroll Google tidak pernah triggers.
  • Genuinely empty output — halaman really melakukan render untuk nothing.

JavaScript adalah one branch untuk periksa — not default, dan not automatically diperingkatkan above atau below others without evidence dari Anda own inspection.

Why ini dapat cost Anda rankings

Worth flagging urgency: di itu one reported case, situs owner said mereka halaman fell dari tentang position 1 untuk position 15 — sebuah single pengguna’s account, not sebuah independently verified statistic, tetapi sebuah plausible outcome jika Google adalah holding sebuah unreadable versi dari sebuah halaman itu digunakan untuk peringkat. ini isn’t sebuah cosmetic report status untuk shrug off — when ini menampilkan up pada sebuah halaman itu penting, treat ini sebagai worth investigating promptly.

server/CDN block, di detail

alasan ini cause adalah di bawah-covered adalah itu ini adalah hard untuk see. sebuah bot-protection atau WAF aturan, sebuah IP allowlist, aggressive rate-limiting, atau sebuah security default itu auto-updated dapat decide Googlebot looks like abusive traffic dan kembalikan sebuah empty body, sebuah challenge halaman, atau sebuah non-200 status — tetapi hanya untuk Googlebot’s IPs. Anda, Anda team, dan Anda ketiga-party crawler semua hit halaman dari normal IPs dan see nyata thing.

itu’s trap: Anda dapat’t reproduce sebuah IP-based Googlebot block dengan curl atau sebuah desktop crawler. mereka aren’t coming dari Googlebot’s IP ranges. satu-satunya place Anda’ll reliably see what Googlebot got adalah inside Search Console’s testing alat, which fetch sebagai Google.

jika Anda suspect ini, move adalah untuk verify what’s actually Googlebot (reverse + forward DNS, atau Google’s published IP ranges) dan lalu periksa Anda CDN’s bot management, firewall/WAF aturan, IP allowlists, dan rate limits untuk anything itu akan block itu ranges. Scripts tab memiliki verification commands.

sebelum changing anything, correlate evidence alih-alih guessing: pull terindeks View di-crawl halaman respons, Anda CDN/WAF event logs, dan Anda origin server logs untuk yang sama time window, dan cari sebuah permintaan ID, client category, dan spesifik aturan atau rate limit itu denied permintaan. lalu perubahan hanya narrowest route, client category, atau aturan Anda’ve actually confirmed adalah responsible — dengan sebuah security review sebelum Anda ship ini. Broadly allowlisting semua dari Google’s published IP ranges isn’t something reviewed sources mendukung sebagai sebuah safe default; ini widens Anda attack surface untuk sebuah masalah itu’s biasanya one misconfigured aturan. setelah perubahan, watch untuk confirmed Googlebot permintaan returning sebuah full respons di Anda logs, lalu re-periksa terindeks report pada sebuah later crawl — Google doesn’t publish sebuah fixed re-crawl schedule, so ini adalah sebuah “keep checking,” (terjemahan) “pertahankan memeriksa,” not sebuah “check back on day X,” (terjemahan) “periksa back pada day X,” situation.

rendering / JavaScript cause (when ini adalah JS)

When cause genuinely adalah rendering, mechanism adalah straightforward: Google melakukan crawl raw HTML, lalu sebuah headless Chromium renders halaman dan runs -nya JavaScript. Google dapat hanya indeks what ends up di rendered HTML. jika Anda konten adalah client-side rendered dan itu render fails, errors out, times out, atau depends pada sebuah permintaan itu Google doesn’t membuat, rendered HTML dapat come back empty — dan Anda get terindeks without konten.

sebuah spesifik flavor worth calling out: konten gated behind interaction. I’ve written sebelum di my JavaScript SEO guide itu elements which hanya muat konten when clicked adalah sebuah masalah — Google doesn’t click, so ini doesn’t see itu konten. sama dengan konten itu hanya appears pada scroll atau setelah sebuah pengguna tindakan. jika Anda main konten perlu sebuah tap untuk exist, assume Google doesn’t memiliki ini.

fix untuk JS cause adalah usual rendering playbook — rendering sisi server atau prerendering, membuat sure konten adalah di rendered HTML, dan exposing navigation melalui nyata <a href> tautan alih-alih click-hanya handlers. (Full treatment di JavaScript SEO.)

Diagnosing ini: pemeriksaan URL adalah whole game

There’s really one diagnostic itu penting here, dan ini adalah pemeriksaan URL — tetapi ini memiliki two berbeda data sources, dan mixing them up leads people untuk wrong conclusions. Google separates terindeks data (what -nya last pengindeksan crawl saw) dari sebuah live test (Google-InspectionTool fetching URL right now), dan mereka don’t jawaban yang sama pertanyaan:

terindeks dataLive test
What ini menampilkanrendered HTML, respons HTTP, dan halaman resources dari Google’s last terindeks crawl — record behind status Anda’re seeingWhether Google-InspectionTool dapat currently reach halaman, plus sebuah fresh screenshot
Screenshot available?Not untuk terindeks viewYes — screenshots adalah live-test hanya
dapat ini test ini status?ini adalah record status describesNo — Google explicitly lists “Page indexed without content” (terjemahan) “halaman terindeks without konten” among conditions live test dapat’t directly re-test
melakukan sebuah “valid” (terjemahan) “valid” hasil berarti ini adalah fixed?N/sebuahNo — sebuah valid live hasil hanya berarti halaman adalah currently reachable untuk Google’s tester, not itu ini adalah terindeks atau itu status memiliki cleared

So actual workflow:

  1. View di-crawl halaman (terindeks data). Read rendered HTML, respons HTTP, dan halaman resources tied untuk status — ini adalah what Googlebot’s pengindeksan crawl actually got. Availability dari setiap piece dapat vary oleh status; jika beberapa fields aren’t ditampilkan, itu itself adalah diagnostic (sebuah blocked atau non-200 respons sering menampilkan less daripada sebuah normal render).
  2. Compare ini untuk Anda own browser. jika terindeks render adalah blank atau stripped tetapi live halaman adalah full di Anda browser, Anda’re looking di sebuah block atau client-spesifik serving, not sebuah missing-konten masalah.
  3. Run Test Live URL anyway, tetapi read ini correctly. ini won’t directly confirm ini status memiliki cleared, tetapi ini adalah masih berguna: jika live test itself fails atau flags sebuah access masalah, itu’s nyata evidence; jika ini comes back “valid,” (terjemahan) “valid,” treat itu sebagai “currently reachable,” (terjemahan) “currently reachable,” not “fixed.” (terjemahan) “fixed.” Evidence for this claim URL Inspection can show Google's indexed/crawled information and supports a live test for the current accessible version. Scope: Google Search Console URL Inspection; live test results can differ from the indexed version. Confidence: high · Verified: Google: URL Inspection tool
  4. Read respons dan resources. sebuah non-200 status, sebuah challenge/interstitial, atau blocked critical resources (JS/CSS halaman perlu) semua poin di cause.

Because IP-based blocks won’t tampilkan up dari outside, don’t trust sebuah external curl atau crawler untuk jelas halaman — Search Console alat adalah satu-satunya thing fetching sebagai Google, dan bahkan mereka perlu terindeks data, not hanya live test, untuk speak untuk ini spesifik status.

Telling causes apart

sebuah quick reference untuk statuses dan causes people conflate dengan ini one:

jika Anda see…ini berarti…Not ini status because…
halaman-tingkat robots.txt disallowURL itself adalah blocked dari crawling — sebuah separate report alasanGoogle’s docs explicitly exclude sebuah halaman-tingkat robots block dari ini status
Blocked critical resource (JS/CSS) via robots.txthalaman dapat menjadi di-crawl, tetapi sebuah resource ini perlu untuk render adalah blockedini adalah sebuah render-branch cause, not robots alasan itself — fix oleh unblocking resource
401 atau 403 responsnyata, dedicated halaman pengindeksan alasan dari mereka ownDistinct statuses di report, not ini one
browser-hanya barrier (cookie wall, consent gate, geo aturan, login) itu mengembalikan 200sebuah konten difference antara what sebuah browser session sees dan what Google’s permintaan seesNo nyata 401/403 adalah dikembalikan, so ini won’t tampilkan di bawah itu alasan — diagnose ini sebagai client-spesifik serving
Intentional berbeda konten untuk bot vs. pengguna, dimaksudkan untuk manipulate rankingsCloaking di bawah Google’s spam policy — sebuah policy violationmemerlukan manipulative intent; sebuah accidental empty respons untuk Googlebot adalah sebuah configuration bug, not proof dari sebuah spam violation
Unsupported file jenis atau wrong Content-Type headersebuah format/parser issueGoogle determines file jenis mainly dari respons header, not hanya extension

myths untuk drop

  • “Add 600 words and it’ll fix itself.” (terjemahan) “tambahkan 600 kata dan ini’ll fix itself.” kata count adalah sebuah thin-konten/quality issue. jika Google diterima no konten, menambahkan kata untuk sebuah halaman ini dapat’t read perubahan nothing.
  • “It’s a JavaScript problem.” (terjemahan) “ini adalah sebuah JavaScript masalah.” Sometimes — tetapi per Mueller ini adalah biasanya sebuah server/CDN block, not JavaScript. Don’t start there.
  • “I can reproduce it with curl.” (terjemahan) “I dapat reproduce ini dengan curl.” Not jika ini adalah sebuah IP-based block pada Googlebot.
  • “It’s the same as Crawled/Discovered — currently not indexed.” (terjemahan) “ini adalah yang sama sebagai di-crawl/ditemukan — currently not terindeks.” No — itu aren’t terindeks di semua; ini one adalah.
  • “Just hit Request Indexing.” (terjemahan) “hanya hit permintaan pengindeksan.” Re-pengindeksan without fixing underlying block atau render hanya re-confirms sebuah empty halaman.

setelah Anda fix ini

Once View di-crawl halaman menampilkan nyata konten again, gunakan report’s Validate Fix flow dan/atau permintaan pengindeksan untuk prompt sebuah re-crawl, lalu re-inspect untuk confirm render now berisi Anda konten. Validation without sebuah fix hanya bounces.

Where ini sits

ini adalah one status di halaman pengindeksan report, which sits inside Google’s broader pengindeksan stage (crawl → render → indeks → sajikan). sibling statuses di itu report — “currently not indexed” (terjemahan) “currently not terindeks” pair, duplicate/canonical statuses, dan blocked/error statuses — setiap fail di sebuah berbeda poin di pipeline. untuk rendering mechanics behind JS cause, see rendering dan JavaScript SEO; untuk how report sebagai sebuah whole berfungsi, see halaman pengindeksan report hub.

Add an expert note

Pin an expert quote

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