21trust / 100
Seo Audit
by Aayat AI in Security & trust
x402 APIFailing, checked 2 h ago
On-page SEO audit of a web page: title, meta description, headings, canonical, noindex, HTTPS, mobile viewport, language, Open Graph cards, image alt text, internal links, JSON-LD structured data, thin content, plus the site's robots.txt and sitemap. A 0-100 score, a grade and a list of issues, most important first, each with the fix. Pure code, same answer every time.
GET https://aayatai.com/seo/audit
Last 30 days
All checks passedSome failedAll failedNot checked
- Uptime
- 6.7%
- Response time
- 924 ms typical, 924 ms slowest 5%
- Last check
- 2 h ago: Expected HTTP 402, got 410
- Next check
- any minute now
How to call it
# See the payment challenge (nothing is charged)
curl -i -X GET "https://aayatai.com/seo/audit?url=https%3A%2F%2Fexample.com"import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
const client = new x402Client().register(
"eip155:8453",
new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Faayatai.com%2Fseo%2Faudit
const res = await pay("https://aayatai.com/seo/audit?url=https%3A%2F%2Fexample.com");
console.log(await res.json());Example input
{
"url": "https://example.com"
}Example output
{
"grade": "F",
"issues": [
{
"check": "mobile",
"fix": "Add <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">.",
"problem": "No mobile viewport tag.",
"severity": "high"
},
{
"check": "meta description",
"fix": "Add <meta name=\"description\"> of 70-160 characters summarising the page.",
"problem": "No meta description.",
"severity": "medium"
}
],
"page": {
"canonical": null,
"description": null,
"descriptionLength": 0,
"h1": [
"Example Domain"
],
"headings": 1,
"hreflang": [],
"htmlKb": 1,
"images": 0,
"imagesWithoutAlt": 0,
"lang": null,
"links": {
"external": 0,
"internal": 1
},
"loadMs": 120,
"openGraph": {
"description": false,
"image": false,
"title": false
},
"robotsMeta": null,
"status": 200,
"structuredData": [],
"title": "Example Domain",
"titleLength": 14,
"twitterCard": null,
"viewport": false,
"words": 16
},
"score": 38,
"site": {
"blockedByRobotsTxt": false,
"robotsTxt": false,
"sitemap": null
},
"url": "https://example.com/"
}Security scan
- No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 2 h ago | Expected HTTP 402, got 410 | 410 | 110 ms | - |
| 7 h ago | Expected HTTP 402, got 410 | 410 | 168 ms | - |
| 11 h ago | Expected HTTP 402, got 410 | 410 | 205 ms | - |
| 15 h ago | Expected HTTP 402, got 410 | 410 | 180 ms | - |
| 20 h ago | Expected HTTP 402, got 410 | 410 | 36 ms | - |
| 23 h ago | Expected HTTP 402, got 410 | 410 | 160 ms | - |
| 28 h ago | Expected HTTP 402, got 410 | 410 | 33 ms | - |
| 32 h ago | Expected HTTP 402, got 410 | 410 | 45 ms | - |
| 36 h ago | Expected HTTP 402, got 410 | 410 | 132 ms | - |
| 40 h ago | Expected HTTP 402, got 410 | 410 | 112 ms | - |
| 44 h ago | Expected HTTP 402, got 410 | 410 | 39 ms | - |
| 2 days ago | Expected HTTP 402, got 410 | 410 | 106 ms | - |
| 2 days ago | Expected HTTP 402, got 410 | 410 | 42 ms | - |
| 2 days ago | Expected HTTP 402, got 410 | 410 | 41 ms | - |
| 3 days ago | Passed | 402 | 924 ms | $0.005 |