Catalog / moseleyhaven.co.uk
65

SEO audit for moseleyhaven.co.uk

Moseley Haven

other

Health 65/100 (fair) · 37 pages crawled · generated 2026-08-26

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

Beauty Day Spa and Retailer.

37
pages crawled
36
indexable pages
0
errors
68
warnings
435
notices
10
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Meta Description 82 0 22 11
Headings 87 0 16 4
Images 90 0 12 60
Links 92 0 10 12
Content 97 0 4 67
Duplicate 98 0 2 0
Canonical 99 0 1 0
Crawlability 99 0 1 0
Agent Readiness 100 0 0 60
Performance 100 0 0 110
Security 100 0 0 72
Sitemap 100 0 0 1
Social 100 0 0 24
Titles 100 0 0 14
Findings

Warnings (8 rules)

warning Missing canonical tag

Rule canonical.missing · Canonical · 1 occurrence(s)

warning Duplicate <title> across pages

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

warning Incomplete/empty response after retries (likely transient — re-crawl)

Rule fetch.incomplete · Crawlability · 1 occurrence(s)

Notices (23 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)

notice No main landmark for AI agents

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

notice Low text-to-HTML ratio

Rule content.low_ratio · Content · 36 occurrence(s)

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

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

  • https://www.moseleyhaven.co.uk/ — 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.moseleyhaven.co.uk/advanced-skin — this page reads as very difficult (Flesch Reading Ease 21, 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.moseleyhaven.co.uk/beauty-treatments — 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.moseleyhaven.co.uk/body-and-mind — this page reads as difficult (Flesch Reading Ease 38, 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.moseleyhaven.co.uk/caudalie — 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.moseleyhaven.co.uk/contact-us — 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.moseleyhaven.co.uk/events-and-collaborations — this page reads as difficult (Flesch Reading Ease 34, 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.moseleyhaven.co.uk/meet-the-team — this page reads as difficult (Flesch Reading Ease 36, 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.moseleyhaven.co.uk/offers-and-membership — this page reads as difficult (Flesch Reading Ease 37, 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.moseleyhaven.co.uk/store/categories/body-products — 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.moseleyhaven.co.uk/store/categories/essentials — 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.moseleyhaven.co.uk/store/categories/gua-sha-and-essential-oils — 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.moseleyhaven.co.uk/store/products/body-products-and-fragrances — 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.moseleyhaven.co.uk/store/products/caudalie-essentials — this page reads as very difficult (Flesch Reading Ease 30, 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.moseleyhaven.co.uk/store/products/caudalie-gift-sets — this page reads as difficult (Flesch Reading Ease 43, 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.moseleyhaven.co.uk/store/products/caudalie-target-products — this page reads as very difficult (Flesch Reading Ease 30, 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.moseleyhaven.co.uk/store/products/crystal-candles — 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.moseleyhaven.co.uk/store/products/eye-pillows — 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.moseleyhaven.co.uk/store/products/gua-sha-and-essential-oils — 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.moseleyhaven.co.uk/store/products/limited-edition-aromatherapy-candles — 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.moseleyhaven.co.uk/store/products/massage-candles — 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.moseleyhaven.co.uk/store/products/retreat-days — 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.moseleyhaven.co.uk/store/products/treatment-vouchers — 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.moseleyhaven.co.uk/treatment-packages — this page reads as difficult (Flesch Reading Ease 37, 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.moseleyhaven.co.uk/treatments-for-men — 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.

notice Multiple <h1> elements

Rule h1.multiple · Headings · 4 occurrence(s)

notice Image filename is generic/auto-generated (missed image-search signal)

Rule images.generic_filename · Images · 35 occurrence(s)

  • https://www.moseleyhaven.co.uk/ — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/advanced-skin — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/beauty-treatments — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/body-and-mind — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/caudalie — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/contact-us — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/events-and-collaborations — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/meet-the-team — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/offers-and-membership — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/online-shop — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/store/categories — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/store/products/body-products-and-fragrances — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/store/products/caudalie-essentials — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/store/products/caudalie-gift-sets — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/store/products/caudalie-target-products — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/store/products/crystal-candles — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/store/products/eye-pillows — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/store/products/gua-sha-and-essential-oils — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/store/products/hand-made-soaps — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/store/products/limited-edition-aromatherapy-candles — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/store/products/massage-candles — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/store/products/retreat-days — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/store/products/treatment-vouchers — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/treatment-packages — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.moseleyhaven.co.uk/treatments-for-men — 1 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.

notice Likely hero image lacks fetchpriority=high

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

  • https://www.moseleyhaven.co.uk/ — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/advanced-skin — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/beauty-treatments — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/body-and-mind — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/caudalie — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/contact-us — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/events-and-collaborations — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/meet-the-team — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/offers-and-membership — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/online-shop — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/store/categories — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/store/products/body-products-and-fragrances — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/store/products/caudalie-essentials — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/store/products/caudalie-gift-sets — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/store/products/caudalie-target-products — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/store/products/crystal-candles — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/store/products/eye-pillows — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/store/products/gua-sha-and-essential-oils — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/store/products/hand-made-soaps — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/store/products/limited-edition-aromatherapy-candles — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/store/products/massage-candles — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/store/products/retreat-days — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/store/products/treatment-vouchers — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/treatment-packages — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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.moseleyhaven.co.uk/treatments-for-men — the likely hero/LCP image (84ae96d5-39f9-4f1c-b1b0-ab58b0668515.jpg) 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 · 25 occurrence(s)

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

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

notice Missing Open Graph tags

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

notice Legacy image format (jpg/png/gif) with no next-gen fallback

Rule perf.images_legacy_format · Performance · 35 occurrence(s)

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

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

  • https://www.moseleyhaven.co.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.moseleyhaven.co.uk/beauty-treatments — 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.moseleyhaven.co.uk/body-and-mind — 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.moseleyhaven.co.uk/caudalie — 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.moseleyhaven.co.uk/contact-us — 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.moseleyhaven.co.uk/events-and-collaborations — 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.moseleyhaven.co.uk/meet-the-team — 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.moseleyhaven.co.uk/offers-and-membership — 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.moseleyhaven.co.uk/online-shop — 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.moseleyhaven.co.uk/pages/cookie-policy — 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.moseleyhaven.co.uk/store/categories/eye-pillows — 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.moseleyhaven.co.uk/store/products/eye-pillows — 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.moseleyhaven.co.uk/treatment-packages — 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 · 13 occurrence(s)

  • https://www.moseleyhaven.co.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.moseleyhaven.co.uk/beauty-treatments — 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.moseleyhaven.co.uk/body-and-mind — 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.moseleyhaven.co.uk/caudalie — 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.moseleyhaven.co.uk/contact-us — 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.moseleyhaven.co.uk/events-and-collaborations — 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.moseleyhaven.co.uk/meet-the-team — 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.moseleyhaven.co.uk/offers-and-membership — 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.moseleyhaven.co.uk/online-shop — 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.moseleyhaven.co.uk/pages/cookie-policy — 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.moseleyhaven.co.uk/store/categories/eye-pillows — 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.moseleyhaven.co.uk/store/products/eye-pillows — 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.moseleyhaven.co.uk/treatment-packages — 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 Missing recommended security headers

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

notice target=_blank link without rel=noopener (tab-napping)

Rule security.unsafe_cross_origin_links · Security · 36 occurrence(s)

notice Indexable page not listed in sitemap

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

notice Title tag is identical to the H1 (missed keyword variation)

Rule title.same_as_h1 · Titles · 10 occurrence(s)

notice Title is very short

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

notice Missing Twitter Card tag

Rule twitter.missing · Social · 1 occurrence(s)

Pages (showing 37 of 37)
URLStatusIndexableWordsIn-links
https://www.moseleyhaven.co.uk/
Moseley Haven
200 yes 264 35
https://www.moseleyhaven.co.uk/advanced-skin
Advanced skin - Moseley Haven
200 yes 567 35
https://www.moseleyhaven.co.uk/beauty-treatments
Beauty Treatments - Moseley Haven
200 yes 520 35
https://www.moseleyhaven.co.uk/body-and-mind
Body and Mind - Moseley Haven
200 yes 627 35
https://www.moseleyhaven.co.uk/caudalie
Caudalie - Moseley Haven
200 yes 686 35
https://www.moseleyhaven.co.uk/contact-us
Contact us - Moseley Haven
200 yes 500 35
https://www.moseleyhaven.co.uk/events-and-collaborations
Events and Collaborations - Moseley Haven
200 yes 174 35
https://www.moseleyhaven.co.uk/meet-the-team
Meet the team - Moseley Haven
200 yes 210 35
https://www.moseleyhaven.co.uk/offers-and-membership
Offers and Membership - Moseley Haven
200 yes 264 35
https://www.moseleyhaven.co.uk/online-shop
Online shop - Moseley Haven
200 yes 259 35
https://www.moseleyhaven.co.uk/pages/cookie-policy
Cookie Policy - GDPR - Moseley Haven
200 yes 477 35
https://www.moseleyhaven.co.uk/treatment-packages
Treatment packages - Moseley Haven
200 yes 287 35
https://www.moseleyhaven.co.uk/treatments-for-men
Treatments for Men - Moseley Haven
200 yes 714 35
https://www.moseleyhaven.co.uk/store/categories
Moseley Haven
200 yes 647 11
https://www.moseleyhaven.co.uk/store/products/body-products-and-fragrances
Body products and fragrances
200 yes 236 1
https://www.moseleyhaven.co.uk/store/products/caudalie-essentials
Caudalie essentials
200 yes 257 1
https://www.moseleyhaven.co.uk/store/products/caudalie-gift-sets
Caudalie gift sets
200 yes 230 1
https://www.moseleyhaven.co.uk/store/products/caudalie-target-products
Caudalie target products
200 yes 285 1
https://www.moseleyhaven.co.uk/store/products/crystal-candles
Crystal candles
200 yes 243 1
https://www.moseleyhaven.co.uk/store/products/eye-pillows
Eye pillows
200 yes 244 1
https://www.moseleyhaven.co.uk/store/products/gua-sha-and-essential-oils
Gua sha and essential oils
200 yes 273 1
https://www.moseleyhaven.co.uk/store/products/hand-made-soaps
Hand made soaps
200 yes 295 1
https://www.moseleyhaven.co.uk/store/products/limited-edition-aromatherapy-candles
Limited edition aromatherapy candles
200 yes 241 1
https://www.moseleyhaven.co.uk/store/products/massage-candles
Massage candles
200 yes 277 1
https://www.moseleyhaven.co.uk/store/products/retreat-days
Retreat days
200 yes 277 1
https://www.moseleyhaven.co.uk/store/products/treatment-vouchers
Treatment Vouchers
200 yes 379 1
https://www.moseleyhaven.co.uk/store/categories/body-products
Body products - Moseley Haven
200 yes 193 0
https://www.moseleyhaven.co.uk/store/categories/crystal-candles
Crystal candles - Moseley Haven
200 yes 190 0
https://www.moseleyhaven.co.uk/store/categories/essentials
Essentials - Moseley Haven
200 yes 201 0
https://www.moseleyhaven.co.uk/store/categories/eye-pillows
Eye pillows - Moseley Haven
200 yes 212 0
https://www.moseleyhaven.co.uk/store/categories/gift-sets
Gift sets - Moseley Haven
200 yes 191 0
https://www.moseleyhaven.co.uk/store/categories/gua-sha-and-essential-oils
Gua sha and essential oils - Moseley Haven
200 yes 214 0
https://www.moseleyhaven.co.uk/store/categories/limited-edition-aromatherapy-candles
Limited edition aromatherapy candles - Moseley Haven
200 yes 221 0
https://www.moseleyhaven.co.uk/store/categories/massage-candles
Massage candles - Moseley Haven
200 yes 239 0
https://www.moseleyhaven.co.uk/store/categories/treatment-vouchers
Treatment Vouchers - Moseley Haven
200 yes 257 0
https://www.moseleyhaven.co.uk/store/categories/wellbeing
Wellbeing - Moseley Haven
200 yes 262 0
https://www.moseleyhaven.co.uk/store/products/return-to-you-yoga-and-sound-experience 0 no 0 1

Audit your own site — free

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

Scan your site →