Your competitors keep showing up as numbered sources in Perplexity answers, and you don’t. It’s easy to think there’s a secret ranking trick. There isn’t. Perplexity SEO comes down to three things. Perplexity’s crawler must be able to reach your pages. Those pages must answer the question better than the other options. And other sources on the web must back you up.
In this guide I explain how Perplexity finds and cites sources and what its two user agents (the names its bots use when they visit) mean for your robots.txt file. I also cover which page qualities make a citation more likely and how to measure Perplexity visits in GA4. Where Perplexity hasn’t said how something works, I tell you that instead of guessing.
How Perplexity Finds and Cites Sources
Perplexity is an answer engine. You type a question. It searches the web, reads a small set of pages, writes a summary, and adds numbered citations that link back to the pages it used.
That search step is what makes it different from a chatbot that only answers from its training data. For most questions, the answer is built from pages Perplexity pulls at the moment someone asks. So what’s on your page today matters more than what was on it a year ago.
Two Ways Your Page Reaches Perplexity
Perplexity documents two separate user agents, and they do different jobs.
- PerplexityBot crawls the web so sites can be shown and linked in Perplexity’s search results. Perplexity says it is not used to crawl content for training AI foundation models. Think of it as the crawler that builds and refreshes Perplexity’s own index (its stored list of known pages).
- Perplexity-User fetches a page when a user does something. When someone asks a question, Perplexity may visit a page live to answer it and then link to that page. Perplexity says it is not used for general web crawling.
In simple terms, PerplexityBot decides whether you’re in the pool of known pages. Perplexity-User is what you see in your logs when your page is pulled into a specific answer.
What Happens Between the Question and the Citation
Perplexity has not published its ranking formula. Here is what we can tell from how the product behaves:
- It reads the question and often rewrites it into one or more search queries.
- It pulls possible pages from its index and, when needed, fetches them live.
- It picks a handful of those pages, and the language model writes an answer from them.
- Each claim in the answer is tied to a numbered source, and the full list sits in the sources panel.
The key point for site owners: only a few pages make the final cut for any one answer. You’re not fighting for “page one”. You’re fighting to be one of a small number of passages the model actually uses. I find this changes how people think about their content once it sinks in.
Perplexity SEO and robots.txt: What to Allow
If you want to be cited, PerplexityBot needs access. Perplexity’s own PerplexityBot crawler documentation recommends allowing it in robots.txt and allowing its published IP ranges in your firewall.
A simple robots.txt that allows both agents looks like this:
User-agent: PerplexityBot
Allow: /
User-agent: Perplexity-User
Allow: /
If you have private areas, block just those paths. Don’t block the bot across the whole site:
User-agent: PerplexityBot
Disallow: /account/
Disallow: /checkout/
Allow: /
Three robots.txt Details People Miss
- Each user agent has its own rules. A rule for GPTBot or Google-Extended does nothing for PerplexityBot. If you copied a block list from somewhere, check that it doesn’t include Perplexity by accident. I see this a lot with copy-pasted lists.
- Changes aren’t instant. Perplexity says robots.txt changes can take up to 24 hours to be picked up.
- Perplexity-User generally ignores robots.txt. Perplexity’s view is that a person asked for the page, so the visit counts like a user visit. If you really need to stop those visits, robots.txt won’t do it. You’d need a firewall or server rule.
For a wider view of which AI crawlers do what, and how to choose between allowing training bots and search bots, see my guide to robots.txt rules for GPTBot, Google-Extended and other AI crawlers.
Don’t Let Your Firewall Block What robots.txt Allows
This is the most common technical reason a site with good content never shows up in Perplexity. Bot protection on a CDN or WAF (the security layer in front of your server) often challenges or blocks crawlers it doesn’t know. It does this no matter what robots.txt says. When a site is missing from Perplexity, this is the first place I look.
Perplexity publishes its IP ranges as JSON files: perplexitybot.json and perplexity-user.json on perplexity.com. It says to treat those files as the source of truth, because the ranges change. The safe setup is an allow rule that matches both the user agent name and an IP from the published list. That way you don’t let in someone who just fakes the name.
Which Page Qualities Help You Get Cited
Nobody outside Perplexity knows the exact weighting. I’d be careful with any article that quotes precise percentages. But the logic of a search-and-answer system tells you a lot. The model needs a passage it can lift, trust and credit. Pages that make that easy have a better chance.
A Clear Answer Near the Top
Say the question is “how long does a UK passport renewal take”. The page that gives the typical timescale in its first two sentences is easier to use than one that gets there in paragraph nine.
- Start each section with the direct answer, then explain.
- Use headings that match how people word their questions.
- Keep facts complete on their own. “It takes about three weeks” is weaker than “Standard renewals usually take around three weeks”, because the second still makes sense when quoted alone.
I cover this writing style in detail in the answer-first format for content AI assistants can quote.
Specific, Checkable Information
Vague pages give a model nothing to cite. Specific ones do: named products, prices with a date, step-by-step instructions, clear definitions, comparison points, and original data you collected yourself.
Here’s an example. A plumber’s page that says “we offer fast boiler repairs” won’t be cited for anything. A page that explains the five most common boiler fault codes for one brand, what each means and whether you can fix it yourself, answers real questions people ask Perplexity.
Freshness That Is Real, Not Just for Show
Perplexity searches at the moment of the question. So outdated pages lose out on anything time-sensitive. That includes pricing, software features, rules and laws, “best of” lists and anything with a year in the query.
Changing the date without changing the content doesn’t help readers. It’s unlikely to help you either. Update the facts, show a visible “last updated” date, and keep your sitemap’s lastmod (the field that says when a page last changed) accurate so crawlers know what changed. My guide to refreshing old content shows how to decide which pages to update first.
Crawlable, Readable HTML
Plenty of pages fail at this stage and nobody notices.
- Main content in the HTML. If your text only appears after heavy JavaScript runs, don’t assume every AI crawler will see it. Server-side rendering or plain static HTML is the safe choice.
- Nothing blocking the page. Cookie walls, login gates and pushy pop-ups can leave a crawler with an empty shell.
- Decent speed. A live fetch that times out is a citation you don’t get.
- Clean structure. Proper headings, lists and tables make passages easier to pull out.
Trust Signals Beyond Your Own Site
Perplexity tends to cite sources that look trustworthy for the topic. You can’t see that judgement directly, but the inputs are familiar. Who wrote it? Does the site have a track record on the subject? Do other respected sources say the same thing or mention you?
- Put a real author name and credentials on the page, linked to an author bio.
- Link to your primary sources when you make factual claims.
- Build a group of pages on your core topic instead of one lonely article.
- Earn mentions on industry sites, trade publications and community discussions.
That last point matters. Perplexity often cites third-party pages that talk about a brand, not the brand’s own site. If review sites, forums and comparison articles describe you correctly, you can appear in answers even when your own page isn’t the one cited. In my opinion, this is the part most site owners ignore. My piece on brand mentions versus backlinks for AI visibility goes deeper on this.
What Probably Doesn’t Matter Much
Some advice in this space is wishful thinking. Keyword density doesn’t matter to a model that reads meaning. Adding an FAQ block full of thin questions doesn’t build trust. Schema markup (code that labels what a page is about) helps search engines understand a page. But there’s no public evidence from Perplexity that structured data alone earns citations. Use it for its normal benefits, not as a Perplexity trick.
How to Check Whether Perplexity Can Reach You
Before you rewrite anything, check the basics. I always do this step first, because no content change helps if the bot can’t get in.
- Read your robots.txt. Look for
PerplexityBotby name. Also look for a blanketUser-agent: *withDisallow: /that would catch it. - Search your server logs. Filter for
PerplexityBotandPerplexity-Userin the user agent field. Regular PerplexityBot visits mean you’re being crawled. Perplexity-User hits on a page suggest it has been fetched for live answers. - Check the IPs. Compare the visiting IPs with Perplexity’s published JSON lists. Anything outside those ranges using the name is not Perplexity.
- Check your CDN or WAF events. Look for blocked or challenged visits from those user agents. If you find any, add an allow rule.
- Ask Perplexity yourself. Run the questions your page should answer and see what gets cited. Repeat a few times, because answers change.
Tracking Perplexity Referrals in GA4
When someone clicks a citation in Perplexity, the visit usually arrives with perplexity.ai or www.perplexity.ai as the referrer (the site the visitor came from). By default, GA4 puts that under the Referral channel, mixed in with every other site that links to you.
Quick Check in the Standard Reports
- Open Reports > Acquisition > Traffic acquisition.
- Change the primary dimension to Session source.
- Search the table for
perplexity. - Add Landing page as a secondary dimension to see which pages people click from citations.
A Permanent AI Channel
For regular reporting, create a custom channel group so AI assistant traffic gets its own row. In Admin > Data display > Channel groups, copy the default group. Add a new channel called something like “AI assistants”. Set its condition to Session source matching a regular expression (a text pattern) such as:
perplexity|chatgpt|openai|gemini|copilot|claude
Then move that channel above Referral in the list. GA4 applies channel rules in order. If Referral sits first, it will catch the traffic before your new rule does. This is the step I most often see people forget.
I walk through the full setup, including Explorations and key events for AI traffic, in how to track visits from ChatGPT, Perplexity and Gemini in GA4.
What GA4 Won’t Show You
- Citations without clicks. Many people read the Perplexity answer and never visit. Being cited still has brand value, but GA4 can’t see it.
- Visits with no referrer. Some app traffic and copied links arrive without a referrer and end up in Direct.
- Which question was asked. You see the landing page, not the prompt.
So I pair GA4 with two other signals: Perplexity-User hits in your logs, and a fixed list of questions you check by hand each month. Together they give a fair picture without paying for a tracking tool.
A Practical Perplexity SEO Checklist
Work through this in order. The first block fixes access. The rest improves your chances once you can be reached.
Access
- PerplexityBot is allowed in robots.txt, with only private paths blocked.
- Your CDN or WAF allows Perplexity’s published IP ranges for both user agents.
- Your important content is in the first HTML, not only after JavaScript runs.
- Your XML sitemap is current and lists the pages you want found.
Content
- Each target page answers its main question in the first two or three sentences.
- Headings match the real questions people ask about the topic.
- Key facts are specific, dated where it matters, and make sense when quoted alone.
- Time-sensitive pages have been truly updated in the last few months.
Trust
- Pages show a named author with relevant experience and a bio page.
- Factual claims link to primary sources.
- You have several related pages on your core topic, linked together.
- Your brand is described correctly on third-party sites people trust in your industry.
Measurement
- GA4 has an AI assistants channel above Referral.
- You review PerplexityBot and Perplexity-User activity in your logs every month.
- You keep a list of 10 to 20 target questions and note which sources Perplexity cites for each.
Common Mistakes to Avoid
- Blocking all AI by default. Some site owners block every AI user agent to stop training, and lose search visibility too. Decide separately for training crawlers and search crawlers.
- Writing for the bot, not the reader. Pages stuffed with question headings and one-line answers read badly. They rarely have the depth that earns trust. I’d skip this approach completely.
- Measuring only clicks. Perplexity referral numbers are often small. Judge the channel on citations and the quality of the visits, not raw sessions.
- Expecting instant results. After you unblock the crawler or update a page, give it time to be crawled again before you judge the change.
Conclusion
Perplexity SEO isn’t really a separate skill. It’s a stricter test of the basics. Let PerplexityBot in, and make sure your firewall agrees. Answer questions clearly and specifically. Keep time-sensitive pages truly current. And earn the third-party mentions that make you look trustworthy.
My advice for a next step: check your robots.txt and logs today. Then set up the AI assistants channel in GA4, so you have a starting point before you change any content.



