← Back to projects

SiteScore: website checks for non-technical users

A website check that shows non-technical users where their site can improve: performance, SEO, social previews, redirects and security headers.

SiteScore: website checks for non-technical users

Why I built SiteScore

Many business owners know that their website “works”, but not whether it is technically well built. SiteScore was built to make that gap smaller: enter a domain and get a clear analysis of issues that are normally hidden inside Lighthouse reports, browser tools or SEO checklists.

The reason for building it was practical too. For a long time I had been looking for a simple way to bring websites to a consistently high technical level, without juggling separate tools, manual checklists and scattered reports.

The tool checks performance, search visibility, social previews, redirects, security headers and the basic structure of a website. The goal is not to overwhelm people with technical details, but to show where improvement is possible and which issues deserve priority.

How it is built

The public interface is a fast static Astro site with Preact islands and Tailwind CSS, deployed through Netlify as a static build. The scan itself runs through a Node.js/Express API on my own VPS. That backend performs the analysis, validates input, limits scan volume and checks origin headers to reduce abuse.

For browser-based checks, the backend uses Puppeteer with headless Chrome. Faster HTML and metadata checks are handled with Cheerio and direct HTTP/header checks. Lighthouse scores and Core Web Vitals are fetched through the Google PageSpeed Insights API for mobile and desktop. This lets SiteScore combine real browser results, Lighthouse data and quick technical analysis.

The scan flow is privacy-first. Results are processed immediately to show the report. Only when a user enters an email address for a more detailed report or contact are the lead details and scan context stored and processed by email.

Testing and quality

The backend has route and scenario tests using Jest and Supertest. I also test scan flows manually with websites that deliberately expose different problems: missing metadata, redirect chains, broken social previews, weak security headers, invalid URLs and websites that respond slowly or unpredictably.

The frontend is checked as a static build and tested with Lighthouse. That is intentional: a tool that evaluates website quality should itself be fast, accessible and reliable. Since I started using SiteScore during the build and delivery of websites, I have consistently reached 100% scores on the technical checks, including Lighthouse.

Context

SiteScore connects to my work on fast static websites through Wooning Solutions. It makes visible what I already care about during development: websites should load quickly, be easy to index, have clear metadata and respond cleanly at a technical level.

For me, SiteScore has become a practical working tool. It brings the most important quality checks together in a form I can keep using during design, development and delivery.

View the live project at sitescore.wooning.cz.