Audit Result

UUID: 019fa2e4-60d7-7326-90e5-a2635c83328f

www.bodis.de

https://www.bodis.de/

Scanned 1 month ago

77
Fair Score
39 total checks
Passed
23
Warnings
14
Errors
2

Meta Information

  • Title Tag Pass

    Found 55 characters. Length is optimal.

  • Found 116 characters. Good snippet length.

  • Canonical found: https://www.bodis.de/

  • Favicon Pass

    Favicon found and reachable: https://www.bodis.de/wp-content/uploads/2023/03/cropped-Bodis-Favicon-B-gelber-Hintergrund-32x32.png (HTTP 200).

    Favicon
  • Viewport configured: width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=1

  • HTML Lang Pass

    Language declared as "de".

Content Structure

  • H1 Tag Pass

    Exactly one H1 found: "BODIS Bodendiscount: Dein Spezialist für Fußboden, Bodenbeläge, Vinylboden, Parkettboden und Türen".

  • Valid heading flow across 33 headings.

  • 1 of 19 images are missing alt text.

    Fix: Add meaningful alt attributes to all informative images for accessibility and image SEO.

Technical Optimization

  • HTTPS Pass

    Page is served over HTTPS.

  • 2 HTTPS hardening issues detected.

    • • Missing Strict-Transport-Security header.
    • • Could not probe the HTTP version of this page.

    Fix: Set Strict-Transport-Security with a long max-age, add includeSubDomains, and redirect all HTTP requests to HTTPS.

  • Missing: strict-transport-security, content-security-policy, x-frame-options, x-content-type-options, referrer-policy.

    Full HTTP headers (12)
    • • cache-control: max-age=0
    • • connection: Keep-Alive
    • • content-encoding: gzip
    • • content-length: 45474
    • • content-type: text/html; charset=UTF-8
    • • date: Mon, 27 Jul 2026 09:24:50 GMT
    • • expires: Mon, 27 Jul 2026 09:24:50 GMT
    • • keep-alive: timeout=5, max=100
    • • last-modified: Mon, 27 Jul 2026 07:48:34 GMT
    • • server: Apache
    • • vary: Accept-Encoding,User-Agent
    • • x-powered-by: PHP/8.3.32 PleskLin

    Fix: Add the missing security headers at your reverse proxy or application layer.

  • CSP Quality Warning

    Content-Security-Policy header is missing.

    • • Missing Content-Security-Policy header.

    Fix: Define a restrictive Content-Security-Policy and avoid unsafe directives such as unsafe-inline and unsafe-eval.

  • No first-party cookies were set during the initial page load.

  • Versioned headers detected: x-powered-by.

    • • x-powered-by: PHP/8.3.32 PleskLin

    Fix: Hide or remove version tokens in Server and X-Powered-By headers.

  • Domain does not appear to be behind Cloudflare.

  • Loaded in 2.89s (perceived).

    Fix: Reduce payload size, cache static assets, and remove non-critical JS from initial load.

  • 1 scripts and 14 styles may block rendering.

    • • script: https://cloud.ccm19.de/app.js?apiKey=059eeb8045c670b0da5f7716391af1fc519e96f1d3a118dc&domain=6a10427908ad293d59013882
    • • style: https://www.bodis.de/wp-content/cache/min/1/wp-content/plugins/business-reviews-bundle/assets/2.0/css/public-main.css?ver=1782910364
    • • style: https://www.bodis.de/wp-content/et-cache/229644/et-divi-dynamic-tb-241484-tb-229732-229644-late.css
    • • style: https://www.bodis.de/wp-content/cache/min/1/wp-content/et-cache/229644/et-divi-dynamic-tb-241484-tb-229732-229644-late.css?ver=1784795757
    • • style: https://www.bodis.de/wp-content/cache/min/1/wp-content/et-cache/229644/et-divi-dynamic-tb-241484-tb-229732-229644.css?ver=1782910364
    • • style: https://www.bodis.de/wp-content/plugins/supreme-modules-pro-for-divi/styles/style.min.css?ver=4.9.97.42
    • • style: https://www.bodis.de/wp-content/cache/min/1/wp-content/uploads/fonts/427b0274f4c9289a7b34a2a492f75e66/font.css?ver=1782910364
    • • style: https://www.bodis.de/wp-content/cache/min/1/wp-content/themes/Divi/includes/builder/feature/dynamic-assets/assets/css/magnific_popup.css?ver=1782910364
    • • style: https://www.bodis.de/wp-content/cache/min/1/wp-content/plugins/supreme-modules-pro-for-divi/public/css/swiper.css?ver=1782910364
    • • style: https://www.bodis.de/wp-content/cache/min/1/wp-content/plugins/supreme-modules-pro-for-divi/public/css/popup.css?ver=1782910364
    • • style: https://www.bodis.de/wp-content/cache/min/1/wp-content/plugins/supreme-modules-pro-for-divi/public/css/animate.css?ver=1782910364
    • • style: https://www.bodis.de/wp-content/cache/min/1/wp-content/plugins/supreme-modules-pro-for-divi/public/css/readmore.css?ver=1782910364
    • • style: https://www.bodis.de/wp-content/cache/min/1/wp-content/plugins/supreme-modules-pro-for-divi/public/css/dsm-easy-tb.css?ver=1782910364
    • • style: https://www.bodis.de/wp-content/themes/DiviKreativZentrale/style.css?ver=4.27.6
    • • style: https://cloud.ccm19.de/app.css?apiKey=059eeb8045c670b0da5f7716391af1fc519e96f1d3a118dc&domain=6a10427908ad293d59013882&gen=2&theme=6a10427908ad293d59013891&v=1784567820

    Fix: Defer non-critical scripts and inline critical CSS to improve first paint speed.

  • Compression Warning

    1 text resources look uncompressed.

    • • https://cloud.ccm19.de/widget/details?apiKey=059eeb8045c670b0da5f7716391af1fc519e96f1d3a118dc&domain=6a10427908ad293d59013882&gen=2&theme=6a10427908ad293d59013891&lang=de_DE&v=1785139527 (text/x-html-fragment; charset=utf-8)

    Fix: Enable Brotli or Gzip compression for HTML, CSS, JS, and JSON responses.

  • Robots.txt Pass

    Found robots.txt (200).

  • Found sitemap (200) at https://www.bodis.de/sitemap.xml.

  • Robots meta found: index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1

Accessibility Basics

  • All 28 controls are labeled.

  • Landmarks Warning

    Missing landmarks: main.

    Fix: Use semantic regions (<header>, <nav>, <main>, <footer>) for navigation and assistive tech.

  • Tap Target Size Warning

    11 interactive elements appear smaller than 48px.

    • • a (BODIS ist Dein Meisterbetrieb!) - 169x20px
    • • a () - 25x17px
    • • a () - 25x17px
    • • a () - 25x17px
    • • button.ccm-dismiss-button.ccm--ctrl-init (Schließen) - 30x30px
    • • button.button.ccm--save-settings (Alles akzeptieren) - 222x41px
    • • button.button.ccm--decline-cookies (Alles ablehnen) - 194x41px
    • • a (Impressum) - 52x17px
    • • a (Datenschutzhinweis) - 93x17px
    • • a.ccm-must-show.ccm--ctrl-init (Einstellungen) - 63x17px
    • • a (Cookie Consent Tool / Cookie Consent Manager) - 190x18px

    Fix: Increase target size to at least 48x48 CSS pixels for touch interactions.

Social & Rich Results

  • Core Open Graph tags are present.

  • og:image is present and absolute.

    Open Graph Image
  • twitter:card set to summary_large_image.

  • JSON-LD schema detected.

  • PWA Metadata Warning

    Manifest or Apple touch icon is missing.

    Fix: Link your web app manifest and apple-touch-icon for improved install/share experiences.

  • Social preview metadata and image quality look good for Open Graph/Twitter.

    • • GUIDELINE: Optimal og:title length: 40-60 characters (acceptable: 10-70).
    • • GUIDELINE: Optimal og:description length: 110-160 characters (acceptable: 50-200).
    • • GUIDELINE: Optimal preview image size: 1200x630 pixels.
    • • GUIDELINE: Optimal preview image aspect ratio: 1.91:1.
    • • GUIDELINE: Optimal preview image file size: under 5 MB.
    • • GUIDELINE: Recommended twitter:card: summary_large_image.
    • • MEASURED: Image size: 0.09 MB
    • • MEASURED: Image dimensions: 3172x1623

Links Analysis

  • Checked 41 links. No broken internal links found.

  • No broken external links found in checked URLs.

  • Link Format Warning

    4 links are empty, invalid, or placeholder-only.

    • • href="#" text="Standorte"
    • • href="#" text="Service"
    • • href="(empty)" text="Jobs anzeigen"
    • • href="javascript:" text="Einstellungen"

    Fix: Replace empty/#/javascript href values with real destinations or use buttons for non-navigation actions.

Performance & Runtime

  • Largest Contentful Paint: 3.35s.

    Fix: Improve LCP by optimizing above-the-fold media, reducing server latency, and inlining critical CSS.

  • Cumulative Layout Shift: 0.506.

    Fix: Reserve space for images/ads and avoid injecting layout-changing elements above existing content.

  • Total Blocking Time estimate: 7ms.

  • No failed CSS/JS/image/font/media requests detected.

  • 2 JavaScript runtime issues detected.

    • • Request failed: https://www.google.com/ccm/collect?rcb=17&frm=0&auid=1392533589.1785144291&dt=BODIS%20%7C%20Fu%C3%9Fboden%2C%20Bodenbel%C3%A4ge%2C%20Vinylboden%2C%20Parkettboden&en=page_view&dl=https%3A%2F%2Fwww.bodis.de%2F&scrsrc=www.googletagmanager.com&rnd=1388391524.1785144291&navt=n&npa=1&did=dZTNiMT&gdid=dZTNiMT&gtm=45be67m0v9199490799za200zd9199490799xec&gcd=13l3l3l2l1l1&dma_cps=a&dma=1&tag_exp=115938465~115938469~118395334~118897920~118897930~119318177~119896802&apve=1&apvf=f&apvc=1&tids=AW-1038238528&tid=AW-1038238528&tft=1785144291358&tfd=3000&fmt=8 (net::ERR_ABORTED, type: fetch)
    • • Request failed: https://ad.doubleclick.net/ccm/s/collect?auid=1392533589.1785144291&gtm=45be67m0v9199490799za200zd9199490799xec (net::ERR_ABORTED, type: fetch)

    Fix: Fix JS files returning 404/failed requests and resolve the listed runtime exceptions.