AI Assistants

How to rank on Perplexity (and get cited)

By Nihanth Guntur · 2026-10-16

How to rank on Perplexity starts with access, not content. Perplexity documents two agents, PerplexityBot and Perplexity-User, and gives a robots.txt token for each. If robots.txt or your firewall turns them away, nothing else matters. Once they can reach you, the job is ordinary good SEO: clear answers, one obvious heading, and facts a reader could quote back.

Can Perplexity reach your site at all?

Check this first, because a blocked site cannot be cited. Perplexity's crawler documentation says webmasters can use robots.txt tags to manage how their sites and content interact with Perplexity, that each setting works independently, and that it may take up to 24 hours for its systems to reflect changes.

The same page separates two agents with different jobs. Treat them as two questions, not one:

AgentWhat Perplexity says it doesWhat it means for you
PerplexityBotSurfaces and links websites in search results on Perplexity. Not used to crawl content for AI foundation models.This is the one that decides whether your pages can appear as linked sources. Allowing it does not, by Perplexity's account, hand your content to model training.
Perplexity-UserSupports user actions within Perplexity. Not used for web crawling or to collect content for training. Because a user requested the fetch, it generally ignores robots.txt rules.A robots.txt rule is not a reliable way to stop it. If you want to block it, that happens at the firewall; if you want it to work, the firewall must let it through.

That split matters for Perplexity SEO. A site owner who blocks PerplexityBot to keep content out of AI training has, on Perplexity's own description, blocked the search crawler rather than a training crawler. Decide what you actually want before you write a single rule.

How to rank on Perplexity: the robots.txt rules to set

Allow PerplexityBot explicitly, then confirm nothing broader overrides it. Perplexity's crawler page recommends allowing PerplexityBot in robots.txt and permitting requests from its published IP ranges if you want your site to appear in its search results.

robots.txt follows a written standard, RFC 9309, and a few of its rules explain the mistakes we find in audits. Crawlers match the user-agent group case-insensitively. If no group matches, they obey the group for *. Where rules conflict, the most specific match, meaning the longest, wins, and an equivalent allow beats a disallow. And if robots.txt itself is unreachable because of a server error in the 500-599 range, a crawler must assume complete disallow.

This is the procedure we follow on a client site:

  1. Fetch /robots.txt yourself and confirm it returns 200 as plain text. A 503 here is read as "disallow everything", not as "no rules".
  2. Look for a User-agent: * group with Disallow: /. If one exists, any crawler without its own group is blocked.
  3. Add a dedicated group: User-agent: PerplexityBot followed by Allow: /, plus any genuine exclusions such as admin or cart paths.
  4. Check that no longer, more specific Disallow path cancels the pages you most want cited, such as /blog/ or /services/.
  5. Wait. Perplexity says changes may take up to a day to reflect, so do not judge the result the same afternoon.

Keep the file boring. Every extra group is one more place for a typo to block a crawler you meant to allow.

Why is my site blocked from Perplexity when robots.txt allows it?

Because robots.txt is a request, not a gate. RFC 9309 says plainly that its rules "are not a form of access authorization". Your firewall, CDN or security plugin makes its own decision, and it can return 403 to a crawler that robots.txt welcomes. Perplexity's documentation anticipates this: if you use a web application firewall, you may need to explicitly whitelist its bots, and it advises combining user-agent matching with IP address verification.

Firewall vendors are also changing how they classify these crawlers. Cloudflare's verified bots page says that under the taxonomy introduced on July 1, 2026, there is no longer a meaningful distinction between "AI Search" and traditional search, and that all customers now have the option to configure AI bot policies to define block versus allow. If your site sits behind Cloudflare, read your AI bot policy rather than assuming the default suits you.

What we have seen

On one SEO Autopilot engagement, a US healthcare analytics company on WordPress behind a firewall, the firewall returned 403 to OpenAI's and Anthropic's search crawlers on every page. The trigger was a generic bad-bot rule matching the substring "searchbot". Eleven other crawlers passed. The client's monitoring tool reported all sixteen AI crawlers as accessible, because it read robots rules instead of sending requests. The lesson carries straight over to Perplexity: a clean robots.txt proves intent, not access. You only know a crawler gets through by sending a request and reading the status code.

We wrote that case up in full in the firewall that blocked AI crawlers, and our list of AI crawlers covers the other agents you may want to allow alongside PerplexityBot.

What makes a page citable in Perplexity?

In our experience, a page earns citations when a passage on it answers a question on its own, without the surrounding page. Perplexity does not publish a ranking guide in the sources we use, so what follows is our practice, not a description of its system.

There is a useful parallel from Google. Its guide to generative AI features in Search says SEO best practices continue to be relevant because those features are rooted in its core ranking and quality systems, and that from its perspective optimising for generative AI search is still SEO. We apply the same discipline to Perplexity citations, because the writing habits that make a passage easy to lift do not depend on which engine is lifting it:

  • Answer first. Open each section with one or two sentences that answer its heading directly. Context comes after.
  • One H1 per page. On the healthcare analytics site, 21 of 39 pages had no H1 because the post template rendered the title as an H2. One template change took pages with exactly one H1 from 9 of 39 to 30.
  • Headings phrased as questions. Write the question a reader would type, then answer it underneath.
  • Specific, checkable facts. Names, steps, settings and sourced figures are easier to quote than adjectives.
  • A visible author and date. A reader checking a citation should be able to see who wrote the page and when.
  • Tables for comparisons. A clean table states a relationship in a form that survives being lifted out of the page.

None of this guarantees a citation. It removes the reasons a page would be skipped.

Does llms.txt or schema help Perplexity citations?

We have no Perplexity source saying it reads llms.txt, so we treat it as optional and cheap rather than as a ranking lever. Google is explicit about its own position: its guide says Google Search ignores llms.txt files, and that creating them will neither harm nor help visibility in Google Search, though it is fine to maintain them for other services that use them.

Structured data is similar. Google's guide says structured data is not required for its generative AI features and that no special schema.org markup is needed, while still recommending it as part of an overall SEO strategy. We keep schema on client sites because it describes a page accurately for any system that reads it. We do not promise that it moves Perplexity citations, because we have no evidence that it does.

If you want the wider picture across ChatGPT and other assistants, our post on how to rank in ChatGPT walks through what we measured on a real site.

How to rank on Perplexity: a checklist to run this week

Start with a quick access check, then confirm it by hand. Our free AI Visibility Checker reads robots.txt rules for 11 AI crawlers, checks llms.txt and the sitemap, and requests your homepage once with each crawler's user agent. Be clear about what that is: the checker's own request, sent from Cloudflare, not a request from the real crawler, and it covers the homepage only. Treat a pass as a first check, not proof that PerplexityBot can reach every page.

  • robots.txt returns 200, is plain text, and has an explicit User-agent: PerplexityBot group that allows the pages you want cited.
  • No User-agent: * rule blocks everything for crawlers without their own group.
  • Your firewall, CDN and security plugin do not return 403 to Perplexity's agents. Check the logs for the status codes they actually received.
  • If you allowlist by firewall rule, it combines user-agent and IP checks, as Perplexity recommends.
  • Each priority page has one H1, an answer-first opening, and question-style subheadings.
  • You waited at least a day after any robots.txt change before re-testing.

Then ask Perplexity the questions your customers ask and note which sources it cites. That is a manual spot check, not a measurement, but it tells you whether your pages are in the conversation at all.

Frequently Asked Questions

How do I get my website cited by Perplexity?

Make sure PerplexityBot can reach your pages, through both robots.txt and your firewall, then write pages that answer specific questions directly in the first lines of each section. Perplexity recommends allowing PerplexityBot in robots.txt and permitting its published IP ranges.

What is the difference between PerplexityBot and Perplexity-User?

Perplexity says PerplexityBot surfaces and links websites in its search results, while Perplexity-User supports actions a user takes inside Perplexity. Perplexity-User generally ignores robots.txt because a user requested the fetch, so blocking it relies on your firewall.

Does blocking PerplexityBot stop my content being used for AI training?

By Perplexity's own description, PerplexityBot is not used to crawl content for AI foundation models. Blocking it mainly removes your site from Perplexity's search results.

How long does a robots.txt change take to affect Perplexity?

Perplexity says it may take up to 24 hours for its systems to reflect changes, so wait at least a day before re-testing.

Can my firewall block Perplexity even if robots.txt allows it?

Yes. robots.txt rules are not access authorisation, and a firewall or CDN can return 403 regardless. Perplexity notes you may need to explicitly whitelist its bots in your web application firewall.

Free AI Visibility Check

Can Perplexity reach your site?

Run the free checker for a first look at your robots.txt rules, llms.txt and homepage responses for AI crawlers. It is the checker's own request, homepage only.