New Audit
History

Robbies

Ciao Bella of Islamorada Salon, Day Spa, Wellness and Yoga

https://ciaobellaislamorada.com/

Audited 2026-03-24

79

Overall

2 Critical 15 High 13 Medium 7 Low
The current website audit shows significant room for improvement, as several technical and accessibility issues are impacting the site’s performance and user experience. The most pressing concerns include improper heading structures, render-blocking scripts that slow down page loads, and numerous navigation elements that are too small for users on mobile devices. We recommend prioritizing these critical and high-priority fixes immediately to improve your search engine rankings and ensure a seamless experience for your clients.
90
SEO
88
Performance
89
Accessibility
70
UI / Visual
71
Content
64
Technical

Screenshots

Desktop (1440px)

Desktop screenshot

Mobile (375px)

Mobile screenshot

SEO

2 high
high

Multiple H1 tags (2)

Found 2 H1 tags: "Voted The #1 Salon & Spa"; "Voted The #1 Salon & Spa". Confuses search engines about the page topic.

Keep only one H1 — the primary page heading. Remove or demote the others to H2.
high

Heading hierarchy skip

Heading jumps from H2 to H4: "Experience the power of the Gong in an intimate setting"

Use H3 instead of H4 here.

Performance

2 high 1 medium
high

5 render-blocking scripts

Scripts in <head> without async/defer block HTML parsing.

Add async or defer attributes to non-critical scripts.
high

25 images missing width/height attributes

Images without explicit dimensions cause Cumulative Layout Shift as they load.

Add width and height attributes to all <img> tags.
medium

31 images missing loading="lazy"

Images without native lazy loading: logo-blanco.png-1.webp, CiaoBella_Web_Home_award_BUK25.webp, CiaoBella_Web_Home_award_BUK25.webp…. The browser fetches all of them on page load regardless of whether they're visible.

Add loading="lazy" to non-hero <img> tags. Keep the first/hero image as-is (no loading attribute, or loading="eager") to avoid an LCP penalty.

Accessibility

2 high 1 low
high

58 interactive elements below 44×44px touch target size

WCAG 2.5.5 recommends at least 44×44px for touch targets.

Increase padding on small buttons and links.
high

1 video(s) without captions

Videos without captions are inaccessible to deaf and hard-of-hearing users. WCAG 1.2.2.

Add <track kind='captions'> to all video elements.
low

axe-core could not run

axe-core failed: 'Page' object has no attribute 'default_timeout'. May be blocked by CSP or page too complex.

Test accessibility manually or via Chrome DevTools.

UI / Visual

1 critical 2 high 4 medium 2 low
critical

[Visual] Mobile Responsiveness

The mobile navigation menu is completely broken, overlapping the site logo and obscuring the main content heading in the mobile screenshot.

Implement a proper mobile hamburger menu pattern. Move links into a hidden off-canvas drawer that opens on click, rather than displaying all links as a block element over the hero section.
high

Horizontal overflow on mobile (375px)

Content overflows the viewport horizontally on mobile. This causes unwanted horizontal scrolling.

Fix CSS to prevent overflow: check for fixed widths, max-width on containers, and overflow:hidden on body.
high

[Visual] Layout & Spacing

The 'Contact Us' section is abnormally large and empty, featuring a massive void of whitespace between the content and the footer, making the site feel unfinished.

Reduce the top/bottom padding on the 'Contact Us' container. Use browser inspector (e.g., set padding-top: 40px to 'section' elements) to normalize vertical spacing across the page.
medium

No favicon

No <link rel='icon'> found.

Add a favicon.ico and link it in <head>.
medium

Body text below 16px (13 elements)

Many text elements are smaller than the recommended 16px minimum.

Set base font-size to 16px for body content.
medium

[Visual] Visual Hierarchy

Multiple primary Call to Action (CTA) buttons have identical visual weights (Book Online vs. Call Us), preventing users from knowing which action is prioritized.

Assign a primary style to the 'Book Online' button (e.g., solid fill) and a secondary style to 'Call Us' (e.g., outline/ghost button) to guide user focus.
medium

[Visual] Typography

The text 'Gong Sound Immersion' in the mobile header is bleeding into other elements. Additionally, body text in the About section appears to be slightly below standard accessibility legibility thresholds.

Set 'font-size' to a minimum of 16px for body copy via CSS rules. Use 'overflow: hidden' or 'text-overflow: ellipsis' for the header container to prevent overlapping.
low

[Visual] Professionalism

The site uses low-resolution image placeholders for the 'Featured Spa Services' and 'Gallery' section, creating a blurry experience on high-DPI displays.

Replace all asset images with WebP versions optimized for high-DPI (Retina) screens. Ensure source images have a minimum width of at least double the container width.
low

[Visual] Color & Branding

The CTA button colors (teal/blue) are very similar to the background footer color, causing 'Call to Action' buttons to lose contrast in the footer area.

Apply a high-contrast hover state or a distinct background fill for the 'SCHEDULE AN APPOINTMENT' button in the footer to ensure it satisfies WCAG AA contrast requirements.

Content

4 high 4 medium 1 low
high

6 broken external link(s)

Links returning errors: ciaobellaspa.zenoti.com, ciaobellaspa.zenoti.com, ciaobellaspa.zenoti.com…

Fix or remove broken external links.
high

[Content] Placeholder Text

The header contains a broken sentence with a missing verb/instruction.

"Gong Sound Immersion: Every 3rd Saturday at 10:30 AM. to Book."

Change 'to Book.' to 'Click here to book your spot.'
high

[Content] Calls To Action

The page features identical 'BOOK ONLINE' buttons in close proximity without context for which service is being booked, causing friction.

"BOOK ONLINE"

Use descriptive labels for buttons: 'Book Gong Immersion', 'Book Yoga Class', 'Book Spa Services'.
high

8 image(s) with generic or missing alt text

Images with uninformative alt text (filenames, 'image', 'photo', or empty): cropped-ciaobella.png, logo-blanco.png-1.webp, CiaoBella_Banner_EventoFeb21_web.we…

Write a natural-language description for each: what the image shows and why it's there (e.g. 'Relaxation massage room at Ciao Bella spa').
medium

[Content] Grammar & Spelling

Lack of parallel structure and unnecessary usage of 'etcetera' in professional copy.

"nervous systems, lymphatic systems, etcetera."

Change to: '...nervous system, and lymphatic system.'
medium

[Content] Professionalism

The phrasing 'vibrational-medicine' lacks medical backing and presents a potential liability; the sentence structure is also fragmented.

"Through vibrational-medicine we will work on removing and clearing blockages"

Rephrase to: 'Our sound immersion sessions focus on deep relaxation and facilitating a state of internal balance through soothing sound frequencies.'
medium

[Content] Professionalism

The copy 'Dedicated to the kings and queens of past times' is overly flowery and vague for a spa/boutique commerce site.

"Dedicated to the kings and queens of past times, they’ve made it onto our shelves"

Replace with a value-based sentence: 'We curate a selection of time-tested, high-quality apothecary products to bring timeless luxury to your self-care routine.'
medium

15 image(s) with keyword-stuffed alt text

Alt text used as a keyword list rather than a description: svg+xml;nitro-empty-id=MTMzNDo4NTM=, svg+xml;nitro-empty-id=MTM0Njo4ODE=, svg+xml;nitro-empty-id=MTM1ODo4NjM=…

Replace with one natural sentence describing what the image shows. Avoid cramming in keywords.
low

[Content] Professionalism

Inconsistent capitalization of the word 'You' creates an amateurish tone.

"We warmly welcome You to Bella’s Heartspace... guide YOU"

Change to: 'We warmly welcome you to Bella’s Heartspace... guide you'

Technical

1 critical 3 high 4 medium 3 low
critical

Missing HSTS header

The HSTS HTTP response header is not set.

Add to your server/CDN/nginx config: Strict-Transport-Security: max-age=31536000; includeSubDomains
high

2 console error(s)

Browser console errors indicate broken functionality. First: Failed to load resource: the server responded with a status of 403 ()

Open Chrome DevTools (F12) > Console tab to see all errors with source URLs. Fix the root cause of each error — broken script loads, JS exceptions, or failed API calls.
high

1 resource(s) failing to load (4xx/5xx)

Resources returning HTTP errors: HTTP 403: https://link.flowsly.io/widget/form/4vyloIoUuwtzVjJmDyOk

Open Chrome DevTools > Network tab, filter by Status ≥ 400 to find all failing resources. Fix URLs, restore missing files, or remove unused references.
high

Missing X-Content-Type-Options header

The X-Content-Type-Options HTTP response header is not set.

Add to your server/CDN/nginx config: X-Content-Type-Options: nosniff
medium

Missing X-Frame-Options header

The X-Frame-Options HTTP response header is not set.

Add to your server/CDN/nginx config: X-Frame-Options: SAMEORIGIN
medium

Missing Content-Security-Policy header

The Content-Security-Policy HTTP response header is not set.

Add to your server/CDN/nginx config: Content-Security-Policy: default-src 'self'; img-src * data:; script-src 'self' (customize per stack)
medium

1 cookie(s) missing Secure flag

Cookies without Secure flag can be sent over HTTP: nitroCachedPage

Add the Secure attribute to all cookies on HTTPS sites.
medium

1 cookie(s) missing HttpOnly flag

Cookies accessible via JavaScript: nitroCachedPage. XSS can steal them.

Add HttpOnly attribute to session and auth cookies.
low

Missing Referrer-Policy header

The Referrer-Policy HTTP response header is not set.

Add to your server/CDN/nginx config: Referrer-Policy: strict-origin-when-cross-origin
low

Missing Permissions-Policy header

The Permissions-Policy HTTP response header is not set.

Add to your server/CDN/nginx config: Permissions-Policy: camera=(), microphone=(), geolocation=()
low

5 cookie(s) missing SameSite attribute

Cookies without SameSite may be sent on cross-site requests: __cf_bm, __cf_bm, cf_clearance

Set SameSite=Lax or Strict on all cookies.
New Audit Robbies History

Add to Asana