Certificat AgentReady.md vérifié
Émis le sig: ab66c1c173d657f2 Vérifier →

URL analysée

https://puckscope.online/

Mesuré la semaine dernière

Analyser une autre URL

Score AI-Ready

Bon

sur 100

Économie de tokens

Tokens HTML 68.810
Tokens Markdown 22
Économie 100%

Détail du score

Accessibilité 100/100
Visibilité IA 70/100
Données structurées 100/100
HTML sémantique 79/100
Efficacité du contenu 56/100

Protocoles émergents

0 sur 6 détectés

Endpoints well-known recherchés par les agents IA. Détecté signifie qu’un agent peut découvrir et se connecter automatiquement à votre service.

  • OAuth Protected Resource RFC 9728
    /.well-known/oauth-protected-resource
  • OAuth Discovery RFC 8414
    /.well-known/oauth-authorization-server
  • MCP Server Card SEP-1649 draft
    /.well-known/mcp/server-card.json
  • A2A Agent Card A2A v1.0
    /.well-known/agent-card.json
  • API Catalog RFC 9727
    /.well-known/api-catalog
  • Agent Skills index Discovery RFC v0.2.0 draft
    /.well-known/agent-skills/index.json

Cela ne reste pas en place. La surveillance n'existe pas encore : inscrivez-vous, on vous préviendra.

Vous êtes sur la liste ! Nous vous préviendrons lors du lancement.

Ce que nous avons mesuré No Markdown for Agents support detected

Votre site ne supporte pas Markdown for Agents. Ce standard Cloudflare permet aux agents IA de demander du contenu en format markdown, réduisant l'utilisation de tokens de ~80%.

Comment implémenter

Implémentez un ou plusieurs : (1) Répondre à Accept: text/markdown avec du contenu markdown. (2) Servir des URLs .md (ex : /page.md). (3) Ajouter des balises <link rel="alternate" type="text/markdown">. (4) Ajouter des en-têtes HTTP Link pour la découverte markdown.

Collez-le dans un agent de code pour appliquer le correctif

Ce que nous avons mesuré Content ratio: 0.0% (25 content chars / 201390 HTML bytes)

Votre page a un faible ratio de contenu réel par rapport au HTML total. Une grande partie du poids de la page est du balisage, des scripts ou des styles plutôt que du contenu.

Comment implémenter

Déplacez le CSS vers des feuilles de style externes, supprimez les styles en ligne, minimisez le JavaScript et assurez-vous que le HTML se concentre sur la structure du contenu.

Collez-le dans un agent de code pour appliquer le correctif

Ce que nous avons mesuré 15 semantic elements, 419 divs (ratio: 3%)

Votre page repose fortement sur les éléments <div>. Les éléments sémantiques comme <section>, <nav>, <header>, <footer> et <aside> fournissent une structure significative pour les AI agents.

Comment implémenter

Remplacez les conteneurs <div> génériques par les éléments sémantiques appropriés. Utilisez <section> pour les groupes thématiques, <nav> pour la navigation, <header>/<footer> pour les en-têtes et pieds de page ou de section.

Collez-le dans un agent de code pour appliquer le correctif

Ce que nous avons mesuré No Content-Signal found (robots.txt or HTTP headers)

Aucune directive Content-Signal trouvée. Celles-ci indiquent aux agents IA comment ils peuvent utiliser votre contenu (indexation, entrée IA, données d'entraînement). L'emplacement recommandé est robots.txt.

Comment implémenter

Ajoutez Content-Signal à votre robots.txt : User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. Vous pouvez aussi l'ajouter comme en-tête HTTP sur les réponses markdown.

Collez-le dans un agent de code pour appliquer le correctif

Ce que nous avons mesuré 86/1032 elements with inline styles (8.3%)

De nombreux éléments ont des attributs de style en ligne. Ils ajoutent du bruit pour les AI agents lors de l’extraction du contenu.

Comment implémenter

Déplacez tous les styles en ligne vers des classes CSS dans votre feuille de style. Utilisez des frameworks CSS utilitaires comme Tailwind si vous avez besoin de nombreux styles uniques.

Collez-le dans un agent de code pour appliquer le correctif

Ce que nous avons mesuré 32/41 images with meaningful alt text (28 decorative, not counted)

Certaines images manquent de texte alternatif descriptif. De bons textes alt aident les AI agents à comprendre le contenu et le contexte des images.

Comment implémenter

Ajoutez des attributs alt descriptifs à toutes les images. Décrivez ce que l’image montre, pas juste « image » ou « photo ». Pour les images décoratives, utilisez alt="" (vide).

Collez-le dans un agent de code pour appliquer le correctif
Tokens Markdown: 22
[Przejdź do głównej treści](https://puckscope.online/#main-content)
Puckscope

[Przejdź do głównej treści](https://puckscope.online/#main-content)

[![Puckscope](https://puckscope.online/_next/image?url=%2Fbrand%2Fdemo%2Flogo-on-light.png&w=128&q=75&dpl=dpl_ECgZSW2mL21e3zFGdRNEkNh7LAmC)![Puckscope](https://puckscope.online/_next/image?url=%2Fbrand%2Fdemo%2Flogo-on-dark.png&w=128&q=75&dpl=dpl_ECgZSW2mL21e3zFGdRNEkNh7LAmC)](https://puckscope.online/)

# Puckscope

## Kluby Tauron Hokej Ligi

## Ostatnie ruchy transferowe

Źródło danych: oficjalne komunikaty klubów · [Zgłoś błąd](mailto:[email protected])

[

## Radar Dnia

Rozpoznasz ich, zanim skończą się podpowiedzi?

Zagraj teraz

](https://puckscope.online/gry/radar-dnia)

## Szybki podgląd klubu

[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000009.webp)](https://puckscope.online/teams/aurora-comets)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000008.webp)](https://puckscope.online/teams/boreal-stags)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000002.webp)](https://puckscope.online/teams/fjord-falcons)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000003.webp)](https://puckscope.online/teams/glacier-bears)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000006.webp)](https://puckscope.online/teams/harbor-seals)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000005.webp)](https://puckscope.online/teams/midnight-owls)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000001.webp)](https://puckscope.online/teams/northstar-wolves)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000004.webp)](https://puckscope.online/teams/polar-foxes)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000007.webp)](https://puckscope.online/teams/tundra-lynx)

## Mecze

[Cały terminarz](https://puckscope.online/schedule)

-   niedz., 16.0817:00

    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000003.webp)Glacier Bears1

    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000009.webp)Aurora Comets3

-   niedz., 16.08po karnych

    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000005.webp)Midnight Owls2

    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000008.webp)Boreal Stags3

-   Dziś18:00

    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000005.webp)Midnight Owls

    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000001.webp)Northstar Wolves

-   Dziś19:00

    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000008.webp)Boreal Stags

    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000002.webp)Fjord Falcons

-   śr., 26.0817:00

    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000007.webp)Tundra Lynx

    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000003.webp)Glacier Bears

-   śr., 26.0819:00

    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000009.webp)Aurora Comets

    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000004.webp)Polar Foxes

-   sob., 29.0818:00

    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000009.webp)Aurora Comets

    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000001.webp)Northstar Wolves

Najbliższe urodziny

Jutro 👀

[![Fjord Falcons](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000002.webp)](https://puckscope.online/teams/fjord-falcons)

[Emil Håkonsen](https://puckscope.online/players/emil-hakonsen/250faecd-dfa6-4eba-b541-a0f496cd302f)

Fjord Falcons•27\. urodziny

![Aurora Comets logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000009.webp)[Aurora Comets](https://puckscope.online/teams/aurora-comets)

Szczegóły: Aurora Comets

Liczba zawodników

23

Trener

Kari Lehtonen

Domowa arena

Comet Dome

Top 3 narodowości

![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg "Finlandia")![Szwecja](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/se.svg "Szwecja")![Norwegia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/no.svg "Norwegia")

[Szczegóły](https://puckscope.online/teams/aurora-comets)

![Boreal Stags logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000008.webp)[Boreal Stags](https://puckscope.online/teams/boreal-stags)

Szczegóły: Boreal Stags

Liczba zawodników

23

Trener

Patrik Berglund

Domowa arena

Antler Arena

Top 3 narodowości

![Szwecja](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/se.svg "Szwecja")![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg "Finlandia")![Łotwa](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/lv.svg "Łotwa")

[Szczegóły](https://puckscope.online/teams/boreal-stags)

![Fjord Falcons logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000002.webp)[Fjord Falcons](https://puckscope.online/teams/fjord-falcons)

Szczegóły: Fjord Falcons

Liczba zawodników

23

Trener

Anders Vik

Domowa arena

Falcon Ice Hall

Top 3 narodowości

![Norwegia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/no.svg "Norwegia")![Dania](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/dk.svg "Dania")![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg "Finlandia")

[Szczegóły](https://puckscope.online/teams/fjord-falcons)

![Glacier Bears logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000003.webp)[Glacier Bears](https://puckscope.online/teams/glacier-bears)

Szczegóły: Glacier Bears

Liczba zawodników

23

Trener

Henrik Sjöberg

Domowa arena

Ice Cave Arena

Top 3 narodowości

![Szwecja](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/se.svg "Szwecja")![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg "Finlandia")![Łotwa](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/lv.svg "Łotwa")

[Szczegóły](https://puckscope.online/teams/glacier-bears)

![Harbor Seals logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000006.webp)[Harbor Seals](https://puckscope.online/teams/harbor-seals)

Szczegóły: Harbor Seals

Liczba zawodników

23

Trener

Lars Hovland

Domowa arena

Dockside Ice

Top 3 narodowości

![Norwegia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/no.svg "Norwegia")![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg "Finlandia")![Łotwa](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/lv.svg "Łotwa")

[Szczegóły](https://puckscope.online/teams/harbor-seals)

![Midnight Owls logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000005.webp)[Midnight Owls](https://puckscope.online/teams/midnight-owls)

Szczegóły: Midnight Owls

Liczba zawodników

23

Trener

Mikko Lahtinen

Domowa arena

Moonlight Arena

Top 3 narodowości

![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg "Finlandia")![Szwecja](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/se.svg "Szwecja")![Łotwa](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/lv.svg "Łotwa")

[Szczegóły](https://puckscope.online/teams/midnight-owls)

![Northstar Wolves logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000001.webp)[Northstar Wolves](https://puckscope.online/teams/northstar-wolves)

Szczegóły: Northstar Wolves

Liczba zawodników

23

Trener

Johan Nyberg

Domowa arena

Wolf Den

Top 3 narodowości

![Szwecja](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/se.svg "Szwecja")![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg "Finlandia")![Łotwa](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/lv.svg "Łotwa")

[Szczegóły](https://puckscope.online/teams/northstar-wolves)

![Polar Foxes logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000004.webp)[Polar Foxes](https://puckscope.online/teams/polar-foxes)

Szczegóły: Polar Foxes

Liczba zawodników

23

Trener

Einar Guðjónsson

Domowa arena

Aurora Rink

Top 3 narodowości

![IS](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/is.svg "IS")![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg "Finlandia")![Łotwa](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/lv.svg "Łotwa")

[Szczegóły](https://puckscope.online/teams/polar-foxes)

![Tundra Lynx logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000007.webp)[Tundra Lynx](https://puckscope.online/teams/tundra-lynx)

Szczegóły: Tundra Lynx

Liczba zawodników

23

Trener

Torbjørn Sunde

Domowa arena

Lynx Center

Top 3 narodowości

![Norwegia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/no.svg "Norwegia")![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg "Finlandia")![Łotwa](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/lv.svg "Łotwa")

[Szczegóły](https://puckscope.online/teams/tundra-lynx)

-   ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000007.webp)

    [Vetle Enger](https://puckscope.online/players/vetle-enger/cc182ba1-2bc6-4726-89e7-fba62c8626bc)24 lip 2026

    Tundra Lynx•2 sezony

-   ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000001.webp)

    [Linus Ahlgren](https://puckscope.online/players/linus-ahlgren/19748408-e72b-401b-b46d-734b8651f53e)23 lip 2026

    Northstar Wolves•1 sezon

-   ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000003.webp)

    [Niko Salonen](https://puckscope.online/players/niko-salonen/a6da5a74-fd21-48ae-93b4-8815a4d1ffe2)22 lip 2026

    Glacier Bears•2 sezony

-   ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000003.webp)

    [Noah Ekman](https://puckscope.online/players/noah-ekman/b9775177-e08f-49d2-baa2-2ce271c2ee96)22 lip 2026

    Glacier Bears•3 sezony

-   ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000006.webp)

    [Pål Hegstad](https://puckscope.online/players/pal-hegstad/11fe6ec3-118c-4efc-86ec-a774585d413c)21 lip 2026

    Harbor Seals•1 sezon

[Zobacz wszystkie kontrakty](https://puckscope.online/contracts)

Téléversez ce fichier sous /index.md sur votre serveur pour que les AI agents puissent accéder à une version propre de votre page. Vous pouvez également configurer la négociation de contenu Accept: text/markdown pour le servir automatiquement.

Notre recommandation

Télécharger llms.txt
# puckscope.online

> Hokej Radar to baza kontraktów, transferów, składów i statystyk Tauron Hokej Ligi dla kibiców polskiego hokeja.

## Main
- [Puckscope](https://puckscope.online/): Hokej Radar to baza kontraktów, transferów, składów i statystyk Tauron Hokej Ligi dla kibiców polskiego hokeja.
- [Play-off](https://puckscope.online/playoffs)
- [Zawodnicy](https://puckscope.online/players)
- [Kontrakty](https://puckscope.online/contracts)
- [Statystyki Zawodników](https://puckscope.online/stats/players)
- [Statystyki Drużyn](https://puckscope.online/stats/teams)
- [Statystyki Narodowości](https://puckscope.online/stats/nationalities)
- [Sezon po Sezonie](https://puckscope.online/stats/seasons)
- [Fotel Prezesa](https://puckscope.online/fotel-prezesa)

## Blog
- [Blog](https://puckscope.online/blog)

## Legal
- [Polityka prywatności](https://puckscope.online/privacy)
- [Polityka plików cookies](https://puckscope.online/cookies)

Le llms.txt complet nécessite une analyse de tout le domaine (bientôt disponible)

Téléversez ce fichier vers https://puckscope.online/llms.txt à la racine de votre domaine. Les AI agents comme ChatGPT, Claude et Perplexity consultent ce fichier pour comprendre la structure de votre site.

Ce site possède déjà un fichier llms.txt.

Format valide
# Puckscope

> Sales demo for the fictional Aurora Ice League

## Overview

- [Home](https://puckscope.online/en): Latest roster moves and an overview of what the site offers

## Players & transfers

- [Player directory](https://puckscope.online/en/players): Player profiles with careers, contract history and statistics
- [Contracts & transfers](https://puckscope.online/en/contracts): Contract terms and roster-move records
- [Player comparison](https://puckscope.online/en/compare): Side-by-side comparison of two players

## Competition

- [Schedule](https://puckscope.online/en/schedule): Fixture list for the current season
- [Standings](https://puckscope.online/en/standings): Current league table

## Statistics

- [Player statistics](https://puckscope.online/en/stats/players): Scoring, assists and penalty statistics per player
- [Team statistics](https://puckscope.online/en/stats/teams): Results-based statistics per club
- [Statistics by nationality](https://puckscope.online/en/stats/nationalities): League breakdown by player nationality
- [Season archive](https://puckscope.online/en/stats/seasons): Statistics grouped by season

## Playoffs

- [Playoffs hub](https://puckscope.online/en/playoffs): Play-off series overview and schedule

## Games

- [Chairman's seat](https://puckscope.online/en/chairmans-seat): Squad-building game: run a club as its director
- [Chairman's seat — new run](https://puckscope.online/en/chairmans-seat/new): Start a new chairman challenge
- [Daily radar game](https://puckscope.online/en/games/daily-radar): Daily guessing game around the latest roster moves
- [Daily radar leaderboard](https://puckscope.online/en/games/daily-radar/leaderboard): Top scores of the daily game

## Product

- [Privacy policy](https://puckscope.online/en/privacy): How personal data is processed
- [Cookie policy](https://puckscope.online/en/cookies): Cookies this site uses

## Discovery files

- [XML sitemap](https://puckscope.online/sitemap.xml)
- [Markdown sitemap](https://puckscope.online/sitemap.md)

Accessibilité

Contenu disponible sans JavaScript (100/100)

Content available without JavaScript

Le contenu apparaît tôt dans le HTML (100/100)

Main content starts at 5% of HTML

Taille de page raisonnable (100/100)

Page size: 197KB

Visibilité IA

robots.txt autorise les bots IA (100/100)

All major AI search bots allowed

Support Markdown for Agents (0/100)
✗ Accept: text/markdown ✗ .md URL ✗ <link> tag ✗ Link header
Possède un sitemap.xml (100/100)

Sitemap found

Possède un fichier robots.txt (100/100)

robots.txt exists

Possède un fichier llms.txt (100/100)

llms.txt exists and is valid

A Content-Signal (robots.txt ou en-têtes HTTP) (0/100)
✓ robots.txt ✓ HTTP header ✗ Policy

Données structurées

Possède Schema.org / JSON-LD (100/100)

JSON-LD found: WebSite, Organization

Possède des balises Open Graph (100/100)

All OG tags present

Possède une meta description (100/100)

Meta description: 111 chars

Possède une URL canonique (100/100)

Canonical URL present

Possède un attribut lang (100/100)

lang="en"

HTML sémantique

Hiérarchie de titres correcte (100/100)

Clean heading hierarchy

Utilise les éléments article ou main (100/100)

Has <main>

Utilise des éléments HTML sémantiques (12/100)

15 semantic elements, 419 divs (ratio: 3%)

Textes alternatifs descriptifs pour les images (78/100)

32/41 images with meaningful alt text (28 decorative, not counted)

Faible profondeur d’imbrication des divs (96/100)

Avg div depth: 5.4, max: 11

Efficacité du contenu

Bon ratio de réduction de tokens (100/100)

100% token reduction (HTML→Markdown)

Bon ratio contenu/bruit (0/100)

Content ratio: 0.0% (25 content chars / 201390 HTML bytes)

Poids de page raisonnable (80/100)

HTML size: 197KB

Styles en ligne minimaux (0/100)

86/1032 elements with inline styles (8.3%)

{
  "url": "https://puckscope.online/",
  "timestamp": 1787675531055,
  "fetch": {
    "mode": "simple",
    "timeMs": 1919,
    "htmlSizeBytes": 201390,
    "supportsMarkdown": false,
    "markdownAgents": {
      "contentNegotiation": false,
      "mdUrl": {
        "found": false,
        "url": null
      },
      "linkTag": {
        "found": false,
        "url": null
      },
      "linkHeader": {
        "found": false,
        "url": null
      },
      "responseHeaders": {
        "contentSignal": null,
        "xMarkdownTokens": null,
        "vary": null
      },
      "frontmatter": {
        "present": false,
        "fields": [],
        "level": "none"
      },
      "level": "none"
    },
    "statusCode": 200
  },
  "extraction": {
    "title": "Puckscope",
    "excerpt": "Hokej Radar to baza kontraktów, transferów, składów i statystyk Tauron Hokej Ligi dla kibiców polskiego hokeja.",
    "byline": "Puckscope",
    "siteName": null,
    "lang": "en",
    "contentLength": 25,
    "metadata": {
      "description": "Hokej Radar to baza kontraktów, transferów, składów i statystyk Tauron Hokej Ligi dla kibiców polskiego hokeja.",
      "ogTitle": "Puckscope",
      "ogDescription": "Hokej Radar to baza kontraktów, transferów, składów i statystyk Tauron Hokej Ligi dla kibiców polskiego hokeja.",
      "ogImage": "https://puckscope.online/og-image.png",
      "ogType": null,
      "canonical": "https://puckscope.online",
      "lang": "en",
      "schemas": [
        {
          "@context": "https://schema.org",
          "@type": "WebSite",
          "name": "Puckscope",
          "description": "Hokej Radar to baza kontraktów, transferów, składów i statystyk Tauron Hokej Ligi dla kibiców polskiego hokeja.",
          "url": "https://puckscope.online",
          "publisher": {
            "@type": "Organization",
            "name": "Puckscope",
            "url": "https://puckscope.online"
          },
          "about": {
            "@type": "SportsOrganization",
            "name": "Aurora Ice League",
            "sport": "Ice Hockey"
          }
        },
        {
          "@context": "https://schema.org",
          "@type": "Organization",
          "name": "Puckscope",
          "url": "https://puckscope.online",
          "logo": "https://puckscope.online/brand/demo/icon-512x512.png"
        }
      ],
      "robotsMeta": "index, follow",
      "author": "Puckscope",
      "generator": null,
      "markdownAlternateHref": null
    }
  },
  "markdown": "[Przejdź do głównej treści](https://puckscope.online/#main-content)\n",
  "fullPageMarkdown": "Puckscope\n\n[Przejdź do głównej treści](https://puckscope.online/#main-content)\n\n[![Puckscope](https://puckscope.online/_next/image?url=%2Fbrand%2Fdemo%2Flogo-on-light.png&w=128&q=75&dpl=dpl_ECgZSW2mL21e3zFGdRNEkNh7LAmC)![Puckscope](https://puckscope.online/_next/image?url=%2Fbrand%2Fdemo%2Flogo-on-dark.png&w=128&q=75&dpl=dpl_ECgZSW2mL21e3zFGdRNEkNh7LAmC)](https://puckscope.online/)\n\n# Puckscope\n\n## Kluby Tauron Hokej Ligi\n\n## Ostatnie ruchy transferowe\n\nŹródło danych: oficjalne komunikaty klubów · [Zgłoś błąd](mailto:[email protected])\n\n[\n\n## Radar Dnia\n\nRozpoznasz ich, zanim skończą się podpowiedzi?\n\nZagraj teraz\n\n](https://puckscope.online/gry/radar-dnia)\n\n## Szybki podgląd klubu\n\n[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000009.webp)](https://puckscope.online/teams/aurora-comets)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000008.webp)](https://puckscope.online/teams/boreal-stags)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000002.webp)](https://puckscope.online/teams/fjord-falcons)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000003.webp)](https://puckscope.online/teams/glacier-bears)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000006.webp)](https://puckscope.online/teams/harbor-seals)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000005.webp)](https://puckscope.online/teams/midnight-owls)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000001.webp)](https://puckscope.online/teams/northstar-wolves)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000004.webp)](https://puckscope.online/teams/polar-foxes)[![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000007.webp)](https://puckscope.online/teams/tundra-lynx)\n\n## Mecze\n\n[Cały terminarz](https://puckscope.online/schedule)\n\n-   niedz., 16.0817:00\n\n    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000003.webp)Glacier Bears1\n\n    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000009.webp)Aurora Comets3\n\n-   niedz., 16.08po karnych\n\n    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000005.webp)Midnight Owls2\n\n    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000008.webp)Boreal Stags3\n\n-   Dziś18:00\n\n    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000005.webp)Midnight Owls\n\n    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000001.webp)Northstar Wolves\n\n-   Dziś19:00\n\n    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000008.webp)Boreal Stags\n\n    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000002.webp)Fjord Falcons\n\n-   śr., 26.0817:00\n\n    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000007.webp)Tundra Lynx\n\n    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000003.webp)Glacier Bears\n\n-   śr., 26.0819:00\n\n    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000009.webp)Aurora Comets\n\n    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000004.webp)Polar Foxes\n\n-   sob., 29.0818:00\n\n    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000009.webp)Aurora Comets\n\n    ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000001.webp)Northstar Wolves\n\nNajbliższe urodziny\n\nJutro 👀\n\n[![Fjord Falcons](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000002.webp)](https://puckscope.online/teams/fjord-falcons)\n\n[Emil Håkonsen](https://puckscope.online/players/emil-hakonsen/250faecd-dfa6-4eba-b541-a0f496cd302f)\n\nFjord Falcons•27\\. urodziny\n\n![Aurora Comets logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000009.webp)[Aurora Comets](https://puckscope.online/teams/aurora-comets)\n\nSzczegóły: Aurora Comets\n\nLiczba zawodników\n\n23\n\nTrener\n\nKari Lehtonen\n\nDomowa arena\n\nComet Dome\n\nTop 3 narodowości\n\n![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg \"Finlandia\")![Szwecja](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/se.svg \"Szwecja\")![Norwegia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/no.svg \"Norwegia\")\n\n[Szczegóły](https://puckscope.online/teams/aurora-comets)\n\n![Boreal Stags logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000008.webp)[Boreal Stags](https://puckscope.online/teams/boreal-stags)\n\nSzczegóły: Boreal Stags\n\nLiczba zawodników\n\n23\n\nTrener\n\nPatrik Berglund\n\nDomowa arena\n\nAntler Arena\n\nTop 3 narodowości\n\n![Szwecja](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/se.svg \"Szwecja\")![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg \"Finlandia\")![Łotwa](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/lv.svg \"Łotwa\")\n\n[Szczegóły](https://puckscope.online/teams/boreal-stags)\n\n![Fjord Falcons logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000002.webp)[Fjord Falcons](https://puckscope.online/teams/fjord-falcons)\n\nSzczegóły: Fjord Falcons\n\nLiczba zawodników\n\n23\n\nTrener\n\nAnders Vik\n\nDomowa arena\n\nFalcon Ice Hall\n\nTop 3 narodowości\n\n![Norwegia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/no.svg \"Norwegia\")![Dania](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/dk.svg \"Dania\")![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg \"Finlandia\")\n\n[Szczegóły](https://puckscope.online/teams/fjord-falcons)\n\n![Glacier Bears logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000003.webp)[Glacier Bears](https://puckscope.online/teams/glacier-bears)\n\nSzczegóły: Glacier Bears\n\nLiczba zawodników\n\n23\n\nTrener\n\nHenrik Sjöberg\n\nDomowa arena\n\nIce Cave Arena\n\nTop 3 narodowości\n\n![Szwecja](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/se.svg \"Szwecja\")![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg \"Finlandia\")![Łotwa](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/lv.svg \"Łotwa\")\n\n[Szczegóły](https://puckscope.online/teams/glacier-bears)\n\n![Harbor Seals logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000006.webp)[Harbor Seals](https://puckscope.online/teams/harbor-seals)\n\nSzczegóły: Harbor Seals\n\nLiczba zawodników\n\n23\n\nTrener\n\nLars Hovland\n\nDomowa arena\n\nDockside Ice\n\nTop 3 narodowości\n\n![Norwegia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/no.svg \"Norwegia\")![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg \"Finlandia\")![Łotwa](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/lv.svg \"Łotwa\")\n\n[Szczegóły](https://puckscope.online/teams/harbor-seals)\n\n![Midnight Owls logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000005.webp)[Midnight Owls](https://puckscope.online/teams/midnight-owls)\n\nSzczegóły: Midnight Owls\n\nLiczba zawodników\n\n23\n\nTrener\n\nMikko Lahtinen\n\nDomowa arena\n\nMoonlight Arena\n\nTop 3 narodowości\n\n![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg \"Finlandia\")![Szwecja](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/se.svg \"Szwecja\")![Łotwa](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/lv.svg \"Łotwa\")\n\n[Szczegóły](https://puckscope.online/teams/midnight-owls)\n\n![Northstar Wolves logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000001.webp)[Northstar Wolves](https://puckscope.online/teams/northstar-wolves)\n\nSzczegóły: Northstar Wolves\n\nLiczba zawodników\n\n23\n\nTrener\n\nJohan Nyberg\n\nDomowa arena\n\nWolf Den\n\nTop 3 narodowości\n\n![Szwecja](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/se.svg \"Szwecja\")![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg \"Finlandia\")![Łotwa](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/lv.svg \"Łotwa\")\n\n[Szczegóły](https://puckscope.online/teams/northstar-wolves)\n\n![Polar Foxes logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000004.webp)[Polar Foxes](https://puckscope.online/teams/polar-foxes)\n\nSzczegóły: Polar Foxes\n\nLiczba zawodników\n\n23\n\nTrener\n\nEinar Guðjónsson\n\nDomowa arena\n\nAurora Rink\n\nTop 3 narodowości\n\n![IS](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/is.svg \"IS\")![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg \"Finlandia\")![Łotwa](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/lv.svg \"Łotwa\")\n\n[Szczegóły](https://puckscope.online/teams/polar-foxes)\n\n![Tundra Lynx logo](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000007.webp)[Tundra Lynx](https://puckscope.online/teams/tundra-lynx)\n\nSzczegóły: Tundra Lynx\n\nLiczba zawodników\n\n23\n\nTrener\n\nTorbjørn Sunde\n\nDomowa arena\n\nLynx Center\n\nTop 3 narodowości\n\n![Norwegia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/no.svg \"Norwegia\")![Finlandia](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/fi.svg \"Finlandia\")![Łotwa](https://cdn.jsdelivr.net/gh/lipis/flag-icons/flags/4x3/lv.svg \"Łotwa\")\n\n[Szczegóły](https://puckscope.online/teams/tundra-lynx)\n\n-   ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000007.webp)\n\n    [Vetle Enger](https://puckscope.online/players/vetle-enger/cc182ba1-2bc6-4726-89e7-fba62c8626bc)24 lip 2026\n\n    Tundra Lynx•2 sezony\n\n-   ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000001.webp)\n\n    [Linus Ahlgren](https://puckscope.online/players/linus-ahlgren/19748408-e72b-401b-b46d-734b8651f53e)23 lip 2026\n\n    Northstar Wolves•1 sezon\n\n-   ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000003.webp)\n\n    [Niko Salonen](https://puckscope.online/players/niko-salonen/a6da5a74-fd21-48ae-93b4-8815a4d1ffe2)22 lip 2026\n\n    Glacier Bears•2 sezony\n\n-   ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000003.webp)\n\n    [Noah Ekman](https://puckscope.online/players/noah-ekman/b9775177-e08f-49d2-baa2-2ce271c2ee96)22 lip 2026\n\n    Glacier Bears•3 sezony\n\n-   ![](https://wuwpcetvbqurgpfxbxdy.supabase.co/storage/v1/object/public/team-logos/d0000000-0000-0000-0000-000000000006.webp)\n\n    [Pål Hegstad](https://puckscope.online/players/pal-hegstad/11fe6ec3-118c-4efc-86ec-a774585d413c)21 lip 2026\n\n    Harbor Seals•1 sezon\n\n[Zobacz wszystkie kontrakty](https://puckscope.online/contracts)\n",
  "markdownStats": {
    "images": 0,
    "links": 1,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 0
  },
  "tokens": {
    "htmlTokens": 68810,
    "markdownTokens": 22,
    "reduction": 68788,
    "reductionPercent": 100
  },
  "score": {
    "score": 85,
    "grade": "B",
    "rubricVersion": 2,
    "dimensions": {
      "accessibility": {
        "score": 100,
        "weight": 30,
        "grade": "A",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 55,
            "evidence": "proven",
            "details": "Content available without JavaScript"
          },
          "fast_content_position": {
            "score": 100,
            "weight": 25,
            "evidence": "plausible",
            "details": "Main content starts at 5% of HTML"
          },
          "reasonable_page_size": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "Page size: 197KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 70,
        "weight": 25,
        "grade": "C",
        "checks": {
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 35,
            "evidence": "proven",
            "details": "All major AI search bots allowed"
          },
          "supports_markdown_negotiation": {
            "score": 0,
            "weight": 20,
            "evidence": "plausible",
            "details": "No Markdown for Agents support detected"
          },
          "has_sitemap": {
            "score": 100,
            "weight": 15,
            "evidence": "plausible",
            "details": "Sitemap found"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "evidence": "plausible",
            "details": "robots.txt exists"
          },
          "has_llms_txt": {
            "score": 100,
            "weight": 10,
            "evidence": "speculative",
            "details": "llms.txt exists and is valid"
          },
          "has_content_signals": {
            "score": 0,
            "weight": 10,
            "evidence": "speculative",
            "details": "No Content-Signal found (robots.txt or HTTP headers)"
          }
        }
      },
      "structuredData": {
        "score": 100,
        "weight": 20,
        "grade": "A",
        "checks": {
          "has_schema_org": {
            "score": 100,
            "weight": 35,
            "evidence": "proven",
            "details": "JSON-LD found: WebSite, Organization"
          },
          "has_open_graph": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "All OG tags present"
          },
          "has_meta_description": {
            "score": 100,
            "weight": 20,
            "evidence": "plausible",
            "details": "Meta description: 111 chars"
          },
          "has_canonical_url": {
            "score": 100,
            "weight": 15,
            "evidence": "plausible",
            "details": "Canonical URL present"
          },
          "has_lang_attribute": {
            "score": 100,
            "weight": 10,
            "evidence": "plausible",
            "details": "lang=\"en\""
          }
        }
      },
      "semanticHtml": {
        "score": 79,
        "weight": 15,
        "grade": "B",
        "checks": {
          "proper_heading_hierarchy": {
            "score": 100,
            "weight": 30,
            "evidence": "plausible",
            "details": "Clean heading hierarchy"
          },
          "uses_article_or_main": {
            "score": 100,
            "weight": 25,
            "evidence": "plausible",
            "details": "Has <main>"
          },
          "semantic_elements": {
            "score": 12,
            "weight": 20,
            "evidence": "plausible",
            "details": "15 semantic elements, 419 divs (ratio: 3%)"
          },
          "meaningful_alt_texts": {
            "score": 78,
            "weight": 15,
            "evidence": "plausible",
            "details": "32/41 images with meaningful alt text (28 decorative, not counted)"
          },
          "low_div_nesting": {
            "score": 96,
            "weight": 10,
            "evidence": "speculative",
            "details": "Avg div depth: 5.4, max: 11"
          }
        }
      },
      "contentEfficiency": {
        "score": 56,
        "weight": 10,
        "grade": "D",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "evidence": "speculative",
            "details": "100% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 0,
            "weight": 30,
            "evidence": "speculative",
            "details": "Content ratio: 0.0% (25 content chars / 201390 HTML bytes)"
          },
          "reasonable_page_weight": {
            "score": 80,
            "weight": 20,
            "evidence": "speculative",
            "details": "HTML size: 197KB"
          },
          "minimal_inline_styles": {
            "score": 0,
            "weight": 10,
            "evidence": "speculative",
            "details": "86/1032 elements with inline styles (8.3%)"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "id": "add_markdown_negotiation",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_markdown_negotiation.title",
      "descriptionKey": "rec.add_markdown_negotiation.description",
      "howToKey": "rec.add_markdown_negotiation.howto",
      "effort": "significant",
      "estimatedImpact": 5,
      "maxImpact": 5,
      "evidence": "plausible",
      "checkScore": 0,
      "checkDetails": "No Markdown for Agents support detected"
    },
    {
      "id": "improve_content_ratio",
      "priority": "high",
      "category": "contentEfficiency",
      "titleKey": "rec.improve_content_ratio.title",
      "descriptionKey": "rec.improve_content_ratio.description",
      "howToKey": "rec.improve_content_ratio.howto",
      "effort": "moderate",
      "estimatedImpact": 3,
      "maxImpact": 3,
      "evidence": "speculative",
      "checkScore": 0,
      "checkDetails": "Content ratio: 0.0% (25 content chars / 201390 HTML bytes)"
    },
    {
      "id": "add_semantic_elements",
      "priority": "high",
      "category": "semanticHtml",
      "titleKey": "rec.add_semantic_elements.title",
      "descriptionKey": "rec.add_semantic_elements.description",
      "howToKey": "rec.add_semantic_elements.howto",
      "effort": "moderate",
      "estimatedImpact": 2.6,
      "maxImpact": 3,
      "evidence": "plausible",
      "checkScore": 12,
      "checkDetails": "15 semantic elements, 419 divs (ratio: 3%)"
    },
    {
      "id": "add_content_signals",
      "priority": "high",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_content_signals.title",
      "descriptionKey": "rec.add_content_signals.description",
      "howToKey": "rec.add_content_signals.howto",
      "effort": "quick-win",
      "estimatedImpact": 2.5,
      "maxImpact": 2.5,
      "evidence": "speculative",
      "checkScore": 0,
      "checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
    },
    {
      "id": "remove_inline_styles",
      "priority": "medium",
      "category": "contentEfficiency",
      "titleKey": "rec.remove_inline_styles.title",
      "descriptionKey": "rec.remove_inline_styles.description",
      "howToKey": "rec.remove_inline_styles.howto",
      "effort": "moderate",
      "estimatedImpact": 1,
      "maxImpact": 1,
      "evidence": "speculative",
      "checkScore": 0,
      "checkDetails": "86/1032 elements with inline styles (8.3%)"
    },
    {
      "id": "improve_alt_texts",
      "priority": "low",
      "category": "semanticHtml",
      "titleKey": "rec.improve_alt_texts.title",
      "descriptionKey": "rec.improve_alt_texts.description",
      "howToKey": "rec.improve_alt_texts.howto",
      "effort": "moderate",
      "estimatedImpact": 0.5,
      "maxImpact": 2.3,
      "evidence": "plausible",
      "checkScore": 78,
      "checkDetails": "32/41 images with meaningful alt text (28 decorative, not counted)"
    }
  ],
  "llmsTxtPreview": "# puckscope.online\n\n> Hokej Radar to baza kontraktów, transferów, składów i statystyk Tauron Hokej Ligi dla kibiców polskiego hokeja.\n\n## Main\n- [Puckscope](https://puckscope.online/): Hokej Radar to baza kontraktów, transferów, składów i statystyk Tauron Hokej Ligi dla kibiców polskiego hokeja.\n- [Play-off](https://puckscope.online/playoffs)\n- [Zawodnicy](https://puckscope.online/players)\n- [Kontrakty](https://puckscope.online/contracts)\n- [Statystyki Zawodników](https://puckscope.online/stats/players)\n- [Statystyki Drużyn](https://puckscope.online/stats/teams)\n- [Statystyki Narodowości](https://puckscope.online/stats/nationalities)\n- [Sezon po Sezonie](https://puckscope.online/stats/seasons)\n- [Fotel Prezesa](https://puckscope.online/fotel-prezesa)\n\n## Blog\n- [Blog](https://puckscope.online/blog)\n\n## Legal\n- [Polityka prywatności](https://puckscope.online/privacy)\n- [Polityka plików cookies](https://puckscope.online/cookies)\n\n",
  "llmsTxtExisting": "# Puckscope\n\n> Sales demo for the fictional Aurora Ice League\n\n## Overview\n\n- [Home](https://puckscope.online/en): Latest roster moves and an overview of what the site offers\n\n## Players & transfers\n\n- [Player directory](https://puckscope.online/en/players): Player profiles with careers, contract history and statistics\n- [Contracts & transfers](https://puckscope.online/en/contracts): Contract terms and roster-move records\n- [Player comparison](https://puckscope.online/en/compare): Side-by-side comparison of two players\n\n## Competition\n\n- [Schedule](https://puckscope.online/en/schedule): Fixture list for the current season\n- [Standings](https://puckscope.online/en/standings): Current league table\n\n## Statistics\n\n- [Player statistics](https://puckscope.online/en/stats/players): Scoring, assists and penalty statistics per player\n- [Team statistics](https://puckscope.online/en/stats/teams): Results-based statistics per club\n- [Statistics by nationality](https://puckscope.online/en/stats/nationalities): League breakdown by player nationality\n- [Season archive](https://puckscope.online/en/stats/seasons): Statistics grouped by season\n\n## Playoffs\n\n- [Playoffs hub](https://puckscope.online/en/playoffs): Play-off series overview and schedule\n\n## Games\n\n- [Chairman's seat](https://puckscope.online/en/chairmans-seat): Squad-building game: run a club as its director\n- [Chairman's seat — new run](https://puckscope.online/en/chairmans-seat/new): Start a new chairman challenge\n- [Daily radar game](https://puckscope.online/en/games/daily-radar): Daily guessing game around the latest roster moves\n- [Daily radar leaderboard](https://puckscope.online/en/games/daily-radar/leaderboard): Top scores of the daily game\n\n## Product\n\n- [Privacy policy](https://puckscope.online/en/privacy): How personal data is processed\n- [Cookie policy](https://puckscope.online/en/cookies): Cookies this site uses\n\n## Discovery files\n\n- [XML sitemap](https://puckscope.online/sitemap.xml)\n- [Markdown sitemap](https://puckscope.online/sitemap.md)",
  "emergingProtocols": {
    "oauthProtectedResource": {
      "exists": false,
      "url": "https://puckscope.online/.well-known/oauth-protected-resource"
    },
    "oauthDiscovery": {
      "exists": false,
      "url": "https://puckscope.online/.well-known/oauth-authorization-server"
    },
    "mcpServerCard": {
      "exists": false,
      "url": "https://puckscope.online/.well-known/mcp/server-card.json",
      "draft": true
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://puckscope.online/.well-known/agent-card.json"
    },
    "apiCatalog": {
      "exists": false,
      "url": "https://puckscope.online/.well-known/api-catalog"
    },
    "agentSkills": {
      "exists": false,
      "url": "https://puckscope.online/.well-known/agent-skills/index.json",
      "draft": true
    },
    "count": 0,
    "total": 6
  },
  "botAccess": {
    "probed": true,
    "bot": "OAI-SearchBot",
    "controlStatus": 200,
    "botStatus": 200,
    "discriminates": false,
    "refusedAsBot": false,
    "edge": "Vercel",
    "verifiable": false,
    "detail": "This origin answers OAI-SearchBot exactly as it answers any other client (200). No edge-level filtering of AI crawlers observed."
  },
  "snippets": [
    {
      "id": "add_content_signals",
      "title": "Add Content-Signal directives",
      "description": "Content-Signal tells AI agents how they may use your content. The canonical location is robots.txt, but you can also expose it as an HTTP header from any stack.",
      "language": "txt",
      "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no",
      "filename": "/robots.txt",
      "stacks": [
        {
          "id": "robots",
          "label": "robots.txt",
          "language": "txt",
          "filename": "/robots.txt",
          "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no"
        },
        {
          "id": "nginx",
          "label": "Nginx",
          "language": "nginx",
          "filename": "server block",
          "code": "# Inside your server { } block:\nadd_header Content-Signal \"search=yes, ai-input=yes, ai-train=no\" always;"
        },
        {
          "id": "apache",
          "label": "Apache",
          "language": "apache",
          "filename": ".htaccess",
          "code": "# In .htaccess (or VirtualHost):\nHeader set Content-Signal \"search=yes, ai-input=yes, ai-train=no\""
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// In your theme's functions.php or a small mu-plugin\nadd_action('send_headers', function () {\n    header('Content-Signal: search=yes, ai-input=yes, ai-train=no');\n});\n\n// Optional: also append the directive to the dynamic robots.txt\nadd_filter('robots_txt', function ($output) {\n    return $output . \"\\nContent-Signal: search=yes, ai-input=yes, ai-train=no\\n\";\n}, 10, 1);"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "middleware.ts",
          "code": "// middleware.ts (Next.js 13+ App Router or Pages Router)\nimport { NextResponse } from 'next/server';\nexport function middleware() {\n  const res = NextResponse.next();\n  res.headers.set(\n    'Content-Signal',\n    'search=yes, ai-input=yes, ai-train=no'\n  );\n  return res;\n}\nexport const config = { matcher: '/:path*' };"
        },
        {
          "id": "cloudflare",
          "label": "Cloudflare Workers",
          "language": "javascript",
          "filename": "worker.js",
          "code": "// Cloudflare Worker that proxies your origin and adds the header\nexport default {\n  async fetch(request, env, ctx) {\n    const res = await fetch(request);\n    const newRes = new Response(res.body, res);\n    newRes.headers.set(\n      'Content-Signal',\n      'search=yes, ai-input=yes, ai-train=no'\n    );\n    return newRes;\n  },\n};"
        },
        {
          "id": "express",
          "label": "Express / Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Express\napp.use((req, res, next) => {\n  res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n  reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  done();\n});"
        }
      ]
    },
    {
      "id": "add_markdown_negotiation",
      "title": "Support Markdown for Agents",
      "description": "Let AI agents request a clean Markdown version of any page via content negotiation, .md alternate URLs, link tags or Link headers.",
      "language": "html",
      "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        },
        {
          "id": "express",
          "label": "Express",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\napp.get('/page', (req, res) => {\n  res.setHeader('Vary', 'Accept');\n  res.setHeader('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    res.type('text/markdown; charset=utf-8');\n    return res.send(renderMarkdown('page'));\n  }\n  res.render('page');\n});"
        },
        {
          "id": "fastify",
          "label": "Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n  reply.header('Vary', 'Accept');\n  reply.header('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n  }\n  return reply.view('/page.ejs');\n});"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page/route.ts",
          "code": "// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n  const accept = req.headers.get('accept') || '';\n  if (accept.includes('text/markdown')) {\n    return new Response(await renderMarkdown('page'), {\n      headers: {\n        'Content-Type': 'text/markdown; charset=utf-8',\n        'Vary': 'Accept',\n      },\n    });\n  }\n  // Fall through to the page component\n  return new Response(null, { status: 404 });\n}"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Mechanism 1: respond to Accept: text/markdown on the same URL\nadd_action('template_redirect', function () {\n    if (!is_singular()) return;\n    $accept = $_SERVER['HTTP_ACCEPT'] ?? '';\n    if (strpos($accept, 'text/markdown') === false) return;\n    header('Content-Type: text/markdown; charset=utf-8');\n    header('Vary: Accept');\n    $post = get_queried_object();\n    echo \"# \" . get_the_title($post) . \"\\n\\n\";\n    echo wp_strip_all_tags(apply_filters('the_content', $post->post_content));\n    exit;\n});"
        },
        {
          "id": "static",
          "label": "Hugo / Jekyll / Astro",
          "language": "txt",
          "filename": "static/page.md",
          "code": "# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in <head>:\n#   <link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        }
      ]
    }
  ]
}

Utilisez notre API pour obtenir ceci de manière programmatique (bientôt disponible)

Ce JSON est à usage interne — contrairement au Markdown et au llms.txt, il n’est pas destiné à être téléversé sur votre site. Conservez-le comme référence pour suivre l’évolution de votre score, partagez-le avec votre équipe de développement ou intégrez-le dans votre pipeline CI/CD.

Partagez vos résultats

Ou demandez à une IA de vous aider à l'améliorer

Envie d'un deuxième avis ?

Cloudflare propose aussi un scanner gratuit, et il pose une question différente. Il note ce que votre site publie pour que les agents l'appellent : MCP server cards, Agent Skills, catalogues d'API, enregistrements DNS. Nous notons si un agent peut atteindre votre contenu, le lire et le comprendre. Un site peut réussir l'un et échouer l'autre : attendez-vous à deux chiffres différents, ce sont les réponses à deux questions différentes, et les deux méritent d'être connues.

Analyser puckscope.online avec Cloudflare

Intégrez votre badge

Ajoutez ce badge à votre site. Il se met à jour automatiquement lorsque votre score de préparation à l’IA change.

AgentReady.md score for puckscope.online
Script Recommandé
<script src="https://agentready.md/badge.js" data-id="ed496151-5809-4325-813f-dc7ac1aecf58" data-domain="puckscope.online"></script>
Markdown
[![AgentReady.md score for puckscope.online](https://agentready.md/badge/puckscope.online.svg)](https://agentready.md/fr/r/puckscope.online)

Bientôt : Analyse de domaine complet

Explorez l’ensemble de votre domaine, générez un llms.txt et surveillez votre score de préparation IA dans le temps. Rejoignez la liste d’attente pour être informé.

Vous êtes sur la liste ! Nous vous préviendrons lors du lancement.