Service · SEO Audit

Find what blocks your rankings.

An SEO audit systematically checks the technical setup, content, links and structure of your website for what blocks rankings and organic traffic in Google search. At the end there is no list of errors, but an action list sorted by impact and effort.

Request an SEO audit Run the business case →

In search since 2016 · technical SEO at scale · projects up to around 20 million pages

Proven on one project · YMYL / finance
Clicks ×2 Organic clicks doubled in 12 months, peaking at +159 %.
Avg. position 27.7 → ~15
Click rate 2.7 → 4.7 %
Fixed packagetwo working weeks from kickoff
4 check fieldsTechnical · Content · Links · Architecture
One auditDiagnosis before the investment: the two or three root causes that cost revenue
1 resultPrioritization matrix and ticket backlog for the team

Why an SEO audit? The question behind the question

16.9 → 13.0

Avg. Google position in the core market for a B2C comparison portal, at around 190,000 clicks (+10 %)

Case study · 6 months

The trigger is rarely technical curiosity, but a business problem: organic traffic is falling, a competitor is pulling ahead, a relaunch has cost rankings, or the content budget no longer works. An audit separates cause from symptom, instead of patching at the surface.

The yardstick here is not the curve of a visibility tool, but the pipeline. A ranking on a page nobody needs brings nothing. A ranking on your most important offer page changes revenue. That is why I sort every metric along this line. Anyone who also wants to measure the AI layer will find it in the GEO audit.

What an SEO audit checks: four fields

Each field answers its own question, and none wins a ranking on its own.

01 · Technical

Can Google even get through?

What a crawler cannot reach, render and take in cannot rank. Crawling, indexing and loading behaviour are checked, meaning the layer that decides whether your pages are in the race at all.

02 · Content

Does the page answer the question?

Ranking follows search intent. A how-to article does not rank on a purchase query, and two of your own pages on the same query weaken each other. I check whether page type and intent match and where content overlaps.

03 · Links

Where does the authority come from?

Two levels, internal and external. Internal linking is the lever in your hand: it steers where your link equity lands. The external backlink profile shows which signals carry weight and which are more of a burden.

04 · Architecture

Does the user find the way?

Structure is a ranking and a conversion factor at once. Click depth, URL logic and category structure decide whether Google and your buyers find the right page.

Which technical factors decide a ranking

Google does not see your design, but the floor plan of your website. If one step of that floor plan breaks, the chain ends before the ranking.

Check pointQuestionIf it is missing
Crawling Does the Googlebot reach your pages, or does it get lost in parameter URLs, filters and crawl traps? Does robots.txt block the wrong thing? Pages are never seen
Indexing Do noindex, wrong canonicals or soft 404s prevent inclusion in the index? Pages are seen, but not included
Status codes, crawl budget How many 404 chains, redirect chains and 5xx are in the logfile, and how much crawl budget do they burn? Google wastes time on dead pages
XML sitemap Is the sitemap complete, up to date and free of non-indexable URLs? Google finds new pages late or not at all
Rendering Is the content in the server HTML or does it only appear after JavaScript? What renders late is assessed late or incompletely
Core Web Vitals Are LCP, INP and CLS green in the field data, not just in the lab value? A precondition, but a drag
Mobile Is there parity between the mobile and desktop version for mobile-first indexing? Google assesses the weaker version

No single point wins a ranking on its own. But each one can prevent it.

Does the right page rank on the right question?

The core of the on-page analysis

For every important query, exactly one URL should be responsible. If two of your own pages compete for the same keyword, they share the signals and neither ranks well.

I go through four axes. Search intent: does the page type match the intent behind the query? Keyword mapping and cannibalization: one URL per query, otherwise your own pages weaken each other. How to resolve that cleanly is described in my article on keyword research and SEO strategy.

On top of that, duplicate content from variant URLs, parameters and copied manufacturer texts, and the meta elements: title and description are not a direct ranking factor, but they decide the click in the search result. Above all sits the view of the content inventory: outdated articles, pages without an impression, pages with impressions but no click. From this comes the decision whether a page is updated, merged or switched off.

How the audit runs

Five steps, two working weeks.

The first step decides all the others: without a defined business goal and named money pages there is no prioritization. A ranking on the wrong page is a nice number, not revenue. That is why we first define which pages earn your money, and only then sort.

01

Kickoff and goal definition

Business goal, money pages, competitors and access. Without a goal there is no prioritization.

02

Crawl and data pull

Screaming Frog, Search Console, backlink data and, where available, the server logfiles.

03

Analysis across four fields

Technical, content, links and information architecture, each field checked on its own.

04

Competitive comparison and prioritization

The findings move into the prioritization matrix, sorted by impact and effort.

05

Handover

Results presentation and action plan that your team or an agency can pick up and continue directly.

What you hold in your hands at the end

Not a PDF that gathers dust on the drive after three weeks, but three concrete artifacts:

The prioritization matrix

Every finding sorted by impact and effort. A wrongly set canonical is done this week, backlink building runs over months. You see at a glance what comes first.

The ticket backlog

Every technical finding with the location, the affected set of URLs and the check step, concrete enough that your developers get started without follow-up questions. That is the difference from an automated SEO report.

The KPI baseline

Rankings of your money pages, impressions, clicks and index coverage as a zero measurement. From here on, every change is measurable instead of a feeling, and every number holds up in the boardroom.

Proven · Anonymized client example

What a finished audit looks like

An excerpt from a real SEO audit, client anonymized. 25 pages, 9 chapters: competition, 2,500 content-gap keywords in 20 clusters, a crawl over around 206 URLs, and from that a technical to-do with 32 tasks across 212 URLs, each with location, solution and status. Concrete enough for a team to work through, not generalities.

REAL CLIENT PROJECT · ANONYMIZED · AS OF 2025

25pages · 9 chapters
2,500content-gap keywords · 20 clusters
~206URLs in the crawl
32tasks · 212 URLs

These four pages are an excerpt. The full ticket backlog lists each of the 32 tasks with affected URLs, solution and status – workable without follow-up questions.

An example of technical to-dos, line by line

Exactly the table from the backlog above, written out here: 32 tasks across 212 URLs, sorted by priority, each with affectedness, solution and status. This is how I hand it over to your developers.

EXCERPT · CLIENT ANONYMIZED · 212 URLS · AS OF 2025

Critical Immediate · 6 tasks
# Task URLs Solution
01 X-Frame-Options header missing 205 · 96.7 % Set the header server-side (SAMEORIGIN), protects against clickjacking.
02 HSTS header missing 205 · 96.7 % Set Strict-Transport-Security with max-age, prevents man-in-the-middle.
03 Title over 561 px↳ Client request: pause this month, titles are being rewritten. 53 · 25.98 % Shorten titles to under 60 characters, keyword to the front.
04 H1 missing 53 · 25.98 % Add one unique H1 with the target keyword per page.
05 Duplicate H1 46 · 21.8 % Word the H1 uniquely per page, page-specific keywords.
06 Meta description missing↳ Client request: pause this month. 42 · 19.9 % Write a description of 150–160 characters with keyword and CTA.
High Priority · 18 tasks
# Task URLs Solution
07 Duplicate meta descriptions 37 · 17.5 % A unique description with a USP per page.
08 Duplicate titles 35 · 16.6 % Pattern "Keyword | Addition | Brand" per page.
09 Alt attributes missing 33 · 15.6 % Give images descriptive alt text.
10 Canonical issues 31 · 14.7 % Set a correct canonical to the 200 URL.
11 H2 missing 30 · 14.2 % Add logical H2s with secondary keywords.
12 Duplicate H2 25 · 11.8 % Vary H2s per section.
13 H3 missing 24 · 11.4 % Add H3s for detail sections and long-tail.
14 Meta description too short 22 · 10.4 % Extend to 150–160 characters.
15 Duplicate H3 20 · 9.5 % Make H3s uniquely context-specific.
16 H4 missing 19 · 9.0 % Add H4s for specifications.
17 Duplicate H4 18 · 8.5 % Word H4s page-specifically.
18 H5 missing 17 · 8.1 % Add H5s for very detailed sections.
19 Duplicate H5 16 · 7.6 % Make H5s unique per page.
22 Titles too short 13 · 6.2 % Extend to 50–60 characters, add the brand.
23 Empty H1 10 · 4.7 % Insert a meaningful H1 with the target keyword.
24 H1 only whitespace 9 · 4.3 % Replace the blank H1, check the HTML for hidden characters.
Medium Additional · 8 tasks
# Task URLs Solution
25 Meta description over 985 px 5 · 2.5 % Shorten to 150–160 characters, key part to the front.
26 Unsafe cross-origin links 12 · 5.7 % Add rel="noopener" with target="_blank".
29 H1 not in first position 1 · 0.5 % Set the H1 as the first heading, check the hierarchy.
30 H2 out of order 5 · 2.5 % Correct the H2 order after the H1.
31 Internal redirects 7 · 3.3 % Point internal links directly to the target URL.
32 Non-indexable with search data 7 · 3.3 % Check robots.txt and meta tags, decide on indexability.
32task types · 212 URLs
6critical · immediate
18high priority
15–25 %expected traffic in 3–6 months

Check it yourself or have it checked

Five checks you do yourself in an hour, with nothing but Google Search Console and a free crawl. That hour finds the obvious errors. What it does not deliver is root-cause attribution across several factors and prioritization by business value. That is exactly where the work begins for which you bring someone in.

  1. 1Open the index coverage report in Search Console and read which pages Google excludes and why.
  2. 2Check your most important offer pages with URL inspection: indexed or not?
  3. 3Sort the performance report by impressions without clicks. That is where the weak snippets are.
  4. 4Crawl the site with a free tool and look for 404 errors, redirect chains and duplicate titles.
  5. 5Click your way from the homepage to the most important subpage. More than three clicks means: buried too deep.

SEO audit or GEO audit?

Both measure visibility, but in different spaces. Only around 12 % of the URLs cited by ChatGPT and Perplexity rank in Google's top 10 (Ahrefs), while around 94 % of AI Overview answers hang on the top 20 of classic search (seoClarity).

SEO auditGEO audit
Checks the results list on Google the generated AI answer
Basis of measurement rankings, impressions, clicks citation rate and citation share per engine
Data source Search Console, crawl, logfile prompt measurement across five engines
Answers Why do we not rank? Why are we not cited?

Anyone mainly missing from the AI Overviews starts with the SEO audit. Anyone missing from ChatGPT, Perplexity or Claude needs the prompt measurement from the GEO audit.

Frequently asked questions about the SEO audit

What does an SEO audit cost?

A fixed package, fixed terms that depend on the size of the website and the number of markets, which I quote you on request. If you want to estimate the business lever up front, the business case calculates three scenarios in two minutes at eullrich.com/en/business-case.

How long does an SEO audit take?

Two working weeks from access and kickoff. The timeframe is fixed and is agreed bindingly at the kickoff.

How often should you run an SEO audit?

Driven by events rather than the calendar: before a relaunch, after a major Google update, when traffic breaks, or when a competitor overtakes you. A full audit every quarter is a waste for most websites.

Can I do an SEO audit myself?

You will find the obvious errors with Google Search Console and a free crawl in an hour, the five steps are above. The limit is at root-cause attribution and prioritization by business value, when several factors interact.

Isn't a free SEO check enough?

An automated SEO check lists symptoms: missing meta tags, slow pages, duplicate titles. That is a useful first look. But it does not tell you which three of the 100 items move your revenue and in what order. That attribution is the actual work of an audit.

Which tools do you use?

Screaming Frog for the crawl, Google Search Console for the real user data, Ahrefs or Sistrix for backlinks and competition, plus logfiles and Python for large inventories. The tools deliver the data, the diagnosis comes from me.

What is the difference between an SEO audit and a GEO audit?

An SEO audit checks the ranking factors of the classic results list on Google. A GEO audit checks whether your brand is mentioned and cited in the generated AI answer. With chat engines the coupling between the two is weak (around 12 percent), with Google AI Overview strong (around 94 percent).

Do you also check Google Ads or social media?

No. An SEO audit concerns organic search. Paid ads and social channels follow a different logic and do not belong in this scope.

Want to know what blocks your rankings?

Write to me about what you observe. I will get back to you with the terms for your website scope and your markets.

LinkedIn ↗

[email protected]