Skip to content
Guides/noai & noimageai
Updated March 2026· 6 min read

noai & noimageai: Block AI Training with Meta Tags

The noai and noimageai directives let you opt out of AI training on a per-page basis — without touching robots.txt, without removing yourself from search results.

Already have meta tags set?
Check if your noai directives are actually being detected by AI crawlers.
Check My Tags →

What are noai and noimageai?

noai and noimageai are directives added to the robots meta tag (or HTTP response header) that tell AI crawlers not to use your content for model training. They were proposed by web publishers and have been adopted by major AI companies including Google, OpenAI, and Anthropic.

noai
All content

Prevents AI bots from using any page content (text, code, structured data) for training AI models.

noimageai
Images only

Prevents AI image models from using images on the page as training data. Does not affect text content.

These are complementary directives. Most publishers use both:

<meta name="robots" content="noai, noimageai">

noai vs. noindex — Critical Difference

These are often confused. They do completely different things:

DirectiveSearch visibilityAI trainingUse when
noindex❌ Removed from search⚠️ No direct effectYou don't want the page in any search results
noai✓ Still indexed🛡️ Blocks AI trainingYou want search visibility but no AI training use
noai, noimageai✓ Still indexed🛡️ Blocks text + image trainingFull AI training opt-out, keep SEO
noindex, noai❌ Removed from search🛡️ Blocks AI trainingPrivate/sensitive pages — no indexing, no training
Key takeaway: Use noai if you want to stay in search results but opt out of AI training. Only use noindex if you genuinely want the page removed from search.

How to Implement

Option 1: HTML meta tag (easiest)
Add to the <head> of every page you want to protect. Works for HTML pages only.
Block AI training on text and images:
<head>
  <meta name="robots" content="noai, noimageai">
</head>
Keep search indexing, only block AI training:
<meta name="robots" content="index, follow, noai, noimageai">
Images only (keep text for AI training):
<meta name="robots" content="noimageai">
Option 2: X-Robots-Tag HTTP header
Set in your server config or CDN. Works for any resource — HTML, PDFs, images, JSON API responses.
nginx:
# In your server {} block:
add_header X-Robots-Tag "noai, noimageai" always;

# Or for specific paths only:
location /blog/ {
    add_header X-Robots-Tag "noai, noimageai" always;
}
Apache (.htaccess):
Header always set X-Robots-Tag "noai, noimageai"
Next.js (next.config.ts):
const nextConfig = {
  async headers() {
    return [
      {
        source: '/(.*)',
        headers: [
          { key: 'X-Robots-Tag', value: 'noai, noimageai' },
        ],
      },
    ];
  },
};
Cloudflare Workers:
export default {
  async fetch(request) {
    const response = await fetch(request);
    const newResponse = new Response(response.body, response);
    newResponse.headers.set('X-Robots-Tag', 'noai, noimageai');
    return newResponse;
  },
};
Option 3: Per-bot meta tags
Target specific AI bots while allowing others. Use the bot's name as the meta tag's name attribute.
<!-- Block only AI training bots, allow AI search bots -->
<meta name="GPTBot" content="noindex">
<meta name="ClaudeBot" content="noindex">
<meta name="CCBot" content="noindex">
<meta name="cohere-ai" content="noindex">

<!-- Allow AI search bots (PerplexityBot, OAI-SearchBot, etc.) -->
<!-- Don't set a meta tag for them, or set content="index" -->

<!-- Or: block an AI search bot from one specific page -->
<meta name="PerplexityBot" content="noindex">

Note: per-bot meta tags use noindex, not noai. The noai directive only works in the generic name="robots" tag.

CMS Quick Reference
WordPress (Yoast SEO)

Settings → Search Appearance → Advanced → "Allow search engines to show your site" — or add noai via the Advanced Robots Meta Tags plugin. For X-Robots-Tag, add to functions.php via add_action('send_headers', ...).

WordPress (Rank Math)

Edit any post → Rank Math → Advanced tab → "Custom Meta Robots Tags" → add "noai, noimageai".

Webflow

Project Settings → SEO → Meta Tags section, or use Custom Code in page settings to add the meta tag to the <head>.

Shopify

Edit theme.liquid to add the meta tag inside the <head> tag. For site-wide coverage, add it to the layout file.

Ghost

Inject custom code via Settings → Code Injection → Site Header. Add the meta tag there.

Which AI Bots Respect noai?

The noai directive is newer than robots.txt, so compliance varies. Major players have adopted it; smaller or less-scrupulous crawlers may not honour it.

GPTBotOpenAI
✓ Honours
ClaudeBotAnthropic
✓ Honours
Google-ExtendedGoogle
✓ Honours
PerplexityBotPerplexity
✓ Honours
GeminiGoogle
✓ Honours
CCBotCommon Crawl
✓ Honours
BytespiderByteDance
✗ Ignores
cohere-aiCohere
✓ Honours

For Bytespider, use robots.txt + consider server-level IP blocking. See full details in the Bytespider bot profile.

noai vs. robots.txt: When to Use Which

1
Block AI training across your entire site
→ Use:robots.txt

One file controls everything. More widely supported, bot checks it before crawling any page.

2
Block AI training on specific pages only
→ Use:meta noai

Per-page control without touching robots.txt. Ideal for protecting individual blog posts or premium content.

3
Block AI training on non-HTML files (PDFs, images)
→ Use:X-Robots-Tag header

Meta tags only work in HTML. HTTP headers work for any file type.

4
Maximum protection (belt + braces)
→ Use:Both

robots.txt prevents the crawl; meta noai provides a second signal if the bot crawls anyway.

Frequently Asked Questions

What does noai mean in a meta tag?

noai is a robots meta directive that signals AI crawlers not to use your page content for AI model training. Place it in <meta name="robots" content="noai"> or in the X-Robots-Tag HTTP header.

What is the difference between noai and noimageai?

noai blocks AI training on all page content (text, code, structured data). noimageai only blocks AI training on images. Most publishers use both together: <meta name="robots" content="noai, noimageai">.

Is noai the same as noindex?

No. noindex removes your page from search results entirely. noai only signals opt-out from AI training — your page stays fully visible in Google and other search engines.

Does noai stop all AI bots?

Major AI companies (OpenAI, Anthropic, Google, Perplexity, Cohere) honour noai. Bytespider (ByteDance) has a documented history of ignoring meta directives. For Bytespider, use robots.txt disallow or server-level blocking.

If I already have robots.txt blocking GPTBot, do I also need noai?

Not strictly required — robots.txt blocking is usually sufficient. noai provides a belt-and-braces second layer in case a crawler fetches the page without checking robots.txt first. It's a 5-second addition that doesn't hurt.

Check if noai is set on your site

Enter any URL to instantly see its X-Robots-Tag headers, meta robots directives, and whether AI training bots are being blocked.

Related Guides

Is your site protected from AI bots?

Run a free scan to check your robots.txt, meta tags, and overall AI readiness score.

Scan My Site Free →