Start with the outcome you need
Robots.txt controls crawling by cooperating bots. A noindex directive tells a supporting search engine not to include a page in its search index. These are different controls. Google documents that a blocked URL can still appear in results, and that it must crawl a page to see its noindex instruction. Before editing either setting, write a plain sentence describing the desired outcome. 'Do not expose customer invoices' calls for access control. 'Allow visitors to use this public filter page but keep it out of search' is an indexing decision.
Map page types before writing rules
Create a short table of routes: public articles, category pages, search results, account screens, and preview pages. For each, record whether anonymous access is appropriate and whether indexing is intended. Do not copy another site's robots file without understanding its URL patterns. A broad directory rule can unintentionally cover articles, scripts, or images used by important pages. Review the table with someone who understands the application, because an SEO-only view may miss the private data or shared assets living behind apparently ordinary paths.
A hypothetical troubleshooting case
Suppose a public internal-search page appears in Google. A developer adds a robots disallow rule and a noindex tag together. The tag is now hidden from the crawler by the disallow rule. The operational fix is to decide whether the page can remain publicly crawlable long enough for the exclusion instruction to be seen. For genuinely confidential information, do not use that approach as a privacy strategy; require authentication instead. The example demonstrates why combining controls without considering their sequence can defeat the intended indexing change.
Inspect both headers and HTML
Noindex can arrive through page metadata or an HTTP response header. Inspect both when a page unexpectedly disappears. A correct HTML template does not cancel a restrictive header added by a hosting rule, plugin, or proxy. Similarly, the robots file visible on a preview hostname may differ from the production file. Test the exact production URL, including its host and path, and save the response alongside your change record. When several systems control delivery, identify which one owns each instruction before attempting a fix in multiple places at once.
Build a safer release habit
Treat broad crawl rules and indexing directives as configuration that deserves review. Keep a small set of representative URLs with expected outcomes, then test those routes after publishing changes. Include a public article that must remain eligible for indexing and a private page that must remain protected. A passing check does not promise search visibility, but it prevents avoidable contradictions. If a removal takes time, inspect whether the search engine has fetched the updated response before repeatedly changing rules. Stable, intentional controls are easier to diagnose than a sequence of overlapping emergency edits.
Before applying a wildcard rule, test it against a written list of URLs that must remain accessible. A tiny pattern change can affect a much broader collection than its author intended.
Choose the desired outcome first: crawling control, indexing exclusion, or access protection.
Sources & further reading
Official documentation informs this guide. Examples are illustrative, and product interfaces or limits can change.
From search signals to a useful first draft.
SERP.so is in development. Join the waitlist for a workspace that connects research, content review, and publishing.
Join early access ↗