A short sample, fast
The first few hundred characters of real text are detected against the language the URL, the lang attribute and the hreflang cluster claim. Cheap, immediate, and enough to clear most pages.
Lingua Detective crawls your pages, detects the real language of each one and flags those still in another language. You stop guessing — you know.
idle · seed planted, awaiting scan
| Top 5 — wrong language served | Expected | Detected | Confidence |
|---|
Hover the wall — the lens reads what each page is actually written in.
Move the lens over any card. Four of these nine pages are written in a language their own markup does not claim.
Every page is read three times, each pass with more context than the last. Nothing is judged on a single signal.
The first few hundred characters of real text are detected against the language the URL, the lang attribute and the hreflang cluster claim. Cheap, immediate, and enough to clear most pages.
Header, navigation, cookie banner and footer are stripped before anything is judged. What remains is the content the page was built to deliver — measured in full, not in samples.
When the two passes disagree, or confidence stays low, a language model arbitrates on the de-boilerplated body and returns a single status with a confidence figure you can audit.
A competing crawl graded a JavaScript-rendered site a perfect 100. Without real browser rendering it had only ever received the shell: the repeated header, the menu and the footer — which were translated. The article bodies, injected client-side, were still in the source language on every single localized page. The tool validated the furniture and called the house finished.
Only the template — header, nav and footer — returned text in the raw HTML. Everything the customer actually reads was never evaluated.
When the content doesn't match the language a page declares, search engines can ignore your hreflang grouping, or index the “wrong” version. The French visitor never sees the page written for them, and the English speaker lands on a URL they cannot use.
A visitor who lands on a page they can't read leaves within seconds. That signal travels back up, and it isn't one page that pays for it — it's the whole group of pages in that locale.
Tag checkers report green while the problem grows with every deployment. The markup is correct; the text underneath it is not. Every non-conforming page you find is a ranking you can still recover.
Built for multilingual sites that ship continuously and can't audit by hand.
Raw HTML first for speed, a real browser when the page needs it. Client-side content is read exactly as your visitors receive it.
Disputed pages go to arbitration on the de-boilerplated body, and come back with one status and a confidence figure you can audit.
Include and exclude by path, subdomain or locale. Crawl only the section you just shipped, or the whole property on a schedule.
Headers, menus, cookie banners and footers are stripped before judgment, so a translated template can never cover for an untranslated body.
Get a message the moment a deployment reintroduces a page in the wrong language — Slack, Teams, webhook, or straight into your pipeline.
A shareable report per crawl, plus JSON and CSV exports for the pages that need a ticket rather than a conversation.
No seats, no minimum commitment, no quote form. Audit a 2,000-page site for less than a team lunch.
One price per page read. Give us a domain to crawl, or a list of URLs you already have.
| Pages | Crawl | URL list |
|---|---|---|
| 1 – 200 | $0.020 | $0.015 |
| 201 – 1,000 | $0.015 | $0.010 |
| 1,001 + | $0.011 | $0.006 |
Language drift comes back with every deployment. Put the check on a schedule and stop rediscovering it by accident.
API — pay-per-call for AI agents, micropayment per request, no account.
Run a free scan on your own domain and see what your localized pages are really written in.