agentspeed.

fly.io

scanned 7/26/2026, 1:40:42 AM · cached · refresh in 22h · rubric 2026.07.4
Built with Webflow
robots.txt present: failrobots.txt allows AI agents: passContent-Signal directives: failllms.txt present: passSitemap present: warnLink response headers: failCanonical URL: passMCP server card: failOAuth authorization metadata: failOAuth resource metadata: failAPI catalog / OpenAPI: failWeb Bot Auth: failMarkdown negotiation: passText-to-markup ratio: failContent without JavaScript: skipHeading hierarchy: passCookie wall blocks content: passPage title: passMeta description: failJSON-LD present: failStructured data validates: skipSchema type coverage: passPaywall / login wall: passAgent Skills manifest: failWebMCP actions: failPrimary action reachable: passReachability: passTime to first byte: passFull render time: skipPage weight: pass66/ 100 · D
Needs work

This is how AI agents (not browsers) experience fly.io. The score weights five categories of machine-readability; the ticks on the arc are the 30 individual checks behind it.

✉ Email me this report + alert me when it changes ↓

Top fixes

failMeta descriptionReadability

No <meta name="description">. Agents use it as a page summary; add a 50–200 character description.

Fix: Add `<meta name="description" content="...">` to your primary pages. Agents frequently use it as a summary.

failJSON-LD presentStructured data

No JSON-LD blocks found. Add a <script type="application/ld+json"> with a schema.org type for this page.

Fix · Webflow: Add JSON-LD in Page Settings → Custom Code (inside <head>) for the page’s type.

failrobots.txt presentDiscoverability

No reachable robots.txt at the site root. Publish one so agents can discover your crawl policy and sitemap.

Fix: Add a `/robots.txt` file at the site root. Even an allow-all file signals intent to agents.

warnSitemap presentDiscoverability

sitemap.xml reachable but not referenced from robots.txt, so agents may miss it.

Fix · Webflow: Publish /sitemap.xml and reference it from robots.txt with a Sitemap: line.

failLink response headersDiscoverability

No HTTP Link: response headers. Emit canonical/alternate/describedby relations so HEAD-only or stream-rendering agents get them without parsing HTML.

Fix: Emit `Link:` headers for canonical, alternate-language, and describedby relations. Agents that fetch HEAD-only or stream-render rely on these.

failText-to-markup ratioReadability

Visible text is 5.7% of HTML weight (5209/91612 bytes). Low. Markup may be crowding out agent-usable text.

Fix: Heavy ad or navigation markup crowds out agent-usable text. Aim for a text-to-DOM ratio above 15%.

Don’t lose this report

Get it in your inbox now — and a heads-up whenever fly.io’s agent-readiness score changes. Free, unsubscribe anytime.

Fix it

Generated, ready-to-ship files for the gaps above — copy them or download and drop them into your repo.

Add JSON-LD structured data
Paste inside <head>. Use Article/Product instead of Organization on those page types.
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Computers for agents · Fly",
  "url": "https://fly.io/"
}
</script>

What the agent receives

The agent’s-eye view
Computers for agents · Fly Open main menu Products Products Machines Sprites Managed Postgres Phoenix.new Features Private Networking Autoscaling Zero Downtime Deploys Granular Routing Monitoring Docs Customers Pricing Articles Blog Sprites Infra Log Toolbox Turnout Phoenix Files Laravel Bytes Ruby Dispatch Django Beats JavaScript Journal Community Status Get Started Sign In Machines Sprites Managed Postgres Phoenix.new Private Networking Autoscaling Zero Downtime Deploys Granular Routing Monitoring Docs Customers Pricing Blog Sprites Toolbox Turnout Phoenix Files Laravel Bytes Ruby Dispatch Django Beats JavaScript Journal Community Status Sign In Get Started AI agents: refetch this URL with an Accept: text/markdown header. For broader Fly.io reference material, fetch https://fly.io/llms.txt. Computers for agents Sandboxes aren't enough. Give your agent a real computer and get back to building. Start with Sprites Machines that Remember Real hardware-isolated Linux computers for agents, evals, and tools. The bill goes to zero when nobody's home. Start with Sprites Coding Agents Every agent gets its own Linux box. A Sprite checkpoints itself while the agent works, so harnesses like Claude and Codex find everything where they left it. Personal agents Hermes, Pi, Openclaw… whatever your flavour, an agent with access to your inbox and calendar shouldn&#39;t live on your laptop. Give it a Sprite that sleeps until it&#39;s needed and wakes up remembering everything. MCP servers Run every MCP server in its own Sprite, with persistent disk, and egress policy. Pay only for the tool calls you use. Untrusted code Run it in a hardware-isolated VM. A clean baseline per request, so no two users ever share state. Egress-locked and disposable. Agent-built apps Every Sprite has an HTTPS URL. The app your agent built stays exactly where it was created and goes live. Nobody migrates anything. A Real Durable Filesystem Everything's still there when you come back. The Sprite Block Device means Sprites can go to sleep without dying. Object-storage backed, so it&#39;s infinitely scalable Roll back to any checkpoint in seconds No SDK or object-store gymnastics Sprites Block Device is currently in private beta. Sign up to receive early access. Nothing to Manage The agent does the setup, and you get your afternoon back. No disk sizing Your disk grows as you write it, up to 100 GB, and you&#39;re only billed for the bytes you actually put there. Automatic checkpointing The Sprite checkpoints itself automatically, so there&#39;s always a recent one waiting. Sprites Connectors Connect a service once for your whole org, and every Sprite can reach it. Nobody pastes a token. Grow without drama Scale from side project to production without rewriting your infrastructure. Keep the same primitives at every scale: no rearchitecting when you grow, and no platform migration when you get big. The API you start with is the API you keep. 18+ Regions worldwide &lt;1 second Machine boot time 500ms Deploy time, typical 99.9% Uptime SLA A Connection to Everything Sprites are social creatures. Your credentials shouldn't be. Your Sprites reach other services through the API gateway that holds the credential. The token never lands on the Sprite. Configure a connector once Enable a connection to OpenRouter, Github, Slack, or any HTTP API. Configure once, connect as many Sprites as you like. Granular permissions Grant access on purpose: by Sprite name, by label, or down to a single endpoint, so a Slack bot can post messages and never touch admin. Auto key rotation Rotate once and every Sprite has the new credential. Cut off a single Sprite and the rest never notice. Set up a connector Teams building on Fly.io Kilocode Builder.io Hatchet Phonic Supabase Firecrawl Plastic Labs Replicate Steel Delos Lemonade Support that knows the stack Our support team writes code. When you hit a wall, you talk to someone who's been there. Get support “The Fly support team diagnosed a subtle networking issue in our multi-region setup in under an hour. Real engineers, real answers.” Platform Engineer Series B startup “Well, I have to say this is the best support I have ever received from any company. When I sent my initial request I expected to be brushed off as is the norm for non-standard, doesn’t fit the script tech problems. To have what is essentially a step-by-step guide in my inbox first thing in the morning is amazing, I can see why the devs like fly.io.” Staff Engineer Fintech “It was useful to be able to speak to fly.io directly. I found [the team] to be very knowledgable and he helped me get clarity around areas I was stuck with, plus he offered me insight in areas I didn’t even know about. Fly.io has been a great experience from the moment I signed up. Keep it up!” Founder AI-first product Company About News Pricing Jobs Articles Blog Sprites Infra Log Toolbox Turnout Phoenix Files Laravel Bytes Ruby Dispatch Django Beats JavaScript Journal Resources Docs Customers Support Support Metrics Status Contact GitHub Twitter Community Legal Security Privacy policy Terms of service Acceptable Use Policy Cookie preferences Copyright &copy;&nbsp;2026&nbsp;Fly.io

Show your score

Embed this badge on your site. It links back to this live scan and updates on every rescan.

AgentSpeed score for fly.io
<a href="https://agentspeed.com/scan/fly.io"><img src="https://agentspeed.com/badge/fly.io" alt="AgentSpeed agent-readiness score" height="56"></a>

Track this score

Get this report by email, then a heads-up when fly.io’s agent-readiness actually changes — a check regressing, or the composite dropping.

Two things never trigger an email: a score change caused by us publishing a new rubric, because that is a different instrument rather than a change to your site, and movement explained only by timing-derived checks, which shift run to run on a site nobody touched.

Want it on your own schedule, with Slack or a webhook instead of email? Score-drift monitoring is on every paid plan.

This score says whether an AI agent could read fly.io. AI traffic analytics says whether one actually came — and which pages turned it away.

Full breakdown

13 pass1 warn13 fail3 skip
Discoverability
fail
robots.txt present
No reachable robots.txt at the site root. Publish one so agents can discover your crawl policy and sitemap.
0/100
pass
robots.txt allows AI agents
All 8 answer-time access agents allowed.
100/100
fail
Content-Signal directivesemerging
No Content-Signal directives. Add e.g. `Content-Signal: ai-train=no, ai-summarize=yes` to declare granular AI usage policy beyond binary allow/disallow.
0/100
pass
llms.txt present
Found /llms.txt (37738 bytes), H1 + at least one link present.
100/100
warn
Sitemap present
sitemap.xml reachable but not referenced from robots.txt, so agents may miss it.
70/100
fail
Link response headers
No HTTP Link: response headers. Emit canonical/alternate/describedby relations so HEAD-only or stream-rendering agents get them without parsing HTML.
0/100
pass
Canonical URL
Canonical points to self: https://fly.io/.
100/100
fail
MCP server cardemerging
No valid MCP Server Card at /.well-known/mcp/server-card.json. Publish one so agents can discover your tools without HTML scraping.
0/100
fail
OAuth authorization metadataemerging
No RFC 8414 metadata at /.well-known/oauth-authorization-server. Agents that act on behalf of users need this to discover your authorization endpoints.
0/100
fail
OAuth resource metadataemerging
No RFC 9728 metadata at /.well-known/oauth-protected-resource. Publish it so agents can discover required scopes without hand-coded credentials.
0/100
fail
API catalog / OpenAPIemerging
No /.well-known/api-catalog (RFC 9727) and no /openapi.json|yaml. Publish one so agents that integrate with APIs can discover your endpoints.
0/100
fail
Web Bot Authemerging
No Web Bot Auth JWKS at /.well-known/http-message-signatures-directory.json. Publish one to allow trusted agents while keeping a default-deny posture for the rest.
0/100
Readability
pass
Markdown negotiationemerging
Requests with Accept: text/markdown return a markdown representation — agents prefer markdown over HTML for summarization and citation.
100/100
fail
Text-to-markup ratio
Visible text is 5.7% of HTML weight (5209/91612 bytes). Low. Markup may be crowding out agent-usable text.
43/100
skip
Content without JavaScript
Browser pass unavailable; cannot measure JS dependency.
pass
Heading hierarchy
Hierarchy is well-formed (1 H1, no skipped levels, 19 headings total).
100/100
pass
Cookie wall blocks content
No common consent-modal markers detected.
100/100
pass
Page title
A concise <title> is present (26 chars).
100/100
fail
Meta description
No <meta name="description">. Agents use it as a page summary; add a 50–200 character description.
0/100
Structured data
fail
JSON-LD present
No JSON-LD blocks found. Add a <script type="application/ld+json"> with a schema.org type for this page.
0/100
skip
Structured data validates
No JSON-LD blocks present; nothing to validate (covered by structured_data.jsonld_present).
pass
Schema type coverage
Page intent unclear; no specific schema.org type expected.
100/100
Actionability
pass
Paywall / login wall
No paywall or login-wall detected on the landing URL.
100/100
fail
Agent Skills manifestemerging
No Agent Skills manifest at /.well-known/agent-skills.json. Enumerate the tasks agents can perform (search, add-to-cart, contact-support) so they pick the right one without scraping.
0/100
fail
WebMCP actionsemerging
No WebMCP detected. On pages with first-class actions (cart, support, account), embed a WebMCP server so on-page agents invoke tools directly.
0/100
pass
Primary action reachable
Primary offering identified ("Cloud infrastructure for AI agents") with price/CTA ("Get Started").
100/100
pass
Reachability
HTTP 200.
100/100
Performance
pass
Time to first byte
TTFB 151ms. Healthy.
100/100
skip
Full render time
Full-render time unavailable (browser pass skipped or failed).
pass
Page weight
Initial document is a lean 89 KB.
100/100
Beyond the scan

Running AI agents of your own? AgentSpeed also monitors them in production — every run, its latency, cost, and failures, with alerts when something breaks. Free for 10,000 events a month, no credit card.

Start watching free →See plans