/ GUIDE — 6 min de lecture
Ce que Nosy Bat vérifie
Ce que recueille une exploration Nosy Bat, chaque famille de règles qu'elle applique, et comment lire un constat : problème, avertissement ou occasion, avec sa preuve et sa correction.
Cet article n'est pour l'instant disponible qu'en anglais. La traduction est en cours — le reste du site est en français.
A crawl starts at your homepage and follows every internal link it can reach, the way a search engine's crawler does. For each page it records the response — status code, redirects, headers, how long it took — and the parts of the HTML that decide how the page is indexed and shown: title, meta description, headings, canonical, robots directives, hreflang, structured data, images and links. It also reads your robots.txt and sitemaps, so it knows which pages you meant to be found. Nosy Bat identifies itself as Echorank360Bot, obeys robots.txt and stays under two requests a second.
Every page then goes through the rule library, and the site as a whole goes through it once more for the checks that need more than one page: duplicates, orphans, redirect chains, hreflang return links. A finding never stands alone. It names the page, the rule that fired and the evidence — the title that was too long and its length, the canonical and where it pointed, the status code a link returned — so you can check it yourself before you change anything.
What a crawl checks
- Response codes — Broken links and server errors: no response, timeouts, 4XX and 5XX, on internal and external URLs, each with the page it was found on.
- Redirects — 301s, 302s, meta refresh and, on rendered pages, JavaScript redirects, every hop of a chain, and loops.
- Blocked URLs — Pages the live robots.txt keeps crawlers out of, and what a draft robots.txt would change, before you publish it.
- External links — Every outbound link with its status code, anchor text and source page.
- Site structure — Indexability and crawl depth by directory, orphan pages, and the pages that carry the most internal links.
- Internal linking — Inlink and outlink counts per page, nofollow links, pages reachable from only one place, links to redirects, links with parameters.
- Anchor text — Every anchor, aggregated and per link, with the non-descriptive ones ("click here", "read more") flagged.
- Security — HTTP pages, mixed content, forms posting over HTTP, missing HSTS, CSP, X-Content-Type-Options, X-Frame-Options and Referrer-Policy headers, unsafe target=_blank.
- URL issues — Non-ASCII characters, underscores, uppercase, parameters, over-long URLs, repeated path segments, multiple slashes, trailing-slash variants.
- Page titles — Missing, duplicate, long, short, multiple, same as the H1, measured in characters and pixels.
- Meta descriptions — Missing, duplicate, long, short, multiple, measured in characters and pixels.
- Headings — H1 and H2 missing, duplicate, long, empty, multiple, or out of sequence.
- Content — Word count, readability, thin pages, placeholder text, soft 404s, text-to-HTML ratio, missing language attribute.
- Directives — noindex, nofollow, none, noarchive, nosnippet and the rest, in meta robots or X-Robots-Tag, and the conflicts between them.
- Canonicals — Link elements and HTTP headers, canonicals that point at redirects, errors or noindexed pages, header-vs-HTML mismatches.
- Pagination — rel="next" and rel="prev" targets, sequence errors, paginated pages canonicalised to the first.
- hreflang — Missing return tags, missing self-reference and x-default, invalid language or region codes, hreflang to non-200 or noindexed pages.
- Duplicate content — Exact duplicates by content hash, near-duplicates by similarity, and repeated titles, descriptions and headings across the site.
- Rendering — JavaScript sites rendered in headless Chromium, so React, Vue and Angular pages are crawled as a search engine sees them.
- JavaScript dependence — Content, links, titles, descriptions, headings and canonicals that exist only after JavaScript runs, and noindex tags that JavaScript adds or removes.
- Images — Missing alt text, over-long alt text, alt equal to the filename, missing width and height, oversized files, broken images.
- Validation — Missing doctype, elements in the wrong place in <head>, duplicate <html> or <body>, missing viewport: the things that stop a bot parsing a page reliably.
- User agent — Crawl as Nosy Bat, as Googlebot smartphone or desktop, or as any custom string on a site you have verified.
- Custom headers and cookies — Send your own request headers, a cookie string or HTTP basic auth with every request to the site you crawl.
- Custom source search — Search every page's source for a string or a pattern: a tracking tag, a keyword, a snippet of code.
- Custom extraction — Pull any value from the HTML with CSS selectors, XPath or a regular expression: prices, SKUs, authors, dates, social tags.
- Custom JavaScript — Run your own snippet in the rendered page and keep what it returns: scroll, click "load more", read a data layer.
- Search Console — Clicks, impressions, CTR and position per page for the last 28 days, joined to every crawled URL.
- PageSpeed Insights — Lighthouse scores, Core Web Vitals field data and the top performance opportunities for the pages you choose.
- Mobile usability — Viewport, font size, tap targets and content wider than the screen, from the rendered page and Lighthouse.
- Backlink metrics — Referring domains and backlink counts per URL, so you know which broken or redirecting pages are costing you links.
- XML sitemaps — Generate a sitemap and an image sitemap from the crawl, indexable pages only, split automatically at 50,000 URLs.
- Sitemap analysis — Read the site's XML sitemaps during the crawl to find URLs that are missing, non-indexable, redirecting, broken or orphaned.
- Custom robots.txt — Edit a copy of the site's robots.txt and test which URLs it would allow or block.
- AMP — Find AMP URLs, validate them with the official validator, and check the canonical links in both directions.
- Visualisations — Directory tree, crawl tree and a force-directed internal-link graph, coloured by indexability and sized by inlinks.
- Structured data — Extract JSON-LD and microdata, catch parse errors, and check required and recommended properties for common schema.org types.
- Spelling — Spell-check page copy in English, French and German, with your own brand words whitelisted. Grammar checks run through the AI prompts.
- Accessibility — Automated WCAG 2.1 AA checks with the axe-core rule set on every rendered page.
- Forms-based authentication — Log in through your site's own login form before crawling, to audit the pages behind it. Your verified sites only; logout links are never followed.
- Index status — What Google reports for each page: indexed or not, its chosen canonical, last crawl.
- Semantic duplicates — Pages that say the same thing in different words, and pages that don't belong on the site.
- AI prompts — Run up to three prompts per crawl against page content with Claude, OpenAI or Gemini: classify intent, summarise, suggest titles, check grammar.
- Segments — Group pages by URL pattern, extracted value, depth or status, and filter every table and total by segment.
- Crawl comparison — Diff two crawls: pages added or removed, issues fixed or introduced, element changes, with URL mapping to compare staging against production.
- Scheduling — Daily, weekly or monthly crawls on a fixed day and hour, each one compared with the run before it.
- Reports — A PDF report for every crawl — totals, the top issues with their evidence, segments and the changes since the last crawl — and scheduled results emailed with the changes and links to the CSVs.
- List mode — Paste or upload a URL list and check status and redirect chains without crawling, for migrations.
- CSV export — Every table — issues, pages, duplicates, redirects — exports to CSV.
How to read a finding
- Issue — something is wrong and costs you: a broken link, a page missing its title, a canonical pointing at an error. Fix these first.
- Warning — probably wrong, or wrong in some contexts: a title past 60 characters, a page marked noindex. Check each one; some are deliberate.
- Opportunity — not broken, but better is available: missing structured-data properties, images without width and height, non-descriptive anchors.
- Evidence — the values the rule saw, shown next to every affected URL. If the evidence looks right to you, the rule is wrong for your site, and you can leave it.
- How to fix — each rule carries one short instruction: what to change, not which plugin to install.
- Not assessable — when a check cannot be read (a timeout, a page blocked to us, a response with no HTML), the page is marked not assessable for that rule. It is never counted as a failure.
Every table — issues, pages, duplicates, redirects — exports to CSV, so a finding can go straight to whoever fixes it.