Skip to content
Persqo for Base44

Persqo inside your Base44 app's admin. One prompt to set it up.

Persqo sends an AI visitor through your live Base44 app, checks speed, errors, SEO and how AI assistants describe you, and shows it all on an admin page in your own app. Each finding comes with a fix prompt you paste back into Base44.

  • ✓ 1 site test a month
  • ✓ 3 fix prompts a month
  • ✓ Your API key stays on your server
  • ✓ No card
BASE44 · EXAMPLE PROMPT
Add a Persqo admin page to this Base44 app. Persqo tests my live site your-app.example like a real visitor and shows the results, fix prompts and AI search (GEO) checks in a dashboard. You will not rebuild that dashboard: Persqo serves it, and this app only frames it for admins.

Persqo project: prj_YOUR_PROJECT
Persqo site: env_YOUR_SITE (https://your-app.example)

1. The API key, server side only
Ask me for a secret named PERSQO_API_KEY with the secure secret input (or tell me to add it in the app's settings under Secrets). I will paste a Persqo API key there. Never ask me to paste the key into chat or code, and never put it in a page, a component, an entity or any frontend file.

2. The server code
Create a backend function named persqoEmbed. In its handler (not at the top of the file):
1. Create the client with createClientFromRequest(req) from "npm:@base44/sdk" and get the user with await base44.auth.me(). If there is no user, return 401. If user.role is not "admin", return 403.
2. Read the key with secrets.get("PERSQO_API_KEY") from "base44:runtime" (if this app's functions use Deno.env.get instead, use Deno.env.get("PERSQO_API_KEY")). If it is missing, return 500 with the message "Add the PERSQO_API_KEY secret".
3. Call Persqo with fetch:
POST https://persqo.com/api/v1/embed/sessions
Headers: Authorization: Bearer <the PERSQO_API_KEY secret>, Content-Type: application/json
Body: {"site_id": "env_YOUR_SITE", "platform": "base44"}
Answer (201): {"url": "...", "expires_at": "...", "verified": true or false, ...}
4. Return only {"url": <the url from the answer>} to the page. Never return or log the key. If Persqo answers with an error, return its status and its error.message.

3. The admin page
Create an admin page named "Persqo" at the route /admin/persqo and add it to the admin navigation if the app has one.
Each time the page opens, call base44.functions.invoke("persqoEmbed", {}) and put the returned url in an iframe: width 100%, height calc(100vh - the header height), no border, title "Persqo", allow="clipboard-write". Do not cache or store the url: it works once and only for five minutes, so a reload asks for a new one. Show a short loading line while it loads, and the error message with a Try again button if the call fails.

4. Who can open it
Only admins may see the page: hide it from the navigation for other users and show "Admins only" if a non-admin opens the route. The backend function's role check is what really protects it. If this app has no sign-in at all, turn on Base44's login for this page and make me the admin.

5. Site verification
Add this tag inside <head> of index.html (or the root layout's head), as it is served, not added later by a script, so Persqo can verify that I own the site:
<meta name="persqo-verification" content="YOUR_VERIFICATION_TOKEN">
If Base44 cannot edit the head, tell me, and I will add a DNS TXT record on your-app.example with the value persqo-verify=YOUR_VERIFICATION_TOKEN instead. Persqo frames its dashboard only on my verified domains and on Base44's own preview hosts, so publish the change before opening the page on my own domain.

When you are done, tell me which files and functions you added, where the page is, and the name of the secret to fill in. If this project syncs with a GitHub repository, also tell me its name, so I can connect it in the Persqo page and get pull requests for file fixes. Do not add anything else to the public site.

Yours has your own project and verification token, and never your API key.

  • Lovable
  • Base44
  • Claude Code
  • OpenAI Codex
  • Cursor
  • Bolt
  • v0
  • Replit
  • WordPress
  • Wix
  • Shopify
1 prompt
Sets up the admin page
0
API keys in the browser
5 min
Each dashboard link works once
Pull request with 2-way sync, else prompt
How fixes reach your code
How a fix reaches your code · example

A finding, a prompt, a re-test.

Every finding comes with a fix prompt written for Base44. You paste it, review the change in Base44, and run the same test again from your admin.

Direct fixes: if your app uses Base44's 2-way GitHub sync (personal workspaces, Builder plan or higher), connect that repository and Persqo opens a pull request for file fixes (llms.txt, robots.txt). Merge it into main and Base44 picks it up. Persqo never merges. Persqo does not edit Base44 pages directly, so every other fix stays a prompt.

EXAMPLE FINDING · MADE-UP APP

The sign up button is hidden behind the cookie banner on phones.

Seen by the phone visitor on the home page. Expected: the button can be tapped. Actual: the banner covers it until it is closed.

FIX PROMPT FOR BASE44
On phone screens, the cookie banner covers the Sign up button on the home page. Move the banner below the first screen or make it smaller, keep the button tappable (at least 44px), and keep the current design. Then tell me what you changed.

A file fix such as a missing llms.txt can arrive as a pull request instead, when GitHub is connected.

Try it on your app · free

What would a visitor hit in your app?

Sign up, get the prompt for Base44 and run your first site test from your own admin. A visitor tests your live app like a new customer. No card.

Get your free prompt →
  1. 1Sign up free, add your app's address and choose Base44. Persqo writes one prompt with your project and verification token in it.
  2. 2Paste the prompt into your Base44 app's chat. It writes the server code and an admin-only page.
  3. 3Create a Persqo API key and put it in your app's Base44 secrets. Never in the chat.

Free: 1 site test a month and 3 fix prompts a month.

Set up · four steps

Your builder adds the page. Persqo serves the dashboard.

  1. 1Get your promptSign up free, add your app's address and choose Base44. Persqo writes one prompt with your project and verification token in it.
  2. 2Paste itPaste the prompt into your Base44 app's chat. It writes the server code and an admin-only page.
  3. 3Add your keyCreate a Persqo API key and put it in your app's Base44 secrets. Never in the chat.
  4. 4Open your adminPublish and open /admin/persqo as an admin. Run a site test and read the findings.

The page in your app frames a dashboard Persqo serves, so it stays up to date without another prompt. A Base44 backend function, open to admins only, asks Persqo for a one-time link that works for five minutes; the browser only ever sees that link. Persqo lets only your verified domains and Base44's own hosts show it.

In every test

What it checks, and how fixes arrive.

What every site test checks

  • A real visitor, on a laptop and a phone. An AI visitor walks your live app like a new customer, with a goal that fits it: sign up, book, contact you or buy. It never submits your forms or pays.
  • Buttons, forms and links. Sign up, contact, booking and the main buttons: does each one exist, work and get found? Every main menu link opens a working page.
  • Phone screens. The first screen, buttons covered by a banner or chat widget, and pages that do not fit the screen.
  • Speed and errors. How long each page takes to show its main content in a real browser, broken routes, script errors and failed requests.
  • Security basics. Security headers, HTTPS, insecure cookies and keys left in public code. Nothing is attacked.
  • SEO and AI visibility. Title and description, schema, llms.txt, and whether ChatGPT, Perplexity, Gemini and Claude name your business when buyers ask.

Fixes: prompts, and pull requests where they fit

Persqo never changes your Base44 app on its own. One-click fixes are for WordPress and Wix sites only; on Base44, every fix is a fix prompt or a pull request you review.

  • A fix prompt for every finding. Written for Base44: what broke, where, the steps to see it and the change to make. Paste it into your Base44 app's chat, review the change and test again.
  • One prompt for the whole report. On paid plans, every finding of a test in one prompt for Base44, most important first.
  • Pull requests for llms.txt and robots.txt. With Base44's 2-way GitHub sync connected, Persqo opens a pull request with the file built from your live site. You review and merge it. Base44 picks up commits merged into main when 2-way sync is on. Persqo never merges.
  • Re-test after you fix it. Run the same test again from your admin and see the finding close.
Before · after · example

One test, the fixes, the same test again.

EXAMPLE · BEFORE
  • Phone. The sign up button is covered by the cookie banner.
  • AI search. No llms.txt at the site root, and no description on the home page.
  • Security. Two security headers missing.
EXAMPLE · AFTER
  • Phone. Fixed with the fix prompt in Base44. The re-test taps the button.
  • AI search. llms.txt added by a merged pull request (with 2-way sync), the description by a fix prompt.
  • Security. Headers added by a fix prompt, confirmed by the re-test.
WHAT EVERY FINDING INCLUDES
  • The page and the device
  • The steps the visitor took
  • A screenshot
  • Why it may get in the way
  • A fix prompt written for Base44
  • Re-test after you fix it
Plans · USD · monthly

Start free. Upgrade when you need more.

Free

Free

No card needed

  • 1 site test a month
  • A monthly GEO scan: 5 questions on one AI engine
  • 3 fix prompts a month, written for your builder
  • 1 site
  • The Persqo dashboard inside your app's admin
Start free

Plus

$19/mo

Billed monthly. Yearly $182.40 (20% off)

  • A site test every week
  • Monthly GEO scan on ChatGPT and Perplexity
  • Fix prompts for every finding, unlimited
  • 1 site
  • One prompt that fixes every finding of a report
  • The Persqo dashboard inside your app's admin
Choose Plus

Pro

$49/mo

Billed monthly. Yearly $470.40 (20% off)

  • A site test every day
  • Weekly GEO scan on all 4 AI engines, compared with 3 competitors
  • Fix prompts for every finding, unlimited
  • 1 site
  • One prompt that fixes every finding of a report
  • 3 visitor personas
  • GEO compared with 3 competitors
  • The Persqo dashboard inside your app's admin
Choose Pro

Agency

$149/mo

Billed monthly. Yearly $1430.40 (20% off)

  • Daily site tests on up to 10 sites
  • Weekly GEO scan on all 4 AI engines, compared with 3 competitors
  • Fix prompts for every finding, unlimited
  • Up to 10 sites
  • One prompt that fixes every finding of a report
  • 3 visitor personas
  • GEO compared with 3 competitors
  • White-label reports with your logo
  • The Persqo dashboard inside your app's admin
Choose Agency

Prices in USD. One plan per Persqo account, the same plans as Persqo for WordPress. Agency covers up to 10 sites.

Other platforms

Built somewhere else?

Product names and logos are trademarks of their owners. Persqo is not affiliated with them.

How Base44 handles secrets, GitHub and previews, from its docs: Base44: Backend functions, Base44: GitHub.

Your visitors already found the problems. Now you will too.

A backend function that checks the user is an admin, reads your Persqo key from the app's secrets and asks Persqo for a one-time dashboard link, and an admin page that shows that link in a frame. It also adds the Persqo verification tag to your home page.

Persqo for Base44: site tests, fix prompts and GEO inside your app's admin | Persqo