Report loading
finedining.studiomeyer.io
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
The website fails to meet critical WCAG 2 AA accessibility standards due to insufficient color contrast, posing a direct risk to user inclusivity and brand reputation.
S'Olivar exhibits superior technical performance, maintaining excellent LCP and FCP metrics across both desktop and mobile viewports. The site utilizes highly sophisticated JSON-LD structured data, which provides search engines with deep context regarding the restaurant’s menu, chef, and location. This technical foundation is paired with a cohesive brand identity, using premium typography and high-resolution imagery to establish an immediate sense of luxury.
The most significant weakness is the failure of foreground elements to meet minimum color contrast thresholds on desktop, which creates substantial usability barriers for visually impaired visitors. Additionally, the mobile navigation menu lacks clear visual feedback upon interaction, making the interface feel unresponsive to touch. On desktop, overly long meta descriptions cause search engine snippets to truncate, resulting in a fragmented presentation in search results.
A major opportunity exists to maximize organic search performance by refining metadata and ensuring heading hierarchies are optimized for crawler readability. Addressing the split-character rendering in the H1 leverages primary keyword relevance more effectively. Enhancing the mobile user interface to provide more intuitive feedback aligns the digital experience with the restaurant's high-end physical atmosphere.
First 30 days:
5 highest-impact findings, ranked.
The Largest Contentful Paint (LCP) is measured at 3604ms, which exceeds the Google-recommended threshold of 2500ms. This delay in rendering the primary hero image can lead to higher bounce rates.
How to fix: Optimize the hero image loading priority. Since this is a Next.js site, ensure the main background image uses the `priority` prop in the `<Image />` component to trigger high-priority fetching and preloading.
On /
Stylesheets and synchronous classic scripts in <head> block the browser from painting until they've downloaded, parsed, and (for scripts) executed. Module scripts and `nomodule` legacy bundles are excluded from this check. This directly inflates First Contentful Paint and Largest Contentful Paint.
How to fix: Add async or defer to non-critical <script> tags, move scripts that aren't needed before the first paint to the end of <body>, and split CSS into critical (inline) + non-critical (load with media=print + onload swap or rel=preload).
On /fine-dining
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.95 (foreground color: #5e5a53, background color: #06060a, font size: 9.0pt (12px), font weight: normal). Expected contrast ratio of 4.5:1
How to fix: Element matching `.tracking-\[0\.22em\]` has contrast ratio 2.95; 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 /en
The navigation list in the footer uses `<button>` tags for internal site links (e.g., 'Fine Dining', 'Bistro'). This is semantically incorrect and can confuse screen reader users who expect links to and navigate via links.
How to fix: Convert the `<li>` elements within the footer's 'Navegación' section from `<button>` to `<a>` tags with correct `href` attributes pointing to their respective pages.
On /fine-dining
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 /