SEO Score
pro/v1/score/seoReturns a composite SEO score (0-100) aggregated from 8 weighted components: on-page SEO audit (23%), Core Web Vitals (15%), technical SEO — canonical, indexability, viewport, lang, HTTPS (20%), structured data — JSON-LD/Schema.org validation (8%), content freshness (5%), content quality — readability, image optimization, link text (15%), link health (10%), and social meta — Open Graph + Twitter Card (4%). Scoring methodology aligns with Google Lighthouse SEO audit checks and Google Search Essentials guidelines.
What It Does
Runs multiple SEO audits in parallel and aggregates results. On-page SEO (23% weight) evaluates title tags, meta descriptions, heading hierarchy, image alt text, internal/external links, content length, keyword diversity, keyword prominence, and keyword-in-URL. Core Web Vitals (15%) queries Google CrUX for LCP, INP, CLS, TTFB, and FCP. Technical SEO (20%) checks canonical URL validity, noindex directives (meta robots + X-Robots-Tag), viewport meta tag with mobile-friendliness validation, HTML lang attribute, HTTPS, HTTP status code, and character encoding. Structured data (8%) parses JSON-LD and Microdata for Schema.org types, validates required fields, and checks for high-value types like Organization, WebSite, BreadcrumbList, Article, and Product. Content quality (15%) measures Flesch Reading Ease score, image dimension/lazy-loading optimization, and link text descriptiveness. Content freshness (5%) analyzes Last-Modified headers, JSON-LD dates, and meta tag timestamps. Link health (10%) checks for broken links, redirect chains, and anchor text quality. Social meta (4%) scores Open Graph and Twitter Card tag completeness. All component scores are normalized to a 0-100 scale. Handles partial failures gracefully — if one component fails, others still contribute.
Why It's Useful
SEO involves dozens of factors across technical, content, and off-page categories. A composite score distills this complexity into a single actionable metric for tracking, reporting, and benchmarking. Component breakdowns show exactly where to invest effort. The scoring aligns with official Google Lighthouse SEO audits (14 automated checks) and Google Search Essentials, ensuring the score reflects what actually impacts search rankings.
Use Cases
SEO Health Dashboard
Track composite SEO scores across all properties in a single dashboard.
Monitor overall SEO health and identify properties needing attention.
Client Reporting
Generate monthly SEO score reports for clients showing progress and component breakdown.
Demonstrate ROI of SEO services with a clear, trackable metric.
Pre-Launch Validation
Run an SEO score check before launching or updating a website to ensure SEO readiness.
Catch SEO issues across all dimensions before they affect rankings.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
domain | string | Required | The domain or full URL to calculate composite SEO score forExample: example.com |
Response Fields
| Field | Type | Description |
|---|---|---|
domain | string | The scored domain |
url | string | The URL that was analyzed |
seoScore | number | Composite SEO score 0-100 (weighted sum of 8 components) |
grade | string | Letter grade: A+ (95-100), A (85-94), B (70-84), C (50-69), D (30-49), F (0-29) |
components | object | Individual component scores with score and availability |
components.onPageSeo | object | On-page SEO audit: title, meta description, headings, images, links, content, keywords (score 0-100) |
components.webVitals | object | Core Web Vitals from CrUX: LCP, INP, CLS, TTFB, FCP (score 0-100) |
components.technicalSeo | object | Technical SEO: canonical URL, indexability, viewport/mobile, lang, HTTPS, status code, charset (score 0-100) |
components.structuredData | object | Structured data: JSON-LD/Schema.org presence, validity, and high-value types (score 0-100) |
components.socialMeta | object | Social meta: Open Graph and Twitter Card tag completeness (score 0-100) |
components.contentFreshness | object | Content freshness: publication dates and update signals (score 0-100) |
components.contentQuality | object | Content quality: Flesch readability score, image dimensions/lazy loading, descriptive link text (score 0-100) |
components.linkHealth | object | Link health: broken links, redirect chains, anchor text quality (score 0-100) |
breakdown | object | Detailed score breakdown with score, max, and details for each of the 8 components |
topRecommendations | array | Top 5 prioritized SEO improvements from all components |
componentsFetched | number | Number of data sources successfully fetched (0-4) |
partialFailure | boolean | Whether any data sources failed to load |
Code Examples
curl "https://api.edgedns.dev/v1/score/seo" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d "domain=example.com"const response = await fetch(
'https://api.edgedns.dev/v1/score/seo?domain=example.com',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
console.log(data);import requests
response = requests.get(
'https://api.edgedns.dev/v1/score/seo',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={
'domain': 'example.com'
}
)
data = response.json()
print(data)Read the full SEO Score guide
Why it matters, real-world use cases, parameters, response fields, and how to call it from Claude, ChatGPT, or Gemini via MCP.
Read the guide →Related Endpoints
External References
Learn more about the standards and protocols behind this endpoint.