| Valid HTML5 doctype | PASS | <!DOCTYPE html> present |
| UTF-8 charset | PASS | meta charset set |
| Viewport meta | PASS | Responsive viewport configured |
| Semantic HTML | PASS | Uses <main>, <header>, <article>, <section> |
| Structured data | PASS | JSON-LD schema.org WebPage markup |
| Robots meta | PASS | noindex, nofollow set for test page |
| HTTPS resources (good section) | PASS | Image loaded over HTTPS |
| Render-blocking script | FAIL | Lodash loaded synchronously in head |
| Unminified CSS | FAIL | Bloated CSS with comments and whitespace |
| Missing preconnect hints | FAIL | No <link rel="preconnect"> for CDN |
| Missing canonical URL | FAIL | No <link rel="canonical"> |
| Missing Open Graph | FAIL | No og:title, og:description, og:image |
| Missing meta description | FAIL | No <meta name="description"> |
| Console errors | FAIL | JavaScript throws uncaught ReferenceError |
| Deprecated HTML | FAIL | <center> and <font> elements used |
| document.write() | FAIL | Uses document.write() to inject content |
| Large unoptimised image | FAIL | 3000x2000 image served at 600x400, no srcset |
| Missing lazy loading | FAIL | Below-fold images without loading="lazy" |
| Excessive inline styles | FAIL | Multiple elements with long style attributes |
| Non-passive event listener | FAIL | Touch listener with preventDefault() |