Free download · no signup
Ten phases, eleven scripts and the finished report at the end. It is the same audit that took our own impressions from 241 to 3,359 in a month, and it is yours in one click.
106 KB zip · no signup, no card · Node 18+ and Claude Code
/seo-audit https://yourwebsite.com
report ready
Measured on our own domain
14x
more impressions in 28 days
241 to 3,359, against the 28 days before
1.2
average position for "desarrollo software málaga"
The search we rank first for, and did not have a page for
$0.12
to judge about 1,100 decisions
The decision layer that found what the other phases missed
Google Search Console, both properties, 28 days to 19 September 2026. The skill you download is the one that produced these.
What it actually does
That last part is the whole difference. Each script emits its own limits, and those limits become the method section at the end of the report, so a missing key turns into a stated fact instead of a guess.
Served host, robots and AI-crawler rules, llms.txt, sitemaps, on-page facts, resolved canonicals, broken links, security headers.
Chrome UX Report field data and PageSpeed lab data, mobile and desktop, plus the real transfer weight of the page.
Whether Gemini, Claude, ChatGPT and Perplexity actually recommend the brand, who they recommend instead, and which hosts they cite.
A real phrase corpus built from autocomplete, ranked by breadth and survival. No invented search volumes, ever.
What kind of page owns each query: aggregator, competitor, directory or media. Usually this is where the strategy comes from.
The Google Trends category walk. Only rising rows are signal, and the five-year chart decides whether the moment has already gone.
The top three crawled the same way, compared on what each one actually shows a buyer: ratings, testimonials, timelines.
Jev tags intent, maps every query to the page that should own it, finds pages fighting each other, and reads the AI answers back.
One question: what single fact, once known, changes what this business should do? It is rarely the score.
A weighted score that refuses to compute on bad input, then an HTML report in the client's own colours and typefaces.
Added 4 days after it launched
Jev is a decision model rather than a writer. You hand it a typed question and it answers with a calibrated probability, and its output tokens are free, so the thousand small judgments an audit is made of stop being the expensive part. We wired it in as a last-minute addition to a skill we already thought was finished. It went looking at our own site first.
23
pairs of our own blog posts competing for the same search
32
posts we ended up merging behind redirects
0 of 37
category questions where any AI engine named us
The law that cost us the most to learn is in the download: key many items by name, never by array index. Index references collapsed to 52% accuracy at 152 items, while keying them held 97.9%.
What you need
About ten minutes, once. Everything degrades rather than stops, so you can start with none of them and still get the full crawl.
One key, three jobs: ChatGPT answers, Perplexity answers and the Jev decision layer. This is the only part that costs real money, and it is a few dollars a site.
openrouter.ai/keysOne Google Cloud API key, two APIs, both free with no billing account. Without it PageSpeed returns 429 under any real use and the field data returns 403.
Enable in Google CloudEnable the API, make one service account, and have each site owner add its email as a user. One email, every client, no OAuth flow to build, and they can revoke it themselves.
Enable in Google Cloud.env.local, in the folder you run from
OPENROUTER_API_KEY=sk-or-v1-...
PAGESPEED_API_KEY=AIza...
GOOGLE_SERVICE_ACCOUNT_JSON={"type":"service_account",...}
GSC_SITE_URL=sc-domain:yourwebsite.comHow to run it
The zip already contains the seo-audit folder, so it lands in the right place and Claude Code finds it on the next restart.
unzip quetzal-seo-audit-skill.zip
-d ~/.claude/skills/Copy .env.example to .env.local in the directory you will run from and fill in what you have. Missing keys become stated limits, not guesses.
cp .env.example .env.localOne command. It crawls, measures, asks the AI engines, reads Search Console, and keeps its state in a run folder so a second pass is cheap.
/seo-audit https://yourwebsite.comA score, the findings in priority order with the evidence quoted beside each one, and a method section listing everything that could not be measured.
.seo-audit/yourwebsite.com-2026-09-21/106 KB zip · no signup, no card · Node 18+ and Claude Code
Or skip all of it
The skill finds the problems in an afternoon. Fixing them is engineering work, and that is what we do: the same two founders who wrote this, who build the websites and the software behind them. Free audit first, then a fixed price in writing before anything starts.
Tell us where to point it
A Claude Code skill: one SKILL.md that drives the whole method, eleven Node scripts that do the measuring, and the reference documents behind them, including the scoring model and the seven laws the report obeys. It is a 106 KB zip with no dependencies to install.
It is free, there is no signup and no card. The catch, if it is one, is that we build and run this kind of work for a living, so the page you got it from has our calendar on it. The skill itself is complete and not time limited.
Node 18 or newer, Claude Code, an OpenRouter API key, and two free Google Cloud APIs enabled: PageSpeed Insights and the Chrome UX Report. Search Console access is a third and is the one that changes the audit most, because it is the only source that reports what actually happened rather than what is possible.
A few dollars of your own API usage. The crawl, PageSpeed, the Chrome UX Report and Search Console are free. The AI search phase is the only real spend: about 84 grounded answers, at roughly 0.006 USD for a Perplexity answer and 0.01 to 0.07 USD for a ChatGPT one. The Jev decision layer judged around 1,100 calls on our own site for 0.12 USD.
Yes. Every tool degrades rather than stops, and each one writes down what it could not measure. That list becomes the method section at the end of the report, so a missing key turns into a stated limit instead of a guess. With no keys at all you still get the full crawl.
No. Market, language and country are parameters on every phase, and bilingual sites are audited as separate runs. We wrote it in Spain, so the examples are Spanish, but nothing in the method is.
Jev is a decision model rather than a writer: you give it a typed question and it answers with a calibrated probability, with free output tokens. The skill uses it to tag search intent, map queries to pages, find pages competing with each other, and read AI answers back. It runs on the same OpenRouter key. Skip it and the other nine phases still run.
Both. The scripts produce the measurements, and the skill assembles them into an HTML report in the client's own colours and typefaces, with a score, a prioritised finding list and a method section built from what each tool could not do.
Yes, and that is what most people on this page want. Book a call and we will run the audit, walk you through what it found, and quote a fixed price in writing before anything starts.
Because the audit is not the thing we sell. Finding the problems takes an afternoon; fixing them takes an engineering team, and that is what we do. Handing over the method is also the fastest way to show you how we work before you pay us anything.
Three more free tools that give you a real result from your website alone, with no signup and no card.
Your website and positioning scored out of 100, and the three gaps costing you most.
Try it freeWhether ChatGPT and Google's AI can find, understand and recommend you.
Try it freeA real month of posts planned from your site, exportable to Excel, Sheets and Notion.
Try it freeThe download carries 11 dependency-free Node scripts, the full method and the scoring model.
We use only the cookies needed to run Quetzal and remember your preferences with your permission we'd also use analytics to improve the product. You can change this anytime. Privacy Policy