CheckMySchema

Structured data explained

Noindex vs nofollow: a clear guide for developers

Understand the difference between noindex and nofollow, how to implement each via meta tags or headers, when to use them, and how to verify they work.

    Diagram showing what is the difference between noindex and nofollow two cyan arrows blocked by a noindex meta panel and a rel=nofollow anchor with inline code snippets

    Noindex removes a page from search results when crawlers see the directive; nofollow tells crawlers not to follow links on a page or a specific link. They control different things: visibility in search vs link following and discovery (https://developers.google.com/search/docs/crawling-indexing/block-indexing, https://help.siteimprove.com/support/solutions/articles/80000448137-seo-noindex-vs-nofollow).

    What each directive does

    Noindex

    Noindex tells supported search engines not to include a page in their indexes. When Googlebot crawls a page and finds noindex (via meta or header), it drops the page from Google Search results (https://developers.google.com/search/docs/crawling-indexing/block-indexing).

    Two equivalent ways to implement:

    • Meta tag in the head: <meta name="robots" content="noindex">
    • HTTP header for any resource (HTML, PDFs, images, video): X-Robots-Tag: noindex

    Nofollow

    Nofollow can be applied at link level or page level. It asks crawlers not to follow the affected links or pass value through them. Google treats nofollow as a hint, not a strict directive (https://help.siteimprove.com/support/solutions/articles/80000448137-seo-noindex-vs-nofollow).

    • Link-level: <a href="https://example.com" rel="nofollow">Example</a>
    • Page-level meta: <meta name="robots" content="nofollow">

    Minimalist close up diagram of an HTML head card with a meta robots tag example and a highlighted X-Robots-Tag HTTP response header band in blue cyan brand colors what is the difference between noindex and nofollow

    Implementation examples

    Keep the page out of search, allow link discovery

    Add to the head: <meta name="robots" content="noindex, follow">. This removes the page from search while still allowing crawlers to process its links.

    Use an HTTP header for non-HTML files or server-level control

    Return in the response: X-Robots-Tag: noindex. This provides the same indexing control as the meta tag and works for non-HTML resources (https://developers.google.com/search/docs/crawling-indexing/block-indexing).

    Apply nofollow to a single link

    Mark just the link you don’t want crawled: <a href="https://example.com" rel="nofollow">Vendor site</a> (https://help.siteimprove.com/support/solutions/articles/80000448137-seo-noindex-vs-nofollow).

    When to use noindex, nofollow, or both

    Minimal 2D vector flow diagram of a web crawler fetching a page reading meta and X-Robots-Tag then following or skipping outbound links with decision icons explaining what is the difference between noindex and nofollow

    Common mistakes to avoid

    Implement and verify robots directives

    How to verify your setup

    First, check the live response. For meta tags, use View Source. For headers, use your browser’s Network panel or a command like curl -I https://example.com/page. Then confirm with Search Console’s URL Inspection tool, which shows the HTML Googlebot received and whether a noindex rule was extracted. If a page still appears in search, it may not have been crawled since you added noindex, or it may be blocked by robots.txt; unblock it so Googlebot can see the directive (https://developers.google.com/search/docs/crawling-indexing/block-indexing).

    FAQ

    Does nofollow stop a page from being indexed?

    No. Nofollow affects link following, not whether the page itself is indexed. Use noindex to keep a page out of search results (https://help.siteimprove.com/support/solutions/articles/80000448137-seo-noindex-vs-nofollow).

    Can I use noindex on PDFs or images?

    Yes. Send X-Robots-Tag: noindex in the HTTP response header for non-HTML resources (https://developers.google.com/search/docs/crawling-indexing/block-indexing).

    Related reading on structured data and measurement: How to validate schema markup: a practical checklist and Why is schema markup important for SEO?

    CheckMySchema logo

    Related guides

    Related guide from My AI Search Report

    To distinguish search directives from a specific AI search crawler, see What is OAI-SearchBot?.

    Official sources and further reading