Skip to main content
Roast by AI Roast By AI

apperitivimilano.com

https://apperitivimilano.com/zona/1

Completed

Curious how yours stacks up?

apperitivimilano.com scored 41/100. Where would your site land?

41

Overall Score

AppEritivi Milano is a beautifully designed aperitivo bar discovery platform for Milan that's functionally impressive but technically collapsing under its own weight—it's like a perfectly plated dish served on a burning plate. The site suffers from catastrophic performance issues (35/100 PageSpeed), zero accessibility support, and mysteriously empty content rendering, making this a case study in 'looks good, works terribly.'

🔥

The Roast

This website is the Italian equivalent of a stunning aperitivo that tastes like regret. It has gorgeous UI design, a smart filtering system, and an interactive map that would make any bartender jealous—but then it loads at the speed of a drunk uncle ordering his third Negroni. A 24-second LCP, 239ms TBT, and a 0.933 CLS score? That's not a website; that's a performance horror show masquerading as a digital experience. The real kicker? The crawler found ZERO words, ZERO images, and ZERO links, which means your beautiful interface is basically shouting into the void with no actual content. It's all fashion, no substance.

🎯 Start Here

Accessibility
5/100
Performance
12/100
🔍 SEO
15/100

Google PageSpeed Insights

(Real metrics from Google)

These scores come directly from Google's PageSpeed API. The AI scores above evaluate broader aspects like copy, trust signals, and conversion.

35
Performance

Core Web Vitals

24.4s
LCP
Largest Contentful Paint
0.93
CLS
Cumulative Layout Shift
239ms
TBT
Total Blocking Time
5

Accessibility

12

Performance

🔍 15

SEO

📱 42

Mobile

🎯 48

Conversion

🔒 58

Trust Signals

📝 72

Copy & Messaging

🎨 78

Design & UX

Accessibility

5/100

Zero ARIA attributes, no skip link, and cards with images but no alt text means this site is completely inaccessible to screen reader users. It's not just bad accessibility; it's digital exclusion.

Issues Found

  • 0 ARIA labels/descriptions detected—interactive elements (filters, map, cards) have no accessible names or roles
  • Missing skip-to-content link—keyboard users must tab through entire navigation before reaching main content
  • Card images have no alt text; even if they loaded, they'd be invisible to assistive tech

Recommendations

  • Add comprehensive ARIA labels to all interactive elements high

    Label filter buttons, map controls, card buttons, and modal triggers with aria-label or aria-labelledby attributes.

  • Implement skip navigation link high

    Add a visible-on-focus skip link at the top of the page to jump directly to bar listings and bypass header/nav.

  • Add alt text to all card images and icons high

    Describe what's in each bar image and use aria-label for icon-only buttons (filters, map controls, favorites).

Performance

12/100

This is a disaster on wheels. A 35/100 PageSpeed score with 24-second LCP (target: <2.5s), 239ms TBT, and 0.933 CLS is 'user experience hostile.' The site is likely bloated with unused CSS/JS and images that never optimize.

Issues Found

  • Lighthouse reports 'Reduce unused CSS' and 'Reduce unused JavaScript'—likely bundling entire frameworks for simple functionality
  • LCP of 24.4 seconds means the main content takes 10x longer to load than acceptable; images or fonts are probably render-blocking
  • CLS of 0.933 indicates severe layout shift—content jumping around as resources load, especially problematic for mobile users

Recommendations

  • Code-split and tree-shake bundled JavaScript high

    Remove unused code, split bundle by route, and defer non-critical scripts (analytics, ads) to reduce main thread work.

  • Optimize and defer images with next-gen formats high

    Convert images to WebP with JPEG fallback, implement lazy loading, and use responsive image sets (srcset) for different viewports.

  • Implement critical CSS inlining high

    Inline critical above-the-fold CSS and defer non-critical styles to unblock rendering and improve LCP.

🔍

SEO

15/100

The crawl detected ZERO words, links, and images—this is either a rendering crisis or the entire content is hidden behind JavaScript that Google can't index. Meta tags look solid on paper, but they're meaningless if the actual content is invisible.

Issues Found

  • Critical: Crawler found 0 words of indexable content—likely JavaScript rendering issue preventing content delivery to search engines
  • Zero internal/external links detected, meaning no link equity flow and poor crawlability across the site
  • Missing structured data (Schema.org LocalBusiness, AggregateOffer) for bar listings—losing rich snippet opportunities

Recommendations

  • Fix server-side rendering or dynamic content issues high

    Ensure content renders on the server side or use dynamic rendering to serve pre-rendered HTML to crawlers.

  • Add LocalBusiness schema markup high

    Implement schema.org markup for each bar listing including name, address, phone, hours, ratings, and menu to enable rich snippets.

  • Create internal linking strategy medium

    Link zone pages to each other, add breadcrumbs, and create contextual links between related bars to improve crawlability.

📱

Mobile

42/100

Mobile layout attempts responsive design but fails due to performance collapse and layout shift (0.933 CLS). The mobile screenshot shows a stacked layout that's structurally sound, but it's DOA on actual devices due to load time.

Issues Found

  • Massive vertical scroll required to access filters and map—users must scroll past hero, search, map, and cookie banner before seeing bars
  • Touch targets for filter tags and map controls appear cramped; no visible hover states to indicate interactivity
  • CLS of 0.933 on mobile is catastrophic—content jumping around during load makes interaction impossible

Recommendations

  • Optimize above-the-fold content for mobile high

    Move 'Zona 1 / Duomo-Brera' header and search bar above fold; defer map to secondary tab or collapse it initially.

  • Increase touch target sizes for filters and buttons medium

    Ensure all interactive elements meet 44x44px minimum (or 48x48px) tap target size, with visible focus states.

  • Reserve fixed space for layout-shifting elements high

    Use aspect ratio boxes for images and set fixed heights for cards to prevent layout shift during load.

🎯

Conversion

48/100

The site has smart filtering and an interactive map that *should* drive discovery, but the lack of clear CTAs, missing 'reserve' or 'call' buttons on cards, and performance collapse kill conversion dead. Users abandon before they can even book.

Issues Found

  • No primary CTA on individual bar cards—unclear whether users should click the card, use a button, or navigate elsewhere to reserve/call
  • Missing 'distance from me' sorting or 'reserve now' integration; users must manually search external sources to actually visit
  • Map lacks click-through functionality or preview info—interactive but not actionable

Recommendations

  • Add prominent 'View Details' or 'Reserve' button to each card high

    Include a clear CTA button that leads to detailed bar page with reservation links, full menu, photos, and reviews.

  • Enable 'distance from current location' filtering medium

    Allow users to sort by proximity and show walking/transit time; add 'Get Directions' button to increase visit intent.

  • Add map popup/preview on click medium

    Clicking a map marker should show a popup with bar name, rating, and 'View Details' CTA rather than just highlighting the marker.

🔒

Trust Signals

58/100

Star ratings and opening hours are visible on cards, suggesting real user reviews and business data, but there's no explicit verification badges, testimonials, or security indicators. It looks legitimate but feels unverified.

Issues Found

  • No verification badges or 'verified by' markers—how do users know these are real bars with real reviews?
  • Missing user review counts alongside star ratings—a 4.8 rating means nothing if it's based on 2 reviews
  • No 'About Us' or credibility page explaining who curates this data or how bars are verified

Recommendations

  • Display review counts with ratings medium

    Show '4.8★ (247 reviews)' instead of just '4.8★' to add credibility and show volume of feedback.

  • Add verification badges for featured or verified bars medium

    Mark bars that have been verified by the platform team or have direct integrations with 'Verified Spot' badge.

  • Create a credibility/about page low

    Explain how bars are curated, how ratings work, and how often data is updated to build trust with new visitors.

📝

Copy & Messaging

72/100

Headlines are clear and benefit-focused ('Scopri i migliori bar per aperitivo'), but the actual value proposition gets buried under technical jargon (filtering options, timestamps, price tiers). The copy assumes users already know what they want rather than educating them.

Issues Found

  • No compelling micro-copy explaining how to use filters or navigate the map—users must intuit everything
  • Card descriptions are minimal (just address, hours, tags); missing the 'why should I care' narrative
  • Cookie consent messaging is overly cautious and legal-heavy, detracting from the experience

Recommendations

  • Add onboarding tooltips for first-time users high

    Guide users through key features: 'Filter by vibe,' 'See live availability,' 'Check distance from you' with one-time tooltips.

  • Enhance card copy with 'why visit' hooks medium

    Add one sentence under each bar name explaining its unique appeal: 'Best sunset views,' 'Hidden gem for cocktail lovers,' etc.

  • Simplify cookie consent messaging low

    Replace legal walls with casual, friendly language: 'We use cookies to remember your favorites and show personalized recommendations.'

🎨

Design & UX

78/100

The visual design is genuinely excellent—clean card layouts, smart two-column grid, beautiful hero image with Milan's Duomo, and intuitive filter sidebar that actually makes sense. The problem? All that aesthetic polish means nothing when users abandon ship during load time.

Issues Found

  • Massive cognitive load from dense filter options (rating, price, bar type, hours, special features) without progressive disclosure
  • Card images appear as solid orange placeholders, suggesting broken image loading or missing alt text across all 43+ listings
  • No visual hierarchy between primary actions; 'Accetta tutti' cookie button competes with legitimate navigation

Recommendations

  • Implement lazy loading for card images high

    Load images only as users scroll into view and use low-quality image placeholders (LQIP) to reduce perceived load time.

  • Collapse advanced filters by default medium

    Show only top-level filters (rating, price range, bar type) with 'More filters' toggle to reduce initial cognitive load.

  • Add loading skeletons for card content medium

    Display animated skeleton screens while images and card data load to improve perceived performance.

Think you can beat 41/100?

Get your site brutally analyzed by the same AI. 8 scores, a punch list of fixes, 60 seconds.