Skip to main content

Score any URL for AI search readiness. Free open-source tool by Oryon.

Project description

Oryon AI Search Readiness Score

Score any URL for AI search readiness. Free, open-source, no signup. Try it live → score.seoryon.com

License: MIT PyPI GitHub stars


What this is

A free tool that scores any URL on 27 signals AI search engines use to decide what to cite, and returns the top fixes — ranked by impact.

Built and maintained by Oryon — the SEO engine that writes and publishes articles built to rank AND get cited. This is the demo. Your whole site is the product.

$ oryon-score https://example.com/blog/ai-overview-guide

  Oryon AI Search Readiness Score
  https://example.com/blog/ai-overview-guide
  The AI Overview Guide: How to Get Cited by Google AI

  62/100  ·  Grade C

  By bucket
    Schema Structure       ████████████████░░░░░░░░  18.6/30
    Content Format         █████████████████░░░░░░░  17.0/25
    Authority              ████████████░░░░░░░░░░░░  12.0/20
    Crawlability           ███████████████████░░░░░  11.4/15
    Freshness              ███░░░░░░░░░░░░░░░░░░░░░   3.0/10

  Top fixes (in order of impact)
    ✗ FAQ schema  (No FAQPage schema.)
      → Wrap your FAQ section in FAQPage JSON-LD — highest-correlation signal.
    ✗ TL;DR / summary block near top  (No TL;DR or summary block found.)
      → Add a 50-word TL;DR after the H1. AI summarizers lift these at much higher rates.
    ✗ Last modified date  (No modification date detected.)
      → Expose a dateModified in JSON-LD or via Last-Modified header.
    ...

  Want continuous scoring across every page on your site?
  → Try Oryon free for 3 days: seoryon.com

Why this exists

The market for AI citation tracking is dominated by dashboards starting at €295/mo. Most SEO teams just need to answer one question: "is my page set up to get cited at all?" That answer should be free.

This tool gives you that answer in 10 seconds. No signup. No tokens. Just paste a URL.

If you want continuous scoring across every URL on your site, plus AI citation tracking across ChatGPT / Perplexity / Gemini / Google AI, plus a writer that ships extractable articles automatically — that's Oryon. From €39/mo.


What it actually checks

27 signals across 5 buckets that AI Overviews + LLM citation systems actually weight:

Schema & structure (30 pts)

  • Article / BlogPosting JSON-LD
  • FAQPage schema (highest-correlation signal)
  • HowTo schema
  • BreadcrumbList schema
  • Heading hierarchy (1 H1, ≥3 H2s)
  • Definition lists (<dl>)
  • Table markup
  • Question-style H2s

Content / format (25 pts)

  • Word count in the 1200–3500 sweet spot
  • Direct answer in the first 60 words
  • TL;DR / summary block near the top
  • Bold emphasis in the first section
  • 3+ structured lists

Authority (20 pts)

  • Outbound links to .gov / .edu / Wikipedia
  • 5–50 internal links (healthy range)
  • Named author / byline (E-E-A-T)
  • Outbound link density (3–30)
  • <blockquote> / <cite> markup

Crawlability (15 pts)

  • HTTPS
  • Canonical URL
  • Mobile viewport
  • Open Graph (≥3 og:* tags)
  • llms.txt at site root
  • robots.txt allows GPTBot, ClaudeBot, PerplexityBot, CCBot, Google-Extended, etc.

Freshness (10 pts)

  • dateModified or Last-Modified header
  • Dated phrases in body ("as of May 2026")
  • Year in title

Each signal has a specific fix — what to change, where to change it, why it matters. No fluff.


Install

Web (no install)

Just open score.seoryon.com and paste a URL.

CLI (pip)

pip install oryon-score

oryon-score https://example.com/blog/your-best-article
oryon-score https://example.com --json
oryon-score https://example.com --out report.json

Requires Python 3.10+.

From source

git clone https://github.com/SEOryon/oryon-score
cd oryon-score
pip install -e .

oryon-score https://example.com

Use in Python

from oryon_score import score_url

result = score_url("https://example.com/blog/post")
print(result.score, result.grade)
for fix in result.fixes:
    print(" -", fix)

Deploy your own (Vercel)

The web/ + api/ folders deploy as a Vercel project. Two files matter:

  • web/index.html — the public scoring page
  • api/score.py — the Python serverless endpoint
npm i -g vercel
vercel

Done. Your fork is now live at your-project.vercel.app. Add a custom domain in Vercel's dashboard.


Sample output

See examples/example_output.json for the full JSON shape returned by the API and the --json flag.

The web UI renders the same data with bucket bars, top fixes, and a "what's working" passlist.


Why some sites score lower than they "should"

A score is not a verdict. It's a snapshot of extractable signals on the page itself. Three things this tool does not measure:

  1. Domain authority / backlink graph. Out of scope. AI citation correlates with authority, but measuring it requires a third-party API and we kept this free.
  2. Whether the page is actually cited today. Use the Citation Intelligence MCP by AutomateLab for live LLM citation data.
  3. Brand authority signals. Wikipedia mentions, press coverage, Reddit references — they matter, and the tool flags some, but it can't grade them holistically.

For all three layers, see Oryon — that's what the paid product does.


How it stays free

  • Runs on Vercel's free Python runtime
  • No third-party APIs, no API keys to maintain
  • No tracking, no telemetry, no user accounts
  • Self-hostable in one click

Open source under MIT. Fork it, run it on your own infra, change it, ship it.


Inspired by

This tool's structured-signal approach was inspired by citation-intelligence by AutomateLab — a self-hosted MCP server for measuring LLM citation visibility. Go check it out if you want programmatic citation data from inside Claude Code or Cursor. This tool solves a different layer (page readiness, not live citation queries) and is original work.


Contributing

PRs welcome. Especially:

  • New signals (anything with a published correlation study)
  • Translations of the web UI
  • WordPress / Webflow / Shopify integrations
  • A GitHub Action that scores changed URLs on every PR

See CONTRIBUTING.md.


License

MIT — see LICENSE.

Built by Oryon · Your Organic Growth Engine. Follow @SEOryon for SEO content that doesn't lie.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

oryon_score-0.1.0.tar.gz (14.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

oryon_score-0.1.0-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file oryon_score-0.1.0.tar.gz.

File metadata

  • Download URL: oryon_score-0.1.0.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for oryon_score-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2ad28252653e8401e42ed273cee8eabf27636e09ac4c9be4ffa9c79131e34ba0
MD5 989e19bea9175ed04a977f2f4e99763e
BLAKE2b-256 f755f27673f4665f8523a13418f4f13de6fe3233e19eaec10e15d3e30356653e

See more details on using hashes here.

File details

Details for the file oryon_score-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: oryon_score-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for oryon_score-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8452dd09c951c4d8478586c7fdc4e5405d03da54fe9d05d3c1f1905d0bacc0ec
MD5 5b2686dd061c79ae8e0bca24af5d9e3c
BLAKE2b-256 1808e3b4b51417cb47d1d3ef0b247839d6d8b5aa9d2f21bf3263014b2f28dde7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page