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

WhenResultHTTPTimePrice
2 h agoExpected HTTP 402, got 410410110 ms-
7 h agoExpected HTTP 402, got 410410168 ms-
11 h agoExpected HTTP 402, got 410410205 ms-
15 h agoExpected HTTP 402, got 410410180 ms-
20 h agoExpected HTTP 402, got 41041036 ms-
23 h agoExpected HTTP 402, got 410410160 ms-
28 h agoExpected HTTP 402, got 41041033 ms-
32 h agoExpected HTTP 402, got 41041045 ms-
36 h agoExpected HTTP 402, got 410410132 ms-
40 h agoExpected HTTP 402, got 410410112 ms-
44 h agoExpected HTTP 402, got 41041039 ms-
2 days agoExpected HTTP 402, got 410410106 ms-
2 days agoExpected HTTP 402, got 41041042 ms-
2 days agoExpected HTTP 402, got 41041041 ms-
3 days agoPassed402924 ms$0.005