Perplexity SEO: how Perplexity picks the sites it cites

·7 min read

Perplexity SEO is the work of getting your pages cited as sources in Perplexity's answers. Perplexity runs a web search for every question, pulls passages from an index that its crawler PerplexityBot feeds, and links the pages it used as numbered citations. To rank on Perplexity, let PerplexityBot through robots.txt and your CDN, put the answer in the HTML your server sends, write passages that answer one question with specific facts, and get your brand onto the pages Perplexity already cites for your buyers' questions.

Perplexity has not published a list of ranking factors for its citations. It has published how its crawlers behave and how its search index scores pages, and that is enough to act on.

How does Perplexity choose the sources it cites?

Perplexity searches its own index for each question, scores passages rather than whole pages, and cites the pages behind the passages it uses. Perplexity says its Search API runs on the same infrastructure as its answer engine. The index behind it covers hundreds of billions of webpages and splits each document into sub-document units, which it scores against the query one by one.

That last detail matters most. In practice the unit that competes for a citation is a passage, not a page. A long, authoritative guide can lose to a forum reply if the reply has the one sentence that answers the question and the guide buries it.

One question often becomes several searches. Perplexity's help center says Pro Search runs multiple searches across the web and draws on articles, academic papers, forums and videos. A buyer asking "which invoicing app suits a freelancer in Canada" may trigger separate searches on pricing, tax support and reviews, and each one is a separate chance to be cited.

Some citations now carry a source label from Perplexity's review of the whole domain. The labels are Government, Academic and Trusted. Perplexity says payments and partnerships do not affect them and that most domains have not been rated. For a typical business site, no label is the normal state and nothing to fix.

Perplexity SEO vs Google SEO

The groundwork is the same. Pages have to load, return a 200 status and answer the question near the top. What changes is mostly mechanical.

PerplexityBot is its own crawler with its own robots.txt group, so Googlebot's access tells you nothing about it. Copy-pasted "block AI bots" lists often name PerplexityBot next to the training crawlers, which blocks a bot whose job is citing you, not training on you.

Perplexity also shows its sources on every answer. You can see who wins a question by asking it, which makes the research side faster than rank tracking. Measurement is harder, because you read the results from referral reports and server logs.

PerplexityBot vs Perplexity-User

Perplexity runs two agents, and only PerplexityBot is a crawler you control with robots.txt. Both are described in Perplexity's crawler docs.

PerplexityBot Perplexity-User
What it does Crawls pages so Perplexity can surface and link them in its search results Fetches a page when a user's question needs it
robots.txt Follows it Generally ignores it, because a user asked for the fetch
Trains AI foundation models No No
Published IP ranges perplexity.com/perplexitybot.json perplexity.com/perplexity-user.json

The full user agent strings look like this:

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Perplexity-User/1.0; +https://perplexity.ai/perplexity-user)

Blocking PerplexityBot does not erase you. Perplexity's robots.txt help article says it will not index the text of a blocked page but may still index the domain, the headline and a brief factual summary. For citations that is the worst case. Perplexity knows the page exists and has none of your words to quote.

How to rank on Perplexity

Start with access, because Perplexity cannot cite a passage it never read. Then work on the passages themselves.

Allow PerplexityBot in robots.txt

A crawler obeys only the most specific group that names it. If you add a PerplexityBot group, repeat any disallows you still want, because the User-agent: * rules stop applying to it.

User-agent: PerplexityBot
Allow: /
Disallow: /cart/
Disallow: /account/

User-agent: *
Disallow: /cart/
Disallow: /account/

Perplexity says changes can take up to 24 hours to reach its systems. Our robots.txt checker for AI crawlers shows which rule matches PerplexityBot for any path and the exact line to change.

Let PerplexityBot through your CDN

A robots.txt allow means nothing if the firewall answers with a 403. On Cloudflare, check two places. Under Security settings, the Search, Training and Agent controls replaced the old Block AI Bots toggle on September 15, 2026. Search covers crawlers that build a search index, which is PerplexityBot's job, and Agent covers user-directed fetchers like Perplexity-User. If your pages carry ads, look closely at Agent. Sites that had the old toggle on were moved to Block on pages with ads, and new domains with ads start there. Then open AI Crawl Control, go to the Security tab and confirm the Action column says Allow for both Perplexity crawlers.

If you run custom WAF rules or another CDN, Perplexity's docs recommend an allow rule that matches the user agent and an IP from the published ranges together. Matching the user agent alone lets anyone who copies the string through.

The real test is your access log. Look for PerplexityBot requests from IPs in perplexitybot.json that got a 200. If you see 403s or none at all, something upstream is blocking it.

Keep the answer in the server HTML

PerplexityBot reads what your server returns. Vercel's 2024 study of AI crawler traffic found that none of the major AI crawlers it tested, Perplexity's included, render JavaScript. A price, a spec table or an FAQ that loads after the page runs scripts does not exist for them.

Check one important fact on one important page:

curl -s https://example.com/pricing | grep -i "per month"

No output means the price is not in the raw HTML. Our AI Crawler View compares the raw HTML with the rendered page and lists the content, prices and links that appear only after JavaScript runs.

Write passages Perplexity can cite

Because Perplexity scores sub-document units on their own, every passage has to make sense without the paragraphs around it. Put the question in a heading. Answer it in the first sentence. Use the product's name instead of "it". Give the number.

Compare two versions of the same pricing paragraph:

Weak:     Our plans grow with your team and include everything you need.
Citable:  Taskline's Team plan costs $9 per user per month, billed yearly,
          and includes unlimited projects, 100 GB of storage and SSO.

The second one answers "how much does Taskline cost" and "does Taskline have SSO" in one sentence a model can lift whole. Dates count as well. Perplexity's Search API returns a publish date and a last-updated date with each result, so show a real updated date and change it only when the content changes. The same writing rules apply to ChatGPT, and how to get cited by ChatGPT covers OpenAI's side.

Get your brand onto Perplexity's sources

The fastest way into an answer is often through someone else's page. If Perplexity keeps citing the same roundup for "best invoicing app for freelancers", being named in that roundup gets you into the answer without your own page ranking at all.

  1. Write down 10 to 20 questions buyers ask before they buy, in their words.
  2. Ask each one in Perplexity and open the list of sources.
  3. Note the domains that repeat across questions. Expect comparison articles, review sites, forum threads and videos.
  4. Work that list. Ask roundup authors to add you with a fact they can check, keep review profiles current, and answer threads openly as yourself.

Answers change between runs, so repeat the questions every few weeks and act on the domains that keep coming back. Mentions only help if Perplexity can tell they are about you, and the brand entity section of our GEO checklist covers keeping your name and profiles consistent.

How to see Perplexity referrals in analytics

Clicks on Perplexity citations usually arrive with perplexity.ai as the referrer. In GA4, open Reports, then Acquisition, then Traffic acquisition, switch the dimension to Session source and search for "perplexity". Visits from apps can arrive with no referrer and land in Direct, so treat the number as a floor.

To group Perplexity with ChatGPT, Gemini and the other assistants in one channel, copy the regex from our AI referral tracking guide, which also has filters for Plausible, PostHog and Matomo.

Your server logs add a signal analytics misses. A Perplexity-User request means a person's question in Perplexity led it to fetch your page. Count those requests by URL and you see which pages Perplexity pulls in live, even when nobody clicks.

Check whether Perplexity names and cites you

Enter your site and one question a buyer would ask. AI Answer Visibility asks ChatGPT, Perplexity and Gemini that question with web search on. For each engine it reports whether the answer names your brand and where it ranks among the brands named, and whether it cites your site and which of your URLs. It also lists the brands and sites each answer recommends instead.

A run costs 120 credits. The sites Perplexity cites in place of yours are your outreach list for the sources step above. Each answer is a sample, so run your most important questions more than once before you act on a single result.

Keep reading