Profile any web page from your terminal
HTTP status, meta tags, Open Graph, JSON-LD, headings, alt text, security headers — one command, no install.
How it works
Or get JSON output for CI pipelines:
Compare two pages
Paste two URLs to see their scores side by side — the same 21-point audit, diffed check by check.
Try it now — no install
Enter any URL and get the same report the CLI produces, right in your browser.
Quick start
Zero dependencies — uses only the Python standard library. Python 3.8+ required.
Or download the full package:
What it checks
| Category | Checks |
|---|---|
| Status | HTTP status code, redirect chain |
| Core meta | Title (length), meta description (length), canonical URL, language, charset |
| Social | Open Graph (og:title, og:description, og:image, og:type), Twitter Card |
| Structured data | JSON-LD block count and @types |
| Content | Heading 1-6 outline, image alt-text coverage |
| Security | HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy |
| i18n | Language declaration, hreflang alternates |
| Score | 21-point weighted score with letter grade (A–F) and actionable penalties |
Tiers
Free
- All checks: core, social, structure, security, i18n
- Terminal report with score and grade
- JSON output for CI pipelines
- Redirect chain trace
- History tracking — every single-URL profile run is recorded, so you can watch your score move over time
- Compare two pages side by side in your browser
- Zero dependencies — single Python file
Pro
- Everything in Free, plus:
- Compare mode from the command line — diff two URLs in your terminal
- Batch mode — profile multiple URLs, ranked by score
- Client-ready HTML report
- Online activation and validation — no account required
page-profile --activate YOUR-KEY.
Or pay once: $39 once, forever. The same Pro license with no renewal and no expiry. Founding price for the first 100 purchases only.
Buy Pro Lifetime — $39 once →Free vs Pro — side by side
| Plan | Free | Page Profile Pro |
|---|---|---|
| What you get |
|
|
| Price | $0no licence key needed | $19/year |
$39 once — lifetime, first 100 purchases · One licence covers 3 devices.
No alerts or notifications — check manually
Pro is a one-time decision per year: activation and regular license checks contact mahope.tools, while the last successful Pro status remains available for up to seven days during temporary service outages. If you audit pages for clients, the HTML report and batch mode pay for themselves on the first job.
Why use it?
- Zero dependencies — pure Python stdlib. No pip install, no npm, no Playwright. One file, any machine with Python 3.8+.
- 5-second check — faster than opening DevTools or a web auditor. Great for quick QA before publishing a page.
- CI-ready — JSON output works with jq, grep, or any pipeline. Gate deploys on a minimum score.
- Universal — works on any website (WordPress, Shopify, Next.js, static HTML — anything with a URL).
- Dependency-free — the profiling core uses only what comes with Python.
Live example
Running against mahope.tools/:
Free JSON API
Everything the web tool does is also a public REST endpoint — no key, no signup. Fetch any page and get structured JSON back: status, meta, Open Graph, JSON-LD, headings, alt-text coverage, security headers, plus a quality score and grade.
Fair use: 30 requests per visitor per day. For unlimited local runs, use the single-file Python CLI instead — same checks, no limits. Full docs: API reference · OpenAPI spec.