---
title: "AI Products & Agents: AI visibility ranking"
description: "AI Products & Agents websites ranked by Good for Bots Score, with each site's readable base, agent layer and penalties, and how often the category passes each check."
url: "https://goodforbots.com/rankings/ai-products"
---

# AI Products & Agents, ranked

Sites in AI Products & Agents, ordered by how well language models and agents can read them. Each row splits the score into the readable base, the agent layer and penalties.

[How the score is calculated](https://goodforbots.com/standards#scoring) · [Browse AI Products & Agents in the directory](https://goodforbots.com/directory/category/ai-products)

- Ranked: 34 sites
- Median score: 60
- New this week: 3
- Latest scan: 28 Oct 2026
- Bands: Excellent 1, Good 7, Fair 19, Poor 7

## Ranking

Search by name or domain: https://goodforbots.com/rankings/ai-products.md?platform=nuxt&q={query}, at most 120 characters.

1 site match Nuxt ([remove](https://goodforbots.com/rankings/ai-products.md)).

Ordered by place, best first. Also: [place, lowest first](https://goodforbots.com/rankings/ai-products.md?platform=nuxt&sort=score-asc) · [readable base](https://goodforbots.com/rankings/ai-products.md?platform=nuxt&sort=base) · [agent layer](https://goodforbots.com/rankings/ai-products.md?platform=nuxt&sort=agent) · [fewest penalties](https://goodforbots.com/rankings/ai-products.md?platform=nuxt&sort=penalties) · [most agent capabilities](https://goodforbots.com/rankings/ai-products.md?platform=nuxt&sort=capabilities) · [site name, A–Z](https://goodforbots.com/rankings/ai-products.md?platform=nuxt&sort=host) · [newest listings](https://goodforbots.com/rankings/ai-products.md?platform=nuxt&sort=new).

| Place | Site | Score | Readable base | Agent layer | Penalties | Capabilities |
|---:|---|---|---:|---:|---|---|
| 27 | [Dark Harbor](https://goodforbots.com/r/darkharbor.ai): darkharbor.ai | Score 45 of 100, Fair | 45 | 0 | 0 | 0 |

Places follow the score; on an equal score, more agent capabilities (the +N on the badge) come first. Sites equal on both share a place. Filters and other orders hide rows but never renumber them. “(Pro)” marks a Pro listing. Pro never changes a score or a place. [What Pro includes](https://goodforbots.com/pricing#pro). “(new)” marks a listing added in the last seven days. Every report is also available as Markdown at https://goodforbots.com/r/{host}.md.

## Filters

Band (any of them): [Excellent](https://goodforbots.com/rankings/ai-products.md?band=excellent&platform=nuxt) 1 · [Good](https://goodforbots.com/rankings/ai-products.md?band=good&platform=nuxt) 7 · [Fair](https://goodforbots.com/rankings/ai-products.md?band=fair&platform=nuxt) 19 · [Poor](https://goodforbots.com/rankings/ai-products.md?band=poor&platform=nuxt) 7

Platform (any of them): [Next.js](https://goodforbots.com/rankings/ai-products.md?platform=nextjs&platform=nuxt) 19 · [Nuxt](https://goodforbots.com/rankings/ai-products.md) 1 · [SvelteKit](https://goodforbots.com/rankings/ai-products.md?platform=nuxt&platform=sveltekit) 1

## How AI Products & Agents sites do on each check

### Missed most often

- [Markdown negotiation](https://goodforbots.com/standards#markdown-negotiation): 97%. Missing or partial on 33 of the 34 sites it applies to. [Guide: How to serve Markdown to AI agents with content negotiation](https://goodforbots.com/guides/markdown-negotiation)
- [AI usage preferences](https://goodforbots.com/standards#content-signals): 97%. Missing or partial on 33 of the 34 sites it applies to. [Guide: How to write robots.txt rules for AI crawlers](https://goodforbots.com/guides/robots-txt-ai-crawlers)
- [Typed discovery links](https://goodforbots.com/standards#link-headers): 97%. Missing or partial on 33 of the 34 sites it applies to. [Guide: How to serve Markdown to AI agents with content negotiation](https://goodforbots.com/guides/markdown-negotiation)

### Where the top 10 pull ahead

- [Markdown at its own URL](https://goodforbots.com/standards#llms-full-txt): 8 of 10 in the top 10 pass it, against 1 of 24 below.
- [Explicit AI crawler rules](https://goodforbots.com/standards#ai-crawler-rules): 9 of 10 in the top 10 pass it, against 4 of 24 below.
- [llms.txt quality](https://goodforbots.com/standards#llms-txt-quality): 8 of 10 in the top 10 pass it, against 6 of 24 below.

### Every check

The share of sites passing each check on their latest scan. A check that does not apply to a site leaves it out of that check's share.

#### Readable base

Share of sites with a full pass.

| Check | This ranking | All sites | Top 10 | Below |
|---|---:|---:|---:|---:|
| [robots.txt](https://goodforbots.com/standards#robots-txt) | 97% | 98% | 100% | 96% |
| [Sitemaps](https://goodforbots.com/standards#sitemap) | 97% | 96% | 100% | 96% |
| [schema.org structured data](https://goodforbots.com/standards#schema-org) | 71% | 72% | 90% | 63% |
| [Semantic HTML](https://goodforbots.com/standards#semantic-html) | 50% | 56% | 60% | 46% |
| [Crawlable navigation links](https://goodforbots.com/standards#crawlable-navigation) | 97% | 92% | 100% | 95% |
| [Names for links and buttons](https://goodforbots.com/standards#control-names) | 91% | 88% | 100% | 88% |
| [Names and semantics for form fields](https://goodforbots.com/standards#form-semantics) | 77% | 72% | 78% | 77% |
| [Roles, states and relationships for controls](https://goodforbots.com/standards#control-semantics) | 62% | 73% | 40% | 71% |
| [Canonical URL](https://goodforbots.com/standards#canonical-url) | 100% | 93% | 100% | 100% |
| [Section links](https://goodforbots.com/standards#section-links) | 82% | 88% | 78% | 84% |

#### Agent layer

Share of sites with a full pass.

| Check | This ranking | All sites | Top 10 | Below |
|---|---:|---:|---:|---:|
| [llms.txt](https://goodforbots.com/standards#llms-txt) | 65% | 55% | 100% | 50% |
| [llms.txt quality](https://goodforbots.com/standards#llms-txt-quality) | 41% | 38% | 80% | 25% |
| [Markdown at its own URL](https://goodforbots.com/standards#llms-full-txt) | 26% | 23% | 80% | 4% |
| [Markdown negotiation](https://goodforbots.com/standards#markdown-negotiation) | 3% | 8% | 10% | 0% |
| [Explicit AI crawler rules](https://goodforbots.com/standards#ai-crawler-rules) | 38% | 34% | 90% | 17% |
| [AI usage preferences](https://goodforbots.com/standards#content-signals) | 3% | 7% | 10% | 0% |
| [Typed discovery links](https://goodforbots.com/standards#link-headers) | 3% | 6% | 10% | 0% |

#### Penalties

Share of sites where the problem was not found.

| Check | This ranking | All sites | Top 10 | Below |
|---|---:|---:|---:|---:|
| [Bot challenges](https://goodforbots.com/standards#waf-challenge) | 100% | 98% | 100% | 100% |
| [Indexing and snippet restrictions](https://goodforbots.com/standards#indexing-blocks) | 100% | 100% | 100% | 100% |
| [Content without JavaScript](https://goodforbots.com/standards#javascript-required) | 100% | 99% | 100% | 100% |
| [Search crawler access](https://goodforbots.com/standards#ai-crawler-access) | 100% | 99% | 100% | 100% |
| [Homepage availability](https://goodforbots.com/standards#homepage-availability) | 100% | 99% | 100% | 100% |
| [Page title and description](https://goodforbots.com/standards#page-metadata) | 100% | 99% | 100% | 100% |
| [Redirect chains](https://goodforbots.com/standards#redirect-chain) | 100% | 100% | 100% | 100% |
| [Crawler response time](https://goodforbots.com/standards#response-time) | 100% | 99% | 100% | 100% |

#### Agent capabilities

Share of sites that publish it. Never a point either way.

| Check | This ranking | All sites | Top 10 | Below |
|---|---:|---:|---:|---:|
| [API Catalog](https://goodforbots.com/standards#api-catalog) | 0% | 4% | 0% | 0% |
| [auth.md](https://goodforbots.com/standards#auth-md) | 0% | 2% | 0% | 0% |
| [MCP Server Card](https://goodforbots.com/standards#mcp-server-card) | 0% | 0% | 0% | 0% |
| [A2A Agent Card](https://goodforbots.com/standards#a2a-agent-card) | 0% | 2% | 0% | 0% |
| [Agent Skills discovery](https://goodforbots.com/standards#agent-skills-index) | 0% | 3% | 0% | 0% |
| [WebMCP declarations](https://goodforbots.com/standards#webmcp) | 0% | 0% | 0% | 0% |
| [Web Bot Auth](https://goodforbots.com/standards#web-bot-auth) | 0% | 1% | 0% | 0% |
| [x402 and MPP payments](https://goodforbots.com/standards#x402-mpp) | 0% | 1% | 0% | 0% |
| [ACP discovery](https://goodforbots.com/standards#acp) | 0% | 1% | 0% | 0% |
| [UCP discovery](https://goodforbots.com/standards#ucp) | 0% | 0% | 0% | 0% |
| [AMP discovery](https://goodforbots.com/standards#amp-discovery) | 0% | 0% | 0% | 0% |

## Platforms used here

- [Next.js](https://goodforbots.com/rankings/platform/nextjs.md): 84 sites
- [Nuxt](https://goodforbots.com/rankings/platform/nuxt.md): 2 sites
- [SvelteKit](https://goodforbots.com/rankings/platform/sveltekit.md): 2 sites

## Related categories

- [Developer Tools & APIs](https://goodforbots.com/rankings/developer-tools.md): 39 sites
- [SaaS & Web Apps](https://goodforbots.com/rankings/saas.md): 54 sites

## Where would your site place?

Scan it for free. The report shows its score, its place in its category and the fixes that would move it up. [Check a site](https://goodforbots.com/#scan).

## Structured data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "CollectionPage",
      "@id": "https://goodforbots.com/rankings/ai-products#webpage",
      "url": "https://goodforbots.com/rankings/ai-products",
      "name": "AI Products & Agents: AI visibility ranking",
      "description": "AI Products & Agents websites ranked by Good for Bots Score, with each site's readable base, agent layer and penalties, and how often the category passes each check.",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://goodforbots.com/#website"
      },
      "breadcrumb": {
        "@id": "https://goodforbots.com/rankings/ai-products#breadcrumb"
      },
      "mainEntity": {
        "@id": "https://goodforbots.com/rankings/ai-products#items"
      }
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://goodforbots.com/rankings/ai-products#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://goodforbots.com/"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Rankings",
          "item": "https://goodforbots.com/rankings"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "AI Products & Agents",
          "item": "https://goodforbots.com/rankings/ai-products"
        }
      ]
    },
    {
      "@type": "ItemList",
      "@id": "https://goodforbots.com/rankings/ai-products#items",
      "name": "AI Products & Agents: AI visibility ranking",
      "numberOfItems": 1,
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Dark Harbor",
          "url": "https://goodforbots.com/r/darkharbor.ai"
        }
      ]
    },
    {
      "@type": "Organization",
      "@id": "https://goodforbots.com/#organization",
      "name": "Good for Bots",
      "url": "https://goodforbots.com",
      "logo": "https://goodforbots.com/icon-512.png",
      "founder": {
        "@id": "https://goodforbots.com/#person-mateusz-pawlica"
      },
      "contactPoint": {
        "@type": "ContactPoint",
        "contactType": "customer support",
        "email": "support@goodforbots.com",
        "url": "https://goodforbots.com/contact"
      }
    },
    {
      "@type": "WebSite",
      "@id": "https://goodforbots.com/#website",
      "name": "Good for Bots",
      "url": "https://goodforbots.com",
      "description": "Check if AI crawlers can access and read your website, free. Get a score out of 100 with every finding and fix prompts, then browse reports in the directory.",
      "inLanguage": "en",
      "publisher": {
        "@id": "https://goodforbots.com/#organization"
      },
      "potentialAction": {
        "@type": "SearchAction",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://goodforbots.com/directory?q={q}"
        },
        "query-input": "required maxlength=120 name=q"
      }
    },
    {
      "@type": "Person",
      "@id": "https://goodforbots.com/#person-mateusz-pawlica",
      "name": "Mateusz Pawlica",
      "givenName": "Mateusz",
      "familyName": "Pawlica",
      "jobTitle": "Founder of Good for Bots",
      "description": "Web developer who builds directories and AI-powered products, and the founder of Good for Bots.",
      "url": "https://goodforbots.com/about#founder",
      "sameAs": [
        "https://pl.linkedin.com/in/mateusz-pawlica-65238816b",
        "https://pawlicaweb.pl/o-mnie"
      ],
      "knowsAbout": [
        "llms.txt",
        "robots.txt",
        "AI crawlers",
        "Markdown content negotiation",
        "Structured data",
        "Technical SEO",
        "Web directories",
        "Next.js",
        "TypeScript",
        "Generative AI"
      ],
      "worksFor": {
        "@id": "https://goodforbots.com/#organization"
      }
    }
  ]
}
```
