Mesuré sur la page d'accueil. Note globale : Excellent.
/.well-known/mcp.json not found
Create a /.well-known/mcp.json file describing your MCP server configuration. Include name, description, tools, and version fields. See https://modelcontextprotocol.io for the spec.
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.
Server-rendered content detected (473 words, 3398 chars of visible text)
Low text-to-markup ratio (2.3%)
A very low text-to-markup ratio is a typical SPA-shell symptom. Inline more content directly into the HTML response.
Semantic landmarks present (main, article, section, header, footer, nav)
Single <h1> heading: "Hello, I'm Lucio Duran!"
3/3 <img> tags have alt attributes
<title> is too long (78 chars)
Shorten the title to 20-70 characters. Many agents and search engines truncate beyond ~70.
Meta description is long (186 chars)
Trim to 70-160 characters; longer descriptions get truncated.
Canonical URL: https://lucioduran.com/
<html lang="en">
UTF-8 charset declared
Viewport meta present: "width=device-width, initial-scale=1, maximum-scale=5, minimum-scale=1, viewport-fit=cover"
/llms.txt exists
/llms.txt Content-Type OK (text/plain)
H1 heading: "Lucio Duran — Personal Portfolio & Professional Profile"
Blockquote description present
12 section heading(s) found
48 link(s) found
/llms-full.txt also available (bonus)
/robots.txt exists
All 8 core AI crawlers explicitly configured
1 AI crawler(s) have partial path restrictions
These crawlers have Disallow rules on specific paths. For full AI access, use only "Allow: /" and let the wildcard User-agent: * handle path restrictions.
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.
32/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
8 skill(s) defined
All skills have id + description
Protocol version: 0.2.0
All optional fields present (capabilities, authentication, documentationUrl)
/.well-known/security.txt exists
Required field "Contact" present
Required field "Expires" present
Expires date is in the future (2027-02-28)
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
5 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: "Lucio Duran Portfolio API"
API description present
10 path(s) documented
2 server(s) defined
Sitemap located: https://lucioduran.com/sitemap.xml
Content-Type is XML (application/xml)
Sitemap-index references 1 child sitemap(s)
1/1 sample child sitemap(s) reachable
Sample yielded 1351 URL(s) across 1 child(ren)
Newest <lastmod> is recent (86 day(s) ago)
Site is served over HTTPS
HTTP requests redirect to HTTPS
HSTS max-age=63072000
HSTS includes subdomains
HSTS preload-eligible
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
Homepage serves Markdown via content negotiation (Accept: text/markdown)
Response body is Markdown, not an HTML document
Vary: Accept present (caches keep HTML and Markdown apart)
Markdown is ~99% lighter than the HTML representation (2012 vs 144778 bytes)
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: Person, Organization, WebSite, ProfilePage
BreadcrumbList present
6/7 security headers present
Link header references both llms.txt and agent.json
CORS enabled on .well-known resources
X-Robots-Tag: noindex on /llms.txt (prevents search indexing of raw text)
Response compressed with Brotli (br)
Cache validator present (ETag)
Conditional request returns 304 Not Modified
Homepage size is reasonable (141.6 KB decompressed)