Allow or block PerplexityBot on WordPress: the virtual robots.txt, the file, and the filter

Put a “User-agent: PerplexityBot” group with “Disallow: /” in robots.txt: in the file in the site’s root if there is one, otherwise through an SEO plugin’s editor (Yoast SEO → Tools → File Editor) or the robots_txt filter.

This response

You are ClaudeBot (Anthropic). Citable recognised you as an AI agent, so this is https://getcitable.in/crawlers/perplexitybot/wordpress with the UI removed — the content only. A browser asking for the same address gets the full designed page.

PerplexityBot, and where WordPress keeps the rule

PerplexityBot is a crawler run by Perplexity. It reads pages ahead of time, to train a model or to build an index.

WordPress serves a virtual robots.txt when there is no robots.txt file in the site’s root. Once a file exists the web server answers with it, and WordPress is never asked.

Step by step

What to paste

A group that names a crawler replaces the * group for that crawler; it does not add to it. Paths the * group closes are open to a crawler with its own group unless they are repeated there.

Refuse PerplexityBot:

User-agent: PerplexityBot
Disallow: /

Allow PerplexityBot:

User-agent: PerplexityBot
Allow: /

The same refusal, through WordPress’s robots_txt filter:

add_filter( 'robots_txt', function ( $output, $public ) {
    $output .= "\nUser-agent: PerplexityBot\nDisallow: /\n";
    return $output;
}, 10, 2 );

What trips people up

A robots.txt file in the root wins. While it exists, a plugin’s editor and the robots_txt filter change nothing a crawler will see. Yoast’s File Editor is also absent when the install has file editing disabled.

Asked, or actually refused?

WordPress itself refuses nobody by user agent. A refusal that is enforced is made by the web server in front of it; see PerplexityBot on Apache or on Nginx, whichever the host runs.

Check it yourself

A 200 means the name is let through; a 403 means something in front of the page refuses it. This tests the name from your own address. A platform that checks a crawler’s address as well may treat the real PerplexityBot differently.

The request:

curl -I -A "PerplexityBot" https://your-site.example/

Questions

How do I block PerplexityBot on WordPress?

Put a “User-agent: PerplexityBot” group with “Disallow: /” in robots.txt: in the file in the site’s root if there is one, otherwise through an SEO plugin’s editor (Yoast SEO → Tools → File Editor) or the robots_txt filter.

How do I allow PerplexityBot on WordPress?

A crawler that robots.txt does not name follows the * group, so PerplexityBot needs no rule to be allowed. To allow it by name, add the Allow block.

Can WordPress actually stop PerplexityBot, or only ask it?

WordPress itself refuses nobody by user agent. A refusal that is enforced is made by the web server in front of it; see PerplexityBot on Apache or on Nginx, whichever the host runs.

Does a rule for PerplexityBot affect Googlebot or my Google rankings?

No. Googlebot goes by its own name and follows its own rules; a group or a firewall rule for PerplexityBot does not apply to it.

Checked against WordPress's own documentation on 1 October 2026

Related

About Citable

Citable strips the UI from a website for AI agents and serves them only the content.

When an AI agent — ChatGPT, Claude, Perplexity or any of the 81 that Citable recognises — opens a page, Citable removes the theme, scripts, navigation and layout and serves only the content: the same facts, at the same URL, on the site's own domain. People and Google still get the full designed page.

How it works: https://getcitable.in/how-it-works · Summary for AI agents: https://getcitable.in/llms.txt


Source: https://getcitable.in/crawlers/perplexitybot/wordpress · Citable · Run the free audit · llms.txt · getcitable@gmail.com