Web Software Geo Data Tools Portfolio
Browser Extension Β· Free

Audit the page
you're already looking at

One click. On-page SEO, AI-citation readiness and a keyword usage map for the current tab β€” including pages our web scanners physically cannot read, because this one runs after JavaScript has rendered.

πŸ”’ No host permissions Zero network requests Works on JS-rendered sites
Install β€” About 30 Seconds
Not in the Chrome Web Store yet. Unpacked install works identically and takes no longer than a store install.
1
Download the extension folder
Grab it from the repo, or copy the extension/ folder out of the site source. It is five small files β€” a manifest, a popup, the audit script and three icons. Nothing to build or install.
2
Open your extensions page
Go to chrome://extensions β€” or edge://extensions / brave://extensions. They all work; it is the same engine.
3
Turn on Developer mode
Toggle in the top right. This is what allows loading an extension that is not from the store β€” it does not lower any other security setting.
4
Load unpacked β†’ pick the folder
Click Load unpacked and select the extension folder itself (the one containing manifest.json). Pin it to your toolbar and you're done.
5
Click it on any page
The popup audits the current tab instantly. Browser pages like chrome:// and the Web Store are off limits to every extension, so open a normal site.

Why this and the web scanners

They deliberately see different things. The disagreement is the useful part.

The web scanners read raw HTML

No JavaScript executed β€” on purpose, because GPTBot, ClaudeBot, PerplexityBot and CCBot don't execute it either. That makes them the right tool for "what can an AI crawler actually see on my page", and the wrong tool for auditing a React or Vue app, which they will report as nearly empty.

The extension reads the rendered page

It runs in a real browser after rendering, so it audits what a human β€” and Googlebot, which does render β€” actually gets. It works on single-page apps, logged-in pages, staging behind basic auth, and localhost, none of which a server-side fetch can reach.

i
Run both on the same URL and compare. If the extension reports 1,200 words and the web audit reports 80, you have found something that matters more than any other item on either report: your content exists for people and for Google, and does not exist for the AI engines. That is a rendering decision quietly costing you every citation.

What it shows

Issues, ranked

15 checks with a 0–100 score: title by pixel width, meta description, noindex, snippet directives, canonical, H1 count, heading skips, question-form headings, structured data validity, alt coverage, internal links, placeholder and empty links, viewport, lang and Open Graph. Each with the specific fix.

Keyword usage map

Every repeated term with its count, density and β€” the part that matters β€” whether it also appears in your title or a heading. A term used twelve times in the body and never in a heading is the cheapest fix on the page: you already wrote about it, you just never said so where it counts. Stuffing above 4% is flagged.

Copy report

One button copies a plain-text report of every failing check and its fix β€” straight into a ticket, an email to a developer, or a client deliverable.

Privacy, structurally

The manifest requests activeTab and scripting and no host permissions at all. That is not a promise in a policy document β€” it means the extension is incapable of making network requests or reading any tab you have not clicked it on. No analytics, no account, no server.

What to do with this result

The extension is the quickest way to spot-check the page you are on. When it flags something, confirm the detail in the Page Audit and check AI readability with the AI Readiness Scanner. For a whole-site review, see our AEO and GEO consulting.

See all free tools