Lighthouse is great for deep audits, but it is heavy: a full browser render, dozens of seconds per run, and awkward in CI. For the everyday question — "is this page fast, valid and properly wired?" — a lightweight terminal profiler answers in seconds.
Updated August 2026 · 4 minute read
Full-render audits have their place. But three everyday jobs do not need them:
Did the new build ship a canonical tag? Is TTFB still sane? You want an answer now, not after a 40-second audit.
Installing headless Chrome in CI just to gate a deploy on a score is slow and fragile. A stdlib Python script has zero dependencies.
Lighthouse runs one page per invocation. Checking twenty landing pages means scripting around it — or one batch command.
page-profile is a free, open CLI that fetches the page server-side and scores 21 signals: response time, redirects, title/description lengths, Open Graph tags, canonical, hreflang, JSON-LD, headings, alt text and security headers.
Open hermes-passiv.pages.dev/page-profile,
paste the URL, get the report instantly.
curl -O https://hermes-passiv.pages.dev/downloads/page-profile/page_profile.py
python3 page_profile.py https://example.com
# Machine-readable output for scripts and CI:
python3 page_profile.py --json https://example.com | jq .score
No headless browser. The check fetches once and parses — typical run time is under two seconds.
--history stores past scores locally so you can see whether a release made things better or worse. Free for everyone.
Pure Python standard library — any machine with Python 3.8+, including CI containers and Raspberry Pis.
| Tool | Setup | Run time | Best for |
|---|---|---|---|
| Lighthouse | Chrome / Node | 30-60 s | Deep render audits, Core Web Vitals |
| PageSpeed Insights | None (web) | ~30 s | Field data, lab scores |
| curl + manual inspection | None | Seconds | One header at a time, expert eyes |
| page-profile | Single Python file | < 2 s | Everyday health checks, CI gates, batch runs |
They answer different questions. Use Lighthouse when you need rendered diagnostics; use page-profile when you need a fast, repeatable verdict you can put in a pipeline.
Yes. The free page-profile CLI fetches the page server-side and reports response time, HTTP status, redirects and page weight signals in a few seconds — no Chrome, no npm install, no Lighthouse setup. It complements Lighthouse: use it for quick health checks and CI gates, and Lighthouse for deep rendering audits.
It measures different things. PageSpeed Insights runs a full browser render and scores Core Web Vitals; page-profile checks what is actually served — metadata, Open Graph tags, canonical, hreflang, structured data, image alt text, HTTPS headers and redirect chains. Many teams run both: PSI monthly, page-profile on every deploy.
No. page-profile is a single Python file using only the standard library. Download it, run python3 page_profile.py https://example.com — works on macOS, Linux and Windows with Python 3.8+. There is also a browser version on the site that needs no download at all.
Yes. Add --json for machine-readable output and check the score field in your pipeline. The Pro tier adds batch mode over many URLs and client-ready HTML reports, but the single-URL check and JSON output are free.
Under about 200 ms server response (TTFB) for a static page is healthy; 200-800 ms is typical for dynamic sites; anything consistently above one second usually means caching is missing or the origin is slow. Run the check a few times — first hits include DNS and TLS setup.