In plain words
A strong site that sells to many countries. Most of its translated pages tell search engines they are written in English, and one styling fault slows every page.
From a real audit, names removed · An exporter with pages in six languages and 17 country pages · audited in Sep 2026
- 200, all live
- Pages crawled
- 4.7 s
- Mobile LCP
- 213 KB
- Inline CSS per page
- 5 of 6
- Languages mis-declared
Words this audit uses
- Crawler:
- The program a search engine uses to read the pages of a site.
- Sitemap:
- The list of pages a site hands to search engines.
- Indexed, noindex:
- Indexed means a search engine has stored a page and can show it. A noindex tag asks it not to.
- H1, main heading:
- The main heading of a page: the line that tells a search engine what the page is about.
- Canonical tag:
- A line in a page’s code that names the one official address of that page.
- Structured data, schema, JSON-LD:
- Labels in a page’s code that tell machines what something is: an article, a product, a business.
- Redirect:
- An instruction that sends visitors and search engines from one address to the right one.
- robots.txt:
- A small file that tells crawlers which parts of a site to stay out of.
- Lighthouse:
- Google’s free test of how fast a page loads.
- LCP:
- Largest Contentful Paint: how long it takes for the main content of a page to show.
- TTFB, server response:
- How long the server takes to start answering.
- Meta description:
- The short summary shown under a page’s title in search results.
- Alt text:
- A written description of an image, read by search engines and screen readers.
- hreflang:
- A tag that tells search engines which language and country a page is written for.
- CDN:
- A network of servers that delivers a site from a place near each visitor.
- Search Console:
- Google’s free tool that shows how a site appears in its search results.
The audit’s short version
The strongest site we audited that year, and that changes what the advice should be. There is no content problem and no structural problem to fix first. What is left is a slow first paint, a half-finished translation rollout, and the fact that nothing is measuring whether its links work.
How it was measured
200 URLs fetched, Lighthouse 12 on mobile with simulated throttling, five server-response runs, and every pair of country pages compared on overlapping seven-word sequences.
What is already working
- 200 of 200 sitemap URLs return 200 OK. No dead entries, no redirect chains.
- Unique titles and descriptions on 199 of 200 pages.
- Zero missing canonicals, zero accidental noindex, zero pages with multiple h1, zero thin pages: not one page is under 300 words and the average is 1,920.
- Structured data on every page: BreadcrumbList on 199, Organization on 195, FAQPage on 136, Article on 182, HowTo on 37.
- The content is in the HTML: the home page serves 2,046 words without needing JavaScript.
- One version of the site: http and www both redirect to the https address in a single hop.
- Layout stability and script weight are excellent: CLS 0.014 and Total Blocking Time 10 ms.
- The AI-crawler policy is ahead of the market: robots.txt explicitly admits GPTBot, OAI-SearchBot, PerplexityBot and more.
What the audit found
1Five of the six translations declare themselves as English
The site has genuine localised pages in six languages, and only the German set is wired up correctly. A page that declares the wrong language is unlikely to be served to the audience it was written for, and with no hreflang at all these five pages are not connected to their English equivalents. Without dir="rtl" the Hebrew page, a right-to-left language, renders left-to-right: a reader-facing fault, not just a search one. The five languages cover five of the nine markets the business sells into.
German product page and 7 more
Language: German
Declares: de-DE
hreflang: 3 tags
Verdict: Correct
Dutch wholesale page
Language: Dutch
Declares: en-US
hreflang: None
Verdict: Wrong
Spanish wholesale page
Language: Spanish
Declares: en-US
hreflang: None
Verdict: Wrong
Italian wholesale page
Language: Italian
Declares: en-US
hreflang: None
Verdict: Wrong
French wholesale page
Language: French
Declares: en-US
hreflang: None
Verdict: Wrong
Hebrew product page
Language: Hebrew
Declares: en-US, dir missing
hreflang: None
Verdict: Wrong
Page Language Declares hreflang Verdict German product page and 7 more German de-DE 3 tags Correct Dutch wholesale page Dutch en-US None Wrong Spanish wholesale page Spanish en-US None Wrong Italian wholesale page Italian en-US None Wrong French wholesale page French en-US None Wrong Hebrew product page Hebrew en-US, dir missing None Wrong Fix: Fix the five lang attributes and add dir="rtl" to the Hebrew page. A few minutes of work across five pages.
2The 17 country pages disagree with each other
The seventeen country pages carry a proper reciprocal hreflang cluster, all pointing at each other. But only one of them also declares de-DE. The other 16 of 17 do not. An hreflang set has to be identical on every page in the cluster. When the pages disagree about who is in the group, search engines may discard the annotations instead of guessing.
Fix: Either add the de-DE line to all 17, or remove it from the one page. Consistency matters more than which.
3Four country pages are near-copies of each other
Across all 136 pairs of country pages the median overlap is 25.6%, which is healthy for pages on one product. A cluster at the top is not. Where several pages say close to the same thing, a search engine generally picks one and suppresses the others, so four pages are returning about one page’s worth of visibility.
Country A and Country B
Overlap: 64.1%
Of the shorter page: 78.1%
Country A and Country C
Overlap: 63.4%
Of the shorter page: 77.9%
Country C and Country B
Overlap: 61.5%
Of the shorter page: 76.4%
Country D and Country E
Overlap: 59.0%
Of the shorter page: 74.7%
Pair Overlap Of the shorter page Country A and Country B 64.1% 78.1% Country A and Country C 63.4% 77.9% Country C and Country B 61.5% 76.4% Country D and Country E 59.0% 74.7% Fix: Give each page its own substance (that country’s import rules, ports, duty treatment, a local customer or shipment example), or merge the four into one strong regional page and redirect the others.
4Every page carries 213 KB of inline stylesheet
The smallest page on the site is 309 KB of HTML. Compression is working, so this is not a bandwidth problem. It is a render-blocking problem: the browser cannot paint until it has parsed that CSS, and because the CSS is inline it cannot be cached, so the work repeats on every page a visitor opens. On top of that the page loads 5 external stylesheets and 16 external scripts.
Inline style blocks (25 separate blocks)
Size: 213.4 KB
Share: 69.0%
Actual markup and text
Size: 55.2 KB
Share: 17.9%
Inline script
Size: 25.7 KB
Share: 8.3%
Inline svg
Size: 13.7 KB
Share: 4.4%
Component of one page Size Share Inline style blocks (25 separate blocks) 213.4 KB 69.0% Actual markup and text 55.2 KB 17.9% Inline script 25.7 KB 8.3% Inline svg 13.7 KB 4.4% Fix: Consolidate the 25 inline style blocks into one external stylesheet so it caches across page views, drop the 73 KB of unused CSS, and defer whatever is not needed for the first screen.
5What Lighthouse measured on mobile
Version 12, simulated throttling. The last two lines matter: the JavaScript is light and the layout is solid. One specific delay sits in front of an otherwise fast page.
Performance score
The site: 70 / 100
The “good” level: 90+
Largest Contentful Paint
The site: 4.7 s
The “good” level: under 2.5 s
First Contentful Paint
The site: 4.7 s
The “good” level: under 1.8 s
Speed Index
The site: 5.4 s
The “good” level: under 3.4 s
Time lost to render-blocking files
The site: 1,780 ms
Unused CSS
The site: 73 KB
Server response time
The site: 550 ms
The “good” level: under 200 ms
Cumulative Layout Shift
The site: 0.014
The “good” level: under 0.1
Total Blocking Time
The site: 10 ms
The “good” level: under 200 ms
Metric The site The “good” level Performance score 70 / 100 90+ Largest Contentful Paint 4.7 s under 2.5 s First Contentful Paint 4.7 s under 1.8 s Speed Index 5.4 s under 3.4 s Time lost to render-blocking files 1,780 ms Unused CSS 73 KB Server response time 550 ms under 200 ms Cumulative Layout Shift 0.014 under 0.1 Total Blocking Time 10 ms under 200 ms 6One server, on the wrong side of the world for half the markets
The site answers from a single shared server in one country. There is no CDN in front of it and no cache-control header at all on the home page response.
Fix: Put a CDN in front of the server and set cache-control headers. That fixes the distance without moving hosts.
7The tools that would show the links working are blocked
robots.txt opens the door to every AI crawler that matters and closes it to the crawlers of Moz, Ahrefs, Semrush, Majestic and DataForSEO. That does not lower the site’s authority and does not stop a link from counting. It does mean those tools can never show the site improving, so a link purchase judged on a third-party dashboard was always going to look like nothing had changed.
Fix: Verify Search Console and judge from there. It is free and it is the search engine’s own data.
8The small, quick list
Two pages have no h1 at all. 32 titles run past 60 characters, the longest at 89. 17 meta descriptions exceed 160 characters. Two empty img tags sit on the home page. One pair of pages shares a title and meta description, the only duplicate pair on the site. A crawl counts 3,800 images without alt text, which looks alarming and is not: they are almost entirely decorative flag icons, where an empty alt is the correct choice.
The order of work
- Verify Search Console for the domain. Until it exists nothing below can be measured.
- Fix the five lang attributes and add dir="rtl" to the Hebrew page.
- Make the hreflang set identical across all 17 country pages.
- Consolidate the 25 inline style blocks into one external, cacheable stylesheet and remove the 73 KB of unused CSS.
- Put a CDN in front of the server and set cache-control headers.
- Differentiate or merge the four near-copy country pages.
- Add the two missing h1 tags, trim the 32 long titles and 17 long descriptions, and fix the two empty img tags.
What this audit did not check
- Search Console and analytics data: no access. How many pages are indexed, what the site ranks for and how much traffic it gets are not in this audit.
- The backlink profile: the site blocks those crawlers, and no authority figure is reported before one is guessed.
- Real-user speed: the field data has too little traffic to report, so the 4.7 s is a laboratory measurement.
- Keyword search volumes: these need a Keyword Planner pull.
- Whether the translations read well: the audit checked how the five pages are declared, not the quality of the writing.
What was removed, and what was not. The business, its website and page addresses, people, competitors, places and the search terms that would name it are removed or replaced with a word in [brackets]. The prices and the proposal that closed the audit are left out. Every figure is the audit’s own.
Your own report. This sample is the audit: what we found. International SEO adds the URL structure, hreflang, per-market keyword research and page briefs as their own documents, and its backlinks in a report of live links like our sample backlink report.