Foreplay
← board · foreplay.co · #52 of 80
Ready with a few material gaps
- B
- Grade
- 48
- Agent readiness
- Board average 77
Scanned 14 hours ago
Every outstanding fix in one prompt for your coding agent. Rescan →
Task
What does foreplay.co do and how do I use it? A fetch-only agent finds out.
12 fetches6 found6 missing
- /robots.txt⋯/sitemap.xml
- /llms.txt⋯/llms-full.txt
- /pricing
- /docs
- /openapi.json
- mcp.json⋯MCP initialize
- /privacy · /terms
every path the scanner fetched · replayed deterministically, no LLM
Evaluator notes
A fetch-only agent reached foreplay.co over HTTPS in 1076 ms and identified it from its title as “Foreplay | The Complete Winning Ad Workflow - Save ads from Ad Libraries”. The copy is readable without JavaScript (46,586 chars of visible text, 13.7% of HTML). It found pricing and docs. It looked for an OpenAPI spec and an MCP server and found none.
Critical access needs attention
Whether an ordinary agent can enter, read, and operate the public site.
- ✓4 / 4 passedAgents can reach the site
Crawler access and bot defenses.
- ~1 / 2 passedCore content is available
Useful content remains accessible without a fragile browser-only path.
- ✓2 / 2 passedNavigation fails safely
Redirects and missing pages give agents a recoverable path.
- ~1 / 2 passedControls are understandable
Forms and interactive controls expose usable names and structure.
Fix these gaps first
Critical access gaps come first, then the biggest remaining points.
- 01OpenAPI spec discoverableAgent-ready
Publish your OpenAPI spec at /.well-known/openapi.json so agents can call you without reading docs.
+7 pts - 02Title tag 10–70 charactersMetadata
Write a title that names the product and what it does, under 70 characters.
+5 pts - 03Structured data (JSON-LD)Agent-ready
Add SoftwareApplication or Organization JSON-LD so search engines and agents can read what you are.
+4 pts - 04Semantic landmarks (main, single H1)Critical access
Wrap the content in <main> and keep one H1 so agents can find the primary content.
+3 pts - 05Agent 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
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://www.foreplay.co/
- ✓Responds in under 1.5s5/5
1076 ms to first byte
- ✓robots.txt present2/2
User-agent: * Disallow: /checkout Disallow: /order-confirmation Disallow: /login…
- ✓sitemap.xml present2/2
/sitemap.xml → 200
- ✓Homepage is indexable5/5
HTTP 200
Metadata6 of 7 passed · 19/24 pts›
- ✕Title tag 10–70 characters0/5
"Foreplay | The Complete Winning Ad Workflow - Save ads from Ad Libraries" (72)
→ Write a title that names the product and what it does, under 70 characters.
- ✓Meta description 50–160 characters5/5
"From advertising inspiration to creative analytics. The best way to save ads from TikTok, and Facebo…" (149)
- ✓Canonical URL set3/3
https://www.foreplay.co
- ✓Exactly one H14/4
1 × <h1>: "The Complete Winning Ad Workflow"
- ✓Mobile viewport set3/3
width=device-width, initial-scale=1
- ✓Language declared2/2
<html lang="en-US">
- ✓Favicon declared2/2
https://cdn.prod.website-files.com/62a4ed18ddad95dde8b8bfa4/647129174d2274576936dda2_Group%2048098.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
17 CTA(s), e.g. "Book a Demo"
- ✓Pricing page linked6/6
→ /pricing
- ✓HTML under 2 MB3/3
332 KB of HTML
Measured1 of 1 passed · 6/6 pts›
- ✓Analytics installed6/6
detected: gtag(
Agent-ready9 of 19 passed · 22/46 pts›
- ✕Structured data (JSON-LD)0/4
no JSON-LD
→ Add SoftwareApplication or Organization JSON-LD so search engines and agents can read what you are.
- ✓Machine-readable pricing3/3
/pricing lists prices as text
- ✓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 discoverable0/7
no /openapi.json or /.well-known/openapi.json
→ Publish your OpenAPI spec at /.well-known/openapi.json so agents can call you without reading docs.
- ✕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
46,586 chars of visible text, 13.7% 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
52/52 images have alt
- —Form fields are labelledn/a
- ◐Descriptive link text2/2
6/122 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)0/2
none of /privacy, /terms, /security respond
→ Serve /privacy and /terms at those paths; agents deciding whether to use you look for them.
- ✕Organization schema complete0/2
no Organization in JSON-LD
→ Give the Organization JSON-LD a name, url, logo, description and sameAs links.
- ✓llms.txt says what you are and links out2/2
4000+ chars, has H1, has links
- ✕Contact route discoverable0/2
no contact link or email on the homepage
→ Link /contact or a mailto: so an agent (or a human it hands off to) can reach you.
APIn/a›
- —Spec parses and declares a versionn/a
- —Operations have summaries and operationIdsn/a
- —Error responses documentedn/a
- —Auth scheme declaredn/a
- —Versioned paths or serversn/a
- —Spec within a model context budgetn/a
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:30.789Z.