Verified AgentReady.md certificate
Issued sig: 03e06ab4afd1cf56 Verify →

Analyzed URL

https://api.in4ra.co.uk/

Measured 5 days ago

Analyze another URL

AI-Ready Score

Poor

out of 100

Token Savings

HTML tokens 8
Markdown tokens 9
Savings -12%

Score Breakdown

Semantic HTML 45/100
Content Efficiency 60/100
AI Discoverability 63/100
Structured Data 0/100
Accessibility 70/100

Emerging protocols

1 of 6 detected

Well-known endpoints AI agents look for. Detected here means an agent can discover and connect to your service automatically.

  • OAuth Protected Resource RFC 9728
    /.well-known/oauth-protected-resource
  • OAuth Discovery RFC 8414
    /.well-known/oauth-authorization-server
    • issuer: https://api.in4ra.co.uk
    • token_endpoint: https://api.in4ra.co.uk/oauth/token
  • MCP Server Card SEP-1649 draft
    /.well-known/mcp/server-card.json
  • A2A Agent Card A2A v1.0
    /.well-known/agent-card.json
  • API Catalog RFC 9727
    /.well-known/api-catalog
  • Agent Skills index Discovery RFC v0.2.0 draft
    /.well-known/agent-skills/index.json

Doesn't stay fixed by itself. Monitoring isn't built yet — join the list and we'll tell you when it is.

You're on the list! We'll notify you when it launches.

What we measured Missing <article> and <main> elements

Your page doesn't use <article> or <main> elements. These semantic containers help AI agents identify the primary content area and ignore navigation, sidebars, and footers.

How to implement

Add a <main> element around your page's primary content, and use <article> for self-contained content blocks like blog posts or product descriptions.

Paste into a coding agent to make the fix

What we measured -12% token reduction (HTML→Markdown)

The HTML-to-Markdown conversion shows a low token reduction ratio. Your page has excessive markup relative to content.

How to implement

Remove unnecessary markup, inline styles, and presentational elements. Keep content-focused HTML that converts cleanly to Markdown.

Paste into a coding agent to make the fix

What we measured No headings found

Your heading structure has issues (skipped levels or multiple h1 tags). A clean hierarchy helps AI agents understand content organization.

How to implement

Ensure you have exactly one <h1> per page, and headings follow sequential order: h1 > h2 > h3. Don't skip levels (e.g., h1 directly to h3).

Paste into a coding agent to make the fix

What we measured No sitemap found

No sitemap found. A sitemap helps AI agents discover all pages on your site.

How to implement

Create a /sitemap.xml listing all your public pages. Most CMS platforms can generate this automatically.

Paste into a coding agent to make the fix

What we measured 2/3 AI bots blocked: ClaudeBot, GPTBot

Your robots.txt blocks some AI bots (GPTBot, ClaudeBot, PerplexityBot). This prevents AI agents from indexing your content.

How to implement

Update your robots.txt to allow AI bots. Add explicit Allow rules for GPTBot, ClaudeBot, and PerplexityBot.

Paste into a coding agent to make the fix

What we measured No JSON-LD / Schema.org found

No Schema.org structured data found. JSON-LD helps AI agents extract factual, structured information from your pages.

How to implement

Add a <script type="application/ld+json"> block with Schema.org markup. Use appropriate types: Article for blog posts, Product for products, Organization for your company page.

Paste into a coding agent to make the fix

What we measured 0/3 OG tags present

Missing or incomplete Open Graph tags. OG tags help AI agents (and social platforms) understand your page title, description, and image.

How to implement

Add og:title, og:description, and og:image meta tags to your page's <head>.

Paste into a coding agent to make the fix

What we measured No meta description

No meta description found. This tag provides a concise summary of the page for AI agents and search engines.

How to implement

Add a <meta name="description" content="..."> tag with a 150-160 character description of the page content.

Paste into a coding agent to make the fix

What we measured Main content starts at 100% of HTML

The main content appears late in the HTML document. AI agents may give more weight to content that appears early.

How to implement

Restructure your HTML so that <main> or <article> content appears before sidebars and supplementary content.

Paste into a coding agent to make the fix

What we measured No canonical URL

No canonical URL found. This helps AI agents identify the preferred version of a page and avoid duplicate content.

How to implement

Add a <link rel="canonical" href="..."> tag pointing to the canonical URL of the page.

Paste into a coding agent to make the fix
Markdown tokens: 9
in4ra API Subdomain Gateway Active
in4ra API Subdomain Gateway Active

Upload this file as /index.md on your server so AI agents can access a clean version of your page. You can also configure Accept: text/markdown content negotiation to serve it automatically.

Our recommendation

Download llms.txt
# api.in4ra.co.uk

## Main
- [Home](https://api.in4ra.co.uk/)

Full llms.txt requires domain-wide analysis (coming soon)

Upload this file to https://api.in4ra.co.uk/llms.txt at the root of your domain. AI agents like ChatGPT, Claude, and Perplexity check this file to understand your site structure.

This site already has a llms.txt file.

Valid format
# In4ra IT Business Support

> London-based, remote-first IT services company providing enterprise-grade IT support and cybersecurity tailored to organisations across the UK. Founded in 2019.

## Core Services
- **Managed IT Services**: Proactive remote monitoring, round-the-clock helpdesk, device provisioning, and end-to-end IT infrastructure management.
- **Cybersecurity**: Advanced endpoint protection, DfE Cyber Security Standards implementation, policy reviews, risk assessments, and staff awareness training.
- **Cloud Solutions & M365**: Full setup, migration, administration, and optimization of Microsoft 365 and hybrid cloud environments.
- **Backup & Business Continuity**: Secure, automated data backups and disaster recovery planning to minimize downtime.
- **Network & Wireless**: High-performance, secure network designs, and wireless infrastructure deployment.
- **IT Consultancy**: Strategic advice aligned with business objectives, compliance, and budget requirements.

## Sectors Served
- **Education**: Schools, Academies, and Multi-Academy Trusts (MATs) — featuring Ofsted-compliant filtering, DfE standards, and GDPR support.
- **Professional Services**: Compliant infrastructure and secure remote access for legal, finance, and consultancy practices.
- **Retail & Hospitality**: Fast POS systems, stable guest Wi-Fi networks, and secure payment processing.
- **SMEs & Startups**: Scalable, flat-rate managed IT plans with no lock-in contracts.

## Key Links
- [Homepage](https://www.in4ra.co.uk/)
- [About Us](https://www.in4ra.co.uk/about)
- [IT Support for Schools & Education](https://www.in4ra.co.uk/education)
- [In4ra IT Management Programme](https://www.in4ra.co.uk/management-programme)
- [Contact Us](https://www.in4ra.co.uk/contact)

## Contact
- **Email**: [email protected]
- **Website**: https://www.in4ra.co.uk

Semantic HTML

Uses article or main element (0/100)

Missing <article> and <main> elements

Proper heading hierarchy (0/100)

No headings found

Uses semantic HTML elements (50/100)

No divs or semantic elements found

Meaningful image alt texts (100/100)

No images found

Low div nesting depth (100/100)

No divs found

Content Efficiency

Good token reduction ratio (0/100)

-12% token reduction (HTML→Markdown)

Good content-to-noise ratio (100/100)

Content ratio: 100.0% (34 content chars / 34 HTML bytes)

Minimal inline styles (100/100)

0/3 elements with inline styles (0.0%)

Reasonable page weight (100/100)

HTML size: 0KB

AI Discoverability

Has llms.txt file (100/100)

llms.txt exists and is valid

Has robots.txt file (100/100)

robots.txt exists

Robots.txt allows AI bots (34/100)

2/3 AI bots blocked: ClaudeBot, GPTBot

Has sitemap.xml (0/100)

No sitemap found

Markdown for Agents support (65/100) Application
&#10003; Accept: text/markdown &#10003; .md URL &#10007; <link> tag &#10007; Link header
Has Content-Signal (robots.txt or HTTP headers) (60/100)
&#10003; robots.txt &#10007; HTTP header &#10003; Policy

Structured Data

Has Schema.org / JSON-LD (0/100)

No JSON-LD / Schema.org found

Has Open Graph tags (0/100)

0/3 OG tags present

Has meta description (0/100)

No meta description

Has canonical URL (0/100)

No canonical URL

Has lang attribute (0/100)

No lang attribute on <html>

Accessibility

Content available without JavaScript (100/100)

Content available without JavaScript

Reasonable page size (100/100)

Page size: 0KB

Content appears early in HTML (0/100)

Main content starts at 100% of HTML

{
  "url": "https://api.in4ra.co.uk/",
  "timestamp": 1784167127728,
  "fetch": {
    "mode": "simple",
    "timeMs": 24,
    "htmlSizeBytes": 34,
    "supportsMarkdown": true,
    "markdownAgents": {
      "contentNegotiation": true,
      "mdUrl": {
        "found": true,
        "url": "https://api.in4ra.co.uk/index.md"
      },
      "linkTag": {
        "found": false,
        "url": null
      },
      "linkHeader": {
        "found": false,
        "url": null
      },
      "responseHeaders": {
        "contentSignal": null,
        "xMarkdownTokens": null,
        "vary": "Accept"
      },
      "frontmatter": {
        "present": false,
        "fields": [],
        "level": "none"
      },
      "level": "application"
    },
    "statusCode": 200
  },
  "extraction": {
    "title": "",
    "excerpt": "",
    "byline": null,
    "siteName": null,
    "lang": null,
    "contentLength": 34,
    "metadata": {
      "description": null,
      "ogTitle": null,
      "ogDescription": null,
      "ogImage": null,
      "ogType": null,
      "canonical": null,
      "lang": null,
      "schemas": [],
      "robotsMeta": null,
      "author": null,
      "generator": null,
      "markdownAlternateHref": null
    }
  },
  "markdown": "in4ra API Subdomain Gateway Active\n",
  "fullPageMarkdown": "in4ra API Subdomain Gateway Active\n",
  "markdownStats": {
    "images": 0,
    "links": 0,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 0
  },
  "tokens": {
    "htmlTokens": 8,
    "markdownTokens": 9,
    "reduction": -1,
    "reductionPercent": -12
  },
  "score": {
    "score": 50,
    "grade": "D",
    "dimensions": {
      "semanticHtml": {
        "score": 45,
        "weight": 20,
        "grade": "D",
        "checks": {
          "uses_article_or_main": {
            "score": 0,
            "weight": 20,
            "details": "Missing <article> and <main> elements"
          },
          "proper_heading_hierarchy": {
            "score": 0,
            "weight": 25,
            "details": "No headings found"
          },
          "semantic_elements": {
            "score": 50,
            "weight": 20,
            "details": "No divs or semantic elements found"
          },
          "meaningful_alt_texts": {
            "score": 100,
            "weight": 15,
            "details": "No images found"
          },
          "low_div_nesting": {
            "score": 100,
            "weight": 20,
            "details": "No divs found"
          }
        }
      },
      "contentEfficiency": {
        "score": 60,
        "weight": 25,
        "grade": "C",
        "checks": {
          "token_reduction_ratio": {
            "score": 0,
            "weight": 40,
            "details": "-12% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 100,
            "weight": 30,
            "details": "Content ratio: 100.0% (34 content chars / 34 HTML bytes)"
          },
          "minimal_inline_styles": {
            "score": 100,
            "weight": 15,
            "details": "0/3 elements with inline styles (0.0%)"
          },
          "reasonable_page_weight": {
            "score": 100,
            "weight": 15,
            "details": "HTML size: 0KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 63,
        "weight": 25,
        "grade": "C",
        "checks": {
          "has_llms_txt": {
            "score": 100,
            "weight": 20,
            "details": "llms.txt exists and is valid"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "details": "robots.txt exists"
          },
          "robots_allows_ai_bots": {
            "score": 34,
            "weight": 15,
            "details": "2/3 AI bots blocked: ClaudeBot, GPTBot"
          },
          "has_sitemap": {
            "score": 0,
            "weight": 10,
            "details": "No sitemap found"
          },
          "supports_markdown_negotiation": {
            "score": 65,
            "weight": 25,
            "details": "Application level — Content negotiation, .md URL (https://api.in4ra.co.uk/index.md)"
          },
          "has_content_signals": {
            "score": 60,
            "weight": 20,
            "details": "robots.txt: search=yes, ai-train=no | Policy included"
          }
        }
      },
      "structuredData": {
        "score": 0,
        "weight": 15,
        "grade": "F",
        "checks": {
          "has_schema_org": {
            "score": 0,
            "weight": 30,
            "details": "No JSON-LD / Schema.org found"
          },
          "has_open_graph": {
            "score": 0,
            "weight": 25,
            "details": "0/3 OG tags present"
          },
          "has_meta_description": {
            "score": 0,
            "weight": 20,
            "details": "No meta description"
          },
          "has_canonical_url": {
            "score": 0,
            "weight": 15,
            "details": "No canonical URL"
          },
          "has_lang_attribute": {
            "score": 0,
            "weight": 10,
            "details": "No lang attribute on <html>"
          }
        }
      },
      "accessibility": {
        "score": 70,
        "weight": 15,
        "grade": "C",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 40,
            "details": "Content available without JavaScript"
          },
          "reasonable_page_size": {
            "score": 100,
            "weight": 30,
            "details": "Page size: 0KB"
          },
          "fast_content_position": {
            "score": 0,
            "weight": 30,
            "details": "Main content starts at 100% of HTML"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "id": "add_article_main",
      "priority": "critical",
      "category": "semanticHtml",
      "titleKey": "rec.add_article_main.title",
      "descriptionKey": "rec.add_article_main.description",
      "howToKey": "rec.add_article_main.howto",
      "effort": "quick-win",
      "estimatedImpact": 8,
      "checkScore": 0,
      "checkDetails": "Missing <article> and <main> elements"
    },
    {
      "id": "improve_token_efficiency",
      "priority": "critical",
      "category": "contentEfficiency",
      "titleKey": "rec.improve_token_efficiency.title",
      "descriptionKey": "rec.improve_token_efficiency.description",
      "howToKey": "rec.improve_token_efficiency.howto",
      "effort": "significant",
      "estimatedImpact": 8,
      "checkScore": 0,
      "checkDetails": "-12% token reduction (HTML→Markdown)"
    },
    {
      "id": "fix_heading_hierarchy",
      "priority": "critical",
      "category": "semanticHtml",
      "titleKey": "rec.fix_heading_hierarchy.title",
      "descriptionKey": "rec.fix_heading_hierarchy.description",
      "howToKey": "rec.fix_heading_hierarchy.howto",
      "effort": "quick-win",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No headings found"
    },
    {
      "id": "add_sitemap",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_sitemap.title",
      "descriptionKey": "rec.add_sitemap.description",
      "howToKey": "rec.add_sitemap.howto",
      "effort": "quick-win",
      "estimatedImpact": 5,
      "checkScore": 0,
      "checkDetails": "No sitemap found"
    },
    {
      "id": "allow_ai_bots",
      "priority": "high",
      "category": "aiDiscoverability",
      "titleKey": "rec.allow_ai_bots.title",
      "descriptionKey": "rec.allow_ai_bots.description",
      "howToKey": "rec.allow_ai_bots.howto",
      "effort": "quick-win",
      "estimatedImpact": 7,
      "checkScore": 34,
      "checkDetails": "2/3 AI bots blocked: ClaudeBot, GPTBot"
    },
    {
      "id": "add_schema_org",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_schema_org.title",
      "descriptionKey": "rec.add_schema_org.description",
      "howToKey": "rec.add_schema_org.howto",
      "effort": "moderate",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No JSON-LD / Schema.org found"
    },
    {
      "id": "add_open_graph",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_open_graph.title",
      "descriptionKey": "rec.add_open_graph.description",
      "howToKey": "rec.add_open_graph.howto",
      "effort": "quick-win",
      "estimatedImpact": 4,
      "checkScore": 0,
      "checkDetails": "0/3 OG tags present"
    },
    {
      "id": "add_meta_description",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_meta_description.title",
      "descriptionKey": "rec.add_meta_description.description",
      "howToKey": "rec.add_meta_description.howto",
      "effort": "quick-win",
      "estimatedImpact": 4,
      "checkScore": 0,
      "checkDetails": "No meta description"
    },
    {
      "id": "move_content_earlier",
      "priority": "high",
      "category": "accessibility",
      "titleKey": "rec.move_content_earlier.title",
      "descriptionKey": "rec.move_content_earlier.description",
      "howToKey": "rec.move_content_earlier.howto",
      "effort": "moderate",
      "estimatedImpact": 4,
      "checkScore": 0,
      "checkDetails": "Main content starts at 100% of HTML"
    },
    {
      "id": "add_canonical_url",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_canonical_url.title",
      "descriptionKey": "rec.add_canonical_url.description",
      "howToKey": "rec.add_canonical_url.howto",
      "effort": "quick-win",
      "estimatedImpact": 3,
      "checkScore": 0,
      "checkDetails": "No canonical URL"
    }
  ],
  "llmsTxtPreview": "# api.in4ra.co.uk\n\n## Main\n- [Home](https://api.in4ra.co.uk/)\n\n",
  "llmsTxtExisting": "# In4ra IT Business Support\n\n> London-based, remote-first IT services company providing enterprise-grade IT support and cybersecurity tailored to organisations across the UK. Founded in 2019.\n\n## Core Services\n- **Managed IT Services**: Proactive remote monitoring, round-the-clock helpdesk, device provisioning, and end-to-end IT infrastructure management.\n- **Cybersecurity**: Advanced endpoint protection, DfE Cyber Security Standards implementation, policy reviews, risk assessments, and staff awareness training.\n- **Cloud Solutions & M365**: Full setup, migration, administration, and optimization of Microsoft 365 and hybrid cloud environments.\n- **Backup & Business Continuity**: Secure, automated data backups and disaster recovery planning to minimize downtime.\n- **Network & Wireless**: High-performance, secure network designs, and wireless infrastructure deployment.\n- **IT Consultancy**: Strategic advice aligned with business objectives, compliance, and budget requirements.\n\n## Sectors Served\n- **Education**: Schools, Academies, and Multi-Academy Trusts (MATs) — featuring Ofsted-compliant filtering, DfE standards, and GDPR support.\n- **Professional Services**: Compliant infrastructure and secure remote access for legal, finance, and consultancy practices.\n- **Retail & Hospitality**: Fast POS systems, stable guest Wi-Fi networks, and secure payment processing.\n- **SMEs & Startups**: Scalable, flat-rate managed IT plans with no lock-in contracts.\n\n## Key Links\n- [Homepage](https://www.in4ra.co.uk/)\n- [About Us](https://www.in4ra.co.uk/about)\n- [IT Support for Schools & Education](https://www.in4ra.co.uk/education)\n- [In4ra IT Management Programme](https://www.in4ra.co.uk/management-programme)\n- [Contact Us](https://www.in4ra.co.uk/contact)\n\n## Contact\n- **Email**: [email protected]\n- **Website**: https://www.in4ra.co.uk",
  "emergingProtocols": {
    "oauthDiscovery": {
      "exists": true,
      "url": "https://api.in4ra.co.uk/.well-known/oauth-authorization-server",
      "issuer": "https://api.in4ra.co.uk",
      "authorizationEndpoint": "https://api.in4ra.co.uk/oauth/authorize",
      "tokenEndpoint": "https://api.in4ra.co.uk/oauth/token",
      "grantTypesSupported": null,
      "scopesSupported": null
    },
    "mcpServerCard": {
      "exists": false,
      "url": "https://api.in4ra.co.uk/.well-known/mcp.json"
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://api.in4ra.co.uk/.well-known/agent.json"
    },
    "count": 1
  },
  "snippets": [
    {
      "id": "fix_heading_hierarchy",
      "title": "Fix heading hierarchy",
      "description": "Your page has no <h1>. Every page needs exactly one <h1> as the main heading. Add it inside your <main> or <article>.",
      "language": "html",
      "code": "<h1>Your Page Title</h1>",
      "filename": "<main> or <article>"
    },
    {
      "id": "add_open_graph",
      "title": "Add missing Open Graph tags",
      "description": "Open Graph tags control how your page looks when shared on social media and how AI platforms preview your URL in answers.",
      "language": "html",
      "code": "<meta property=\"og:title\" content=\"Page Title\">\n<meta property=\"og:description\" content=\"Page description.\">\n<meta property=\"og:image\" content=\"https://yoursite.com/og-image.jpg\">\n<meta property=\"og:url\" content=\"https://api.in4ra.co.uk/\">\n<meta property=\"og:type\" content=\"website\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<meta property=\"og:title\" content=\"Page Title\">\n<meta property=\"og:description\" content=\"Page description.\">\n<meta property=\"og:image\" content=\"https://yoursite.com/og-image.jpg\">\n<meta property=\"og:url\" content=\"https://api.in4ra.co.uk/\">\n<meta property=\"og:type\" content=\"website\">"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Quick Open Graph tags without a plugin (skip if Yoast / Rank Math is active)\nadd_action('wp_head', function () {\n    if (!is_singular()) return;\n    $post = get_queried_object();\n    $title = get_the_title($post);\n    $desc  = get_the_excerpt($post) ?: wp_trim_words(strip_tags($post->post_content), 30);\n    $image = get_the_post_thumbnail_url($post, 'large') ?: 'https://yoursite.com/og-image.jpg';\n    $url   = get_permalink($post);\n    printf('<meta property=\"og:title\" content=\"%s\">' . \"\\n\", esc_attr($title));\n    printf('<meta property=\"og:description\" content=\"%s\">' . \"\\n\", esc_attr($desc));\n    printf('<meta property=\"og:image\" content=\"%s\">' . \"\\n\", esc_url($image));\n    printf('<meta property=\"og:url\" content=\"%s\">' . \"\\n\", esc_url($url));\n    echo '<meta property=\"og:type\" content=\"article\">' . \"\\n\";\n}, 5);"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page.tsx",
          "code": "// Next.js App Router — Metadata API\nimport type { Metadata } from 'next';\n\nexport const metadata: Metadata = {\n  title: \"Page Title\",\n  description: \"Page description.\",\n  openGraph: {\n    title: \"Page Title\",\n    description: \"Page description.\",\n    url: \"https://api.in4ra.co.uk/\",\n    images: [\"https://yoursite.com/og-image.jpg\"],\n    type: 'website',\n  },\n};"
        }
      ]
    },
    {
      "id": "add_meta_description",
      "title": "Add meta description",
      "description": "A good meta description (50-160 characters) helps AI agents understand your page quickly.",
      "language": "html",
      "code": "<meta name=\"description\" content=\"A brief description of this page.\">",
      "filename": "<head>"
    },
    {
      "id": "add_canonical_url",
      "title": "Add canonical URL",
      "description": "The canonical URL tells AI agents which version of the page is the \"official\" one, avoiding duplicate content issues.",
      "language": "html",
      "code": "<link rel=\"canonical\" href=\"https://api.in4ra.co.uk/\">",
      "filename": "<head>"
    },
    {
      "id": "add_schema_org",
      "title": "Add Schema.org JSON-LD",
      "description": "Structured data helps AI agents understand the type, author, and purpose of your content.",
      "language": "html",
      "code": "<script type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"WebPage\",\n  \"name\": \"Page Title\",\n  \"description\": \"Page description.\",\n  \"url\": \"https://api.in4ra.co.uk/\",\n  \"inLanguage\": \"en\"\n}\n</script>",
      "filename": "<head>"
    },
    {
      "id": "allow_ai_bots",
      "title": "Allow AI bots in robots.txt",
      "description": "Some AI bots are blocked in your robots.txt. Remove or modify these Disallow rules to let AI agents index your content.",
      "language": "txt",
      "code": "# Add to your robots.txt — explicitly allow AI bots:\nUser-agent: GPTBot\nAllow: /\n\nUser-agent: ClaudeBot\nAllow: /\n\nUser-agent: PerplexityBot\nAllow: /",
      "filename": "/robots.txt"
    },
    {
      "id": "add_sitemap",
      "title": "Create /sitemap.xml",
      "description": "A sitemap helps AI agents discover all your pages. Most CMS platforms generate one automatically.",
      "language": "xml",
      "code": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n  <url>\n    <loc>https://api.in4ra.co.uk/</loc>\n    <lastmod>2026-07-16</lastmod>\n  </url>\n</urlset>",
      "filename": "/sitemap.xml"
    },
    {
      "id": "add_article_main",
      "title": "Wrap content in <main> and <article>",
      "description": "Semantic HTML landmarks help AI agents identify the main content of your page.",
      "language": "html",
      "code": "<main>\n  <article>\n    <h1>Your Page Title</h1>\n    <p>Your content here...</p>\n  </article>\n</main>",
      "filename": "<body>"
    }
  ]
}

Use our API to get this programmatically (coming soon)

This JSON is for internal use — unlike the Markdown and llms.txt files, it's not meant to be uploaded to your site. Save it as a baseline to track your score over time, share it with your dev team, or integrate it into your CI/CD pipeline.

Want a second opinion?

Cloudflare runs a free scanner too, and it asks a different question. It scores what your site publishes for agents to call — MCP server cards, Agent Skills, API catalogs, DNS records. We score whether an agent can reach, read and understand your content. A site can do well on one and poorly on the other, so expect two different numbers: they are answers to two different questions, and both are worth knowing.

Scan api.in4ra.co.uk with Cloudflare

Embed your badge

Add this badge to your site. It updates automatically as your AI-readiness score changes.

AgentReady.md score for api.in4ra.co.uk
Script Recommended
<script src="https://agentready.md/badge.js" data-id="4a5d0b64-efe1-4e91-9ac5-6393b54d4a37" data-domain="api.in4ra.co.uk"></script>
Markdown
[![AgentReady.md score for api.in4ra.co.uk](https://agentready.md/badge/api.in4ra.co.uk.svg)](https://agentready.md/r/4a5d0b64-efe1-4e91-9ac5-6393b54d4a37)

Coming soon: Full Domain Analysis

Crawl your entire domain, generate llms.txt, and monitor your AI-readiness score over time. Join the waitlist to be notified.

You're on the list! We'll notify you when it launches.