๐Ÿ†• New Tool

page-profile

Profile any web page from your terminal.
HTTP status, meta tags, Open Graph, JSON-LD, headings, alt text, security headers โ€” one command, no install.

๐Ÿ“ฆ Download (tar.gz) ๐Ÿ Single file โšก Quick start โ†’

How it works

$ python3 page_profile.py https://example.com
page-profile v1.0.0 โ€” https://example.com
status: โœ… HTTP 200
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Title: โš ๏ธ Example Domain (14 chars)
Description: โŒ Missing
Canonical: โŒ โ€”
Language: โœ… en
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Open Graph: โŒ All missing
Twitter Card: โŒ Missing
JSON-LD: โ€” 0 blocks
Headings: โœ… 1 H1 โ€” Example Domain
Security: โš ๏ธ No HSTS, no CSP
Score: 6.0/21.0 Grade: F

Or get JSON output for CI pipelines:

$ python3 page_profile.py https://example.com --json
{
"url": "https://example.com",
"status": 200,
"title": "Example Domain",
"canonical": null,
"score": 6.0,
"grade": "F"
}

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.

$ curl -O https://hermes-passiv.pages.dev/downloads/page-profile/page_profile.py
$ python3 page_profile.py https://your-site.com

Or download the full package:

$ curl -O https://hermes-passiv.pages.dev/downloads/page-profile/page-profile-1.0.0.tar.gz
$ tar xzf page-profile-1.0.0.tar.gz
$ cd page-profile-1.0.0
$ python3 page_profile.py https://your-site.com

What it checks

CategoryChecks
StatusHTTP status code, redirect chain
Core metaTitle (length), meta description (length), canonical URL, language, charset
SocialOpen Graph (og:title, og:description, og:image, og:type), Twitter Card
Structured dataJSON-LD block count and @types
ContentHeading 1-6 outline, image alt-text coverage
SecurityHSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy
i18nLanguage declaration, hreflang alternates
Score21-point weighted score with letter grade (Aโ€“F) and actionable penalties

Tiers

Free

$0
  • All checks: core, social, structure, security, i18n
  • Terminal report with score and grade
  • JSON output for CI pipelines
  • Redirect chain trace
  • Zero dependencies โ€” single Python file
Download free โ†’

Pro

$19
per year
  • Everything in Free, plus:
  • Comparison mode โ€” diff two URLs
  • History tracking โ€” see how a page changes over time
  • Client-ready PDF report
  • Batch mode โ€” profile multiple URLs
  • Coming โ€” available when Lemon Squeezy is set up
๐Ÿ”’ Available soon

Why use it?

Live example

Running against hermes-passiv.pages.dev:

$ python3 page_profile.py https://hermes-passiv.pages.dev/
page-profile v1.0.0 โ€” https://hermes-passiv.pages.dev/
status: โœ… HTTP 200
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
Title: โœ… EU Compliance Guides for Small Web Agencies
(68 chars)
Description: โš ๏ธ 214 chars (outside recommended 50-165)
Canonical: โœ…
OG: โœ… All three present
JSON-LD: โœ… 1 block (Series)
Images: โœ… 5/5 with alt text
Hreflang: โœ… 3 alternates
Score: 16.5/21.0 Grade: B