Skip to main content
Glama

seo_audit

Read-onlyIdempotent

Audit a domain's homepage SEO with a 0-100 score and list of missing signals. Get actionable fixes for title, meta, headers, JSON-LD, and more.

Instructions

One-shot SEO audit of a domain's homepage with a 0-100 composite score + a missing_signals list of concrete fixes. Use BEFORE pitching SEO work to a prospect, when triaging a lead's marketing maturity, or as a structured pre-flight before deeper auditing tools (Lighthouse / SEMrush). 10 audit rules each worth 10 pts: title present, title length 30-60 chars (Google SERP truncation window), meta description present, meta description length 50-160, exactly one H1, canonical link, >=3 OG tags, JSON-LD present, image alt-text coverage (proportional), HTTPS. Strictly homepage-only — we do NOT crawl the site. Ethical floor: target's robots.txt is honoured — Disallow: / for ContrastAPI OR * returns 403 error.code = robots_txt_disallow and we DO NOT fetch. Cache-Control: no-store/private skips our cache write (cache_respected=false in the response). Per-target eTLD+1 throttle (60 req/min) prevents weaponising via subdomain rotation. All target-derived strings/lists are _untrusted. Free: 30/hr, Pro: 500/hr. Returns {domain, fetched_url, status_code, title_untrusted, meta_description_untrusted, canonical_url, h1_untrusted, h1_count, h2_count, h3_count, images_total, images_missing_alt, internal_link_count, external_link_count, og_tags, json_ld_present, score, missing_signals, cache_respected, summary}. Returns 502 on DNS/TCP/TLS failure; 403 robots_txt_disallow when the target opted out.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
domainYesRegistrable domain to audit SEO for (e.g. 'example.com', 'shopify.com'). No scheme, no path, no port. Strictly homepage-only — the bot fetches https://<domain>/ with HTTP fallback and audits that single page (we do NOT crawl).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description extensively details behavior beyond annotations: ethical floor (honoring robots.txt), cache control respect, rate limits (60 req/min per eTLD+1), free/pro tiers, error codes (502, 403 with specific error code), and security note on untrusted strings. Annotations only provide readOnlyHint, destructiveHint, idempotentHint, openWorldHint; description adds significant context. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is packed with essential information and is front-loaded with purpose and usage. It could be slightly trimmed (e.g., listing all 10 audit rules may be excess detail for some users), but every sentence serves a purpose. It remains well-organized and readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex (SEO audit with 10 rules, ethical constraints, rate limiting, error handling), and the description covers all aspects. The output schema exists, so return values are documented. No gaps are apparent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'domain' is thoroughly documented in both the schema description and the main description. The schema describes the format (e.g., 'example.com'), and the main description reinforces 'No scheme, no path, no port.' This adds meaning beyond the schema alone.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'One-shot SEO audit of a domain's homepage with a 0-100 composite score + a missing_signals list of concrete fixes.' It distinguishes from sibling tools like 'audit_domain' by specifying it is homepage-only and does not crawl. It also provides context on when to use it (before pitching, triaging, pre-flight).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage guidance: 'Use BEFORE pitching SEO work to a prospect, when triaging a lead's marketing maturity, or as a structured pre-flight before deeper auditing tools (Lighthouse / SEMrush).' It also explicitly states 'Strictly homepage-only — we do NOT crawl the site,' which tells when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/UPinar/contrastapi'

If you have feedback or need assistance with the MCP directory API, please join our Discord server