{"url":"https://gotoand.dev/larsen","date":"2026-07-09","siteName":"Viga 401 - Error 401 | Veebimajutus.ee","overall":25,"reasoning":"The site returns a 401 Unauthorized status, making content inaccessible to the public, which is a core functional failure. Security headers are completely missing (0/100) and HTTP does not redirect to HTTPS, creating significant security exposure. Accessibility has 1 serious color-contrast violation and missing landmarks. Performance is strong (PSI 94) but irrelevant if the site is locked. SEO basics are missing.","confidence":"high","fixes":[{"priority":1,"title":"Resolve 401 Unauthorized Status","impact":"Core functionality, Public Access","problem":"W3C and Security Headers report HTTP status 401; page is blocked from public access.","solution":"Remove authentication requirements for this URL or configure the server to return 200 OK for public visitors. If this is a private resource, ensure it is not indexed or linked publicly."},{"priority":1,"title":"Enforce HTTPS Redirect","impact":"Transport Security","problem":"Security Headers report 'http://gotoand.dev/larsen does not redirect to HTTPS'.","solution":"Configure the web server (Apache/Nginx) to redirect all HTTP traffic to HTTPS:\n```apache\nRewriteEngine On\nRewriteCond %{HTTPS} off\nRewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]\n```"},{"priority":2,"title":"Add Security Headers (HSTS, X-Frame-Options, CSP)","impact":"Security Headers Grade (0/100)","problem":"Missing HSTS, X-Content-Type-Options, X-Frame-Options, and CSP. Grade is 0/100.","solution":"Add headers to server config:\n```apache\nHeader always set Strict-Transport-Security \"max-age=63072000; includeSubDomains\"\nHeader always set X-Frame-Options \"SAMEORIGIN\"\nHeader always set X-Content-Type-Options \"nosniff\"\n```"},{"priority":2,"title":"Fix Color Contrast and Landmarks","impact":"Accessibility (axe-core 3 violations)","problem":"Serious color-contrast violation on navigation links; missing main landmark and skip link.","solution":"- Increase contrast ratio to ≥4.5:1 for `.navbar-nav > a` links.\n- Wrap main content in `<main>` and navigation in `<nav>`.\n- Add a skip link: `<a href=\"#main-content\" class=\"skip-link\">Skip to content</a>`."},{"priority":3,"title":"Add SEO Meta Tags","impact":"SEO Score (82/100)","problem":"Missing meta description, canonical URL, and robots meta tag.","solution":"Add to `<head>`:\n```html\n<meta name=\"description\" content=\"...\">\n<link rel=\"canonical\" href=\"https://gotoand.dev/larsen\">\n<meta name=\"robots\" content=\"index, follow\">\n```"}],"coverage":{"pct":100,"missing":[]},"psiSnapshot":{"rows":[{"pageUrl":null,"perfMobile":94,"perfDesktop":100,"lcpMobileMs":2471.3907995512027,"lcpDesktopMs":687.3907994108131,"clsMobile":0.002054,"clsDesktop":0.000079}]},"optimizationChecklist":{"items":[{"id":"caching","title":"Page caching plugin / CDN active","status":"fail","detail":"No WordPress cache plugin marker or CDN edge cache detected on the document response.","evidence":[]},{"id":"lazyload","title":"Images lazy-loaded","status":"pass","detail":"All raster images use loading=\"lazy\".","evidence":[]},{"id":"heroEager","title":"Hero image eagerly loaded","status":"warn","detail":"Hero image has no explicit loading or fetchpriority (inferred from DOM order/size — Lighthouse LCP element unavailable). Browser default is eager but adding fetchpriority=\"high\" helps LCP.","evidence":["hero: …iKAkJVZAoSkJCFSSKkpBQBYmiJCRUQaIoCQlVkChKQkIV/D+cxxFa72wHXQAAAABJRU5ErkJggg==","loading: (not set)","fetchpriority: (not set)"]},{"id":"heroBackground","title":"Hero is a real <img> (not a CSS background-image)","status":"n/a","detail":"No CSS background-images detected on raster-image-eligible elements.","evidence":[]},{"id":"responsive","title":"Responsive images (srcset / <picture>)","status":"n/a","detail":"Only 1 raster image on the page — responsive-image rule does not apply.","evidence":[]},{"id":"imageSizes","title":"Reasonable number of image sizes","status":"n/a","detail":"Too few raster images to evaluate srcset width variety.","evidence":[]},{"id":"scriptsFooter","title":"JS scripts not blocking in <head>","status":"n/a","detail":"No external scripts on the page.","evidence":[]}],"summary":{"passed":1,"warned":1,"failed":1,"notApplicable":4},"priorities":[{"title":"Page caching plugin / CDN active","severity":"high","detail":"No WordPress cache plugin marker or CDN edge cache detected on the document response."},{"title":"Hero image eagerly loaded","severity":"medium","detail":"Hero image has no explicit loading or fetchpriority (inferred from DOM order/size — Lighthouse LCP element unavailable). Browser default is eager but adding fetchpriority=\"high\" helps LCP."}]}}