Measured on the home page. Overall grade: Excellent.
No RSL license discovery found
Declare machine-readable licensing terms for your content with Really Simple Licensing. Add to robots.txt: License: https://your-site.com/license.xml — then publish the RSL document. See https://rslstandard.org.
Homepage does not serve Markdown via content negotiation
Serve a Markdown representation of your pages when agents request "Accept: text/markdown". Agents like Claude Code and Cursor ask for it, and Markdown cuts token usage by ~80% vs HTML. Cloudflare ("Markdown for Agents") and Vercel can enable this without code changes.
Markdown alternate advertised via <link rel="alternate" type="text/markdown"> (1 link tag(s))
Response compressed with Brotli (br)
Cache validator present (Last-Modified)
Conditional request returned 200 instead of 304 Not Modified
The server advertises a cache validator but does not honor If-None-Match / If-Modified-Since. Configure it to return 304 when the validator matches, so crawlers avoid re-downloading unchanged pages.
Homepage size is reasonable (94.8 KB decompressed)
Site is served over HTTPS
HTTP requests redirect to HTTPS
HSTS max-age is short (15552000s = ~180 days)
Use at least max-age=15768000 (~6 months); preload list submission requires max-age=31536000 (1 year).
HSTS includes subdomains
HSTS has preload directive but does not satisfy preload-list requirements
Preload requires max-age >= 31536000 and includeSubDomains. See https://hstspreload.org.
/llms.txt exists
/llms.txt Content-Type OK (text/plain)
H1 heading: "LOI - La Oferta Irresistible"
Blockquote description present
7 section heading(s) found
23 link(s) found
/llms-full.txt also available (bonus)
/robots.txt exists
All 8 core AI crawlers explicitly configured
Sitemap directive present
No Content-Signal directive found (optional)
Declare how crawlers may use your content after access with the Content Signals Policy, e.g.: Content-Signal: search=yes, ai-train=no. Known signals: search, ai-input, ai-train. Generate yours at contentsignals.org.
17/48 known AI crawlers have explicit rules
/.well-known/agent.json exists
Valid JSON
Required field "name" present
Required field "description" present
Required field "url" present
Required field "skills" present
6 skill(s) defined
All skills have id + description
Protocol version: 0.2.0
2/3 optional fields present
/.well-known/security.txt exists
Required field "Contact" present
Required field "Expires" present
Expires date is in the future (2027-02-06)
3/5 optional fields present
5/5 AI meta tags found
rel="alternate" link to llms.txt present
rel="alternate" link to agent.json present
3 rel="me" identity link(s) found
OpenGraph required tags present (og:title, og:description, og:url, og:type)
Twitter Card required tags present (twitter:card, twitter:title, twitter:description)
/.well-known/openapi.json exists
Valid JSON
OpenAPI version: 3.1.0
API title: "LOI E-Commerce API"
API description present
16 path(s) documented
3 server(s) defined
/.well-known/mcp.json exists
Valid JSON
Server name: "LOi Uruguay"
Server description present
6 tool(s) defined
All tools have descriptions
2 resource(s) defined
2 prompt(s) defined
Protocol version: 2024-11-05
CORS enabled on MCP endpoint
Sitemap located: https://loi.com.uy/sitemap.xml
Content-Type is XML (application/xml)
Sitemap-index references 1 child sitemap(s)
1/1 sample child sitemap(s) reachable
Sample yielded 0 URL(s) across 1 child(ren)
5/5 emerging AI discovery files published
ai.txt present at /.well-known/ai.txt
genai.txt present at /.well-known/genai.txt
ai-plugin.json present at /.well-known/ai-plugin.json
agents.json present at /agents.json
nlweb.json present at /.well-known/nlweb.json
All 8 core AI crawler user-agents receive equivalent responses
1 JSON-LD block(s) found
@context references schema.org
@graph array present (multi-entity structured data)
Key types found: Organization, WebSite, WebPage
BreadcrumbList present
5/7 security headers present
Link header references both llms.txt and agent.json
CORS enabled on .well-known resources
Server-rendered content detected (735 words, 4926 chars of visible text)
Text-to-markup ratio is healthy (5.1%)
Semantic landmarks present (main, article, section, header, footer, nav)
Single <h1> heading: "Somos LOi Uruguay - La Oferta Irresistible Uruguay, las mej…"
1/1 <img> tags have alt attributes
<title> length 58 chars: "La Oferta Irresistible. Ofertas con envío gratis y rápido."
Meta description length 141 chars
Canonical URL: https://loi.com.uy/
<html lang="es-UY">
UTF-8 charset declared
Viewport meta present: "width=device-width, initial-scale=1.0, viewport-fit=cover, minimum-scale=1.0"
3 hreflang alternate(s) including x-default