Verified AgentReady.md certificate
Issued sig: 76b6ed10f54efa99 Verify →

Analyzed URL

https://website-test.kamilolczyk.workers.dev

Measured 2 weeks ago

Analyze another URL

AI-Ready Score

Good

out of 100

Token Savings

HTML tokens 4707
Markdown tokens 108
Savings 98%

Score Breakdown

Accessibility 81/100
AI Discoverability 94/100
Structured Data 100/100
Semantic HTML 92/100
Content Efficiency 70/100

Emerging protocols

5 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
    • resource: https://website-test.kamilolczyk.workers.dev/
    • 1 authorization server(s)
  • OAuth Discovery RFC 8414
    /.well-known/oauth-authorization-server
    • issuer: https://website-test.kamilolczyk.workers.dev
    • token_endpoint: https://website-test.kamilolczyk.workers.dev/oauth/token
    • 1 grant type(s)
  • MCP Server Card SEP-1649 draft
    /.well-known/mcp/server-card.json
    • name: com.kamilolczyk/website
    • v4.0.0
  • A2A Agent Card A2A v1.0
    /.well-known/agent-card.json
  • API Catalog RFC 9727
    /.well-known/api-catalog
    • 2 API(s)
  • Agent Skills index Discovery RFC v0.2.0 draft
    /.well-known/agent-skills/index.json
    • 2 skill(s)
    • kamil-olczyk, kamil-olczyk-project-plan

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 Main content starts at 61% 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 Content ratio: 4.4% (529 content chars / 12061 HTML bytes)

Your page has a low ratio of actual content to total HTML. Much of the page weight is markup, scripts, or styles rather than content.

How to implement

Move CSS to external stylesheets, remove inline styles, minimize JavaScript, and ensure the HTML focuses on content structure.

Paste into a coding agent to make the fix
Markdown tokens: 108
## Kamil Olczyk
Product Designer## About me

I take your digital product from *'what if'* to *'wow'*. I cover the whole design cycle, analysing data, mapping UX logic and polishing pixels.

## Contact

[Mail **[email protected]**](mailto:[email protected])

[WhatsApp **+48 884 884 488**](https://wa.me/48884884488)

Replies usually within 24hCET
Kamil Olczyk — Product Designer                                 [Skip to content](https://website-test.kamilolczyk.workers.dev/#main)

KO/OSv4.0.0 Skip intro

KO/OS

**0**

[](https://website-test.kamilolczyk.workers.dev/)

PolandAvailable for projects

# Kamil Olczyk
Product Designer## About me

I take your digital product from *'what if'* to *'wow'*. I cover the whole design cycle, analysing data, mapping UX logic and polishing pixels.

## Contact

[Mail **[email protected]**](mailto:[email protected])

[WhatsApp **+48 884 884 488**](https://wa.me/48884884488)

Replies usually within 24hCET

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
# Kamil Olczyk

> Kamil Olczyk — Product Designer. I take digital products from 'what if' to 'wow' — analysing data, mapping UX logic and polishing every pixel. Get in touch.

## Main
- [Kamil Olczyk — Product Designer](https://website-test.kamilolczyk.workers.dev): Kamil Olczyk — Product Designer. I take digital products from 'what if' to 'wow' — analysing data, mapping UX logic and…

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

Upload this file to https://website-test.kamilolczyk.workers.dev/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
# Kamil Olczyk — Product Designer

> Product Designer based in Poland. Full design cycle: data analysis, UX
> logic, pixel-perfect UI. Open for projects, replies within 24h (CET).

## Contact

- Email: [email protected]
- WhatsApp: +48 884 884 488
- Location: Poland
- Site: https://kamilolczyk.com

## Pages

- [Home](https://kamilolczyk.com/): one-page portfolio — services, short bio,
  contact (mail + WhatsApp).

## Optional

- [Markdown rendition of the page](/index.md): plain-markdown version of the
  home page, served automatically to AI agents via content negotiation.
- [Agent skill: profile & contact](/.well-known/agent-skills/kamil-olczyk/SKILL.md):
  SKILL.md with Kamil's profile and contact instructions for agents.
- [Agent skill: project plan](/.well-known/agent-skills/kamil-olczyk-project-plan/SKILL.md):
  SKILL.md teaching agents to turn a commission idea into a chapter-based
  draft plan (brief → data → UX → UI → prototype → delivery).

Accessibility

Content available without JavaScript (100/100)

Content available without JavaScript

Content appears early in HTML (25/100)

Main content starts at 61% of HTML

Reasonable page size (100/100)

Page size: 12KB

AI Discoverability

Robots.txt allows AI bots (100/100)

All major AI search bots allowed

Markdown for Agents support (80/100) Application
✓ Accept: text/markdown ✓ .md URL ✗ <link> tag ✓ Link header
Has sitemap.xml (100/100)

Sitemap found

Has robots.txt file (100/100)

robots.txt exists

Has llms.txt file (100/100)

llms.txt exists and is valid

Has Content-Signal (robots.txt or HTTP headers) (80/100)
✓ robots.txt ✗ HTTP header ✓ Policy

Structured Data

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

JSON-LD found: Person, WebSite

Has Open Graph tags (100/100)

All OG tags present

Has meta description (100/100)

Meta description: 156 chars

Has canonical URL (100/100)

Canonical URL present

Has lang attribute (100/100)

lang="en"

Semantic HTML

Proper heading hierarchy (100/100)

Clean heading hierarchy

Uses article or main element (100/100)

Has <main>

Uses semantic HTML elements (59/100)

5 semantic elements, 23 divs (ratio: 18%)

Meaningful image alt texts (100/100)

No images found

Low div nesting depth (100/100)

Avg div depth: 1.5, max: 4

Content Efficiency

Good token reduction ratio (100/100)

98% token reduction (HTML→Markdown)

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

Content ratio: 4.4% (529 content chars / 12061 HTML bytes)

Reasonable page weight (100/100)

HTML size: 12KB

Minimal inline styles (100/100)

0/136 elements with inline styles (0.0%)

{
  "url": "https://website-test.kamilolczyk.workers.dev",
  "timestamp": 1788551662615,
  "fetch": {
    "mode": "simple",
    "timeMs": 261,
    "htmlSizeBytes": 12061,
    "supportsMarkdown": true,
    "markdownAgents": {
      "contentNegotiation": true,
      "mdUrl": {
        "found": true,
        "url": "https://website-test.kamilolczyk.workers.dev/index.md"
      },
      "linkTag": {
        "found": false,
        "url": null
      },
      "linkHeader": {
        "found": true,
        "url": "/index.md"
      },
      "responseHeaders": {
        "contentSignal": null,
        "xMarkdownTokens": null,
        "vary": "Accept"
      },
      "frontmatter": {
        "present": false,
        "fields": [],
        "level": "none"
      },
      "level": "application",
      "contentNegotiationMediaType": "text/markdown",
      "properMediaType": true,
      "mdUrlMediaType": "text/markdown",
      "mdUrlProperMediaType": true
    },
    "statusCode": 200
  },
  "extraction": {
    "title": "Kamil Olczyk — Product Designer",
    "excerpt": "Kamil Olczyk — Product Designer. I take digital products from 'what if' to 'wow' — analysing data, mapping UX logic and polishing every pixel. Get in touch.",
    "byline": "Kamil Olczyk",
    "siteName": "Kamil Olczyk",
    "lang": "en",
    "contentLength": 529,
    "metadata": {
      "description": "Kamil Olczyk — Product Designer. I take digital products from 'what if' to 'wow' — analysing data, mapping UX logic and polishing every pixel. Get in touch.",
      "ogTitle": "Kamil Olczyk — Product Designer",
      "ogDescription": "Kamil Olczyk — Product Designer. I take digital products from 'what if' to 'wow' — analysing data, mapping UX logic and polishing every pixel. Get in touch.",
      "ogImage": "https://kamilolczyk.com/og-image.png",
      "ogType": "website",
      "canonical": "https://kamilolczyk.com/",
      "lang": "en",
      "schemas": [
        {
          "@type": "Person",
          "@id": "https://kamilolczyk.com/#person",
          "name": "Kamil Olczyk",
          "url": "https://kamilolczyk.com/",
          "image": "https://kamilolczyk.com/og-image.png",
          "jobTitle": "Product Designer",
          "email": "mailto:[email protected]",
          "telephone": "+48884884488",
          "sameAs": []
        },
        {
          "@type": "WebSite",
          "@id": "https://kamilolczyk.com/#website",
          "url": "https://kamilolczyk.com/",
          "name": "Kamil Olczyk — Product Designer",
          "inLanguage": "en",
          "publisher": {
            "@id": "https://kamilolczyk.com/#person"
          }
        }
      ],
      "robotsMeta": "index, follow",
      "author": "Kamil Olczyk",
      "generator": null,
      "markdownAlternateHref": null
    }
  },
  "markdown": "## Kamil Olczyk\nProduct Designer## About me\n\nI take your digital product from *'what if'* to *'wow'*. I cover the whole design cycle, analysing data, mapping UX logic and polishing pixels.\n\n## Contact\n\n[Mail **[email protected]**](mailto:[email protected])\n\n[WhatsApp **+48 884 884 488**](https://wa.me/48884884488)\n\nReplies usually within 24hCET\n",
  "fullPageMarkdown": "Kamil Olczyk — Product Designer                                 [Skip to content](https://website-test.kamilolczyk.workers.dev/#main)\n\nKO/OSv4.0.0 Skip intro\n\nKO/OS\n\n**0**\n\n[](https://website-test.kamilolczyk.workers.dev/)\n\nPolandAvailable for projects\n\n# Kamil Olczyk\nProduct Designer## About me\n\nI take your digital product from *'what if'* to *'wow'*. I cover the whole design cycle, analysing data, mapping UX logic and polishing pixels.\n\n## Contact\n\n[Mail **[email protected]**](mailto:[email protected])\n\n[WhatsApp **+48 884 884 488**](https://wa.me/48884884488)\n\nReplies usually within 24hCET\n",
  "markdownStats": {
    "images": 0,
    "links": 2,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 3
  },
  "tokens": {
    "htmlTokens": 4707,
    "markdownTokens": 108,
    "reduction": 4599,
    "reductionPercent": 98
  },
  "score": {
    "score": 89,
    "grade": "B",
    "rubricVersion": 3,
    "dimensions": {
      "accessibility": {
        "score": 81,
        "weight": 30,
        "grade": "B",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 55,
            "evidence": "proven",
            "details": "Content available without JavaScript"
          },
          "fast_content_position": {
            "score": 25,
            "weight": 25,
            "evidence": "plausible",
            "details": "Main content starts at 61% of HTML"
          },
          "reasonable_page_size": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "Page size: 12KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 94,
        "weight": 25,
        "grade": "A",
        "checks": {
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 35,
            "evidence": "proven",
            "details": "All major AI search bots allowed"
          },
          "supports_markdown_negotiation": {
            "score": 80,
            "weight": 20,
            "evidence": "plausible",
            "details": "Application level — Content negotiation, .md URL (https://website-test.kamilolczyk.workers.dev/index.md), Link header",
            "mechanisms": {
              "negotiation": true,
              "mdUrl": true,
              "linkTag": false,
              "linkHeader": true
            }
          },
          "has_sitemap": {
            "score": 100,
            "weight": 15,
            "evidence": "plausible",
            "details": "Sitemap found"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "evidence": "plausible",
            "details": "robots.txt exists"
          },
          "has_llms_txt": {
            "score": 100,
            "weight": 10,
            "evidence": "speculative",
            "details": "llms.txt exists and is valid"
          },
          "has_content_signals": {
            "score": 80,
            "weight": 10,
            "evidence": "speculative",
            "details": "robots.txt: ai-train=yes, search=yes, ai-input=yes | Policy included",
            "mechanisms": {
              "robotsTxt": true,
              "httpHeader": false,
              "policy": true
            }
          }
        }
      },
      "structuredData": {
        "score": 100,
        "weight": 20,
        "grade": "A",
        "checks": {
          "has_schema_org": {
            "score": 100,
            "weight": 35,
            "evidence": "proven",
            "details": "JSON-LD found: Person, WebSite"
          },
          "has_open_graph": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "All OG tags present"
          },
          "has_meta_description": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "Meta description: 156 chars"
          },
          "has_canonical_url": {
            "score": 100,
            "weight": 15,
            "evidence": "plausible",
            "details": "Canonical URL present"
          },
          "has_lang_attribute": {
            "score": 100,
            "weight": 10,
            "evidence": "plausible",
            "details": "lang=\"en\""
          }
        }
      },
      "semanticHtml": {
        "score": 92,
        "weight": 15,
        "grade": "A",
        "checks": {
          "proper_heading_hierarchy": {
            "score": 100,
            "weight": 30,
            "evidence": "plausible",
            "details": "Clean heading hierarchy"
          },
          "uses_article_or_main": {
            "score": 100,
            "weight": 25,
            "evidence": "plausible",
            "details": "Has <main>"
          },
          "semantic_elements": {
            "score": 59,
            "weight": 20,
            "evidence": "plausible",
            "details": "5 semantic elements, 23 divs (ratio: 18%)"
          },
          "meaningful_alt_texts": {
            "score": 100,
            "weight": 15,
            "evidence": "plausible",
            "details": "No images found"
          },
          "low_div_nesting": {
            "score": 100,
            "weight": 10,
            "evidence": "speculative",
            "details": "Avg div depth: 1.5, max: 4"
          }
        }
      },
      "contentEfficiency": {
        "score": 70,
        "weight": 10,
        "grade": "C",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "evidence": "speculative",
            "details": "98% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 0,
            "weight": 30,
            "evidence": "speculative",
            "details": "Content ratio: 4.4% (529 content chars / 12061 HTML bytes)"
          },
          "reasonable_page_weight": {
            "score": 100,
            "weight": 20,
            "evidence": "speculative",
            "details": "HTML size: 12KB"
          },
          "minimal_inline_styles": {
            "score": 100,
            "weight": 10,
            "evidence": "speculative",
            "details": "0/136 elements with inline styles (0.0%)"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "id": "move_content_earlier",
      "priority": "critical",
      "category": "accessibility",
      "titleKey": "rec.move_content_earlier.title",
      "descriptionKey": "rec.move_content_earlier.description",
      "howToKey": "rec.move_content_earlier.howto",
      "howToStepKeys": null,
      "effort": "moderate",
      "estimatedImpact": 5.6,
      "maxImpact": 7.5,
      "evidence": "plausible",
      "checkScore": 25,
      "checkDetails": "Main content starts at 61% of HTML"
    },
    {
      "id": "improve_content_ratio",
      "priority": "high",
      "category": "contentEfficiency",
      "titleKey": "rec.improve_content_ratio.title",
      "descriptionKey": "rec.improve_content_ratio.description",
      "howToKey": "rec.improve_content_ratio.howto",
      "howToStepKeys": null,
      "effort": "moderate",
      "estimatedImpact": 3,
      "maxImpact": 3,
      "evidence": "speculative",
      "checkScore": 0,
      "checkDetails": "Content ratio: 4.4% (529 content chars / 12061 HTML bytes)"
    }
  ],
  "llmsTxtPreview": "# Kamil Olczyk\n\n> Kamil Olczyk — Product Designer. I take digital products from 'what if' to 'wow' — analysing data, mapping UX logic and polishing every pixel. Get in touch.\n\n## Main\n- [Kamil Olczyk — Product Designer](https://website-test.kamilolczyk.workers.dev): Kamil Olczyk — Product Designer. I take digital products from 'what if' to 'wow' — analysing data, mapping UX logic and…\n\n",
  "llmsTxtExisting": "# Kamil Olczyk — Product Designer\n\n> Product Designer based in Poland. Full design cycle: data analysis, UX\n> logic, pixel-perfect UI. Open for projects, replies within 24h (CET).\n\n## Contact\n\n- Email: [email protected]\n- WhatsApp: +48 884 884 488\n- Location: Poland\n- Site: https://kamilolczyk.com\n\n## Pages\n\n- [Home](https://kamilolczyk.com/): one-page portfolio — services, short bio,\n  contact (mail + WhatsApp).\n\n## Optional\n\n- [Markdown rendition of the page](/index.md): plain-markdown version of the\n  home page, served automatically to AI agents via content negotiation.\n- [Agent skill: profile & contact](/.well-known/agent-skills/kamil-olczyk/SKILL.md):\n  SKILL.md with Kamil's profile and contact instructions for agents.\n- [Agent skill: project plan](/.well-known/agent-skills/kamil-olczyk-project-plan/SKILL.md):\n  SKILL.md teaching agents to turn a commission idea into a chapter-based\n  draft plan (brief → data → UX → UI → prototype → delivery).",
  "emergingProtocols": {
    "oauthProtectedResource": {
      "exists": true,
      "url": "https://website-test.kamilolczyk.workers.dev/.well-known/oauth-protected-resource",
      "resource": "https://website-test.kamilolczyk.workers.dev/",
      "authorizationServers": [
        "https://website-test.kamilolczyk.workers.dev"
      ],
      "scopesSupported": [
        "profile.read",
        "services.read",
        "contact.read"
      ]
    },
    "oauthDiscovery": {
      "exists": true,
      "url": "https://website-test.kamilolczyk.workers.dev/.well-known/oauth-authorization-server",
      "issuer": "https://website-test.kamilolczyk.workers.dev",
      "authorizationEndpoint": null,
      "tokenEndpoint": "https://website-test.kamilolczyk.workers.dev/oauth/token",
      "grantTypesSupported": [
        "client_credentials"
      ],
      "scopesSupported": [
        "profile.read",
        "services.read",
        "contact.read"
      ]
    },
    "mcpServerCard": {
      "exists": true,
      "url": "https://website-test.kamilolczyk.workers.dev/.well-known/mcp/server-card.json",
      "draft": true,
      "name": "com.kamilolczyk/website",
      "version": "4.0.0",
      "description": "Read-only MCP server exposing the profile, services and contact details of Kamil Olczyk — Product Designer (kamilolczyk.com).",
      "transport": null,
      "tools": null,
      "resources": null,
      "prompts": null
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://website-test.kamilolczyk.workers.dev/.well-known/agent-card.json"
    },
    "apiCatalog": {
      "exists": true,
      "url": "https://website-test.kamilolczyk.workers.dev/.well-known/api-catalog",
      "contentType": "application/linkset+json",
      "validMediaType": true,
      "apis": 2
    },
    "agentSkills": {
      "exists": true,
      "url": "https://website-test.kamilolczyk.workers.dev/.well-known/agent-skills/index.json",
      "draft": true,
      "schema": "https://schemas.agentskills.io/discovery/0.2.0/schema.json",
      "skills": 2,
      "names": [
        "kamil-olczyk",
        "kamil-olczyk-project-plan"
      ]
    },
    "count": 5,
    "total": 6
  },
  "botAccess": {
    "probed": true,
    "bot": "OAI-SearchBot",
    "controlStatus": 200,
    "botStatus": 200,
    "discriminates": false,
    "refusedAsBot": false,
    "edge": "Cloudflare",
    "verifiable": false,
    "detail": "This origin answers OAI-SearchBot exactly as it answers any other client (200). No edge-level filtering of AI crawlers observed."
  },
  "snippets": []
}

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 website-test.kamilolczyk.workers.dev with Cloudflare

Embed your badge

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

AgentReady.md score for website-test.kamilolczyk.workers.dev
Script Recommended
<script src="https://agentready.md/badge.js" data-id="7deff909-e829-4684-b3ac-84ab1141f1a5" data-domain="website-test.kamilolczyk.workers.dev"></script>
Markdown
[![AgentReady.md score for website-test.kamilolczyk.workers.dev](https://agentready.md/badge/website-test.kamilolczyk.workers.dev.svg)](https://agentready.md/r/website-test.kamilolczyk.workers.dev)

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.