// AGENT SEO · HOW-TO

Perplexity SEO: five checks instead of a retainer

Perplexity answers by fetching pages and citing them, so being cited means being fetchable, being in the shortlist for the underlying query, and being written in passages that survive extraction. Five things to check today, in order: (1) that Perplexity can actually fetch you — its crawler is a documented user agent and a WAF rule can silently block it; (2) that your robots.txt allows PerplexityBot by name; (3) that the first 200 words of a page answer the question on their own; (4) that your structured data matches what a reader sees; (5) that the pages you care about are indexed at all, not merely published. Below, each with the command or the free tool that finishes it — and an honest section on the part nobody can measure, including us.

Five checksNo account neededCrawler docs read 2026-09-04We do not monitor citations

How Perplexity gets your page

Two different agents fetch on Perplexity's behalf, and the distinction is the single most useful thing on its documentation, read 2026-09-04. PerplexityBot is the indexing crawler: it exists to surface and link sites in Perplexity's search results, and the documentation states it is not used to collect content for training foundation models. Perplexity recommends allowing it in robots.txt and permitting requests from its published IP ranges. Perplexity-User is the other one: when somebody asks a question and the assistant decides to open a page to answer it, that is the agent that arrives — and the documentation is explicit that, because a user requested the fetch, it generally ignores robots.txt rules.

Two consequences follow immediately. First, blocking PerplexityBot removes you from the index that answers are drawn from, which is the opposite of what most people intend when they add a defensive robots.txt rule. Second, the documentation includes a section on whitelisting these bots in a web application firewall — which tells you what breaks in practice. It is rarely robots.txt. It is a bot-protection rule, a rate limiter, or an aggressive CDN challenge page, quietly returning a 403 to a fetcher nobody ever tested.

Everything else is ordinary retrieval. Perplexity runs the underlying query, reads a handful of results, and assembles an answer with numbered citations. To be cited you have to be in that handful, which is a ranking problem wearing new clothes, and your passage has to make sense lifted out of its page, which is an editing problem.

The five checks

Each of these has a finish line. None needs an account or a retainer.

1. Prove the crawler gets a 200. Ask for your own page as the crawler does and read the status code. If a firewall or CDN challenges it, you will see it here and nowhere else:

$ curl -sI -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)" https://example.com/your-page/ | head -1

Anything other than 200 — a 403, a challenge page, an interstitial — is your whole problem, and it is invisible in every SEO dashboard because dashboards fetch as themselves. Perplexity publishes its IP ranges so your firewall can allow them precisely rather than by user agent, which is worth doing since user agents are trivially spoofed and bot rules know it.

2. Read your own robots.txt out loud. Open /robots.txt and look for an explicit User-agent: PerplexityBot with Allow: /. A blanket wildcard already permits it, but naming it states intent and survives the next person who tightens the file. While you are there, name the others you want: GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Google-Extended. Ours lists eleven of them, one per block, for exactly this reason.

3. Make the first 200 words answer the question alone. Extraction takes passages, not pages. Test it by deleting everything above and below one paragraph and asking whether it still answers a question a person would type. If it depends on the heading three sections up, or on a table it does not reference, it will not survive being lifted — and that is the form your content arrives in, if it arrives.

4. Make your markup say what the page says. Structured data that claims content the reader cannot see is the standard reason rich results vanish, and it is the standard artefact of generators that emit JSON-LD without emitting the HTML to match. Generate both from one input with the FAQ schema generator: it prints the FAQPage JSON-LD and the visible block word for word, in the browser, with nothing uploaded.

5. Confirm the pages are actually indexed. Published is not indexed, and the difference is the difference between an editing problem and a distribution problem. One command reports Google's own verdict for each of your URLs, quoted rather than summarised:

$ npm i -g @clize/clize && clize login
$ clize seo check --domain example.com

What comes back includes each page's live HTTP status, its impressions this window against the last, and the index state in Google's own words — Submitted and indexed, Crawled — currently not indexed, or URL is unknown to Google. That last string is a distribution answer, not a content answer: nothing you write fixes it, and we know because seven pages of our own sat in exactly that state while this page was being written. It also returns your traffic split by source with AI engines listed separately, which is your Perplexity baseline — see the next section for what that number can and cannot tell you.

Two more free tools finish the technical side if this is a fresh site: paste your sitemap into the sitemap validator to be sure it parses, and if you keep an llms.txt, check it with the llms.txt validator — as hygiene, not as a ranking lever.

The part nobody can measure — including us

Here is the sentence the agency pages leave out. Counting referrals from perplexity.ai tells you how many people clicked through. It tells you nothing about how often you were cited and not clicked, and in an answer engine that is most of the time. The citation is the product; the click is optional.

So a referrer split — ours included — undercounts by an unknown factor. clize seo check reports AI-engine traffic separately from search and direct, matching against a list of seventeen engine hosts. That is a real number and a partial one. It misses answers read without a click, clients that send no referrer, and any engine outside the list. When our own reading says zero AI referrals, the honest statement is no measured click-throughs, not never cited.

Which leaves two ways to close the gap, and you should pick deliberately. Buy a monitoring product that runs your prompts against the assistants on a schedule and reports mention rate — a real service, priced accordingly, and one we do not sell. Or do it by hand: ask your ten most commercially relevant questions in a fresh session, with personalisation and memory off, write down whether you appear and who appears instead, and repeat every fortnight. Fifteen minutes, no vendor, and a record that is yours. We considered automating that on a schedule for our own site and decided against it: two weeks of a similar cron on another property produced motion and changed no decision.

What we will not do is imply we can see inside Perplexity's answers. We read your Search Console, your index status and your referrers. Anyone claiming more than that about an engine they do not operate should be asked how.

Where this ends and the broader work starts

Everything above is engine-specific hygiene, and hygiene has a ceiling. Past it, Perplexity behaves like every other retrieval layer: it ranks the underlying query, and on commercial questions the pages it ranks are independent roundups, documentation, curated lists and forum threads, not vendor pages. Being in those is the work, and it is not technical.

We have a first-party reading of exactly what happens when you do the technical half properly and none of the other half: 1,415 Search Console impressions, 0 clicks, 0 measured AI referrals in a 28-day window, with an average position around 70 on the page carrying most of it. The full write-up, including what those numbers fail to prove, is on the LLM SEO page. If you would rather start by looking at who currently occupies your query and which of them accept contributions, that is one call: clize seo serp "your question". And if you are choosing instruments, the AI SEO tools page sorts the field by who can actually drive each one.

// FAQ

How do I get cited by Perplexity?

Be fetchable, be in the shortlist for the query, and be liftable. Fetchable means PerplexityBot gets a 200 rather than a firewall challenge, which you test by requesting your own page with its published user agent. In the shortlist means ranking on the underlying query, which is ordinary SEO plus being mentioned by sources the index already trusts. Liftable means a passage that answers the question without the paragraphs around it.

What is the difference between PerplexityBot and Perplexity-User?

PerplexityBot is the indexing crawler; Perplexity documents it as surfacing and linking sites in search results and states it is not used to collect training data for foundation models. Perplexity-User is the fetch that happens when a person asks a question and the assistant opens a page to answer it; because the request originates with a user, the documentation says it generally ignores robots.txt. Both are documented with full user-agent strings and published IP ranges.

Should I block AI crawlers in robots.txt?

Blocking the indexing crawlers removes you from the pool answers are drawn from, so if you want citations, allow them. The choice is not all-or-nothing: crawlers used for search indexing and crawlers used for model training are separate user agents, and you can allow one and disallow the other. Decide which of the two you object to before you write the rule, because a blanket block usually costs the visibility people were trying to protect.

How do I track traffic from Perplexity?

Split your referrers and look for perplexity.ai and www.perplexity.ai specifically. Clize does this in one command — clize seo check reports traffic by source with AI engines listed separately from search and direct, alongside your Search Console figures. Remember it counts clicks only: an answer that cites you without a click, or a client that sends no referrer, never appears in that number, so treat zero as no measured click-throughs rather than as never cited.

Do I need to hire an agency for Perplexity SEO?

Not for the checks on this page — all five are free, take an afternoon, and need no account. What an agency or a monitoring tool sells you beyond that is systematic measurement of whether assistants mention you across many prompts, and sustained work on being mentioned elsewhere on the web. The first is a product you can buy for tens of dollars a month; the second is the expensive half, and it is expensive whoever does it.

clize seo check — index status in Google's own words

Find out whether you are indexed, not just published.

One command returns each page's live status, its impressions against the previous window, Google's own index verdict, and your traffic split with AI engines counted separately.

$ npm i -g @clize/clize && clize login
$ clize seo check --domain example.com
[ Agent SEO → ]