Back to Audityxe

METHODOLOGY

How Audityxe actually measures a site

No black box. Here's exactly what happens between you pasting a URL and getting a score — what's measured directly, what's written commentary, and where the limits are.

1. What happens on submit

When you click "Analyze Now," our server fetches your page's live HTML directly — the same way a browser or search engine crawler would, with a real HTTP request, following real redirects, reading real response headers. There is no cached database of pre-scored sites; every audit is a fresh network request made at that moment.

In parallel, we also fetch your site's real /robots.txt and /sitemap.xml, sample a handful of your on-page links and images with live HTTP requests, check for a real /ads.txt file, and run a real browser-rendered performance and accessibility pass. Nothing here is simulated — see the "Live network requests" section below for the exact list.

2. Deterministic measurements vs. written commentary

This distinction matters, so we keep it explicit everywhere in the product:

Deterministic measurements

All 6 category scores, all 17 deep-audit modules, and every "pass/warn/fail" finding come from parsing the real HTML and HTTP responses, or from a real browser-rendered audit pass — never from guesswork. Run the same audit twice against an unchanged page and you'll get the same score.

Written commentary

The one-line verdict, the X/LinkedIn promo copy, and the banner's headline/ tagline are generated based on your real scores as input. If that generation is ever unavailable, a built-in rule-based writer produces equivalent copy from the same real data — the scores never change, only the wording.

3. Live network requests made during a single audit

  • The target page itself, with manual redirect-chain tracking (real hop count, HTTPS→HTTP downgrade detection)
  • /robots.txt — existence, rules, sitemap cross-reference
  • /sitemap.xml — validity, URL count, freshness data
  • /ads.txt — existence and entry count
  • Up to 10 on-page links, checked live via HEAD/GET for broken (404/410/5xx) responses
  • Up to 8 on-page images, checked live via HEAD for actual file size and content-type
  • The declared og:image URL, checked live to confirm it actually loads as an image
  • A full render of the page in real Chrome (via Google's PageSpeed Insights service) for performance, accessibility, and Core Web Vitals

4. How the 6 category scores are calculated

Each category starts from a baseline and real signals add or subtract points — never randomness. For example, Technical & Metadata Health adds points for a present meta description, canonical tag, HTTPS, structured data, and a cross-referenced sitemap, and subtracts points for a missing robots.txt, a blanket Disallow: /, or a noindex directive. The exact formulas are open in the codebase (lib/analyze.ts) — we're not asking you to trust a black box.

5. Real browser-rendered auditing

Beyond parsing HTML, Audityxe also has your page actually rendered in real Chrome — via Google's free PageSpeed Insights service, the same underlying engine (Lighthouse) that powers Chrome DevTools. This measures things static HTML parsing simply can't: real Largest Contentful Paint, Cumulative Layout Shift, Total Blocking Time, and a full rendered accessibility audit (contrast, focus order, ARIA correctness against the actual rendered DOM). Every specific issue it flags is shown as its own finding with a description, not folded into a single opaque score.

6. How code/copy fixes are generated, with evidence

Fixes are template-based, triggered by specific real findings — e.g. "no meta description found" always produces the same category of fix with a concrete before/ after snippet. Every fix also carries an evidence line stating exactly what was checked and what was found — "sent a live GET request to /sitemap.xml — no successful response," for example — so you can verify it yourself rather than take our word for it. Fixes are not independently validated against your live codebase (we don't have access to it) — they're the standard, correct fix for the specific problem detected. Always test a fix in a staging environment before shipping to production.

7. Competitor comparison methodology

When a competitor URL is provided (Standard/Pro plans), we run the exact same audit pipeline against it independently, then compare category-by-category. A category is called out as a "win" only when the score difference is 0.4 or greater, to avoid overstating noise-level differences as meaningful wins.

8. What Audityxe cannot measure (limitations)

The HTML-parsing checks can't see anything that only exists after JavaScript executes on top of the raw response — though the real browser-rendered pass (section 5) covers most of that gap for performance and accessibility.

Some link/image checks may show as "ambiguous" (401/403/429) rather than "broken" — this is intentional. Many sites block automated requests from bots as a matter of policy, which looks identical to a broken link from our side. We label these separately rather than falsely reporting them as dead links.

Scores can shift between runs if the underlying page changes — A/B tests, feature flags, or a deploy between two audits will produce different (correctly different) results. This is expected behavior, not inconsistency in the engine.

9. Your privacy

Audits are not stored on our servers once the result is returned to your browser — there's no public report page, no cross-account history, and no database of who audited what. Everything you see is computed fresh for you, for that request, and belongs to you: use the copy/export/share buttons on any result to keep your own copy.

Want to see this in action before signing up? View a real, live sample report →