{
"url": "https://example.com/",
"finalUrl": "https://example.com/",
"ok": true,
"score": 29,
"maxScore": 100,
"grade": "F",
"geoScore": 40,
"statusCode": 200,
"responseTimeMs": 16,
"pageBytes": 577,
"truncated": false,
"checks": [
{
"id": "title_present",
"category": "meta",
"label": "Title tag present",
"status": "pass",
"points": 8,
"maxPoints": 8,
"details": "Title: \"Example Domain\"",
"fix": null
},
{
"id": "title_length",
"category": "meta",
"label": "Title length 30-60 chars",
"status": "warn",
"points": 0,
"maxPoints": 4,
"details": "Title is 14 characters.",
"fix": "Rewrite the title to 30-60 characters so it is not truncated in search results."
},
{
"id": "description_present",
"category": "meta",
"label": "Meta description present",
"status": "fail",
"points": 0,
"maxPoints": 8,
"details": "No meta description found.",
"fix": "Add a meta description of 70-160 characters summarising the page."
},
{
"id": "description_length",
"category": "meta",
"label": "Description length 70-160 chars",
"status": "fail",
"points": 0,
"maxPoints": 4,
"details": "No description to measure.",
"fix": "Adjust the meta description to 70-160 characters."
},
{
"id": "canonical_present",
"category": "meta",
"label": "Canonical URL declared",
"status": "warn",
"points": 0,
"maxPoints": 3,
"details": "No rel=canonical link found.",
"fix": "Add <link rel=\"canonical\"> pointing at the preferred URL for this page."
},
{
"id": "viewport_present",
"category": "meta",
"label": "Viewport meta present (mobile)",
"status": "warn",
"points": 0,
"maxPoints": 3,
"details": "No viewport meta found.",
"fix": "Add <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">."
},
{
"id": "h1_single",
"category": "content",
"label": "Exactly one H1 heading",
"status": "fail",
"points": 0,
"maxPoints": 8,
"details": "No H1 found.",
"fix": "Use exactly one H1 that states the page's main topic."
},
{
"id": "h2_present",
"category": "content",
"label": "H2 subheadings present",
"status": "warn",
"points": 0,
"maxPoints": 4,
"details": "0 H2 heading(s) found.",
"fix": "Structure the page with H2 subheadings for each main section."
},
{
"id": "word_count",
"category": "content",
"label": "At least 300 words of visible text",
"status": "fail",
"points": 0,
"maxPoints": 6,
"details": "27 words of visible text.",
"fix": "Expand the page copy to at least 300 words of substantive, server-rendered text."
},
{
"id": "image_alt",
"category": "content",
"label": "Image alt text coverage >= 80%",
"status": "pass",
"points": 4,
"maxPoints": 4,
"details": "No <img> tags on the page.",
"fix": null
},
{
"id": "lang_present",
"category": "content",
"label": "html lang attribute present",
"status": "warn",
"points": 0,
"maxPoints": 3,
"details": "No lang attribute on <html>.",
"fix": "Add a lang attribute to the <html> tag, e.g. <html lang=\"en\">."
},
{
"id": "https",
"category": "technical",
"label": "Served over HTTPS",
"status": "pass",
"points": 6,
"maxPoints": 6,
"details": "Final URL: https://example.com/",
"fix": null
},
{
"id": "status_200",
"category": "technical",
"label": "HTTP status 200",
"status": "pass",
"points": 6,
"maxPoints": 6,
"details": "Status: 200",
"fix": null
},
{
"id": "indexable",
"category": "technical",
"label": "Page is indexable (no noindex)",
"status": "pass",
"points": 5,
"maxPoints": 5,
"details": "No noindex directive; Googlebot allowed.",
"fix": null
},
{
"id": "robots_txt",
"category": "technical",
"label": "robots.txt present",
"status": "warn",
"points": 0,
"maxPoints": 4,
"details": "No robots.txt at the origin root.",
"fix": "Publish a robots.txt at the site root with your crawl rules and sitemap location."
},
{
"id": "sitemap",
"category": "technical",
"label": "XML sitemap discoverable",
"status": "warn",
"points": 0,
"maxPoints": 4,
"details": "No sitemap found via robots.txt or /sitemap.xml.",
"fix": "Generate an XML sitemap and reference it from robots.txt with a Sitemap: line."
},
{
"id": "og_tags",
"category": "social",
"label": "Open Graph tags present",
"status": "warn",
"points": 0,
"maxPoints": 6,
"details": "No og: tags found.",
"fix": "Add og:title, og:description, og:image and og:type so shared links render properly."
},
{
"id": "twitter_card",
"category": "social",
"label": "Twitter card declared",
"status": "warn",
"points": 0,
"maxPoints": 3,
"details": "No twitter:card meta found.",
"fix": "Add <meta name=\"twitter:card\" content=\"summary_large_image\">."
},
{
"id": "jsonld_present",
"category": "social",
"label": "JSON-LD structured data present",
"status": "warn",
"points": 0,
"maxPoints": 7,
"details": "No JSON-LD structured data found.",
"fix": "Add JSON-LD structured data (e.g. Article, Product, WebPage) describing the page entity."
},
{
"id": "jsonld_valid",
"category": "social",
"label": "JSON-LD parses as valid JSON",
"status": "warn",
"points": 0,
"maxPoints": 4,
"details": "No JSON-LD to validate.",
"fix": "Fix the JSON-LD syntax so search engines and AI systems can parse it."
}
],
"geo": {
"score": 40,
"aiCrawlerAccess": {
"GPTBot": "allowed",
"ClaudeBot": "allowed",
"PerplexityBot": "allowed",
"Google-Extended": "allowed",
"CCBot": "allowed"
},
"llmsTxt": false,
"checks": [
{
"id": "llms_txt",
"label": "llms.txt present for AI systems",
"status": "warn",
"points": 0,
"maxPoints": 25,
"details": "No llms.txt at the origin root.",
"fix": "Publish an llms.txt that summarises the site and links its key pages for AI systems."
},
{
"id": "ai_crawlers",
"label": "AI crawlers allowed in robots.txt",
"status": "pass",
"points": 30,
"maxPoints": 30,
"details": "GPTBot: allowed; ClaudeBot: allowed; PerplexityBot: allowed; Google-Extended: allowed; CCBot: allowed.",
"fix": null
},
{
"id": "geo_structured_data",
"label": "Structured data available to AI/search parsers",
"status": "fail",
"points": 0,
"maxPoints": 15,
"details": "No JSON-LD found.",
"fix": "Add valid JSON-LD describing the page entity so AI systems can cite it accurately."
},
{
"id": "geo_metadata",
"label": "Title and description complete for citation snippets",
"status": "warn",
"points": 5,
"maxPoints": 10,
"details": "Title: present; description: missing.",
"fix": "Complete the title and meta description; AI answers quote them when citing pages."
},
{
"id": "geo_server_rendered",
"label": "Content readable without JavaScript (>= 300 words raw HTML)",
"status": "fail",
"points": 0,
"maxPoints": 10,
"details": "27 words in raw HTML."
}
]
},
"_note": "Response truncated for documentation purposes"
}
curl --location --request GET 'https://zylalabs.com/api/14801/seoscore+api/38378/audit+one+page?url=https://example.com' --header 'Authorization: Bearer YOUR_API_KEY'
{
"results": [
{
"url": "https://example.com/",
"finalUrl": "https://example.com/",
"ok": true,
"score": 29,
"maxScore": 100,
"grade": "F",
"geoScore": 40,
"statusCode": 200,
"responseTimeMs": 17,
"pageBytes": 577,
"truncated": false,
"checks": [
{
"id": "title_present",
"category": "meta",
"label": "Title tag present",
"status": "pass",
"points": 8,
"maxPoints": 8,
"details": "Title: \"Example Domain\"",
"fix": null
},
{
"id": "title_length",
"category": "meta",
"label": "Title length 30-60 chars",
"status": "warn",
"points": 0,
"maxPoints": 4,
"details": "Title is 14 characters.",
"fix": "Rewrite the title to 30-60 characters so it is not truncated in search results."
},
{
"id": "description_present",
"category": "meta",
"label": "Meta description present",
"status": "fail",
"points": 0,
"maxPoints": 8,
"details": "No meta description found.",
"fix": "Add a meta description of 70-160 characters summarising the page."
},
{
"id": "description_length",
"category": "meta",
"label": "Description length 70-160 chars",
"status": "fail",
"points": 0,
"maxPoints": 4,
"details": "No description to measure.",
"fix": "Adjust the meta description to 70-160 characters."
},
{
"id": "canonical_present",
"category": "meta",
"label": "Canonical URL declared",
"status": "warn",
"points": 0,
"maxPoints": 3,
"details": "No rel=canonical link found.",
"fix": "Add <link rel=\"canonical\"> pointing at the preferred URL for this page."
},
{
"id": "viewport_present",
"category": "meta",
"label": "Viewport meta present (mobile)",
"status": "warn",
"points": 0,
"maxPoints": 3,
"details": "No viewport meta found.",
"fix": "Add <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">."
},
{
"id": "h1_single",
"category": "content",
"label": "Exactly one H1 heading",
"status": "fail",
"points": 0,
"maxPoints": 8,
"details": "No H1 found.",
"fix": "Use exactly one H1 that states the page's main topic."
},
{
"id": "h2_present",
"category": "content",
"label": "H2 subheadings present",
"status": "warn",
"points": 0,
"maxPoints": 4,
"details": "0 H2 heading(s) found.",
"fix": "Structure the page with H2 subheadings for each main section."
},
{
"id": "word_count",
"category": "content",
"label": "At least 300 words of visible text",
"status": "fail",
"points": 0,
"maxPoints": 6,
"details": "27 words of visible text.",
"fix": "Expand the page copy to at least 300 words of substantive, server-rendered text."
},
{
"id": "image_alt",
"category": "content",
"label": "Image alt text coverage >= 80%",
"status": "pass",
"points": 4,
"maxPoints": 4,
"details": "No <img> tags on the page.",
"fix": null
},
{
"id": "lang_present",
"category": "content",
"label": "html lang attribute present",
"status": "warn",
"points": 0,
"maxPoints": 3,
"details": "No lang attribute on <html>.",
"fix": "Add a lang attribute to the <html> tag, e.g. <html lang=\"en\">."
},
{
"id": "https",
"category": "technical",
"label": "Served over HTTPS",
"status": "pass",
"points": 6,
"maxPoints": 6,
"details": "Final URL: https://example.com/",
"fix": null
},
{
"id": "status_200",
"category": "technical",
"label": "HTTP status 200",
"status": "pass",
"points": 6,
"maxPoints": 6,
"details": "Status: 200",
"fix": null
},
{
"id": "indexable",
"category": "technical",
"label": "Page is indexable (no noindex)",
"status": "pass",
"points": 5,
"maxPoints": 5,
"details": "No noindex directive; Googlebot allowed.",
"fix": null
},
{
"id": "robots_txt",
"category": "technical",
"label": "robots.txt present",
"status": "warn",
"points": 0,
"maxPoints": 4,
"details": "No robots.txt at the origin root.",
"fix": "Publish a robots.txt at the site root with your crawl rules and sitemap location."
},
{
"id": "sitemap",
"category": "technical",
"label": "XML sitemap discoverable",
"status": "warn",
"points": 0,
"maxPoints": 4,
"details": "No sitemap found via robots.txt or /sitemap.xml.",
"fix": "Generate an XML sitemap and reference it from robots.txt with a Sitemap: line."
},
{
"id": "og_tags",
"category": "social",
"label": "Open Graph tags present",
"status": "warn",
"points": 0,
"maxPoints": 6,
"details": "No og: tags found.",
"fix": "Add og:title, og:description, og:image and og:type so shared links render properly."
},
{
"id": "twitter_card",
"category": "social",
"label": "Twitter card declared",
"status": "warn",
"points": 0,
"maxPoints": 3,
"details": "No twitter:card meta found.",
"fix": "Add <meta name=\"twitter:card\" content=\"summary_large_image\">."
},
{
"id": "jsonld_present",
"category": "social",
"label": "JSON-LD structured data present",
"status": "warn",
"points": 0,
"maxPoints": 7,
"details": "No JSON-LD structured data found.",
"fix": "Add JSON-LD structured data (e.g. Article, Product, WebPage) describing the page entity."
},
{
"id": "jsonld_valid",
"category": "social",
"label": "JSON-LD parses as valid JSON",
"status": "warn",
"points": 0,
"maxPoints": 4,
"details": "No JSON-LD to validate.",
"fix": "Fix the JSON-LD syntax so search engines and AI systems can parse it."
}
],
"geo": {
"score": 40,
"aiCrawlerAccess": {
"GPTBot": "allowed",
"ClaudeBot": "allowed",
"PerplexityBot": "allowed",
"Google-Extended": "allowed",
"CCBot": "allowed"
},
"llmsTxt": false,
"checks": [
{
"id": "llms_txt"
}
]
}
}
],
"_note": "Response truncated for documentation purposes"
}
curl --location --request POST 'https://zylalabs.com/api/14801/seoscore+api/38380/batch+audit' --header 'Authorization: Bearer YOUR_API_KEY'
--data-raw '{"urls": ["https://example.com/", "https://www.iana.org/"]}'
साइन अप करने के बाद, प्रत्येक डेवलपर को एक पर्सनल API एक्सेस की असाइन की जाती है, जो अक्षरों और अंकों का एक यूनिक संयोजन होता है, जिसका उपयोग हमारे API एंडपॉइंट तक पहुंचने के लिए किया जाता है। प्रमाणीकरण के लिए एसईओस्कोर API के साथ बस अपने बेयरर टोकन को Authorization हेडर में शामिल करें।
| हेडर | विवरण |
|---|---|
Authorization
|
आवश्यक
होना चाहिए Bearer access_key. जब आप सब्सक्राइब हों तो ऊपर "Your API Access Key" देखें।
|
कोई लंबी अवधि की प्रतिबद्धता नहीं। कभी भी अपग्रेड, डाउनग्रेड या कैंसल करें।
क्योंकि स्कोर फेच किए गए एचटीएमएल, स्थिति और हेडर पर शुद्ध नियम है समय जानबूझकर बाहर रखा गया है यदि स्कोर बदलता है तो पृष्ठ या इसके robots.txt / llms.txt बदला गया।
दोनों नहीं यह कच्चे एचटीएमएल का ऑडिट करता है जिस तरह से अधिकांश क्रॉलर पहले इसे देखते हैं और रिपोर्ट केवल ऑन-पेज और तकनीकी सिग्नल्स को कवर करती है कोई आविष्कारित बैकलिंक रैंकिंग या प्रयोगशाला मेट्रिक्स नहीं
अधिकतम 25 प्रत्येक बैच कॉल प्रति-यूआरएल परिणाम और एक ही प्रतिक्रिया में सारांश लौटाता है; बड़ी सूचियाँ कॉल में विभाजित की जानी चाहिए
प्रस्तुत पृष्ठ AI खोज के लिए कितना दृश्यमान है: क्या llms.txt मौजूद है, क्या GPTBot, ClaudeBot, PerplexityBot, Google-Extended और CCBot को robots.txt द्वारा अनुमति दी गई है, क्या वैध JSON-LD संरचित डेटा मौजूद है, क्या शीर्षक और विवरण AI उत्तर में उद्धृत करने के लिए पर्याप्त पूर्ण हैं, क्या सामग्री JavaScript के बिना पढ़ने योग्य है, और क्या एक कैनोनिकल URL HTTPS पर उपलब्ध है
नहीं निजी लूपबैक और लिंक-लोकल पते अस्वीकार किए जाते हैं ऑडिट केवल सार्वजनिक पृष्ठों को कवर करता है और पृष्ठ के अधिकतम 512 केबी पढ़ता है