Aloha Pixel

Book a call
English,
SEO

Technical SEO: the audit your website has never had

Indexing, structure, structured data, performance signals: the technical foundations that decide whether your content gets seen or simply ignored.

By Justin Deboves10 min read

A screen showing a dashboard of metrics, curves and a map, on a light-coloured desk beside a window

You publish, you polish your titles, you add the right keywords, and the curve does not move. Before concluding that SEO does not work, check something far more down to earth: can the search engines even read your site? Technical SEO does not push a page up; it removes what is stopping it from rising. Here is a technical SEO audit in seven families of checks, ranked by real impact, with the commands and the thresholds to run it yourself; if the problem turns out to be editorial, our ten actions to improve your Google rankings cover the other half of the subject.

The prerequisite: are your pages even being crawled?

A search engine works in four stages: it crawls, it renders, it indexes, it ranks. A blockage at the first link in the chain makes the next three pointless, and these failures are silent ones: nobody receives an alert when a noindex tag is left in place after a site goes live.

  • The robots.txt file. The most widespread misconception: a Disallow does not prevent indexing, it prevents reading. A blocked address can appear in the results with no description, the worst of both worlds. To remove a page from the index, leave it crawlable and give it a noindex.
  • Indexing directives. They live in two places: the meta name="robots" tag and the X-Robots-Tag HTTP header, which nobody ever looks at and which overrides everything else.
  • The actual response code. A page that displays “content not found” with a 200 code is a soft 404: the engines keep it in memory and go on visiting it for months.
  • Orphan pages. Compare the addresses in your sitemap with those reached by a crawler starting from the home page. The difference is the pages that no link leads to.

The first two checks fit into two lines of terminal:

curl -sIL https://exemple.fr/services/ | grep -iE "^HTTP|x-robots-tag|^location"
curl -s https://exemple.fr/services/ | grep -io '<meta[^>]*robots[^>]*>'

A word on crawl budget, which turns up, wrongly, in nine out of ten audits we read. Google explicitly reserves it for sites with more than a million addresses, or more than ten thousand addresses that change every day. A 60-page brochure site is not concerned. Redirect chains and the thousands of parameter addresses spawned by a catalogue filter, on the other hand, do genuinely waste crawling.

Structure: what your site says about itself

A site’s architecture is a statement of importance. A page linked from the main navigation and cited in ten articles says clearly, “I matter.” A page reachable only from page 4 of a pagination says the opposite, however much care went into its content.

The famous three-click rule has never been a search engine criterion. The real criterion is easier to handle: list the twenty pages that make your turnover, then measure their distance in clicks from the home page. Any important page more than three clicks away, with no contextual link pointing to it, is a page you have abandoned without knowing it.

Two checks complete the picture. Category coherence first: a taxonomy of ten categories for forty articles structures nothing, it dilutes. Then internal linking, which remains the cheapest and most under-used lever in SEO. A well-placed contextual link, with a descriptive anchor rather than a “read more”, costs thirty seconds and works for years.

Duplicates and dispersion

Duplicate content carries no penalty, despite a persistent legend to the contrary. It produces something more insidious: dispersion. Three addresses serving the same content share the links and the engine’s attention between them, and none of the three reaches the level a single one would have reached. The causes always come back in the same order.

CauseWhat the engine seesFix
Trailing slash, www, HTTPUp to eight variants of the same pageA single canonical form, the others on a 301 redirect
Tracking parameters (utm, gclid)A new address with every campaignCanonical tag pointing to the clean address
Catalogue filters and sortsHundreds of crawlable combinationsnofollow links or non-crawlable parameters, canonical to the category
PaginationPages 2 to 40 competing with page 1Each page canonical to itself, never to page 1
Cloned local pagesTen identical pages, give or take a town nameMerge them, or rewrite them with genuinely local content

One clarification that changes the way you work: the canonical tag is a signal, not an order. Google says so in black and white and sometimes settles on a different address, particularly when the internal links contradict the canonical. And when two pages have been fighting over the same search intent for months, settling it with a canonical is the wrong reflex: merge them and redirect. The subject overlaps with the most common SEO mistakes, of which cannibalisation is the most stubborn.

Structured data, without the mythology

Structured data describes your page in a vocabulary that machines understand, the vocabulary of Schema.org. It helps comprehension and makes certain rich results possible. It does not move a page up the rankings, and no search engine has ever claimed otherwise.

The landscape has shifted recently, and many audits have yet to take it in. Google stopped showing FAQ rich results on May 7, 2026, then withdrew the corresponding documentation on June 15, 2026; HowTo markup had met the same fate before that. A strategy built on stacking up blocks of questions to take up room in the results therefore no longer has any purpose. Our own articles keep this markup, this one included, because conversational answer engines can still read it, but we no longer present it as a lever for visibility in the results.

For a service business, four types do the job: Organization, LocalBusiness where there is an address and opening hours, Article for the blog, BreadcrumbList for navigation. Add Product and Offer if you sell, and Review only if the reviews are real and verifiable. The recommended format is JSON-LD:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {"@type": "ListItem", "position": 1, "name": "Home", "item": "https://exemple.fr/"},
    {"@type": "ListItem", "position": 2, "name": "Services", "item": "https://exemple.fr/services/"},
    {"@type": "ListItem", "position": 3, "name": "Technical audit"}
  ]
}
</script>

Rendering: when the content does not exist for the engine

Between crawling and indexing slips a stage that the audits we read almost always leave out: rendering. The engine first fetches the raw source code. If the text is not in it, because JavaScript injects it afterwards, the page goes into a queue, with a variable delay and no guarantee of a result.

The check takes ten seconds and needs no tool at all:

curl -s https://exemple.fr/services/ | grep -c "your opening line"

If the counter returns 0 while the sentence displays perfectly in the browser, your content does not exist on the first pass. Applied to navigation links, the test is even more telling: links built in JavaScript that do not appear as <a href> tags in the raw source pass on nothing.

The fix never consists of removing the JavaScript, but of deciding where the HTML is made. Server-side rendering or pre-generation: in both cases, the engine receives a complete page at the first attempt. It is one of the criteria for choosing a technical foundation, which we detail in our comparison of Astro vs WordPress, and it is the first subject to deal with for the SEO of a headless WordPress site.

Performance and stability signals

Three indicators count, measured on real visitors, at the 75th percentile, over a rolling 28-day window. A useful reminder, because the mistake is common: INP replaced FID among the Core Web Vitals in March 2024. An audit that still talks to you about FID is working from material written before that date.

IndicatorWhat it measures“Good” threshold
LCPDisplay of the largest visible element2.5 s or less
INPResponsiveness to the visitor’s interactions200 ms or less
CLSVisual stability while the page loads0.1 or less

Two principles to keep your bearings. Field data takes precedence over lab tests: a score of 98 on a one-off measuring tool says nothing about what your visitors experience on a mid-range phone over 4G. And separate your leading pages from the secondary ones: optimising an article read twelve times a month while the pricing page takes four seconds to appear is a misallocation of effort. The full diagnostic chain is set out in our method for diagnosing a slow website, and the commercial stakes in page speed and its effect on SEO and conversions. Round it off with a check for recurring 5xx errors: they signal saturation, not an SEO problem, but they cost you crawling and trust.

Our position: what an audit should produce

An audit that hands you three hundred anomalies is not an audit, it is an export. We see them regularly: forty pages generated by a tool and delivered just as they came out, half the lines concerning attributes with no effect. The client pays, understands nothing, fixes nothing. A useful audit produces ten decisions, each with an estimated gain, an estimated effort, an owner and a deadline. The sorting goes like this:

FamilyImpact if it failsEffort to fix
Crawling and indexingTotal: the page does not existLow, often a single line
Content renderingHigh, content only partly seenHigh, touches the foundations
Duplicates and canonicalsHigh, dispersion of signalsMedium
Structure and internal linkingMedium to high, cumulativeLow, purely editorial
Field performanceMedium, acts on conversionsVariable
Structured dataLow todayLow
Recurring server errorsMediumDepends on the hosting

Our stance: we never deliver a report without having fixed at least the blockages in the first row. A site whose three service pages carry a forgotten noindex does not need a document; it needs someone to remove the tag the same day. That is the logic behind our SEO support.

This technical audit is the first step of any SEO engagement with our agency in Pau, in south west France.

Frequently asked questions

Is technical SEO enough to rank well?

No. It takes the brakes off; it does not create demand. A technically impeccable site with no useful content and no reputation stays invisible. The reverse is also true: excellent content on a site that blocks crawling will never surface.

How often should you audit?

Once a year for a stable site, and systematically after a redesign, a migration, a change of host or the addition of a catalogue. Between two audits, a monthly look at the indexing report is enough.

Do you need a paid tool?

Not to begin with. Search Console, the free version of a site crawler and the curl command cover 80% of the checks described here. Paid tools save time on large catalogues, not on a 200-page site.

My pages are indexed but invisible. Why?

Indexing and ranking are two different things. If your pages are properly indexed, the problem is no longer technical: it is editorial, competitive or tied to the reputation of the domain.

Technical SEO does not win you anything; it stops you losing. A sound site gives every piece of content the chance it deserves; an unsound one silently wastes every hour spent writing. Start with the two commands in the first section: within five minutes they will tell you whether the rest of your work stands a chance.

Also worth reading: 7 SEO mistakes killing your Google visibility

Request a technical auditHave the blocking issues fixed

All articles