Perplexity is an answer engine: every answer carries numbered citations that link the pages it read. That makes Perplexity SEO unusually concrete; there is no ranking to climb, only a handful of citation slots per answer, and your job is to be a page worth one of them. This guide covers what Perplexity documents about how it builds answers, its two crawlers, its contested robots.txt record, and the steps that make your pages citable. It is one chapter of our pillar guide to generative engine optimization; for how Perplexity compares with ChatGPT, Copilot and Google's AI features, see our tour of the AI search engines.
Quick answer
- Allow PerplexityBot in robots.txt and at your firewall. It builds the search index Perplexity cites from; Perplexity recommends allowing it and permitting its published IP ranges.
- Perplexity-User is different: it fetches a page live when a user's question needs it, and Perplexity says it generally ignores robots.txt because a person asked.
- Serve your text in the HTML. A December 2024 analysis by Vercel and MERJ found Perplexity's crawlers, like most AI crawlers, do not run JavaScript.
- Write answer-first pages with dates. Which pages get cited is not documented; direct answers, specific facts and fresh content are the consistent observed pattern.
- Verify bot traffic against the IP ranges Perplexity publishes as JSON before you allow-list or block anything.
- Measure arrivals with the
perplexity.aireferrer in analytics and both user agents in your server log. - Check your side in a minute with the free AI crawler check.
How Perplexity builds an answer
Perplexity's help centre describes the same two-step loop as every retrieval-based AI engine: it interprets your question, searches the web, and has a language model write the answer from the retrieved pages, with numbered citations linking each source. The citations are not decoration; they are the product, and they are why Perplexity rewards pages that are easy to cite.
Unlike ChatGPT search, which leans on third-party search providers, Perplexity runs its own crawler and index: its crawler documentation says PerplexityBot exists to "surface and link websites in search results" on Perplexity. It has not published how that index is ranked, so treat any detailed account of its ranking factors as reverse-engineering, including ours below.
One documented detail worth knowing: Perplexity's help centre describes a source review process that labels some cited domains Government, Academic or Trusted, marked with a small shield icon. You cannot apply for a label, but it shows Perplexity scores domains, not just pages.
PerplexityBot and Perplexity-User: who fetches what
Perplexity documents two user agents on its crawler page, and they answer different questions in your server log:
| User agent | What it does | robots.txt |
|---|---|---|
| PerplexityBot | Crawls pages into Perplexity's search index so they can be shown and cited; not used to train AI models | Respected; Perplexity recommends allowing it |
| Perplexity-User | Fetches a page live when a user's question or action needs it; not used for crawling or training | "Generally ignores robots.txt rules", because a person triggered the fetch |
Both identify themselves in the user-agent string (PerplexityBot/1.0 and Perplexity-User/1.0), and Perplexity publishes each one's IP ranges as JSON at perplexity.com/perplexitybot.json and perplexity.com/perplexity-user.json. To verify a request really came from Perplexity, check both: the user-agent string and whether the IP falls in the published ranges. Perplexity advises re-fetching the JSON periodically if you build firewall rules from it, because the ranges change.
Perplexity-User hits are the interesting ones. PerplexityBot visiting means you are being indexed; Perplexity-User visiting means a real person's question led Perplexity to your page at that moment: demand you can see nowhere else.
Perplexity and robots.txt: the documented rules and the disputes
What Perplexity documents is simple: PerplexityBot respects robots.txt, and Perplexity-User generally does not, because a user initiated the request. What has been reported is messier, and you should know both.
In June 2024, developer Robb Knight and then WIRED reported that Perplexity could still summarise pages from sites that had blocked PerplexityBot, with fetches arriving from an IP address outside Perplexity's published ranges; the same month Forbes publicly accused Perplexity of republishing its original reporting with poor attribution. In August 2025, Cloudflare reported that when Perplexity's declared crawlers were blocked, requests continued from undeclared crawlers using a generic Chrome user agent, and removed PerplexityBot from its verified-bots list. Perplexity disputed the report, saying the named bot was not its own, attributing some traffic to a third-party cloud browser service, and arguing that fetches made on a user's behalf are not crawling.
We are not the referee in that argument. The practical lesson is the one that holds for every AI operator: robots.txt is a request, not a wall. If being fetched is fine as long as you get cited, allow PerplexityBot and move on. If you need your content genuinely inaccessible, enforce the block at your firewall or CDN; our guide to AI crawlers and robots.txt shows how to block at the edge.
How to rank on Perplexity: what gets cited
Perplexity does not publish ranking factors, so this section separates what is documented from what practitioners consistently observe in the pages its answers cite.
Documented:
- You must be fetchable. A page PerplexityBot cannot reach cannot be in the index its answers cite from. robots.txt, firewall and CDN all have to let it through.
- Your text must be in the HTML. The Vercel and MERJ crawler analysis from December 2024 found Perplexity's crawlers fetch pages but do not execute JavaScript, so content rendered client-side is invisible to them.
- Domains are scored. The Government, Academic and Trusted labels show Perplexity rates domains in its source review process; it does not say how the rest are rated.
Observed pattern, not documented:
- Freshness shows. Perplexity answers lean noticeably on recent pages, especially for anything time-sensitive. A visible updated date, with content to back it, is cheap.
- Direct answers get quoted. The sentence that states the fact plainly is what ends up in an answer. "Delivery to Germany takes 3-5 working days and costs 9 EUR" is citable; a paragraph of positioning is not.
- Structure helps extraction. One question per section, the answer in the first sentence under the heading, lists and tables for anything enumerable: the shape that wins featured snippets.
- Specificity beats coverage. A focused page that fully answers one sub-question tends to beat a broad page that mentions ten.
None of the observed items is a Perplexity ranking rule, and nobody outside Perplexity can prove one. They are the habits every answer engine rewards, which is why doing them once serves ChatGPT and Google's AI features too.
The publisher program, as of 2026
Perplexity has paid publishers longer than most AI companies. It launched its Publishers' Program in July 2024 with partners including Time, Der Spiegel and Fortune, sharing revenue when partner content appears in answers. In August 2025 it announced Comet Plus, a 5 USD-per-month subscription tied to its Comet browser, with an initial pool of 42.5 million USD and 80% of subscription revenue going to publishers, paid on three triggers: human visits, search citations and agent actions on a publisher's site. That is the last major announcement as we write this; joining runs through an application on Perplexity's publisher pages. For a typical site the program changes nothing about how you get cited; it pays some of the sites that already are.
Check what your site tells Perplexity
The check reads your robots.txt verdict for 18 AI crawlers, PerplexityBot and Perplexity-User among them, and flags text that only exists after JavaScript runs: the two failures that keep a site out of Perplexity's answers entirely. The same findings appear in every getReport report:
Opting out of Perplexity
If you decide you do not want to be in Perplexity's index, the documented route is robots.txt:
# robots.txt: stay out of Perplexity's search index
User-agent: PerplexityBot
Disallow: /Be clear about what each layer does. This asks PerplexityBot to stop crawling you into the index, which removes your pages from the answers, and with them the citations and the traffic. It does not stop Perplexity-User, which generally ignores robots.txt when a user asks for a page. A block you need enforced, rather than requested, belongs at your firewall or CDN, matched on the user agents and published IP ranges.
Measuring Perplexity arrivals
Two sources, both already yours. In analytics, visits from Perplexity carry the perplexity.ai referrer; build a segment on it and watch the trend and landing pages, expecting small absolute numbers. In your server log, count PerplexityBot hits to confirm you are being indexed and Perplexity-User hits to see live questions reaching your pages. Perplexity offers no webmaster console or citation report, so beyond those two signals you are sampling answers by hand: what AI visibility is and how to measure it covers the full setup across every engine.
Questions people ask
How does Perplexity choose its sources?
Perplexity searches the web for your question, retrieves candidate pages through its own crawler-built index, and writes the answer from the pages it ranks best, citing them with numbers. How that ranking works is not published: its help centre documents the search-then-cite loop and a source review that labels some domains Government, Academic or Trusted; everything more specific (freshness, directness, structure) is observed pattern, not documented rule.
What is the difference between PerplexityBot and Perplexity-User?
PerplexityBot is the crawler: it indexes pages so Perplexity can show and cite them, respects robots.txt and is not used to train AI models, per Perplexity's documentation. Perplexity-User fetches a single page live when a user's question needs it, and generally ignores robots.txt because a person triggered it. Both carry their name in the user-agent string and operate from IP ranges Perplexity publishes as JSON, so you can verify them.
How do I get my site cited by Perplexity?
Clear the documented bars first: allow PerplexityBot in robots.txt and at your firewall, and serve your main text in the HTML, because Perplexity's crawlers do not run JavaScript. Then make pages easy to quote: answer one question per section, state facts with numbers and units, show an author and an updated date, and keep time-sensitive content current. There is no submission form and no guaranteed route; citations go to pages that answer the question best.
Does Perplexity respect robots.txt?
Perplexity documents that PerplexityBot respects robots.txt and that Perplexity-User, which fetches pages on a user's request, generally does not. Reports from WIRED in 2024 and Cloudflare in 2025 described Perplexity-linked fetches reaching blocked content from undeclared addresses, which Perplexity disputed. Treat robots.txt as a request: if you need a block that holds regardless, enforce it at your firewall or CDN using the published user agents and IP ranges.
Does Perplexity send traffic to websites?
Yes. Every answer shows numbered, clickable citations, and visits from them arrive in your analytics with the perplexity.ai referrer. For most sites the volume is small next to classic search, so judge the visits by what they do rather than how many there are. Perplexity also pays some publishers for cited content through its publisher program and the Comet Plus revenue pool announced in August 2025.
Does Perplexity have its own search index?
Yes. Perplexity runs its own crawler, PerplexityBot, which its documentation says exists to surface and link websites in Perplexity's search results: an index of its own, not a wrapper around someone else's. It has not disclosed how the index is ranked, so the practical fact is simpler: if PerplexityBot cannot fetch your pages, Perplexity cannot cite them.