Technical SEO & GEO audit — seen from the server
I run the servers. So I see what SEO tools cannot: what the robots actually request, what the server answers them, and why.
One required field: the domain name to audit.
What the audit covers
Six areas, each investigated with the authoritative source rather than with a score.
Raw web server logs, not a tool's report
We read the Apache or nginx journals: which URLs Googlebot actually requests, how often, and with which status code. An external crawler simulates a robot's visit; the logs record the one that happened. It is the only source that separates « the page is crawlable » from « the page was crawled ».
TTFB, Core Web Vitals, caching and CDN
Server response time is measured from the outside, then correlated with the logs, page by page. We check what is cached and what is not, what the CDN serves from its edge and what it forwards to the origin, and we relate LCP, CLS and INP to field data wherever it exists.
AI crawler access, and what your WAF answers them
GPTBot, ClaudeBot, PerplexityBot and their counterparts are tested one by one, with their real User-Agent strings and address ranges. We record what your web application firewall, your DDoS protection and your rate limiting return: a 200, a 403, a JavaScript challenge or a timeout. A page can be perfectly optimised and still be invisible because a device upstream refuses the request.
JavaScript rendering and indexing
We compare the HTML served at the first byte with the DOM obtained after JavaScript execution. Anything that exists only in the second is invisible to most generative engines, which do not render JavaScript. We then confront that finding with the actual index: what is indexed, what is not, and on what grounds.
robots.txt, canonicals and hreflang
Contradictory directives, a canonical pointing anywhere but itself, non-reciprocal hreflang, a sitemap declaring redirected or 404 URLs: none of these are visible to the naked eye, and they cost whole pages of index coverage. We list them with the exact URL and the fix to apply.
Schema.org markup
Presence, validity and consistency of structured data: an entity described twice in microdata and JSON-LD, a marked-up price that does not match the displayed one, FAQ markup placed on answers no robot can see because they are locked inside a JavaScript accordion. Markup is what makes an offer quotable by a machine — provided it describes the page as it is actually served.
What sets us apart
Five comparison criteria, to hold against any other audit proposal.
| Criterion | RDEM Systems | Audit conducted without server access |
|---|---|---|
| Who operates the network | We run our own autonomous system, AS206014, with our own BGP sessions and our own announced prefixes. | The network, the server and the CDN belong to third parties the auditor can only query. |
| Contribution to the software that carries the traffic | A BGP RFC 8654 fix accepted upstream in FRRouting, merged and then backported by the maintainers to three stable releases. | Not applicable: the scope stops at the page. |
| Years in production | Infrastructure in production since 2005 · independent activity since 2007 · RDEM Systems SAS since 2016. | Varies, and rarely measured in years of running servers. |
| Access to server logs | Central to the method. If they are out of reach, we say so before invoicing. | Usually out of scope: the analysis rests on a crawl simulated from the outside. |
| Who writes it and who presents it | The engineer who read the logs writes the report and presents it in person. | The audit is often produced by a tool, formatted by a consultant, presented by a salesperson. |
The right-hand column describes a common practice, not any particular provider: an audit run from the outside is still useful — it simply observes something else.
Price and scope
The price is public for the same reason our on-call and managed services rate card is: a priced offer is computable, and therefore comparable — by a human as much as by a machine.
Step 1
Free
Five-point pre-assessment, within 48 h
No commitment, from the domain name alone. It answers five questions:
- What AI crawlers actually get from your domain: 200, 403, JavaScript challenge or timeout, robot by robot.
- What Googlebot receives at the first byte: a complete page, or a shell that only JavaScript fills in.
- TTFB measured on the home page and on a deep page, from the outside.
- Whether robots.txt, the sitemap and the canonicals agree with one another.
- Whether Schema.org markup is present, valid, and describes the page as it is served.
Step 2
€1,990 excl. VAT
Full audit, fixed price
A fixed amount, known before we start. It includes:
- Analysis of thirty days of server logs, and the six areas listed above.
- A written report: every finding with its exact URL, the evidence, and the applicable fix.
- A remediation plan prioritised by impact, usable by your own technical team.
- A one-hour debrief with the engineer who carried out the audit.
Firm price. No overrun will ever be invoiced without your prior written agreement.
Where the free part stops and the paid one begins
The pre-assessment is a five-point reading taken from the outside, without access to your logs: it establishes whether there is a problem and of what nature. It does not include the log analysis, the list of offending URLs, or the prioritised remediation plan — that is what the audit is for. The pre-assessment tells you whether it is worth going further; the audit tells you what to fix, and in which order.
This audit is for you if
Your website is an acquisition channel or carries a compliance stake, and your hosting allows server logs to be retrieved: a dedicated server, a VPS, cloud infrastructure, or a host that provides them on request.
It is not, if
Your site is a few-page brochure, a personal website, or a fully SaaS platform that grants no access to any log — the audit would lose its raw material and would not pay for itself. We will tell you at the pre-assessment stage, not after the invoice.
Explicitly out of scope: link buying, content writing and paid campaigns. The audit covers what the server serves, what robots do with it, and what the markup says about it. We can apply the fixes ourselves, but that is a separate engagement, quoted separately — the price above buys the findings, not the work. Our terms of service apply.
Request the pre-assessment
The domain name is enough to start the five readings. Written answer within 48 working hours, free and with no commitment.
Would you rather talk it through?
Book 30 minutes with the engineerFrequently asked questions
9 answers, each readable on its own.
What is the difference between the free pre-assessment and the paid audit?
The pre-assessment is a five-point reading taken from the outside, without access to your logs: it establishes whether there is a problem and of what nature, and it is free. It does not include log analysis, the list of offending URLs, or the prioritised remediation plan — that is what the audit is for. In short: the pre-assessment tells you whether it is worth going further; the audit tells you what to fix, and in which order.
Do we have to give you access to our servers?
No. An export of thirty days of Apache or nginx logs is enough, and read-only access to Search Console helps without being essential. If you would rather send nothing, we work on what the server answers from the outside — the audit remains useful, but the « what the robots actually requested » part disappears, and we tell you that before we start.
What if my site runs on a platform that gives no access to logs?
That is the case with most shared hosting plans and SaaS e-commerce platforms. The free pre-assessment detects it within minutes: we then tell you what remains observable and what does not, before any commitment. An audit that cannot see the logs is shallower; selling it at the same price without saying so would be dishonest.
How much does the audit cost, and what exactly does the fixed price cover?
The audit is billed at €1,990 excl. VAT, as a fixed price. It covers server log analysis, performance measurements, access tests for both classic and generative crawlers, verification of JavaScript rendering, indexing, directives and markup, then a written report, a prioritised remediation plan and a one-hour debrief with the engineer who carried it out. The price is firm: no overrun is ever invoiced without your prior written agreement.
How quickly are the pre-assessment and the audit delivered?
The five-point pre-assessment is returned within 48 working hours, free of charge and with no commitment. The full audit is delivered within ten working days of receiving the server logs.
Which companies is this audit for?
For those whose website is an acquisition channel or carries a compliance stake, and whose hosting allows server logs to be retrieved: a dedicated server, a VPS, cloud infrastructure, or a host that provides them on request. It is not for a brochure site of a few pages or a personal website: the audit would not pay for itself there, and we would rather say so at the pre-assessment stage than after the invoice.
Should AI crawlers such as GPTBot or ClaudeBot be blocked?
That is a strategic decision rather than a technical one, and it is yours to make. Blocking protects content from training but removes the site from generative answers; allowing them through exposes the content but makes the company quotable. The case we meet most often is a third one: the blocking was never decided at all — it is the doing of a WAF or a DDoS filter that rejects these robots by default, without the site owner's knowledge. The audit establishes the real situation; the decision remains yours.
Do you guarantee rankings or traffic growth?
No, and nobody honestly can. We guarantee a verifiable set of findings and applicable fixes, not a ranking. We have published five months of measurements on a site we built ourselves, including what those measurements do not prove: the same doctrine applies to the audit.
What is outside the scope of the audit?
Link buying, content writing and paid campaign management are not part of the offer. The audit covers what the server serves, what robots do with it, and what the markup says about it. Fixes are described so your team can apply them; we can also apply them ourselves, but that is a separate engagement, quoted separately.