Technical SEO audit for Science in Sport: crawl & indexation, sitemap hygiene, page speed, schema, E-E-A-T and GEO.
This document provides an executive introduction and summary of the Technical SEO Audit for Science in Sport (SIS). The audit has identified several critical crawl and indexation conflicts that are actively restricting organic visibility, alongside opportunities to improve site performance and sitemap hygiene. Issues are categorised and prioritised by their direct impact on search engine crawling, link equity consolidation, and overall SEO performance.
| Priority | Issue category | Resource | Issue | Action | Effort | Impact |
|---|---|---|---|---|---|---|
| High | Crawl & Indexation | Developer | Indexed but blocked pages | Unblock, fix internal links, re-block | Med | Med |
| High | Crawl & Indexation | Developer | Blocked inbound links | Audit, unblock or 301 obsolete pages | Med | High |
| High | Crawl & Indexation | Internal | Robots.txt errors | Use meta noindex; remove redundant rules | Med | Low |
| Medium | Sitemap & Performance | Internal | XML sitemap hygiene | Remove non-indexable/redirecting URLs, deprecated tags | Low | Med |
| Medium | Sitemap & Performance | Internal | Page speed | Resize/compress homepage image | Low | High |
| Medium | Sitemap & Performance | Developer | JS rendering | CSS fallback for JS-only text | High | High |
| Low | Quick fixes | Internal | Broken links | Fix blog links, remove staging links | Low | Med |
| Low | Quick fixes | Internal | Order confirmation | Noindex the IT order confirmation page | Low | Med |
Google Search Console data reveals a significant crawl efficiency problem on scienceinsport.com: the majority of the site's ~76,000 tracked pages sit outside the index. A large part is by design (parameter/utility pages correctly excluded), but a substantial and growing share is not — 9,270 URLs are indexed despite being blocked in robots.txt, pointing to a breakdown between what the site tells search engines to crawl and what it tells them to index. Any URL with a parameter is blocked, plus redundant additional blocking for product category, flavour and caffeine parameters; account login pages are also indexed.
There is duplication, redundancy and unsupported syntax in the live robots.txt file.
(Full current robots.txt — sitemaps, faceted-nav rules and international blog sitemap references — is preserved as reference material in the source audit; the key structural findings above are the actionable items.)
External domains — including topically relevant cycling, running and triathlon blogs and sites (e.g. gcn.eu, cyclingnews.com, trainingpeaks.com, capovelo.com, saracens.com, and well over 150 others captured in the audit) — link to internal pages disallowed by robots.txt. Because crawlers are explicitly told not to crawl these URLs, they can't process ranking signals or pass authority through the rest of the site, artificially restricting organic visibility.
Recommendations: (1) audit blocked URLs receiving inbound links to determine current purpose; (2) unblock and 301-redirect obsolete pages to rescue trapped link equity; (3) unblock valid, user-facing pages so they can be crawled and indexed normally.
"Indexed, though blocked by robots.txt" occurs because robots.txt controls crawling, not indexing — Google can add a discovered URL to its index even when forbidden from crawling the content. SIS has an unusually high number of these: 42.4k URLs blocked by robots.txt, of which 9.3k are indexed anyway. Because robots.txt prevents Googlebot from accessing the page, Google never sees the noindex tags, canonical tags, or redirect status codes already implemented.
Step-by-step fix: (1) temporarily unblock the affected URLs in robots.txt so Google can crawl and process indexing/canonical instructions; (2) verify noindex meta tags are correctly implemented; (3) wait for Google to recrawl and de-index (can take a few weeks); (4) fix internal linking — run a crawl to find internal links pointing to these parameterised URLs and point them to canonical versions instead; (5) once dropped from the index, re-block in robots.txt to save crawl budget going forward.
The sitemaps are generally in good condition but carry hygiene issues: a large volume of non-indexable URLs (blank pages, internal tag/search pages, template URLs), redirected URLs present within the sitemap files, deprecated `<changefreq>`/`<priority>` tags that modern search engines ignore, and `<lastmod>` dates stretching back to 2016 that may not reflect meaningful content updates.
Recommendations: cleanse non-indexable URLs and apply noindex to tag pages; remove redirected entries and point sitemap URLs directly to final destinations; strip deprecated `<changefreq>`/`<priority>` tags to reduce file size; validate `<lastmod>` accuracy so it reflects real content changes, not legacy creation dates.
Representative issues found across the sitemap set: blank search pages across every locale (GB/DE/EU/IT/ES/AU/US/JP), Google-verification HTML pages that shouldn't be indexed, a large batch of `/jp/` sitemap redirects (dozens of stale category/product paths), and template pages (`lp-template-*`) that should never have been indexed in the first place, repeated across all locale sitemaps.
Google is finding URLs with a timestamp appended as a query parameter — e.g. `custom.css?Wednesday 29th of July 2026 10:54:03 PM` on the blog. Because the timestamp makes every request unique, these files bypass CDN and browser caching entirely, forcing a fresh download on every request and unnecessarily degrading page load speed, server load and crawl efficiency.
Recommendations: identify and remove the CMS/plugin/theme behaviour generating dynamic timestamp parameters; use static versioning (e.g. `?v=1.2`) instead; consider disallowing the specific parameter footprint in robots.txt if it serves no SEO purpose.
Internal links point to non-canonical URLs at scale, particularly from category pages to product pages (missing trailing slashes, extended category paths) — contributing to 1,870 affected pages flagged by Google. Example: the main header links to `/sports-nutrition` while the canonical is `/sports-nutrition/`. Forcing search engines to crawl non-canonical links dilutes link equity, wastes crawl budget, and delays indexation of core revenue-driving product pages.
Recommendations: update product grid link logic to output strict absolute canonical URLs; resolve trailing-slash inconsistencies; strip embedded category paths from product links so they point to the clean root product URL.
Core Web Vitals are currently poor site-wide: zero URLs classed as "good" on mobile — 2,356 URLs "poor," a further 1,268 "need improvement" — across product, category and blog templates alike, driven primarily by slow server response and heavy JS execution. On the example URL tested (`/sports-nutrition/es/the-benefits-of-vitamin-d3/`), Time to First Byte alone took 1.1s before rendering could begin, Largest Contentful Paint landed at 4.2s, and the page wasn't interactive until 7.1s.
Recommendations, in order: reduce server response time (TTFB) first, since it blocks every subsequent request; reduce JavaScript execution time (defer/remove non-critical scripts — see PayPal SDK below); address the font, image, third-party script and CSS bloat issues detailed below in combination, since together they move URLs from "poor" to "good."
Over 20 different fonts are used across the site, with most pages loading 8+ fonts, currently relying on externally hosted libraries (Google Fonts, campaign sites). Modern browsers now partition caches per site, eliminating the old "already cached" benefit of third-party font CDNs, while introducing unnecessary DNS lookups, GDPR risk (passing visitor data to Google), and a poor initial-load experience.
Recommendations: self-host all web fonts (.woff2) from the SIS domain; remove external `<link>` requests to font CDNs; preload the 1–2 most critical above-the-fold fonts; match fallback system fonts closely to prevent layout shift; self-hosting also removes the GDPR risk of leaking EU visitor IPs to third parties.
A significant number of images are served uncompressed, contributing heavily to page bloat. Most can be compressed to roughly 10% of current size with no noticeable quality loss. Largest offenders identified include a 1.39MB blog hero image, a 1.30MB category launch banner, and several other 1MB+ blog and campaign images repeated across multiple locale sitemaps.
Recommendations: bulk-compress existing assets; default to WebP for new images; right-size dimensions to a maximum of 2× the on-page display size (not full-resolution source files); automate resize/compress/WebP-conversion at the CMS or CDN level going forward.
The PayPal JS SDK (125kb) fires render-blocking, pausing page rendering while it downloads and executes — and it currently loads on every page template, including blog articles and category pages with no checkout functionality present, mirroring the "load everything everywhere" CSS bloat pattern found elsewhere.
Recommendations: add the `defer` attribute to the PayPal `<script>` tag; restrict loading to templates where a PayPal button or "Pay in 3" message actually renders (product, cart, checkout) and strip it from blog/category/informational pages; consider a facade/lazy-load pattern below the fold; audit whether both `messages` and `buttons` components are needed on every instance.
Only 9% of the main CSS file is actively used during a standard page load — severe bloat stemming from Magento 2's monolithic compilation architecture, which merges homepage, product, checkout and dashboard styles into single global files (`styles-m.css`, `styles-l.css`), worsened by third-party modules (Amasty, PageBuilder) injecting full stylesheets globally and heavy unused libraries (Slick slider, large font-icon packs). 91% of `styles-m.min.css` is unused on most pages it loads into; uncompressed the file is 2MB.
Recommendations: implement CSS code-splitting by template rather than one monolithic bundle; conditionally load extension/library CSS only on pages where those elements render; prune bloated icon packs down to a custom SVG sprite of only the icons actually used; investigate splitting CSS delivery by device to stop mobile users downloading desktop-only rules.
The active Content-Security-Policy header is limited to `upgrade-insecure-requests;`, which forces HTTPS but does not actively block unapproved scripts. An extensive `Content-Security-Policy-Report-Only` list monitors and reports on unauthorised scripts/resources but does not prevent them from executing. No manual actions are currently flagged in Google Search Console.
Search engines actively crawl and index official social profiles to strengthen brand entity mapping and speed discovery of new content; X in particular can trigger real-time post carousels on branded SERPs and increasingly feeds Google Discover and AI Overviews. The official SiS account (40,000+ followers) currently posts roughly once a year — a missed opportunity for fast-crawled brand signals, authority validation and real-time visibility.
Recommendations: re-establish a consistent posting cadence; treat X as an immediate distribution channel for new URLs to accelerate indexation; use regular posting to populate branded SERP carousels and feed Discover/AI Overviews; build distribution into editorial workflow so every new post/landing page is shared automatically on launch.
The homepage carries only baseline `WebSite` and `Organization` schema, with `Organization` outputting just `url` and `logo` — missing a major opportunity to feed comprehensive entity data into Google's Knowledge Graph.
Recommendations: expand `Organization` schema with `name`, `foundingDate` (to establish historical authority and trust), and a `sameAs` array linking to all official social profiles, Wikipedia and other authoritative brand profiles; keep `WebSite` schema intact alongside the expanded markup.
Image alt text is generally strong sitewide, but specific high-value sections are missing it entirely — notably the US Supplements category page, where nearly every product image lacks alt text. This weakens both accessibility and image SEO/GEO (generative engine optimisation), since AI models rely on alt text to understand image context.
Recommendations: audit high-value category/product pages for missing alt attributes, using the US Supplements page as a baseline; write concise, descriptive alt text incorporating relevant keywords; standardise the CMS upload workflow to make alt text mandatory going forward; treat alt text as dual-purpose — accessibility plus AI-readable product context.
A self-inflicted 404 fires for a broken internal template asset path (`loaderImageHref` failing to resolve and being requested literally, unencoded) — likely on every page load where this loading-spinner template fires, wasting crawl/request cycles and generating log noise on Magento's bare default error page.
Recommendations: investigate the `Magento_Ui` template referencing `loaderImageHref` to fix the variable resolution; audit server logs for how frequently this malformed URL is requested, since a templating fault like this repeats across every page using it.
There is a note that Chinese (ZH) and French (FR) hreflang appear in some sections (e.g. articles) but not consistently sitewide — flagged for deeper investigation.
The current configuration contains significant regional mapping errors. Most critically, five Spanish regional tags (es-AR, es-CO, es-MX, es-PR, es-US) all point to `/us/`, which hosts English content — a direct language/region conflict.
Recommendations: remove or remap the Spanish-region tags currently pointing to English `/us/` content, or localise a proper Latin-America Spanish variant; keep `x-default` and `en-gb` pointing to the same root URL (correct, current best practice); verify the `/de/` directory's actual on-page language matches its `de-at`/`de-de` hreflang tags (currently noted internally as English, which — if accurate — is a severe hreflang violation); consolidate the 11 separate English regional tags (en-FR, en-ES, en-IT, etc.) that all point to the identical `/eu/` URL down to a single `en` tag, since a single non-geo-varying URL doesn't need 11 duplicate tags.
Hreflang is only a hint, but when correctly configured it normally routes traffic to the right location. Because SiS hreflang is predominantly English, non-English-speaking traffic likely falls back to the UK root, and English-speaking traffic to `/eu/`.
| Country | de | es | eu | it | root/UK | us |
|---|---|---|---|---|---|---|
| United Kingdom | 2 | 1 | 333 | 3 | 13,706 | 60 |
| United States | 2 | 15 | 56 | 1 | 390 | 2,083 |
| Italy | 29 | 1 | 218 | 2,185 | 52 | 4 |
| Germany | 2,005 | 3 | 303 | 2 | 57 | 1 |
| Spain | 6 | 1,308 | 398 | 3 | 107 | 5 |
| France | 5 | 1 | 211 | 6 | 966 | 1 |
| Mexico | 0 | 310 | 65 | 0 | 8 | 133 |
The site generates a large volume of internal links pointing directly to internal search-result pages. Although visually hidden from the UI, search bots parse the underlying HTML and discover them anyway. Because these pages are correctly noindexed, Google flags them as "Excluded by 'noindex' tag" — but the sheer volume forces crawlers to continuously discover, crawl and hit a dead end, wasting crawl budget that should go to revenue-generating pages.
Recommendations: audit templates, hidden nav menus and dynamic filter modules to strip the HTML generating these hidden links entirely; investigate whether faceted navigation is inadvertently generating them as part of background state management.
Blog articles rely on generic team aliases ("The Performance Solutions Team") rather than named individual authors. Because sports nutrition falls under Google's Your Money or Your Life (YMYL) criteria, clear E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) is vital — generic bylines prevent search engines and readers from verifying real-world qualifications.
Recommendations: replace generic bylines with named, credentialed writers (nutritionists, performance scientists, dietitians); build dedicated author bio pages with qualifications, certifications and links to authoritative external profiles; implement `Person` schema (not `Organization`) in `BlogPosting`/`Article` structured data; introduce a "Fact-Checked / Scientifically Reviewed By" callout for high-impact health claims.
The About Us page shows weak-to-moderate E-E-A-T — functioning as a transactional marketing page rather than a trust-building asset. It asserts authority with phrases like "born from science" without demonstrating it: no named experts, verifiable company details, formulation process or third-party accreditations surfaced, though legal policies are accessible and the connection to the publicly listed parent company (Science in Sport plc) is legitimate but buried.
Recommendations: incorporate founding dates, company history, R&D facility detail and formulation transparency; introduce named, credentialed team members and link to supporting research; prominently feature Informed-Sport/anti-doping accreditation, awards and media mentions; surface registered business address, company number and leadership team to complement the existing legal links.
SiS is already being surfaced and discussed within AI answer engines (see Sentiment below), but several technical issues elsewhere in this audit compound directly into GEO weaknesses, since most AI systems don't execute JavaScript and rely heavily on structured, clearly attributed text:
The underlying content quality — genuine scientific formulation detail and strong review volume — is well suited to AI citation once these access barriers are addressed. The priority is less about writing new content for GEO and more about making existing content and product data machine-readable and consistently crawlable.
Science In Sport is perceived as an industry pioneer in endurance nutrition, primarily praised for its stomach-friendly isotonic gels that require no extra water. Its main limitations stem from discount code restrictions and daily tablet consumption limits, while HIGH5 and Maurten are consistently featured as primary competitive benchmarks.
Strengths: isotonic formula (7 mentions), vegan-friendly (6 mentions), provides expert training advice (4 mentions). Weaknesses: discount code restrictions (1 mention), strict daily usage limit (1 mention). Competitors: HIGH5, Maurten, Liquid IV. Action: regionality and limitations of discount codes appear to be the more significant issue; price is also a negative which, for a quality product, is more challenging to reframe.
Five representative templates were reviewed since a fault on one page of a given template very likely repeats across every other page sharing it: Homepage, Product Listing Page, Product Page, Article Hub, Article Page.
Technically clean at a base level — correct canonical, INDEX,FOLLOW, a solid meta description. Genuine E-E-A-T signals exist (Informed Sport certification, 350+ elite teams, "Since 1992," 170+ publications, named athlete testimonials) but none of it is machine-readable — it's styled marketing copy, not structured data, tying directly back to the thin `Organization` schema finding. The hero leans on video/imagery with very little crawlable body text.
Recommendations: feed trust signals into schema (`foundingDate`: 1992, `hasCredential` for Informed Sport, `sameAs` for socials); add 2–3 short paragraphs of genuine crawlable body copy; standardise on named authorship — the homepage's "Lexi Chambers" feature is attributed to a named author ("Jonah Rosner"), inconsistent with the generic "SiS Team" byline used elsewhere.
Some browsers/tools struggle with the head content — Claude did not find a title tag on the page during review, suggesting other LLMs may struggle too. The intro copy is generic and sits behind a "Read More" toggle, risking treatment as boilerplate if duplicated across other category templates. This page is also the parent of the 1,870-page non-canonical linking issue already identified — its 42 listed products generate the conflicting URL paths referenced there.
Recommendations: manually verify title/canonical/meta description render correctly server-side via GSC's URL Inspection tool; ensure intro copy is unique per category page; fix the product-grid link logic at the source, which resolves both this page and the 1.87k affected pages downstream.
A live example of the canonical mismatch issue: the crawled URL renders a self-referencing-looking page, but its canonical tag points to a different, shorter path (`/beta-fuel-gel-pack`) — anyone linking to the category-nested URL passes equity to a URL Google is told to ignore. On the positive side: full Product-level meta (price, availability, GTIN-style ID, currency), 90 genuine multi-language reviews, and detailed Informed-Sport testing content. However, ingredient/nutritional information sits behind a toggle that may depend on JavaScript, meaning it could be invisible to AI crawlers and text-only bots — one of the most commercially important pieces of content on a supplement PDP.
Recommendations: decide the intended canonical URL structure, 301-redirect the non-canonical version, and update internal links to point directly to it; verify the Nutritional Information toggle content exists in the initial HTML payload rather than only loading via JS; confirm Product JSON-LD (with `aggregateRating` from the 90 reviews) is implemented given the strong existing OG/Twitter product meta.
Requires JavaScript — the raw HTML contains no article listing at all, just a "Sort By" control and "Load More" link, risking the entire article list and its internal links never being crawled or indexed if Googlebot's renderer is delayed. The `<title>` tag is broken, rendering as `| Science In Sport` with an empty page-specific portion — a templating bug that also appears on the article page below. There's also a mismatch between the generic meta description and a far better `og:description` already written for the page.
Recommendations: fix the title-tag template (likely a single fix with sitewide impact across at least two page types); sync the meta description to the better-written `og:description`; server-render the article list (SSR/pre-rendering) so the grid exists in the initial HTML response for both crawl budget and non-JS-executing AI crawlers. Note: this page outputs hreflang for zh and fr, neither of which appeared elsewhere in the hreflang audit — the Chinese variant appears partially translated, and FR doesn't appear on the homepage (which routes to EU).
A well-constructed piece — clearly structured, myth-versus-fact format well suited to AI Overview citation, with strong freshness signals. It shares the same broken title-tag fault as the category hub, and the same generic "SiS Team" byline flagged in the Author Attribution findings.
Recommendations: apply the same title-tag template fix; implement named authorship linked to an author bio page with `Person` schema; add Article/FAQ-suited structuring to strengthen eligibility for AI Overview citation (note: FAQ schema itself is no longer supported by Google, but FAQ-format content remains important for LLM comprehension).