SEO auditový framework, který používáme na každém projektu
Every Empirium engagement starts with an SEO audit. Not a generic "your site needs improvement" report — a structured, scored assessment that identifies exactly what's broken, how much it costs you in lost traffic, and what to fix first.
Most SEO audits are either too shallow (run Lighthouse once, generate a PDF) or too broad (200-page report covering everything, actionable on nothing). Our framework is designed to be comprehensive enough to catch real issues and prioritized enough to guide implementation.
Here's the complete framework with scoring criteria, so you can run it yourself.
The Four Audit Pillars
We evaluate every site across four pillars, each weighted based on the site's maturity and goals:
| Pillar | Weight (New Site) | Weight (Established Site) | Focus |
|---|---|---|---|
| Technical SEO | 35% | 25% | Can Google access and understand your site? |
| On-Page SEO | 30% | 25% | Is your content optimized for target queries? |
| Off-Page SEO | 15% | 25% | Does your site have authority and trust signals? |
| Content | 20% | 25% | Is your content comprehensive and valuable? |
New sites need heavier technical weighting because fundamental crawling and indexing issues block everything else. Established sites have usually solved basic technical issues and need to focus more on content quality and authority.
Scoring Methodology
Each audit item is scored on a 3-point scale:
- Pass (3 points): Meets or exceeds best practice
- Warning (2 points): Functional but suboptimal — should be improved
- Fail (1 point): Actively hurting SEO — fix immediately
The total score is expressed as a percentage of the maximum possible points, weighted by pillar.
Technical Audit Checklist
Crawlability
| Item | Pass Criteria | Fail Criteria | Tool |
|---|---|---|---|
| Robots.txt | Present, not blocking important content | Blocking CSS/JS, or blocking sections that should be indexed | Screaming Frog, manual review |
| XML sitemap | Present, all URLs return 200, accurate lastmod | Missing, contains 404s/redirects, stale dates | Screaming Frog, sitemap guide |
| Crawl errors | <1% of URLs return 4xx/5xx | >5% error rate | Search Console Coverage |
| Redirect chains | Zero chains >2 hops | Chains >3 hops exist | Screaming Frog |
| Crawl budget | Server responds <300ms, no crawl traps | Response >1s, infinite parameter URLs | Server logs, Search Console |
Indexability
| Item | Pass Criteria | Fail Criteria |
|---|---|---|
| Index coverage | >90% of submitted URLs indexed | <70% indexed |
| Canonical tags | Self-referencing on all pages, consistent | Missing, conflicting, or pointing to wrong URLs |
| Noindex tags | Only on pages that shouldn't be indexed | On important pages, or missing from thin pages |
| Duplicate content | <5% of pages flagged as duplicates | >15% duplicate content |
| Hreflang | Reciprocal, self-referencing, valid codes | Missing return tags, wrong codes, conflicts with canonical |
Site Architecture
| Item | Pass Criteria | Fail Criteria |
|---|---|---|
| Click depth | Important pages within 3 clicks of homepage | Key pages require 5+ clicks |
| URL structure | Clean, descriptive, consistent hierarchy | Parameters, inconsistent patterns, excessive depth |
| Navigation | Clear hierarchy, accessible to crawlers | JavaScript-only nav, broken mobile nav |
| Breadcrumbs | Present with schema markup | Missing or inconsistent |
| Orphan pages | Zero important orphaned pages | Key pages with no internal links |
Page Speed and Core Web Vitals
| Metric | Pass | Warning | Fail |
|---|---|---|---|
| LCP (p75 field data) | ≤2.5s | 2.5-4.0s | >4.0s |
| CLS (p75 field data) | ≤0.1 | 0.1-0.25 | >0.25 |
| INP (p75 field data) | ≤200ms | 200-500ms | >500ms |
| TTFB | ≤200ms | 200-500ms | >500ms |
| Total page weight | ≤500KB | 500KB-1MB | >1MB |
Use field data from CrUX for scoring, not Lighthouse lab data. Lab scores can be misleading.
Security
| Item | Pass | Fail |
|---|---|---|
| HTTPS | Sitewide HTTPS with valid certificate | HTTP pages exist, mixed content |
| HSTS | Strict-Transport-Security header present | Missing |
| Security headers | X-Content-Type-Options, X-Frame-Options | Missing critical headers |
| Vulnerable dependencies | No known CVEs | Outdated libraries with known vulnerabilities |
On-Page Audit Checklist
Title Tags
| Item | Pass | Fail |
|---|---|---|
| Uniqueness | Every page has a unique title | Duplicate titles across pages |
| Length | 50-60 characters | Truncated (>60) or too short (<30) |
| Keyword inclusion | Primary keyword in title, front-loaded | Missing target keyword |
| Branding | Brand name appended consistently | Inconsistent branding |
Meta Descriptions
| Item | Pass | Fail |
|---|---|---|
| Uniqueness | Every page has a unique description | Duplicate or auto-generated |
| Length | 150-160 characters | Truncated or missing |
| Call to action | Includes CTA or value proposition | Generic "Learn more" or empty |
| Target keyword | Naturally included | Keyword-stuffed or completely absent |
Heading Hierarchy
| Item | Pass | Fail |
|---|---|---|
| Single H1 | One H1 per page matching the primary topic | Multiple H1s or missing H1 |
| Logical hierarchy | H1 → H2 → H3, no skipped levels | H1 → H4, multiple hierarchy breaks |
| Keyword usage | Primary keyword in H1, related terms in H2s | Keyword-stuffed or irrelevant headings |
Content Optimization
| Item | Pass | Fail |
|---|---|---|
| Content length | Appropriate for topic (1500+ for guides) | Thin content (<500 words for competitive topics) |
| Entity coverage | Covers all major sub-entities for the topic | Missing key sub-topics competitors cover |
| Image optimization | Alt text, WebP/AVIF format, responsive | Missing alt text, uncompressed images |
| Internal links | 5+ contextual internal links per article | <3 internal links, generic anchors |
| Schema markup | Appropriate schema for page type | Missing or invalid schema |
Off-Page Audit
Backlink Profile
| Item | Pass | Warning | Fail |
|---|---|---|---|
| Referring domains | Growing trend, 100+ for established sites | Flat or slow growth | Declining or <20 |
| Domain authority (DR/DA) | DR 40+ for competitive niches | DR 20-40 | DR <20 |
| Link quality | >80% from relevant, authoritative sites | Mixed quality | >30% from toxic/spam sources |
| Anchor text diversity | Natural distribution (30% branded, 30% topical) | Slightly skewed | >50% exact-match keyword anchors |
Brand Signals
| Item | Pass | Fail |
|---|---|---|
| Branded search volume | Growing trend | Declining or zero |
| Knowledge Panel | Present in Google | Absent |
| Brand mentions | Regular mentions on third-party sites | No brand mentions found |
| Social profiles | Claimed and active | Missing or abandoned |
Competitor Gap Analysis
Identify the top 5 competitors for your primary keywords and compare:
| Metric | Your Site | Competitor Average | Gap |
|---|---|---|---|
| Referring domains | ? | ? | ? |
| Content pages on target topic | ? | ? | ? |
| Average content length | ? | ? | ? |
| Schema implementation | ? | ? | ? |
| Topical authority coverage | ? | ? | ? |
The gap analysis reveals where you need to invest to compete. A site with 10 referring domains competing against sites with 500+ needs a fundamentally different strategy than a site that's close to parity.
Priority Matrix and Reporting
Impact vs Effort Scoring
Every audit finding gets plotted on a 2x2 matrix:
| Low Effort | High Effort | |
|---|---|---|
| High Impact | DO FIRST — Quick wins that move rankings | PLAN — Major projects with significant ROI |
| Low Impact | BATCH — Housekeeping tasks to handle together | SKIP — Not worth the investment |
Typical Priority Order
Based on hundreds of audits, this is the most common priority sequence:
- Fix critical technical issues (broken pages, crawl blocks, indexing problems) — Days 1-7
- Optimize Core Web Vitals (if failing) — Days 1-14
- Fix canonical and hreflang issues — Days 7-14
- Optimize title tags and meta descriptions — Days 14-21
- Add schema markup — Days 14-21
- Improve internal linking — Days 21-30
- Begin content optimization — Days 30-60
- Start link building campaign — Days 30-90
Reporting to Stakeholders
Executive summary (1 page):
- Overall score as a percentage
- Three most impactful findings
- Estimated traffic opportunity (what you could gain from fixes)
- Investment required (time and cost)
Detailed findings (per pillar):
- Each item with pass/warning/fail status
- Specific examples with URLs
- Remediation instructions
- Expected impact and timeline
Roadmap:
- Priority-ordered task list with effort estimates
- Monthly milestones
- KPIs to track improvement
At Empirium, our audit reports include specific before/after examples and code snippets for technical fixes. A finding that says "fix your canonical tags" isn't actionable. A finding that says "Pages X, Y, and Z have canonical tags pointing to /old-url instead of self-referencing — update the canonical tag in your layout template at line 42" is.
FAQ
How often should I run an SEO audit?
A full comprehensive audit annually. A focused technical audit quarterly. Continuous monitoring (Search Console, Core Web Vitals, crawl errors) should be automated and reviewed weekly. After major site changes (redesign, migration, new content section), run a targeted audit immediately.
Can I do an SEO audit myself or should I hire a professional?
You can run a basic audit yourself with free tools (Search Console, Lighthouse, Screaming Frog free version). However, a professional audit typically catches issues that tools alone miss — content cannibalization patterns, strategic internal linking gaps, and competitive positioning insights require human judgment. The tools find what's broken; a professional identifies what's missing.
What tools do I need for a complete SEO audit?
Essential (free): Google Search Console, Google Analytics, Lighthouse, web-vitals.js Essential (paid): Screaming Frog (£199/year), Ahrefs or SEMrush (from $99/month) Nice to have: Botify (enterprise), ContentKing (real-time monitoring), SpeedCurve (performance)
The combination of Search Console + Screaming Frog + Ahrefs covers 90% of what you need for a thorough audit.
How long does a full SEO audit take?
For a site with 1,000-10,000 pages: 2-3 days for data collection and analysis, 1-2 days for report writing. For sites with 100,000+ pages: 5-10 days. The time investment scales with site complexity, not just page count. A 5,000-page e-commerce site with faceted navigation and international versions takes longer than a 50,000-page content site with a simple structure.
What's the expected ROI from implementing audit recommendations?
Based on our client data: sites that implement the top priority findings from an audit typically see 20-40% organic traffic increase within 6 months. Technical fixes (crawl issues, speed, indexing) produce the fastest results (4-8 weeks). Content and authority improvements take longer (3-6 months) but produce more sustainable growth. The average ROI on a professional SEO audit is 5-10x within the first year.