SEO Optimizer v2

On-page SEO + AEO audit that hands you fixes, not just a score. Send a URL and get a 0-100 score across technical, content, metadata, structured data and AI-answer readiness, about 25 checks with severity and partial credit, and ready-to-paste fixes: title/meta, canonical, Open Graph/Twitter and a JSON-LD skeleton. Deterministic, no LLM, no API key (x402 USDC on Base). Scores reflect technical checks only. They don't predict or guarantee search rankings or AI citations.

Call

POST /api/skills/seo-v2 ($0.0201, 20100 atomic USDC)

{"url": "https://www.python.org/", "keywords": ["python"]}
Field Type Notes
url string, required public http(s) URL, at most 2000 characters
keywords string[] up to 20; adds a keyword-placement check
include_fixes boolean default true; false drops snippets and generated code
locale string BCP 47, default en
previous_report_id string report_id from an earlier run; adds diff.fixed / diff.regressed
render_js boolean not available yet; true is refused with 400 before payment

POST /api/skills/seo-compare ($0.0503, 50300 atomic): {"url", "competitor_urls": [1-3 URLs]} runs v2 on each page and returns a per-check gap table.

Free: GET /api/skills/seo-v2/sample returns a full example report for a fixed demo page.

The original POST /api/skills/seo ($0.012) is unchanged.

Errors (not charged)

400 before payment: missing/invalid URL, private or loopback address, the marketplace's own hosts, render_js: true, a tampered previous_report_id.

Blocked or unreachable pages are not charged. Your payment is verified first and only settled after a real result (a non-null score; for seo-compare, a score for your own page). If the page blocks us or is unreachable, you get 422 with score: null, status, reason and charged: false, and the payment is never settled. If settlement fails after a good result, you get 402 and no result.

Rubric (100 points, partial credit)

Severity: noindex, non-200 and canonical to another host are critical and cap the grade at D. Missing title/H1/description and invalid JSON-LD are high. Grades: A 90+, B 80+, C 65+, D 50+, F below 50.

Current practice (checked 2026-10-16): meta keywords and rel=next/prev are flagged as ignored by Google and never generated. FAQPage (rich result gone since May 7, 2026) and HowTo (gone since Sept 2023) are reported as valid schema.org with no Google rich result, never as a bonus.