Craft
I took my own advice and met the users where they are. Freeming Toad, the SEO crawler I built for my own audits, is now a free Chrome extension you can install in one click.
It started life as a Python app. That version still works, and it is on GitHub. But an app that needs Python, a local server and a browser tab pointed at localhost will only ever be used by the person who built it.
Why the desktop app was not enough
The setup was the obvious problem. The less obvious one mattered more.
The desktop version read raw HTML, which is also what many AI crawlers see. A site that looked fine in my browser could look half empty to a bot, because the title, headings or copy only appeared after JavaScript ran. The tool could not show me that gap.
A Chrome extension fixes both. It already lives in the browser, and the browser can show the page before and after the scripts run.
Audit any page in one click
Click the toad on any page and you get a ranked list of what is wrong with it, sorted high, medium and low. It checks titles, meta descriptions, headings, canonicals, noindex tags, structured data, Open Graph tags and image alt text.
The part I care about most is the raw vs rendered comparison. The popup fetches the page the way a crawler without a browser would, then compares it with the page you are looking at. If the title, H1, canonical, word count, links, images or JSON-LD differ, it marks the row and tells you which elements only appear after JavaScript runs.
Below that, it checks the site itself: whether robots.txt, a sitemap and an llms.txt file exist, and which of 14 AI crawlers your robots.txt blocks.
Crawl a whole site
The popup has a Crawl this site button. It opens a crawler in its own tab, with no server to run.
You can crawl as Googlebot (smartphone or desktop), Bingbot, GPTBot, ClaudeBot or PerplexityBot, so you see the site the way each one is treated. You set the page limit, depth and delay, choose whether to respect robots.txt, and exclude paths with wildcards or regular expressions.
The crawl reports:
Broken pages, redirects and failed requests
Duplicate and near-duplicate content, and duplicate titles and descriptions
Canonical problems and missing structured data
Broken and oversized images
Orphan pages, found by comparing the sitemap against the internal links the crawl followed
When it finishes, you can export a CSV or open a printable report that sorts every issue by priority, which is the version I hand to clients.
One honest limit: crawls read raw HTML and do not run JavaScript. For the rendered view of a single page, use the popup.
Private by design
Nothing leaves your computer. The extension fetches pages straight from your browser to the site you are auditing, keeps the results on your machine, and has no account, no server and no analytics.
It also does not ask for access to every website when you install it. Chrome asks for access to a site only when you audit or crawl that site, and you can take that access back at any time at chrome://extensions. The only time it asks for all sites is if you tick the option to check images hosted on other domains.
What the Chrome Web Store review taught me
Writing the extension was the smaller job. Publishing it meant justifying every permission in plain language, hosting a privacy policy, turning on two-step verification, and verifying my identity and address as a business publisher.
The most useful lesson was about permissions. My first version asked for access to every website at install. A reviewer reading that has to decide whether to trust it, and so does every user. Making that access optional, and asking only when someone starts an audit, made the extension safer and the justification easier to write.
If you are building one, write the privacy policy and the permission explanations before you submit. They force you to find the permissions you did not need.
Try it
Freeming Toad is free. Install it from the Chrome Web Store, open any page, and click the toad.
If you try it, I would like to hear what it catches on your site, and what it misses. The original Python version is on GitHub.
Please only crawl sites you have permission to audit.
Bring the constraint that keeps reappearing. We’ll find out whether it’s a strategy issue, a systems issue, or a visibility issue.
Start a conversation