scanné le 2026-08-27 19:53 UTC · en cache · actualisation dans 0 h · rubric 2026.11.0
○Analyse publique non vérifiée
À risque
AgentSpeed teste avec quelle facilité des agents automatisés peuvent découvrir, comprendre et agir sur postfinance.ch. Le score pondère cinq catégories de lisibilité machine ; les graduations de l’arc sont les 37 vérifications individuelles derrière.
Envoyez ceci à la personne qui modifie le site. Le lien affiche le score et la note sous forme d’aperçu, et il reste à jour : il relit le dernier scan au lieu de figer la valeur d’aujourd’hui.
Corrections prioritaires
failSitemap present+3 ptsDécouvrabilité
No reachable sitemap.xml. Publish one and reference it in robots.txt.
Voir la marche à suivre
Ce que cela signifie
A sitemap is a machine-readable list (sitemap.xml) of every page on your site. It is how crawlers find pages that aren’t linked from your homepage.
Pourquoi c’est important
Agents discovering your site crawl outward from the pages they know. Without a sitemap, anything not linked from a top-level page (docs, older articles, product variants) may simply never be read, so it can’t be quoted or recommended.
À faire
Most platforms generate one automatically: Next.js (app/sitemap.ts), WordPress (Yoast/Rank Math), Shopify and Wix (built in). Turn it on rather than hand-writing.
Add a "Sitemap: https://yoursite.com/sitemap.xml" line to robots.txt so crawlers find it.
Submit it once in Google Search Console and Bing Webmaster Tools for the search side.
Ne perdez pas ce rapport
Recevez-le dans votre boîte mail, plus une alerte dès que le score de postfinance.ch change. Gratuit, désinscription à tout moment.
Vous préférez qu'on s'en charge ? Monitor rescanne chaque semaine et signale tout changement, $29/mo. Activer la surveillance →
Corriger
Des fichiers générés, prêts à déployer, pour les lacunes ci-dessus. Copiez-les ou téléchargez-les dans votre dépôt.
Reference a sitemap
Publish /sitemap.xml and add this line to robots.txt.
Sitemap: https://postfinance.ch/sitemap.xml
Ce scan a noté une page. Votre site en compte bien plus.
Point faible de ce scan : la découvrabilité, 36/100 — les signaux qui permettent aux agents de trouver et de parcourir ce site sont maigres ou absents.
Seule la page d’accueil a été notée. Vos tarifs, votre documentation et votre paiement vivent sur d’autres pages : celles que les assistants citent quand ils vous recommandent. Un 66/100 ici signifie que des agents ratent déjà des choses sur votre meilleure page. Le Deep Scan ($29) audite votre page d’accueil plus jusqu’à 10 autres pages que nous découvrons, sur les 37 vérifications, et envoie un PDF listant chaque échec et sa correction exacte, classés selon ce qui vous coûte le plus de visibilité. Paiement unique, livré en quelques minutes, sans abonnement.
Schnellnavigation Home Navigation Inhalt E-Finance Sitemap Unsere Bereiche Privatkunden Geschäftskunden Über uns und Jobs Support Blog Sprachwechsel DE Deutsch Français Italiano English Top Hauptnavigation Zahlen und Sparen Finanzieren Anlegen Vorsorgen Versichern Login Login Menu schliessen Suchbegriff Eingabe Suchbegriff Enter-Taste drücken Live-Resultate Suche Alle Suchresultate anzeigen Unsere Bereiche Privatkunden Übersicht Zahlen und Sparen Übersicht Bankpakete Konten Debit- und Kreditkarten E-Banking und Apps Mobiles Bezahlen Zahlungen im Inland Zahlungen ins Ausland Währungs-/Devisenwechsel Schnellzugriff Kund:in werden Beratung für Privatkund:innen Tools und Rechner Bonusprogramm SmartPoints Finanzieren Übersicht Hypotheken Privatkredit Schnellzugriff Hypothekenberatung Hypothekarzinsen Hypothekenrechner Anlegen Übersicht Anlagemöglichkeiten Anlagemöglichkeiten Fonds ETFs Aktien Krypto Strukturierte Produkte Kassenobligationen Festgeld Anlagelösungen Anlagelösungen Sparplan Vermögensverwaltung Online-Trading Anlagewissen Anlagewissen Erste Schritte Anlegen-Blog Die PostFinance-Marktmeinung Anlagegeschäft und Nachhaltigkeit Schnellzugriff Beratung zu Geldanlagen Börsenkurse Tools und Rechner rund ums Anlegen Vorsorgen Übersicht Vorsorgekonto 3a Vorsorgefonds Lebensversicherungen Freizügigkeitskonto 2. Säule Schnellzugriff Vorsorgeberatung Pensionierungsberatung Vorsorgewissen Tools und Rechner rund um die Vorsorge Versichern Übersicht Lebensversicherungen Krankenversicherung Geschäftskunden Übersicht Unternehmenstyp Übersicht Firmengründer:innen und Startups KMU Grossunternehmen Händler Öffentlich-rechtliche Körperschaften NPO Vereine Finanzinstitute Partner Schnellzugriff Geschäftskunde werden Beratung für Geschäftskunden Produkte und Lösungen Übersicht Zahlungsverkehr Zahlungsverkehr Konten Karten Zahlungen tätigen Zahlungen erhalten E-Banking, Apps und technische Kanäle Währungs-/Devisenwechsel Liquidität Liquidität Liquidität bewirtschaften Liquidität anlegen Rechnungen Rechnungen Rechnungen versenden Rechnungen empfangen QR-Rechnung Betreibungen digitalisieren Einkassieren Einkassieren Einkassieren mit PostFinance Checkout im Onlineshop Einkassieren vor Ort Zahlungsart von PostFinance Versicherungen Versicherungen Versicherungen für Gründer:innen Finanzieren Finanzieren Unternehmensfinanzierung Kurzfristige Engpässe überbrücken Schnellzugriff Geschäftskunde werden Aktuelle Informationen Beratung für Geschäftskunden Business-Wissen Übersicht News Whitepapers Schnellzugriff Business-Blog Beratung für Geschäftskunden Über uns und Jobs Übersicht Unternehmen Übersicht Strategie und Ziele Die Geschichte von PostFinance Organisation Investor Relations Innovationen & Investments Medien Übersicht Medienmitteilungen und News Zahlen und Fakten Download Nachhaltigkeit Übersicht Massnahmen für die Nachhaltigkeit Mitglied- und Partnerschaften Nachhaltigkeits-Governance Nachhaltigkeitsstrategie Schnellzugriff CO2-Rechner Anlagegeschäft und Nachhaltigkeit Engagements Übersicht Sport Gesellschaft Kultur Bildung Wirtschaft Arbeiten bei PostFinance Übersicht Deine Karrieremöglichkeiten Dein Karrierestart – während oder nach dem Studium Dein Start ins Berufsleben Schnellzugriff People & Purpose-Blog Unser Bewerbungsprozess Unsere Anstellungsbedingungen Unsere Kultur Support Blog Sprachauswahl DE FR IT EN Menu schliessen Menu schliessen Suchbegriff Eingabe Suchbegriff Enter-Taste drücken Live-Resultate Suche Alle Suchresultate anzeigen Bankpakete Konten Debit- und Kreditkarten E-Banking und Apps Mobiles Bezahlen Zahlungen im Inland Zahlungen ins Ausland Währungs-/Devisenwechsel Übersicht Schnellzugriff Kund:in werden Beratung für Privatkund:innen Tools und Rechner Bonusprogramm SmartPoints Zurück zur Bereichsnavigation Hypotheken Privatkredit Übersicht Schnellzugriff Hypothekenberatung Hypothekarzinsen Hypothekenrechner Zurück zur Bereichsnavigation Anlagemöglichkeiten Fonds ETFs Aktien Krypto Strukturierte Produkte Kassenobligationen Festgeld Anlagelösungen Sparplan Vermögensverwaltung Online-Trading Anlagewissen Erste Schritte Anlegen-Blog Die PostFinance-Marktmeinung Anlagegeschäft und Nachhaltigkeit Übersicht Schnellzugriff Beratung zu Geldanlagen Börsenkurse Tools und Rechner rund ums Anlegen Zurück zur Bereichsnavigation Vorsorgekonto 3a Vorsorgefonds Lebensversicherungen Freizügigkeitskonto 2. Säule Übersicht Schnellzugriff Vorsorgeberatung Pensionierungsberatung Vorsorgewissen Tools und Rechner rund um die Vorsorge Zurück zur Bereichsnavigation Lebensversicherungen Krankenversicherung Übersicht Zurück zur Bereichsnavigation SmartYoung-Jugendkonto Leichter als jeder Nebenjob: Jetzt SmartYoung-Konto eröffnen und mit etwas Glück CHF 1‘000.– gewinnen Mehr erfahren Was können wir für Sie tun? Ich möchte ein Konto eröffnen Ich möchte Hilfe erhalten Ich möchte mehr über Geldanlagen erfahren Ich möchte einen Wunsch finanzieren Dies könnte Sie ebenfalls interessieren Zusammen in die Zukunft In der Vorsorgeberatung gemeinsam individuelle Lösungen finden Mehr erfahren Ihre Checkliste für die Pensionierung Monatliche Einschätzungen zum Marktgeschehen Neue Kursdaten «eBanking – aber sicher!» Mit Multibanking die Finanzen im Griff Nicht gefunden wonach Sie suchen? Suchbegriff Enter-Taste drücken Live-Resultate Suche Alle Suchresultate anzeigen Schnell erledigen Steuerdokumente QR-Generator 3-D Secure Sicherheit Währungsrechner Aktuelle Zinssätze SmartPoints Hilfe und Support Hier geht es spannend weiter Aktie ist nicht gleich Aktie Fractional Trading Nachhaltig anlegen: Das müssen Sie wissen Krypto-Staking verständlich erklärt Reinigungsfirma gründen: gut vorbereitet starten So investieren Sie in Kryptowährungen Eine zweite Kreditkarte? Liquidität sichern: 6 CFO-Tipps von Luca Baroni Alle Blog Beiträge Nach links scrollen Nach rechts scrollen Kontaktoptionen Chat Stellen Sie mir Ihre Fragen Persönliche Beratung Termin vereinbaren Hotline: +41 58 448 14 14 Mo–Fr: 8.00–20.00 Uhr, Sa: 08.00–17.00 Uhr Chat Stellen Sie mir Ihre Fragen Persönliche Beratung Termin vereinbaren Hotline: +41 58 448 14 14 Mo–Fr: 8.00–20.00 Uhr, Sa: 08.00–17.00 Uhr Links Fusszeile Unsere Produkte Unsere Produkte Bankpakete Konten Debit- und Kreditkarten E-Banking und Apps Privatkredit Hypothekenlösungen Anlageprodukte Vorsorgelösungen Versicherungen Beliebte Seiten Beliebte Seiten PostFinance App Login E-Finance QR-Rechnung QR-Generator Karte sperren 3-D Secure Währungsrechner Browsercheck Sackgeld-Studie Bonusprogramm SmartPoints Kryptowährungen kaufen Konto eröffnen Aktuelle Zinssätze Preise und Konditionen Support Support Dokumente bestellen und herunterladen E-Trading Karten Konten und Bankpakete Login und Einstellungen PostFinance App Vollmachten Zahlungen Todesfall Tools und Rechner Partner Standorte und Adressen Live Support Über PostFinance Über PostFinance Unternehmen Jobs und Karriere Nachhaltigkeit Unsere Engagements Medienmitteilungen und News Newsletter abonnieren Die Post Sitemap Datenschutz Cookie Einstellungen Social Media Treten Sie mit uns in Dialog: X Facebook YouTube LinkedIn Kununu Instagram TikTok Copyright und Rechtliches Rechtliches und Barrierefreiheit
Affichez votre score
Intégrez ce badge sur votre site. Il renvoie vers ce scan en direct et se met à jour à chaque rescan.
Recevez ce rapport par e-mail, puis une alerte quand la compatibilité agents de postfinance.ch change vraiment : une vérification qui régresse, ou le score global qui baisse.
Deux choses ne déclenchent jamais d’e-mail : un changement de score dû à la publication d’une nouvelle grille (c’est un autre instrument de mesure, pas un changement de votre site), et un mouvement expliqué uniquement par des vérifications dépendantes du temps, qui varient d’un passage à l’autre.
Vous préférez votre propre rythme, avec Slack ou un webhook plutôt que l’e-mail ? Le suivi de dérive du score est inclus dans toutes les offres payantes.
Ce score dit si un agent IA pourrait lire postfinance.ch. L’analytics du trafic IA dit si un agent est réellement venu, et quelles pages l’ont fait fuir.
Détail complet
17 pass2 warn15 fail3 skip
Découvrabilité
pass
robots.txt present
A robots.txt is reachable at the site root.
100/100
pass
robots.txt allows AI agents
All 9 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 but missing H1 header and markdown links. Not scored.
100/100
fail
Sitemap present
No reachable sitemap.xml. Publish one and reference it in robots.txt.
0/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://www.postfinance.ch/de/privat.html.
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
Lisibilité
fail
Markdown negotiationemerging
Accept: text/markdown returns HTML, not markdown. Serve a markdown variant of primary content when requested; agents summarize and cite it more reliably.
0/100
fail
Text-to-markup ratio
Visible text is 2.2% of HTML weight (7314/328766 bytes). 7% of the document is inline script, 90% is markup.
17/100
pass
Content without JavaScript
Primary content is present in the initial HTML — agents without JS can read it. (Measured statically; a rendered comparison was not run because the static reading sufficed.)
90/100
warn
Heading hierarchy
Heading issues: no <h1>.
75/100
pass
Cookie wall blocks content
No common consent-modal markers detected.
100/100
pass
Declared language
Declared lang="de" with 5 well-formed hreflang alternate(s).
100/100
pass
Page title
A concise <title> is present (28 chars).
100/100
pass
Meta description
A well-sized meta description is present (127 chars).
Page looks like Article|BlogPosting|NewsArticle; missing JSON-LD type(s): Article|BlogPosting|NewsArticle.
0/100
Cohérence : vos canaux sont-ils d’accord ?
skip
JSON-LD price matches the visible priceemerging
No price declared in JSON-LD, so there is nothing to cross-check. (Whether a price SHOULD be declared is the structured-data checks’ question.)
—
pass
JSON-LD name appears on the pageemerging
Declared entity name "PostFinance" appears on the visible page.
100/100
pass
Declared language matches the contentemerging
Declared lang="de" matches the detected content language (de).
100/100
Actionnabilité
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
fail
Commerce protocol manifestemerging
No agentic-commerce discovery manifest (x402 at /.well-known/x402.json, UCP at /.well-known/ucp, or ACP at /.well-known/acp.json). Agents that buy pre-flight these before attempting a transaction; publishing the one for your commerce protocol is how they learn you accept agent-initiated purchases.
0/100
pass
Primary action reachable
A primary offering and a price or call to action were both identifiable from the served HTML, so an agent can tell what this page sells and what it costs without running scripts.
100/100
pass
Reachability
HTTP 200 after 1 redirect.
100/100
pass
Primary action is clickableemerging
2 clickable element(s) carry an action an agent can take: <a> announcing "checkout", <a> announcing "download". An agent driving the page has something real to click.
100/100
skip
Filters reachable by URLemerging
This page does not offer to filter or sort a list, so there is nothing to address by URL. Pages without facets are not penalised here.
—
Performance
fail
Time to first byte
TTFB 6003ms. Slow. Agents time out aggressively.
20/100
skip
Full render time
Full-render time unavailable (browser pass skipped or failed).
—
pass
Page weight
Initial document is a lean 321 KB.
100/100
Au-delà du scan
Vous exploitez vos propres agents IA ? AgentSpeed les surveille aussi en production : chaque exécution, sa latence, son coût et ses échecs, avec des alertes quand quelque chose casse. Gratuit jusqu’à 10 000 événements par mois, sans carte bancaire.
Produisez ce type de rapport pour chaque client : PDF en marque blanche et surveillance hebdomadaire jusqu’à 15 domaines, $149/mo. AgentSpeed pour les agences →
Méthodologie et limites
Ce score mesure la lisibilité pour les agents automatisés selon la grille publique 2026.11.0. AgentSpeed n’évalue ni la sécurité, ni la légitimité, ni la confidentialité, ni la confiance financière.
→ https://postfinance.ch/sitemap.xml
À coller dans Claude Code, Cursor ou tout assistant ayant votre dépôt ouvert. Il contient ce constat, les étapes et les raccourcis à éviter.
Ou copiez-le adapté à votre outil :
À vérifier
Open yoursite.com/sitemap.xml. It should list real page URLs, not error.
Re-scan: "Sitemap present" flips to PASS.
À éviter
Don’t list URLs that redirect or 404. A sitemap full of dead links teaches crawlers to distrust it.
Don’t include private or staging URLs; a sitemap is a public document.
No HTTP Link: response headers. Emit canonical/alternate/describedby relations so HEAD-only or stream-rendering agents get them without parsing HTML.
Voir la marche à suivre
Ce que cela signifie
HTTP responses can carry a Link header: the same canonical and alternate-language information your HTML declares, but delivered in the response envelope itself. Agents that only send a HEAD request, or that decide what to do while the page is still streaming, read the header without parsing any HTML. Yours is missing (or carries none of the relations agents use: canonical, alternate, describedby).
Pourquoi c’est important
An agent triaging fifty URLs doesn’t want to download and parse fifty pages to learn which are duplicates of which. The Link header answers at the cheapest possible layer. Sites that provide it get correctly de-duplicated and correctly language-routed even by the most minimal fetchers.
À faire
Emit a Link header alongside each page, mirroring what your HTML head already declares. Example: Link: <https://yoursite.com/page>; rel="canonical".
Most stacks set this in one place: Next.js headers() config, an nginx add_header line, or a CDN response-header rule.
If you serve translations, add rel="alternate" entries with hreflang, matching your HTML.
À coller dans Claude Code, Cursor ou tout assistant ayant votre dépôt ouvert. Il contient ce constat, les étapes et les raccourcis à éviter.
Ou copiez-le adapté à votre outil :
À vérifier
Run: curl -sI https://yoursite.com | grep -i "^link:" and confirm the relations appear.
Hit Re-scan above: "Link response headers" flips to PASS.
À éviter
The header must AGREE with the HTML. A Link header pointing one place while the in-page canonical points another gives machines two contradictory answers, which is worse than one missing answer.
Don’t inject the same site-wide canonical on every page via a blanket CDN rule; each page names its own clean URL, exactly as in the HTML tag.
Visible text is 2.2% of HTML weight (7314/328766 bytes). 7% of the document is inline script, 90% is markup.
Voir la marche à suivre
Ce que cela signifie
Of everything your server sends for this page, very little is actual readable text. The rest is code, styling, and markup wrapper. Agents fetched a lot of bytes and found few words.
Pourquoi c’est important
Agents work with retrieval budgets. A page that is 2% text either gets skimmed (and mis-summarised) or skipped. More signal per byte means more of your actual message survives into the agent’s summary.
À faire
Confirm your real copy is server-rendered. See the JavaScript check; these two usually fail together.
Cut boilerplate wrappers: deeply nested divs, inline SVG logos repeated per section, base64 images inlined into HTML.
Move large inline styles and scripts into external files.
Check how much of the document is inline script: your report now says. If most of it is, that is your framework serializing state for hydration, often a second copy of text already in the HTML. Send only the props a component cannot recompute, and render statically where a page does not need to hydrate.
À coller dans Claude Code, Cursor ou tout assistant ayant votre dépôt ouvert. Il contient ce constat, les étapes et les raccourcis à éviter.
Ou copiez-le adapté à votre outil :
À vérifier
Re-scan: "Text-to-markup ratio" improves, and "Page weight" often improves alongside.
À éviter
Don’t pad the page with keyword text to inflate the ratio. The ratio is a proxy for substance, and stuffing is the opposite of substance.
Your page HAS structured data, but it is malformed: broken JSON syntax, or types and fields that don’t exist in the schema.org vocabulary. Machines can see the block but can’t parse it.
Pourquoi c’est important
Invalid JSON-LD is worse than it looks. The agent spends its attention budget on the block, fails to parse it, and falls back to guessing from prose anyway. You pay the cost of structured data without getting the benefit.
À faire
Paste the failing page into validator.schema.org. It names the exact line and field that breaks.
The most common breaks: a trailing comma (invalid JSON), a typo’d type name, or a price written as "$79" instead of "79" with a separate priceCurrency.
Fix in place, redeploy, revalidate.
À coller dans Claude Code, Cursor ou tout assistant ayant votre dépôt ouvert. Il contient ce constat, les étapes et les raccourcis à éviter.
Ou copiez-le adapté à votre outil :
À vérifier
validator.schema.org reports zero errors for the page.
Re-scan: "Structured data validates" flips to PASS.
À éviter
Don’t delete the block to make the error disappear. That trades "invalid" for "absent" and fails the presence check instead; fix it.
Don’t hand-edit generated JSON-LD in the page. Fix the template or plugin that generates it, or the error returns on the next publish.
Page looks like Article|BlogPosting|NewsArticle; missing JSON-LD type(s): Article|BlogPosting|NewsArticle.
Voir la marche à suivre
Ce que cela signifie
Your structured data exists but only covers the basics (say, Organization) while the page is really a product page, an article, or an FAQ. The machine-readable caption is missing the part that describes what this page actually is.
Pourquoi c’est important
An agent looking for "running shoes under $100" matches against Product markup with offers. A product page carrying only Organization markup is invisible to that query shape: the agent knows who you are but not what this page sells.
À faire
Identify the page’s real type: Product (with offers), Article, FAQPage, HowTo, LocalBusiness, Event.
Add that type’s JSON-LD alongside the Organization block, filled from the page’s actual content.
For Product: include name, price, priceCurrency, and availability. Those are the fields agents actually query.
À coller dans Claude Code, Cursor ou tout assistant ayant votre dépôt ouvert. Il contient ce constat, les étapes et les raccourcis à éviter.
Ou copiez-le adapté à votre outil :
À vérifier
Re-scan: "Schema type coverage" improves. Keep "Structured data validates" green while you add.
The coherence checks below compare your declared price and name to the visible page; they should stay (or flip to) PASS.
À éviter
Only declare types the page genuinely is. A blog post marked up as a Product to appear in shopping queries is the exact incoherence assistants are getting better at detecting.
Keep declared values synced with the page. If a sale changes the visible price, the JSON-LD price must change in the same deploy.
Time to first byte is how long your server thinks before it starts answering: the gap between an agent asking for the page and the first byte of HTML arriving. Yours crossed our threshold (under 200ms scores full marks, over 2 seconds fails).
Pourquoi c’est important
Agents fetch with tight timeouts and many pages in parallel. A server that takes seconds to start answering gets cut off mid-queue, and a page that times out is a page that was never read. Speed here is not polish; it decides whether the content gets fetched at all.
À faire
Cache the HTML itself. Marketing and docs pages rarely change per visitor; serve them from a CDN or static cache so no application code runs per request.
If you are on serverless hosting, cold starts are a common cause: keep the function warm or pre-render the page.
Move slow work (database queries, third-party API calls) out of the first response; render the shell fast and fill personalised details after.
À coller dans Claude Code, Cursor ou tout assistant ayant votre dépôt ouvert. Il contient ce constat, les étapes et les raccourcis à éviter.
Ou copiez-le adapté à votre outil :
À vérifier
Run: curl -o /dev/null -s -w "%{time_starttransfer}\n" https://yoursite.com and watch the number drop.
Hit Re-scan above: "Time to first byte" improves a bucket at a time (under 500ms passes).
À éviter
Don’t answer fast with an empty shell that loads content by JavaScript. That trades this warning for the much worse "content requires JavaScript" failure, since most agents never run your scripts.
Don’t special-case known crawler user agents onto a faster path. Serving different performance to different audiences is the pattern crawlers penalise when they detect it.