Noindex vs Nofollow: When to Use Each Directive
Confused about noindex vs nofollow and when to use each? Clear rules, real examples, and common mistakes for controlling crawling and indexing.
noindex and nofollow sound similar, sit in the same meta tag, and get confused constantly — even by experienced developers. They do completely different things, and mixing them up can silently tank your rankings or leak crawl budget on pages you never wanted Google to see.
Here's a practical breakdown of what each directive actually controls, when to reach for one over the other, and the combinations that trip people up.
What each directive actually does
Noindex
noindex tells search engines: you can crawl this page, but don't include it in search results. The page is still fetched, links on it are still followed (unless you say otherwise), but it won't appear when someone Googles for it.
Implementation:
- Meta tag:
<meta name="robots" content="noindex"> - HTTP header:
X-Robots-Tag: noindex
Nofollow
nofollow tells search engines: don't pass ranking signals through links. It can apply to all links on a page (via meta tag) or to individual links (via the rel attribute).
Implementation:
- Page-level:
<meta name="robots" content="nofollow"> - Link-level:
<a href="..." rel="nofollow">
Since 2019, Google treats nofollow as a hint rather than a strict directive, and introduced rel="sponsored" and rel="ugc" as more specific alternatives.
When to use noindex
Use noindex whenever a page exists for users but has no business showing up in search results. Common cases:
- Thank-you and confirmation pages — they only make sense after a form submission and create thin-content issues if indexed.
- Internal search result pages — Google explicitly recommends keeping these out of its index.
- Login, account, and admin pages — no search value, often duplicate-looking.
- Faceted navigation or filtered category URLs that generate near-duplicate content.
- Staging or beta sections that are public but not ready for visibility.
- Tag archives with weak content on a blog or CMS.
- Printer-friendly versions of articles.
- Paginated archives beyond the first page, in some setups (debated — test before applying site-wide).
Don't combine noindex with disallow in robots.txt
This is the single most common mistake. If you block a URL in robots.txt, Googlebot can't fetch it, which means it can't see your noindex tag. The page may still appear in search results as a URL-only listing.
The correct pattern: allow crawling, then noindex via meta tag or header. Once Google has reliably dropped the page from its index, you can disallow it if needed.
When to use nofollow
Reach for nofollow when you want the page itself indexed normally, but you don't want to vouch for specific outbound links. Common cases:
- Paid or sponsored links — use
rel="sponsored"where possible, butnofollowworks as a fallback. - User-generated content — comments, forum posts, profile links.
rel="ugc"is the more specific option. - Untrusted external links — pages you reference for context but don't endorse.
- Login or signup links repeated site-wide, where you don't want to waste crawl signals on them.
When NOT to use nofollow
- Internal links between your own pages. You're throwing away your own PageRank flow.
- Trusted editorial outbound links — passing authority to good sources is a healthy signal.
- As a substitute for
noindex. Nofollow on a link doesn't stop the target page being indexed if it's linked from anywhere else.
The combinations that matter
The robots meta tag accepts multiple values comma-separated. Here's what each combination actually means:
noindex, follow— Don't index this page, but do follow its links and pass equity. Good for thin pages that link to important content (e.g. paginated archives, some tag pages).noindex, nofollow— Don't index, don't follow. Use for completely private-purpose pages like account settings or internal tools.index, nofollow— Rare. Index the page but ignore all its links. Occasionally useful on pages with lots of untrusted UGC links you don't want to audit individually.noindexalone — Defaults tonoindex, follow. Usually what you want for thank-you pages and similar.
How to verify what you've deployed
It's easy to assume your directives are working and discover months later that a typo or a CMS plugin overrode them. A quick verification workflow:
- View source on the live URL and search for
robots. Confirm the meta tag is present and spelled correctly. - Check HTTP headers for
X-Robots-Tag— some hosts and CDNs inject directives at the header level that aren't visible in HTML. - Use AXOX Hub's Meta Tag Analyzer to pull every relevant meta tag from a URL in one view, so you can spot conflicts between page-level and template-level tags without manually parsing the source.
- Cross-check with Google Search Console URL Inspection to confirm how Google sees the page.
- Audit at scale with a crawler that reports robots directives alongside status codes, so you can catch entire sections of a site stuck on the wrong setting.
Real-world scenarios
E-commerce site with filtered product URLs
Filtered URLs like /shoes?color=red&size=10 generate thousands of near-duplicate pages. Apply noindex, follow so Google ignores them in search but still crawls through to the canonical product pages.
SaaS marketing site with a customer login
The /login page should be noindex, nofollow. There's nothing for search engines to do with it, and the links on it (forgot password, signup) are repeated everywhere else.
Blog publishing sponsored reviews
Keep the article itself indexable. On the link to the sponsor, use rel="sponsored nofollow". Don't noindex the whole article — it's legitimate content that should rank.
Forum or community platform
Index the threads. Add rel="ugc nofollow" to user-posted links by default. Reserve noindex for low-value pages like user profile lists or empty tag archives.
Run a quick audit on your own site
If you're not 100% sure which of your pages currently carry noindex or nofollow directives — or whether your CMS has quietly added them somewhere unwanted — check a few representative URLs with the free AXOX Hub Meta Tag Analyzer. It surfaces the full set of robots, canonical, and social meta tags so you can confirm each page is signalling exactly what you intended.
Try the free tool
Open Tool