Methodology — how the audit scores
Every Branded Audits report is generated by a deterministic, rule-based audit engine. No LLM is in the scoring loop. No external paid APIs are called. The same URL gets the same score every time. Here's exactly how it works.
1. Sections and weights
The audit is divided into five sections. Each section's score is rolled up into the overall score using these weights:
| Section | Weight | Why this weight |
|---|---|---|
| SEO | 30% | Strongest predictor of organic traffic — the outcome most agencies sell on. |
| Performance | 25% | Core Web Vitals are now a Google ranking factor; page speed directly affects bounce rate. |
| Accessibility | 15% | Compliance + reach. Affects ~15% of users with disabilities. |
| Security | 15% | Trust signal + insurance against breaches that would tank trust. |
| Mobile | 15% | ~60% of US web traffic. Mobile-first indexing is Google's default. |
These weights total exactly 100%. They are baked into the engine; we don't expose per-tenant weight tuning today.
2. Finding statuses
Within each section, individual checks each produce one of three statuses:
- PASS = 100 points
- WARN = 50 points
- FAIL = 0 points
A section's score is the arithmetic mean of its findings' point values, rounded to the nearest integer. The overall score is the weighted sum of section scores using the table above, again rounded to the nearest integer.
3. Letter grade thresholds
| Grade | Score range | Plain-English meaning |
|---|---|---|
| A | 90–100 | This site is in great shape. Lead with strengths in the proposal. |
| B | 80–89 | Solid foundation, clear room to grow. Strong agency engagement potential. |
| C | 70–79 | Leaving meaningful conversions on the table. Easy wins available. |
| D | 60–69 | Multiple high-impact issues. Best case for a paid engagement. |
| F | 0–59 | Serious gaps. Recommend a full rebuild or aggressive remediation. |
4. Specific checks performed
Performance
- TTFB (time to first byte): < 600 ms = pass, 600–1500 = warn, > 1500 = fail.
- Page weight (HTML bytes): < 500 KB = pass, 500–2000 = warn, > 2000 = fail.
- HTTP compression: gzip or brotli on the response = pass, none = fail.
- Cache-Control header: present and not
no-store= pass. - Render-blocking scripts in
<head>: 0 = pass, 1–2 = warn, 3+ = fail.
SEO
- Title tag: present + 30–65 chars (target 50–60).
- Meta description: present + 70–165 chars.
- H1 tag count: exactly 1 = pass.
- Canonical link tag: present = pass.
- Open Graph tags:
og:title+og:imageboth present = pass.
Accessibility
- Image alt text: every
<img>withoutaria-hiddenhas analtattribute. - HTML
langattribute: present. - Form labels: every visible input has either an
aria-label,aria-labelledby, or a<label for="...">pairing. - Skip-to-content link: present.
Security
- HTTPS: final URL after redirects starts with
https://. - HSTS:
Strict-Transport-Securityheader present. - Content-Security-Policy: header present.
- X-Content-Type-Options: present (typically
nosniff). - X-Frame-Options: present.
- Referrer-Policy: present.
- Permissions-Policy: present.
- Server header version-leak: warns if header reveals software version (e.g.
nginx/1.18.0).
Mobile
- Mobile viewport meta tag:
name="viewport"withwidth=device-width. - Responsive images: presence of
<picture>elements orsrcsetattributes. - Apple touch icon:
<link rel="apple-touch-icon">present.
5. What the audit explicitly does NOT do
For credibility, here's what we don't claim to measure:
- Site-wide crawls. Single-page audits only. Use Sitebulb or Screaming Frog for crawl-based analysis.
- JavaScript execution. The fetch is HTML-only. Single-page apps render only what's in the static HTML.
- Real-user metrics. No LCP / CLS / INP from real visitors — that requires Google's CrUX data or instrumentation.
- Backlinks. No off-page SEO data. Use Ahrefs or Moz for that.
- Keyword rankings. No SERP-position tracking.
- Continuous monitoring. On-demand only. The result is a snapshot, not a stream.
6. Report format
Every audit produces a 5-page PDF (or HTML, if the build environment lacks the WeasyPrint native libs):
- Cover page — agency logo, brand color gradient, audited URL, overall grade + score, "prepared for [client]" + "prepared by [agency]".
- Executive summary — overall verdict, section-score bars, top 5 priorities (failing checks first), top 5 wins (passing checks).
- Performance + SEO — every finding with status badge.
- Accessibility + Mobile — same format.
- Security + Next steps — security findings + a "book a 15-minute call" CTA pointing back at the agency's contact info.
7. Versioning
The scoring rubric is versioned. When checks are added or weights are adjusted, existing audits keep their original scores; new audits use the new rubric. Today's rubric is v1, deployed 2026-04-30.
Try it on one of your prospect's URLs.
The methodology only matters if the result is something you'd send a client. See for yourself.
Run a free audit →