Dub

← board · dub.co · #18 of 80

Ready with a few material gaps

86/ 100
B
Grade
82
Agent readiness
Board average 77
Scanned 14 hours ago

Every outstanding fix in one prompt for your coding agent. Rescan →

Task

What does dub.co do and how do I use it? A fetch-only agent finds out.

12 fetches9 found3 missing

home
  • /robots.txt/sitemap.xml
  • /llms.txt/llms-full.txt
  • /pricing
  • /docs
  • /openapi.json
  • mcp.jsonMCP initialize
  • /privacy · /terms
404 probe

every path the scanner fetched · replayed deterministically, no LLM

Evaluator notes

A fetch-only agent reached dub.co over HTTPS in 113 ms and identified it from its title as “Dub - The Modern Link Attribution Platform”. The copy is readable without JavaScript (151,695 chars of visible text, 21.5% of HTML). It found pricing, docs and an OpenAPI spec. It looked for an MCP server and found none.

Critical access needs attention

Whether an ordinary agent can enter, read, and operate the public site.

  • Agents can reach the site

    Crawler access and bot defenses.

    4 / 4 passed
  • ~
    Core content is available

    Useful content remains accessible without a fragile browser-only path.

    1 / 2 passed
  • ~
    Navigation fails safely

    Redirects and missing pages give agents a recoverable path.

    1 / 2 passed
  • ~
    Controls are understandable

    Forms and interactive controls expose usable names and structure.

    1 / 3 passed

Fix these gaps first

Critical access gaps come first, then the biggest remaining points.

  1. 01
    Analytics installedMeasured

    Install analytics (PostHog, Plausible, GA4) before spending on traffic.

    +6 pts
  2. 02
    Canonical URL setCritical access

    Add a canonical link so www/non-www and query variants consolidate.

    +3 pts
  3. 03
    Semantic landmarks (main, single H1)Critical access

    Wrap the content in <main> and keep one H1 so agents can find the primary content.

    +3 pts
  4. 04
    Agent manifest (MCP, A2A or ai-plugin)Agent-ready

    Publish an MCP server manifest or A2A agent card under /.well-known/ so agents can find your tools.

    +2 pts
  5. 05
    Versioned paths or serversAPI

    Version the API (v1 in the path or server URL) so integrations survive changes.

    +2 pts

Audit the checks behind the score

Grouped by what they measure. Not-applicable checks are excluded from scoring.

Crawlable5 of 5 passed · 19/19 pts
  • Served over HTTPS5/5

    https://dub.co/

  • Responds in under 1.5s5/5

    113 ms to first byte

  • robots.txt present2/2

    User-Agent: * Allow: / Disallow: /_next/ Disallow: /draft/ Sitemap: https://dub.…

  • sitemap.xml present2/2

    /sitemap.xml → 200

  • Homepage is indexable5/5

    HTTP 200

Metadata6 of 7 passed · 21/24 pts
  • Title tag 10–70 characters5/5

    "Dub - The Modern Link Attribution Platform" (42)

  • Meta description 50–160 characters5/5

    "Dub is the modern link attribution platform for short links, conversion tracking, and affiliate prog…" (105)

  • Canonical URL set0/3

    no <link rel="canonical">

    Add a canonical link so www/non-www and query variants consolidate.

  • Exactly one H14/4

    1 × <h1>: "Turn clicks into revenue"

  • Mobile viewport set3/3

    width=device-width, initial-scale=1

  • Language declared2/2

    <html lang="en">

  • Favicon declared2/2

    https://assets.dub.co/favicons/favicon-32x32.png

Shareable3 of 3 passed · 14/14 pts
  • Open Graph title, description and image8/8

    title, description, image

  • Twitter/X card type set3/3

    twitter:card = summary_large_image

  • Links to X or LinkedIn3/3

    2 social link(s)

Converts3 of 3 passed · 17/17 pts
  • Clear call to action8/8

    3 CTA(s), e.g. "Sign Up"

  • Pricing page linked6/6

    → /pricing

  • HTML under 2 MB3/3

    690 KB of HTML

Measured0 of 1 passed · 0/6 pts
  • Analytics installed0/6

    no analytics tag detected

    Install analytics (PostHog, Plausible, GA4) before spending on traffic.

Agent-ready14 of 20 passed · 40/48 pts
  • Structured data (JSON-LD)4/4

    @type: Organization, SoftwareApplication

  • Machine-readable pricing3/3

    Offer / Product in JSON-LD

  • llms.txt present1/1

    /llms.txt → 200, 4000+ chars

  • llms-full.txt present0/1

    no /llms-full.txt

    Publish /llms-full.txt with the full docs inlined, so agents can read everything in one fetch.

  • AI crawlers allowed in robots.txt2/2

    none of 9 known AI crawlers blocked

  • No noai / TDM reservation2/2

    no opt-out signals

  • Serves markdown on request0/1

    Accept: text/markdown → text/html; charset=utf-8

    Return text/markdown when the Accept header asks for it; agents skip the HTML entirely.

  • OpenAPI spec discoverable7/7

    application/json at /openapi.json or /.well-known/openapi.json

  • Agent manifest (MCP, A2A or ai-plugin)0/2

    no manifest at /.well-known/{mcp,agent,ai-plugin}.json

    Publish an MCP server manifest or A2A agent card under /.well-known/ so agents can find your tools.

  • Docs or API link from the homepage3/3

    homepage links to docs / API

  • Content readable without JavaScript3/3

    151,695 chars of visible text, 21.5% of HTML

  • Semantic landmarks (main, single H1)0/3

    no <main>, 1 × <h1>

    Wrap the content in <main> and keep one H1 so agents can find the primary content.

  • Images have alt text2/2

    98/99 images have alt

    Add alt text to images; it is the only thing a text agent can read from them.

  • Form fields are labelled2/2

    2/2 fields have a label, name or aria-label

  • Descriptive link text1/2

    15/135 links say "click here" / "learn more"

    Replace "learn more" and "click here" with what the link actually leads to.

  • Agent-friendly 404s2/2

    nonexistent path → HTTP 404

  • Trust pages (privacy, terms, security)2/2

    found: /privacy, /terms

  • Organization schema complete2/2

    Organization has name, url, logo, sameAs, description

  • llms.txt says what you are and links out2/2

    4000+ chars, has H1, has links

  • Contact route discoverable2/2

    mailto:, /contact or /support link found

API4 of 6 passed · 14/18 pts
  • Spec parses and declares a version4/4

    openapi 3.0.3, 57 operations

  • Operations have summaries and operationIds4/4

    57/57 operations have operationId + summary

  • Error responses documented3/3

    57/57 operations document a 4xx response

  • Auth scheme declared3/3

    securitySchemes: token

  • Versioned paths or servers0/2

    servers: https://api.dub.co

    Version the API (v1 in the path or server URL) so integrations survive changes.

  • Spec within a model context budget0/2

    387KB (first 4KB fetched counts toward probe cap)

    Keep the spec under ~100KB or split it; an agent has to fit it in context.

MCPn/a
  • Server answers initializen/a
  • Tools listedn/a
  • Tools carry descriptionsn/a
  • Tool parameters have schemasn/a

Fixed something? Scan again.

One scan per site every 10 minutes. Snapshot 2026-08-24T13:48:41.626Z.

← Back to the board