Noindex dan AI Search: Kapan Lebih Tepat daripada Disallow
Ada page yang public, tapi tidak ingin muncul di Search.
Misalnya:
Thank-you page.
Internal search result.
Temporary campaign.
Duplicate utility page.
Account helper.
Certain archive.
Tim buka robots.txt.
“Disallow aja.”
Itu terlihat masuk akal.
Crawler tidak masuk.
Masalahnya, kalau crawler tidak masuk, crawler juga tidak bisa membaca directive di dalam page yang mengatakan:
“Jangan index.”
Google Search Central sangat jelas soal ini.
Untuk mencegah page muncul di Google Search, gunakan `noindex`.
Dan agar Googlebot bisa melihat `noindex`, page tidak boleh diblok robots.txt.
Kalau diblok robots.txt, Google tidak dapat melihat meta tag atau HTTP header tersebut.
Dalam certain circumstances, URL yang diblok crawl masih bisa diketahui dari links dan muncul tanpa snippet.
Itu sebabnya noindex sering lebih tepat daripada disallow ketika tujuan sebenarnya adalah:
“Page boleh dicrawl, tapi jangan disajikan dalam Search.”
Crawl dan Index Itu Dua Keputusan
Crawl:
Bolehkah bot fetch page?
Index:
Bolehkah content/URL disimpan dan disajikan di Search index?
Robots disallow:
crawl control.
noindex:
indexing control untuk crawler yang mendukung.
Ini bukan semantic nitpick.
Consequence beda.
Disallow:
crawler tidak melihat content.
Noindex:
crawler melihat content, menemukan directive, kemudian tidak mengindex/serve sesuai platform behavior.
If your goal:
remove Search presence.
noindex is conceptually right tool.
If goal:
prevent fetch due server load/licensing.
disallow.
Do not use one because more familiar.
Google Example Is Straightforward
Google docs say:
If you want to block page from Google Search results:
use `noindex`.
If page is blocked with robots.txt:
Googlebot won't see noindex.
This remains one of the most misunderstood technical SEO rules.
AI Search makes confusion worse because people add more crawler names but don't separate purpose.
Before “AI noindex”, first understand platform-specific support.
Google:
documented.
OpenAI:
publisher FAQ provides noindex guidance for certain ChatGPT Search/Atlas URL-display contexts.
Other AI systems:
verify official docs.
Do not assume Google meta directives are universally honored identically.
Noindex Is Not Privacy
Public page with noindex:
anyone with URL can visit.
Search crawler may fetch.
Bots that don't honor can access.
So do not put:
salary data.
customer records.
private invoice.
internal report.
then noindex.
Security:
authentication.
Access control.
Noindex is publishing/search directive.
Not confidentiality.
Same principle as robots.
If data cannot be public:
don't make public.
Noindex is for public-but-not-searchable intent.
Useful distinction.
When Noindex Is Better
1. Thin utility page that must be public.
2. Internal search results.
3. Filter/sort variants you don't want indexed but crawler may need access.
4. Campaign thank-you page.
5. Duplicate page that cannot be canonicalized for some reason and should not appear.
6. Certain account/help pages that are public but not Search destinations.
7. Staging? No. Staging should use auth, not only noindex.
8. Syndicated/temporary content depending strategy.
Each case still needs technical architecture.
Noindex can be meta tag or X-Robots-Tag for Google.
For non-HTML resources, HTTP header is useful.
But check consumer support.
Don't spray noindex sitewide.
Noindex Can Remove Page from AI-Supported Search Surface If It Relies on Google Search Eligibility
Google AI Overviews and AI Mode supporting links require page to be indexed and eligible to appear in Google Search with snippet.
Google's 2026 AI features guidance says standard Search technical requirements apply; no special AI markup.
So if page is noindex in Google:
it won't be normal indexed Search result.
That naturally affects Google generative Search eligibility.
This is direct platform logic.
No need claim:
“noindex is AI Mode block.”
It is Search indexing control, and AI features use Google Search eligibility foundation.
Precise language.
For ChatGPT Search, check OpenAI controls separately.
Different platform.
Noindex Is Sometimes Better for URL Known from Third Parties
OpenAI publisher FAQ notes a public URL can sometimes appear as navigational link/title if discovered through third-party sources or other pages, even when Search crawler is blocked.
OpenAI suggests using `noindex` when publisher doesn't want that URL to be surfaced, and crawler must be allowed to access page to read directive.
This is analogous to Google crawl/index distinction.
Important:
Do not block crawler from page if you depend on it reading noindex.
Otherwise directive invisible.
So counterintuitive strategy:
Allow crawl.
Noindex.
That can be more effective for “do not surface” than disallow.
Because crawler learns explicit indexing preference.
Disallow Is Better When Fetch Itself Is the Problem
Maybe:
Large archives.
Infinite calendars.
Generated filters.
Crawler traps.
Expensive endpoints.
Content licensed against specific crawler use.
Training bot opt-out.
Low-value duplicate URL space.
Then disallow reduces crawl.
No need bot read content.
But if you also want URL removed from Search:
you may need separate process/directive.
One rule can't optimize both access and index in all cases.
Design.
For Google, if already indexed and then you disallow before noindex is processed, removal can be harder/slower because Google can't fetch directive.
Typically:
allow crawl.
set noindex.
wait for processing.
Then decide whether disallow is needed later, with caution.
Exact operational sequence depends case.
Use Search Console URL Inspection/removal tools if urgent where appropriate.
Don't improvise.
Canonical vs Noindex
Duplicate page.
Should you canonical or noindex?
Different intent.
Canonical:
“This duplicate belongs to representative URL X.”
Noindex:
“Don't include this page.”
If page is true duplicate and signals should consolidate:
canonical can be appropriate.
If page has utility but no Search value:
noindex.
Google documentation generally discourages using noindex as canonicalization substitute where canonical relationship is intended.
Need content architecture.
AI Search doesn't change.
One page can be noindex and canonical, but mixed signals require understanding.
Don't stack directives blindly.
Noindex and `nofollow`
`noindex, follow` historically common.
Google says links on noindexed pages may eventually become less useful for crawling as page remains noindex, but exact behavior evolves.
Don't use noindex pages as critical internal-link hubs.
If important navigation exists:
provide links from indexed pages.
Again:
Search architecture.
For AI search crawler, behavior may differ.
No universal assumptions.
Noindex is about indexing.
Link discovery separate.
X-Robots-Tag for PDFs and Files
Institutional websites publish:
PDF.
CSV.
Images.
Documents.
Meta tag doesn't exist in PDF HTML head.
Google supports X-Robots-Tag HTTP header for non-HTML resources.
Example:
PDF public download but don't want indexed.
Send:
X-Robots-Tag: noindex
if appropriate.
Crawler must fetch header.
robots disallow would prevent seeing it.
This is practical.
Research institutions should know.
Don't add HTML meta to PDF wrapper and assume PDF itself noindexed.
Resource-level directive matters.
Check server/CDN.
Noindex and API Responses
If public JSON endpoint:
Google may crawl depending links.
X-Robots-Tag can control Google indexing.
But APIs usually should not be Search destinations.
Also consider:
authentication.
CORS.
rate limits.
robots.
API documentation.
Noindex alone doesn't protect data.
If endpoint exposes sensitive:
security.
If public machine API:
decide discoverability.
Noindex is one signal.
AI agents may call API through explicit tools, unaffected by Search index policy.
Different channel.
Noindex Doesn't Mean “Don't Train”
This must be explicit.
Search indexing directive:
noindex.
Training preference:
vendor-specific control.
For OpenAI:
GPTBot robots policy documented for training.
Don't assume noindex communicates training opt-out.
Maybe a company crawler may interpret content controls in own way, but use documented training controls.
Same with Google:
Google-Extended is documented control for certain generative AI use cases, separate from Google Search indexing. If discussing Google AI training/use, always check current Google crawler docs.
Search vs training.
Again.
Noindex and WAF
Crawler must access.
If WAF returns 403:
noindex never read.
So page may remain known/indexed according to prior state until Search system processes other signals.
Audit:
HTTP 200 to verified crawler.
Meta noindex present.
No robots block.
Canonical as intended.
Use URL Inspection where available.
For OpenAI:
check verified SearchBot logs.
If no request due WAF:
fix if you expect directive processed.
Directive is content.
Transport must deliver.
Noindex Rollout Needs Timing
Add noindex to 10,000 pages.
They don't disappear instantly.
Crawlers need recrawl.
Large sites:
time.
Sitemap can omit noindex pages eventually, but operational strategy depends.
Don't remove all internal links before bots find directive if that makes discovery difficult.
For urgent Google removal:
Removals tool can temporarily hide while noindex processes, according to Search documentation.
No universal instant.
Set expectations.
Search Console reports.
Monitor.
Noindex Mistake Can Kill Valuable Pages Quietly
Site redesign.
Template inherits:
`<meta name="robots" content="noindex">`
from staging.
Homepage maybe fine.
Article template noindex.
Traffic drops.
No robots error.
Googlebot can crawl.
But directive says don't index.
AI Overviews/Mode eligibility also affected via indexing.
This is why release tests need assertions.
Production:
indexable templates should not contain noindex.
Staging:
should be auth plus noindex secondary.
CI.
Crawl site after deploy.
Noindex is powerful.
One tag can remove thousands pages.
Noindex Is Cleaner than Disallow for Thank-You Pages
Thank-you page:
needs user after form.
Not Search landing.
Use noindex.
Allow crawl.
No need robots block.
If page contains sensitive token/order details:
make URL/session secure and content protected appropriately.
Noindex doesn't secure.
But public generic thank-you:
classic noindex.
Robots disallow adds little.
Search systems can process noindex.
Simple.
Noindex for Internal Search Results
Google has long recommended preventing internal Search result pages from indexing because they can create poor/infinite spaces.
Noindex can work.
Robots can also control crawl budget if enormous.
At scale:
might need both in phased/architected way.
But beware bot needs noindex.
Often route can be:
noindex + careful crawl controls.
Large site needs SEO architecture.
Not one rule.
AI SearchBot may also waste crawl on internal search parameters.
Disallow can reduce load.
If you don't care Search removal because never indexed:
disallow.
Observe.
Purpose.
When to Prefer Disallow
Goal:
Crawler should not fetch.
Examples:
Training opt-out for GPTBot.
Infinite parameter patterns.
Expensive generated pages.
Crawler traps.
Private-like public endpoints where access is legally undesirable, though true private should be authenticated.
Non-value paths.
Use robots.
But don't describe as:
“deindex.”
It may not.
Noindex gives deindex instruction.
Robots gives crawl restriction.
This one sentence should be internal standard.
Do Not Put `noindex` in robots.txt
Again because templates online still show.
Google does not support unofficial noindex directive in robots.txt.
Use meta/X-Robots-Tag.
For OpenAI or other bots, do not assume.
If vendor wants special syntax:
official docs.
No custom.
This is easy audit win.
Search `robots.txt` for:
Noindex:.
Remove/migrate based purpose.
Robots parser may ignore.
False security.
Measurement After Change
Record:
URL sample.
Before index status.
Robots status.
Noindex status.
WAF.
Timestamp.
Crawler log.
Search Console Google-selected status.
AI Search observation if relevant.
Then after window:
check.
Don't say:
“Noindex works” based one hour.
Crawler recrawl.
OpenAI robots changes may take ~24 hours for Search; noindex processing timing can vary.
Google timing varies by crawl.
No fixed guarantee.
Monitor.
The Decision Table
Want crawler to fetch?
Yes/no.
Want page indexed?
Yes/no.
Want training?
yes/no.
Want private?
yes/no.
If private:
auth.
If public but not indexed:
allow crawl + noindex.
If don't want crawl:
disallow.
If training opt-out:
vendor crawler control.
If Search visibility:
allow Search crawler + index eligibility.
This table solves more than memorizing directives.
Noindex Is a Statement about Search Presence, Not Machine Access
That's the mental model.
Disallow:
“Don't fetch this path through this crawler.”
Noindex:
“Don't include this content in index/results.”
Authentication:
“You may not access without permission.”
Training control:
“Don't use crawler for training purpose.”
They can coexist.
But each should have reason.
AI Search hasn't invalidated technical SEO.
It has made the old distinctions more important because more machine consumers now exist.
So when a page should remain public but disappear from Search, don't reach for robots out of habit.
Sometimes the better strategy is the opposite:
Let the crawler in.
Let it read the instruction.
Then tell it clearly:
Don't index this.
Bacaan terkait di GEO.or.id
- Cluster: AI Crawlers & Indexing
- Kerangka terkait: AI Crawler Access and Referral Measurement Protocol
- Kerangka terkait: llms.txt: Scope, Evidence, and Limitations
- Artikel terkait: Cara Memisahkan Crawl Permission, Index Permission, dan Training Permission
- Artikel terkait: Crawler Access untuk Staging, Member Area, dan Public Content
- Artikel terkait: Robots.txt untuk AI: Kesalahan yang Bisa Memblokir Search tapi Tidak Training
- Artikel terkait: Checklist AI Crawler Governance untuk 2026
