Catalog / tradieflow.uk
75

SEO audit for tradieflow.uk

TradieFlow - Professional Websites for UK Tradesmen

saasNext.js

Health 75/100 (good) · 43 pages crawled · generated 2026-07-29

Download Markdown report (feed to ChatGPT / Claude / Cursor)

Fast, professional websites for UK tradesmen. Pick a theme, customise it yourself or let us do it. Built-in SEO, easy dashboard, no tech needed.

Screenshot of tradieflow.uk
43
pages crawled
43
indexable pages
0
errors
39
warnings
372
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Canonical 82 0 26 0
Content 98 0 3 37
Performance 98 0 3 107
Duplicate 99 0 2 2
Headings 99 0 2 0
Titles 99 0 2 2
Structured Data 99 0 1 4
Agent Readiness 100 0 0 6
Cache 100 0 0 43
Images 100 0 0 22
Links 100 0 0 3
Meta Description 100 0 0 16
Security 100 0 0 43
Sitemap 100 0 0 2
Social 100 0 0 85
Findings

Warnings (7 rules)

warning Thin content (low word count)

Rule content.thin · Content · 3 occurrence(s)

warning Duplicate <title> across pages

Rule duplicate.title · Duplicate · 2 occurrence(s)

warning Missing <h1>

Rule h1.missing · Headings · 2 occurrence(s)

warning Hero/LCP image is lazy-loaded (loading=lazy delays LCP)

Rule images.no_lazy_lcp_candidate · Performance · 3 occurrence(s)

  • https://www.tradieflow.uk/features/gallery — the likely hero/LCP image (photo-1585704032915-c3400ca199e7) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.tradieflow.uk/features/manage — the likely hero/LCP image (photo-1585704032915-c3400ca199e7) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.
  • https://www.tradieflow.uk/features/website-builder — the likely hero/LCP image (photo-1504307651254-35680f356dfd) has loading="lazy" — Google explicitly warns against lazy-loading the LCP image, because it delays the fetch until layout completes. Remove loading="lazy" from the first significant image and add fetchpriority="high" instead.

warning Product schema missing required or recommended properties

Rule schema.product_incomplete · Structured Data · 1 occurrence(s)

  • https://www.tradieflow.uk/pricing — Product structured data is missing required property (image) — without them Google won't generate the rich result. Add each field (and validate with the Rich Results Test). It is also missing recommended properties (sku|gtin, aggregateRating, review), which enrich the result.

warning Title likely truncated in SERP (too wide)

Rule title.too_long · Titles · 2 occurrence(s)

Notices (23 rules)

notice Heading levels skip a level

Rule agent.heading_skip · Agent Readiness · 4 occurrence(s)

notice No main landmark for AI agents

Rule agent.no_main_landmark · Agent Readiness · 2 occurrence(s)

notice Page served uncached (no-store/private or CDN bypass)

Rule cache.not_cacheable · Cache · 43 occurrence(s)

notice Main text is hard to read (low Flesch Reading Ease)

Rule content.readability_poor · Content · 22 occurrence(s)

  • https://www.tradieflow.uk/ — this page reads as difficult (Flesch Reading Ease 49, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/compare — this page reads as difficult (Flesch Reading Ease 39, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/compare/checkatrade — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/compare/mybuilder — this page reads as difficult (Flesch Reading Ease 44, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/compare/rated-people — this page reads as difficult (Flesch Reading Ease 46, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/compare/squarespace — this page reads as difficult (Flesch Reading Ease 39, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/compare/wix — this page reads as difficult (Flesch Reading Ease 41, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/compare/wordpress — this page reads as difficult (Flesch Reading Ease 41, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/contact — this page reads as difficult (Flesch Reading Ease 49, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/features/themes — this page reads as difficult (Flesch Reading Ease 46, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/features/themes/blueprint — this page reads as difficult (Flesch Reading Ease 40, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/features/themes/ironclad — this page reads as difficult (Flesch Reading Ease 48, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/features/themes/prestige — this page reads as difficult (Flesch Reading Ease 45, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/features/themes/spark — this page reads as difficult (Flesch Reading Ease 42, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/features/website-builder — this page reads as difficult (Flesch Reading Ease 48, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/pricing — this page reads as difficult (Flesch Reading Ease 45, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/trades — this page reads as very difficult (Flesch Reading Ease 29, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/trades/builder — this page reads as difficult (Flesch Reading Ease 50, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/trades/carpenter — this page reads as difficult (Flesch Reading Ease 48, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/trades/electrician — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/trades/heating-engineer — this page reads as difficult (Flesch Reading Ease 46, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.tradieflow.uk/trades/painter-decorator — this page reads as difficult (Flesch Reading Ease 47, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.

notice Duplicate meta description across pages

Rule duplicate.meta_desc · Duplicate · 2 occurrence(s)

notice Image alt text is very long (possible keyword stuffing)

Rule images.alt_too_long · Images · 1 occurrence(s)

notice Likely hero image lacks fetchpriority=high

Rule images.hero_no_fetchpriority · Performance · 20 occurrence(s)

  • https://www.tradieflow.uk/ — the likely hero/LCP image (photo-1558618666-fcd25c85cd64) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/features/themes — the likely hero/LCP image (photo-1558618666-fcd25c85cd64) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/features/themes/blueprint — the likely hero/LCP image (photo-1518780664697-55e3ad937233) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/features/themes/cornerstone — the likely hero/LCP image (photo-1562259949-e8e7689d7828) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/features/themes/foreman — the likely hero/LCP image (photo-1504307651254-35680f356dfd) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/features/themes/ironclad — the likely hero/LCP image (photo-1460317442991-0ec209397118) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/features/themes/prestige — the likely hero/LCP image (photo-1558618666-fcd25c85cd64) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/features/themes/spark — the likely hero/LCP image (photo-1621905251189-08b45d6a269e) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/sign-in — the likely hero/LCP image (logo-primary.svg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/sign-up — the likely hero/LCP image (logo-primary.svg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/trades/builder — the likely hero/LCP image (photo-1504307651254-35680f356dfd) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/trades/carpenter — the likely hero/LCP image (photo-1558618666-fcd25c85cd64) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/trades/electrician — the likely hero/LCP image (photo-1621905251189-08b45d6a269e) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/trades/heating-engineer — the likely hero/LCP image (photo-1523495909838-79c67b15be34) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/trades/landscaper — the likely hero/LCP image (photo-1585320806297-9794b3e4eeae) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/trades/painter-decorator — the likely hero/LCP image (photo-1675191863404-e1db618d6655) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/trades/plasterer — the likely hero/LCP image (photo-1562259949-e8e7689d7828) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/trades/plumber — the likely hero/LCP image (photo-1585704032915-c3400ca199e7) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/trades/roofer — the likely hero/LCP image (photo-1635424824849-1b09bdcc55b1) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.tradieflow.uk/trades/tiler — the likely hero/LCP image (photo-1584622650111-993a426fbf0a) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.

notice Images without width/height (layout shift / CLS)

Rule images.missing_dimensions · Images · 21 occurrence(s)

notice Page has only one internal inlink (fragile crawl path)

Rule links.single_inlink · Links · 3 occurrence(s)

notice Meta description too short

Rule meta_desc.too_short · Meta Description · 2 occurrence(s)

notice Missing Open Graph tags

Rule og.missing · Social · 43 occurrence(s)

notice Large DOM (over 1500 elements) slows rendering & interaction

Rule perf.dom_size_large · Performance · 1 occurrence(s)

  • https://www.tradieflow.uk/ — the page has 2695 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.

notice No ETag header (no conditional GET for unchanged pages)

Rule perf.no_etag · Performance · 43 occurrence(s)

  • https://www.tradieflow.uk/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/about — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/bespoke — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/compare — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/compare/wix — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/contact — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/cookies — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/faq — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/features — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/features/gallery — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/features/invoicing — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/features/manage — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/features/seo — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/features/themes — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/features/themes/foreman — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/features/themes/prestige — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/features/website-builder — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/pricing — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/privacy — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/sign-in — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/sign-up — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/terms — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/the-problem — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/trades — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.tradieflow.uk/trades/plumber — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.

notice No Last-Modified header (no conditional GET for unchanged pages)

Rule perf.no_last_modified · Performance · 43 occurrence(s)

  • https://www.tradieflow.uk/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/about — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/bespoke — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/compare — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/compare/wix — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/contact — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/cookies — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/faq — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/features — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/features/gallery — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/features/invoicing — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/features/manage — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/features/seo — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/features/themes — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/features/themes/foreman — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/features/themes/prestige — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/features/website-builder — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/pricing — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/privacy — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/sign-in — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/sign-up — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/terms — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/the-problem — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/trades — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.tradieflow.uk/trades/plumber — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.

notice Deprecated schema type with no Google rich result

Rule schema.deprecated_type · Structured Data · 1 occurrence(s)

  • https://www.tradieflow.uk/ — deprecated rich-result type(s) present: Sitelinks Searchbox. The markup is valid schema.org but Google no longer generates a rich result for it — remove or repurpose the block.

notice FAQPage structured data (rich result removed May 2026)

Rule schema.faq_deprecated · Structured Data · 1 occurrence(s)

  • https://www.tradieflow.uk/faq — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.

notice No structured data detected

Rule schema.none · Structured Data · 2 occurrence(s)

notice Missing recommended security headers

Rule security.missing_headers · Security · 43 occurrence(s)

notice Indexable page not listed in sitemap

Rule sitemap.orphan_not_listed · Sitemap · 2 occurrence(s)

notice Title is very short

Rule title.too_short · Titles · 2 occurrence(s)

Pages (showing 43 of 43)
URLStatusIndexableWordsIn-links
https://www.tradieflow.uk/
TradieFlow - Professional Websites for UK Tradesmen
200 yes 3034 43
https://www.tradieflow.uk/sign-up
TradieFlow
200 yes 64 42
https://www.tradieflow.uk/about
About TradieFlow | Built by a Developer, Shaped by the Trades
200 yes 817 41
https://www.tradieflow.uk/bespoke
Bespoke Tradesmen Websites | Custom Built for Your Business | TradieFlow
200 yes 584 41
https://www.tradieflow.uk/compare
Compare TradieFlow | vs Wix, Checkatrade, WordPress & More | TradieFlow
200 yes 314 41
https://www.tradieflow.uk/compare/checkatrade
TradieFlow vs Checkatrade | Own Your Online Presence | TradieFlow
200 yes 990 41
https://www.tradieflow.uk/compare/squarespace
TradieFlow vs Squarespace | Purpose-Built vs Generic | TradieFlow
200 yes 942 41
https://www.tradieflow.uk/compare/wix
TradieFlow vs Wix | Why Tradesmen Choose TradieFlow | TradieFlow
200 yes 982 41
https://www.tradieflow.uk/contact
Contact Us | TradieFlow
200 yes 166 41
https://www.tradieflow.uk/cookies
Cookie Policy | TradieFlow
200 yes 736 41
https://www.tradieflow.uk/faq
Frequently Asked Questions | TradieFlow
200 yes 377 41
https://www.tradieflow.uk/features
Website Features for Tradesmen | TradieFlow
200 yes 739 41
https://www.tradieflow.uk/pricing
Pricing | TradieFlow
200 yes 561 41
https://www.tradieflow.uk/privacy
Privacy Policy | TradieFlow
200 yes 1171 41
https://www.tradieflow.uk/sign-in
TradieFlow
200 yes 51 41
https://www.tradieflow.uk/terms
Terms of Service | TradieFlow
200 yes 1033 41
https://www.tradieflow.uk/the-problem
Why Most Tradesmen Are Losing £1,000s a Month Without Knowing It | TradieFlow
200 yes 1151 41
https://www.tradieflow.uk/trades
Trades We Cover | TradieFlow
200 yes 283 41
https://www.tradieflow.uk/trades/builder
Websites for Builders | Showcase Your Projects Online | TradieFlow
200 yes 1324 41
https://www.tradieflow.uk/trades/carpenter
Websites for Carpenters & Joiners | Showcase Your Craft | TradieFlow
200 yes 1282 41
https://www.tradieflow.uk/trades/electrician
Websites for Electricians | Win More Electrical Jobs | TradieFlow
200 yes 1303 41
https://www.tradieflow.uk/trades/painter-decorator
Websites for Painters & Decorators | Win More Jobs | TradieFlow
200 yes 1292 41
https://www.tradieflow.uk/trades/plumber
Websites for Plumbers | Get More Plumbing Jobs Online | TradieFlow
200 yes 1324 41
https://www.tradieflow.uk/trades/roofer
Websites for Roofers | Get More Roofing Leads Online | TradieFlow
200 yes 1307 41
https://www.tradieflow.uk/features/themes
Trade Website Themes & Designs | TradieFlow
200 yes 1222 23
https://www.tradieflow.uk/trades/landscaper
Websites for Landscapers | Grow Your Landscaping Business | TradieFlow
200 yes 1391 7
https://www.tradieflow.uk/features/themes/prestige
Prestige Website Theme for Tradesmen | TradieFlow
200 yes 513 10
https://www.tradieflow.uk/features/themes/spark
Spark Website Theme for Tradesmen | TradieFlow
200 yes 545 10
https://www.tradieflow.uk/features/seo
Built-in SEO & Custom Domains for Trade Websites | TradieFlow
200 yes 570 13
https://www.tradieflow.uk/features/website-builder
Drag-and-Drop Website Builder for Tradesmen | TradieFlow
200 yes 529 13
https://www.tradieflow.uk/features/manage
Simple Dashboard for Managing Your Trade Website | TradieFlow
200 yes 727 11
https://www.tradieflow.uk/features/themes/ironclad
Ironclad Website Theme for Tradesmen | TradieFlow
200 yes 531 4
https://www.tradieflow.uk/features/themes/foreman
Foreman Website Theme for Tradesmen | TradieFlow
200 yes 452 7
https://www.tradieflow.uk/features/themes/blueprint
Blueprint Website Theme for Tradesmen | TradieFlow
200 yes 450 5
https://www.tradieflow.uk/features/gallery
Photo Gallery for Tradesmen | TradieFlow
200 yes 412 2
https://www.tradieflow.uk/features/invoicing
Invoicing & Quotes for Tradesmen | TradieFlow
200 yes 679 2
https://www.tradieflow.uk/features/themes/cornerstone
Cornerstone Website Theme for Tradesmen | TradieFlow
200 yes 587 4
https://www.tradieflow.uk/compare/mybuilder
TradieFlow vs MyBuilder | Stop Chasing Leads, Start Owning Them | TradieFlow
200 yes 958 2
https://www.tradieflow.uk/compare/rated-people
TradieFlow vs Rated People | Own Your Leads Instead | TradieFlow
200 yes 954 2
https://www.tradieflow.uk/compare/wordpress
TradieFlow vs WordPress | No Plugins, No Hassle | TradieFlow
200 yes 970 2
https://www.tradieflow.uk/trades/heating-engineer
Websites for Heating Engineers | Get More Boiler Jobs | TradieFlow
200 yes 1326 1
https://www.tradieflow.uk/trades/plasterer
Websites for Plasterers | Get More Plastering Jobs | TradieFlow
200 yes 1394 1
https://www.tradieflow.uk/trades/tiler
Websites for Tilers | Showcase Your Tiling Work Online | TradieFlow
200 yes 1303 1

Audit your own site — free

157 checks, internal PageRank, render-diff. No signup, results in ~30s.

Scan your site →