Report loading
www.placemarks.co.uk
Preparing the full page inventory and screenshots.
Report loading
Preparing the full page inventory and screenshots.
Good
Health Score
Score by category
The headline health score combines page-level quality and site-wide repeat patterns, then stays anchored to the weakest visible category so it never looks worse than every category beneath it.
Section 01
Placemarks maintains a high-performance technical foundation, but critical accessibility failures and inconsistent page speeds threaten user retention and search visibility.
The platform demonstrates excellent core engineering on the homepage, featuring strong Core Web Vitals, a professional visual hierarchy, and effective use of lazy loading. The brand identity is cohesive, and the implementation of "Skip to content" links and optimized font loading provides a stable, high-quality baseline for desktop users.
However, significant accessibility and performance regressions exist on key subpages. The site fails to meet minimum WCAG 2 AA color contrast thresholds, creating barriers for visually impaired users. Furthermore, while the homepage is fast, the /discover page suffers from a slow Largest Contentful Paint (3.79s) and an excessive number of HTTP requests, which degrades the perceived speed and utility of the interactive map.
The most significant growth opportunity lies in optimizing structured data and AI readiness. Current JSON-LD implementations are missing required @type declarations, and the /llms.txt file contains structural errors. Correcting these, alongside implementing more granular ItemList schema for cities and collections, will significantly improve the site's ability to capture rich snippets and appear accurately in AI-generated search answers.
First 30 Days
@type errors and the /llms.txt structure to improve SEO and AI discoverability./discover page by reducing HTTP requests and addressing the LCP delay.5 highest-impact findings, ranked.
Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds. Fix any of the following: Element has insufficient color contrast of 2.81 (foreground color: #9192a1, background color: #474a63, font size: 10.5pt (14px), font weight: normal). Expected contrast ratio of 4.5:1
How to fix: Element matching `.bg-white\/5.line-through.border-white\/10:nth-child(1) > p` has contrast ratio 2.81; WCAG AA requires 4.5:1. Increase the contrast between foreground and background colours (the Tailwind hint below proposes the next darker step in the same family if the offending class is a recognised palette utility). Reference: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
On /
The `<link rel='canonical' href='https://www.placemarks.co.uk'>` points to the root domain rather than the current `/sign-in` path. This can cause search engines to consolidate authority incorrectly or fail to index the sign-in page properly.
How to fix: Update the canonical link on the sign-in page to match its own URL: `<link rel='canonical' href='https://www.placemarks.co.uk/sign-in'>`.
On /sign-in
The LCP is 3792ms, which exceeds the recommended threshold of 2.5s. This delay in rendering the main content can negatively impact perceived load speed and user engagement.
How to fix: Optimize the loading of the hero section and the interactive map component. Consider preloading critical assets or using a more efficient loading strategy for the Mapbox canvas to reduce the time until the largest element is visible.
On /discover
LCP measures how quickly the largest visible element finishes rendering. Google flags anything above 2.5s as needing improvement and anything above 4s as poor — both signal a slow first impression to users and rank against the page in CrUX.
How to fix: Optimise the LCP element: serve responsive image sizes (srcset/sizes), set fetchpriority="high" on the hero image, preconnect to the image origin, and ensure the LCP element isn't blocked by render-blocking scripts (see PERF-015) or late-mounting React components.
On /discover
Third-party scripts (analytics, embeds, ad pixels, font CDNs, chat widgets) are hosted outside your control and often render-block, INP-block, or both. Each adds DNS resolution + TLS overhead and can fail independently of your own infrastructure.
How to fix: Audit every third-party tag: drop ones you're no longer measuring, switch from <script> to async/defer, route analytics through a single tag manager, and self-host fonts as woff2 (most font CDNs add 50-150 KB per family).
On /discover