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 auditRun the business case →

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

Documented client case · B2C finance portal / DE
16.9 → 13.0Average Google position in the core market, documented over six months.
Clicks~172,000 → 190,000
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
CrawlingDoes 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
IndexingDo noindex, wrong canonicals or soft 404s prevent inclusion in the index?Pages are seen, but not included
Status codes, crawl budgetHow 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 sitemapIs the sitemap complete, up to date and free of non-indexable URLs?Google finds new pages late or not at all
RenderingIs the content in the server HTML or does it only appear after JavaScript?What renders late is assessed late or incompletely
Core Web VitalsAre LCP, INP and CLS green in the field data, not just in the lab value?A precondition, but a drag
MobileIs 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

CriticalImmediate · 6 tasks
#TaskURLsSolution
01X-Frame-Options header missing205 · 96.7 %Set the header server-side (SAMEORIGIN), protects against clickjacking.
02HSTS header missing205 · 96.7 %Set Strict-Transport-Security with max-age, prevents man-in-the-middle.
03Title 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.
04H1 missing53 · 25.98 %Add one unique H1 with the target keyword per page.
05Duplicate H146 · 21.8 %Word the H1 uniquely per page, page-specific keywords.
06Meta description missing↳ Client request: pause this month.42 · 19.9 %Write a description of 150–160 characters with keyword and CTA.
HighPriority · 18 tasks
#TaskURLsSolution
07Duplicate meta descriptions37 · 17.5 %A unique description with a USP per page.
08Duplicate titles35 · 16.6 %Pattern "Keyword | Addition | Brand" per page.
09Alt attributes missing33 · 15.6 %Give images descriptive alt text.
10Canonical issues31 · 14.7 %Set a correct canonical to the 200 URL.
11H2 missing30 · 14.2 %Add logical H2s with secondary keywords.
12Duplicate H225 · 11.8 %Vary H2s per section.
13H3 missing24 · 11.4 %Add H3s for detail sections and long-tail.
14Meta description too short22 · 10.4 %Extend to 150–160 characters.
15Duplicate H320 · 9.5 %Make H3s uniquely context-specific.
16H4 missing19 · 9.0 %Add H4s for specifications.
17Duplicate H418 · 8.5 %Word H4s page-specifically.
18H5 missing17 · 8.1 %Add H5s for very detailed sections.
19Duplicate H516 · 7.6 %Make H5s unique per page.
22Titles too short13 · 6.2 %Extend to 50–60 characters, add the brand.
23Empty H110 · 4.7 %Insert a meaningful H1 with the target keyword.
24H1 only whitespace9 · 4.3 %Replace the blank H1, check the HTML for hidden characters.
MediumAdditional · 8 tasks
#TaskURLsSolution
25Meta description over 985 px5 · 2.5 %Shorten to 150–160 characters, key part to the front.
26Unsafe cross-origin links12 · 5.7 %Add rel="noopener" with target="_blank".
29H1 not in first position1 · 0.5 %Set the H1 as the first heading, check the hierarchy.
30H2 out of order5 · 2.5 %Correct the H2 order after the H1.
31Internal redirects7 · 3.3 %Point internal links directly to the target URL.
32Non-indexable with search data7 · 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
Checksthe results list on Googlethe generated AI answer
Basis of measurementrankings, impressions, clickscitation rate and citation share per engine
Data sourceSearch Console, crawl, logfileprompt measurement across five engines
AnswersWhy 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 ↗

hi@eullrich.com