URL analizada
https://www.ohkunoshimarabbitrescue.org/
Medido hace 3 semanas
Puntuación AI-Ready
Aceptable
de 100
Ahorro de tokens
Desglose de la puntuación
Protocolos emergentes
0 de 6 detectadosEndpoints well-known que los AI agents buscan. Detectados significa que un agente puede descubrir y conectar con tu servicio automáticamente.
-
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
Esto no se queda quieto. La monitorización aún no existe: apúntate y te avisamos cuando esté.
¡Estás en la lista! Te avisaremos cuando se lance.
Lo que medimos No Markdown for Agents support detected
Tu sitio no soporta Markdown for Agents. Este estándar de Cloudflare permite a los agentes IA solicitar contenido en formato markdown, reduciendo el uso de tokens en ~80%.
Cómo implementarlo
Implementa uno o más: (1) Responder a Accept: text/markdown con contenido markdown. (2) Servir URLs .md (ej: /pagina.md). (3) Añadir etiquetas <link rel="alternate" type="text/markdown">. (4) Añadir cabeceras HTTP Link para descubrimiento markdown.
Lo que medimos Page size: 1017KB
Tu página es más grande de lo recomendado. Las páginas grandes son más lentas de procesar y más costosas para los AI agents.
Cómo implementarlo
Optimiza el tamaño de la página minificando el HTML, difiriendo scripts no críticos y eliminando CSS no utilizado.
Lo que medimos Content ratio: 0.1% (586 content chars / 1041388 HTML bytes)
Tu página tiene un bajo ratio de contenido real respecto al HTML total. Gran parte del peso de la página es marcado, scripts o estilos en lugar de contenido.
Cómo implementarlo
Mueve el CSS a hojas de estilo externas, elimina los estilos en línea, minimiza el JavaScript y asegúrate de que el HTML se centre en la estructura del contenido.
Lo que medimos No Content-Signal found (robots.txt or HTTP headers)
No se encontraron directivas Content-Signal. Estas indican a los agentes IA cómo pueden usar tu contenido (indexación, entrada IA, datos de entrenamiento). La ubicación recomendada es robots.txt.
Cómo implementarlo
Añade Content-Signal a tu robots.txt: User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. También puedes añadirlo como cabecera HTTP en respuestas markdown.
Lo que medimos 12 semantic elements, 192 divs (ratio: 6%)
Tu página depende en gran medida de elementos <div>. Los elementos semánticos como <section>, <nav>, <header>, <footer> y <aside> proporcionan una estructura significativa para los AI agents.
Cómo implementarlo
Reemplaza los contenedores <div> genéricos con los elementos semánticos apropiados. Usa <section> para grupos temáticos, <nav> para navegación, <header>/<footer> para cabeceras y pies de página o sección.
Lo que medimos HTML size: 1017KB
Tu página HTML es más pesada de lo recomendado. Las páginas grandes tardan más en ser procesadas por los AI agents y cuestan más tokens.
Cómo implementarlo
Reduce el tamaño del HTML eliminando código no utilizado, minificando el HTML y cargando de forma diferida el contenido no crítico.
Lo que medimos no <h1>
La estructura de encabezados tiene problemas (niveles saltados o múltiples etiquetas h1). Una jerarquía limpia ayuda a los AI agents a comprender la organización del contenido.
Cómo implementarlo
Asegúrate de tener exactamente un <h1> por página y que los encabezados sigan un orden secuencial: h1 > h2 > h3. No saltes niveles (por ejemplo, de h1 directamente a h3).
Lo que medimos 130/585 elements with inline styles (22.2%)
Muchos elementos tienen atributos de estilo en línea. Estos añaden ruido para los AI agents al extraer contenido.
Cómo implementarlo
Mueve todos los estilos en línea a clases CSS en tu hoja de estilos. Usa frameworks de CSS utilitario como Tailwind si necesitas muchos estilos únicos.
Lo que medimos Avg div depth: 10.3, max: 17
Tu página tiene elementos <div> profundamente anidados. El anidamiento excesivo añade ruido y dificulta la extracción de contenido para los AI agents.
Cómo implementarlo
Simplifica la estructura HTML eliminando divs envolventes innecesarios. Usa CSS Grid o Flexbox para el diseño en lugar de divs contenedores anidados.
大久野島のうさぎたちに何が起きているのか? 広島県の大久野島は「うさぎの島」として知られ、多くの観光客が訪れています。 しかし、その裏でうさぎたちは過酷な環境にさらされ、命の危機に瀕しています。 無責任なエサやりで栄養失調や誤嚥が多発 観光客による抱っこや追いかけ回しで骨折・ストレス死 2024年末には大勢のうさぎが虐他死させられた。 車両事故による重傷・死亡 意図的な虐待とみられる傷を負った個体も確認 繁殖制限がないため、病気やケガが蔓延しやすい状態 こうした状況の中、行政の対応は十分とは言えず、ボランティアや民間の支援に頼らざるを得ないのが現実です。 島で病気やケガをしているうさぎに関しては、保護・救出については終生飼育と島に戻さないことを条件に環境省は黙認しています。 実際に、傷病うさぎたちが善意の救出者と里親のもとで治療を受け、家庭で幸せに暮らしています。 私たちにできること うさぎに触れない・追いかけない・抱っこしない 静かに距離を保ち、うさぎたちにストレスを与えない 島の現実を広め、行政への働きかけを行う 傷ついた子を見つけたら、信頼できる団体や保護主へ連絡を うさぎたちは観光の「道具」ではありません。 命ある動物として、尊重されるべき存在です。 あなたの行動が、うさぎたちの未来を変える力になります。
rabbit island ohkunoshima bunny rescue | rabbit top of page  [大久野島](https://www.ohkunoshimarabbitrescue.org/) [うさぎ島の真実](https://www.ohkunoshimarabbitrescue.org/) [偽りのうさぎの楽園](https://www.ohkunoshimarabbitrescue.org/)   - [](https://www.instagram.com/junkohiking/) - [](https://www.instagram.com/ohkunoshima_rabbit_rescue/) [ENGLISH SITE](https://junkoroberson.wixsite.com/rabbit-island)  [](https://www.bunnycarejp.com/) - [](https://www.facebook.com/bunnyintokyo/) - [](https://www.instagram.com/bunnyintokyo) - [](https://x.com/bunnyintokyo) Search ### 蘭風ちゃんの物語 大久野島で生活する蘭風ちゃんの助けを求める眼差しに皆が心を打たれました! 2024年7月に広島県のうさぎ島として知られる大久野島より保護された耳に大きな腫瘍が出来ていた蘭風(らんぷ)は 初めて公に寄付を募り、医療に掛けられ その後、家庭で暮らしたうさぎでした。  - [](https://www.instagram.com/ohkunoshima_rabbit_rescue) ## 私達の目標 大久野島のうさぎたちは、いまこの瞬間も命の危機にさらされています。 観光地の裏で、怪我や感染症、飢餓、多くの命が適切なケアを受けられないまま失われています。 私たちは、現場で実際に緊急救助してきた記録と経験に基づき、見過ごされてきた現実を変えるために行動しています。しかし、この問題は一部の人間だけでは解決できません、皆さんのご協力が必要です。 - 緊急性の高いうさぎの保護・医療・リハビリ支援 - 里親募集を通じた安全な移動と終生飼育の実現 - 島の現状(怪我・病気、人災)の継続的な記録と公開 - 不適切な餌やりを減らすための啓発活動 - 行政・専門家との連携による根本的解決の模索 この活動は、寄付・支援・拡散によって支えられています。 小さな行動でも、1つの命を救う力になります。 - ご寄付 - 情報をシェアする - 正しい知識を広める - 里親になる・つなぐ 「かわいい」で終わらせない。命に責任を持つ社会へ。 [大久野島](https://www.ohkunoshimarabbitrescue.org/blog)   救出前の蘭ちゃん  手術後の蘭ちゃん ## 大久野島がうさぎの楽園?? 大久野島のうさぎたちに何が起きているのか? 広島県の大久野島は「うさぎの島」として知られ、多くの観光客が訪れています。 しかし、その裏でうさぎたちは過酷な環境にさらされ、命の危機に瀕しています。 無責任なエサやりで栄養失調や誤嚥が多発 観光客による抱っこや追いかけ回しで骨折・ストレス死 2024年末には大勢のうさぎが虐他死させられた。 車両事故による重傷・死亡 意図的な虐待とみられる傷を負った個体も確認 繁殖制限がないため、病気やケガが蔓延しやすい状態 こうした状況の中、行政の対応は十分とは言えず、ボランティアや民間の支援に頼らざるを得ないのが現実です。 島で病気やケガをしているうさぎに関しては、保護・救出については終生飼育と島に戻さないことを条件に環境省は黙認しています。 実際に、傷病うさぎたちが善意の救出者と里親のもとで治療を受け、家庭で幸せに暮らしています。 私たちにできること うさぎに触れない・追いかけない・抱っこしない 静かに距離を保ち、うさぎたちにストレスを与えない 島の現実を広め、行政への働きかけを行う 傷ついた子を見つけたら、信頼できる団体や保護主へ連絡を うさぎたちは観光の「道具」ではありません。 命ある動物として、尊重されるべき存在です。 あなたの行動が、うさぎたちの未来を変える力になります。  bottom of page
Sube este archivo como /index.md en tu servidor para que los AI agents puedan acceder a una versión limpia de tu página. También puedes configurar la negociación de contenido Accept: text/markdown para servirlo automáticamente.
Nuestra recomendación
# Ohkunoshima Rabbit I > 大久野島(Ohkunoshima)の「ウサギの楽園」と言われるイメージの裏には、過酷な現実がある。医療ケアを受けられず短命を終える野生化した家うさぎ達。その悲しいサイクルを断ち切ろうと、アニマルウェルフェアの精神を持って懸命に救護を続ける人々の取り組みに注目が集まっている。 ## Main - [rabbit island ohkunoshima bunny rescue | rabbit](https://www.ohkunoshimarabbitrescue.org/): 大久野島(Ohkunoshima)の「ウサギの楽園」と言われるイメージの裏には、過酷な現実がある。医療ケアを受けられず短命を終える野生化した家うさぎ達。その悲しいサイクルを断ち切ろうと、アニマルウェルフェアの精神を持って懸命に救護を続ける… - [里親、一時預かり募集](https://www.ohkunoshimarabbitrescue.org/about-4) - [保護ウサギ一覧](https://www.ohkunoshimarabbitrescue.org/rescued-rabbits) - [寄付で支援する](https://www.ohkunoshimarabbitrescue.org/donation) - [病気と怪我](https://www.ohkunoshimarabbitrescue.org/sick-injured-rabbits) - [保護うさぎのその後](https://www.ohkunoshimarabbitrescue.org/adopted-rabbits) ## Blog - [大久野島ブログ](https://www.ohkunoshimarabbitrescue.org/blog) ## Support - [お問い合わせ](https://www.ohkunoshimarabbitrescue.org/contact-us)
El llms.txt completo requiere un análisis de todo el dominio (próximamente)
Sube este archivo a https://www.ohkunoshimarabbitrescue.org/llms.txt en la raíz de tu dominio. Los AI agents como ChatGPT, Claude y Perplexity consultan este archivo para comprender la estructura de tu sitio.
Este sitio ya tiene un archivo llms.txt.
Formato válido# Ohkunoshima Rabbit I > このサイトは、大久野島で傷病を負ったウサギの救出活動とその報告をまとめたものです。2024年7月から2026年6月にかけて、28匹のウサギが保護され、医療ケアを受け、新しい家庭へと繋がれました。活動資金は寄付によって賄われ、医療費や諸経費に充てられています。サイトでは、個々のウサギの救出経緯や現在の様子、そして島のウサギが直面する過酷な現実と、それに対する支援の必要性が訴えられています。 ## Homepage link - [home](https://www.ohkunoshimarabbitrescue.org/) ## AI エージェントによるアクセス このサイトは Wix で作成されており、エージェント AI によるアクセス用の MCP (Model Context Protocol) に対応しています。AI エージェントは直接接続して、公開中の最新のサイトコンテンツを取得できます。スクレイピングは不要です。 - [**サイト MCP エンドポイント**](https://www.ohkunoshimarabbitrescue.org/_api/mcp) - [**Wix MCP ドキュメンテーション**](https://dev.wix.com/docs/develop-websites/articles/get-started/about-the-wix-site-mcp) ## 利用可能な MCP ツール ### GetBusinessDetails ビジネスとサイトの詳細(時間帯(タイムゾーン)、メールアドレス、電話番号、住所など)を取得します。- パラメータは必要ありません。 ### SearchInSite サイト内の情報を検索します。 - **searchTerm** - サイト内で検索する語句。 ### SearchSiteApiDocs このサイトにインストールされている Wix ビジネスソリューションの API ドキュメントを取得し、AI クライアントに API の使用方法を通知します。商品とサービスのクエリにこのツールを使用します(SearchInSite の代わりに)。 - **searchTerm** - サイトの API ドキュメント内で検索する語句。 ### GenerateVisitorToken 新しいサイト訪問者セッションを作成し、サイト用のサイト訪問者アクセストークンを取得します。コンテキストに訪問者トークンがまだない場合は、CallWixSiteAPI リクエストを行う前に呼び出す必要があります。 - パラメータは必要ありません。 ### CallWixSiteAPI サイト上で API メソッドを呼び出し、サイト訪問者に代わってアクション(サイトデータのクエリ、プライベート予約を行う、購入を開始するなど)を実行します。 - **visitorToken** - サイト訪問者アクセストークン。利用できない場合は、最初に GenerateVisitorToken を使用します。 - **url** - 呼び出す API メソッドの絶対 URL(例:https://www.wixapis.com/...)。SearchSiteApiDocs を使用して取得します。 - **method** - API 呼び出しに使用する HTTP メソッド。 - **body** - 有効な JSON 文字列としてのリクエストボディ。 ### ReadFullDocsArticle Wix開発者ドキュメンテーションポータルから完全な記事を読み出します。 - **articleUrl** - Wix 開発者ドキュメンテーションポータル内の記事の URL。 ### ReadFullDocsMethodSchema Wix APIメソッドの完全なスキーマを読み出します。実際のメソッドを CallWixSiteAPI で呼び出す前に、先にこのメソッドを呼び出す必要があります。 - **articleUrl** - Wix API メソッドのリファレンス記事の URL。 ## AI + MCPでサイト訪問者ができること - ビジネスの詳細(連絡先情報、ビジネス拠点、営業時間)を取得する - 提供されている商品 / サービスを見つける - サービスや予約を行う - 購入を開始し、死払い手続きを完了するためにサイトに誘導される - サイトを閲覧することなく質問し、関連する回答を得る ## メモ - MCP エンドポイントへの接続に認証は不要です - サイトでアクセス可能な公開情報のみ利用できます - コンテンツは常にリアルタイムで最新です - ツール更新を受け取るには、ツール更新通知を受領した際に tools/list の呼び出しを実装してください。
Accesibilidad
Content available without JavaScript
Main content starts at 20% of HTML
Page size: 1017KB
Visibilidad para IA
All major AI search bots allowed
Sitemap found
robots.txt exists
llms.txt exists and is valid
Datos estructurados
JSON-LD found but basic types: WebSite, WebSite
All OG tags present
Meta description: 137 chars
Canonical URL present
lang="ja"
HTML semántico
no <h1>
Has <main>
12 semantic elements, 192 divs (ratio: 6%)
20/23 images with meaningful alt text
Avg div depth: 10.3, max: 17
Eficiencia del contenido
100% token reduction (HTML→Markdown)
Content ratio: 0.1% (586 content chars / 1041388 HTML bytes)
HTML size: 1017KB
130/585 elements with inline styles (22.2%)
{
"url": "https://www.ohkunoshimarabbitrescue.org/",
"timestamp": 1786513747115,
"fetch": {
"mode": "simple",
"timeMs": 1783,
"htmlSizeBytes": 1041388,
"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": "rabbit island ohkunoshima bunny rescue | rabbit",
"excerpt": "大久野島(Ohkunoshima)の「ウサギの楽園」と言われるイメージの裏には、過酷な現実がある。医療ケアを受けられず短命を終える野生化した家うさぎ達。その悲しいサイクルを断ち切ろうと、アニマルウェルフェアの精神を持って懸命に救護を続ける人々の取り組みに注目が集まっている。",
"byline": null,
"siteName": "Ohkunoshima Rabbit I",
"lang": "ja",
"contentLength": 586,
"metadata": {
"description": "大久野島(Ohkunoshima)の「ウサギの楽園」と言われるイメージの裏には、過酷な現実がある。医療ケアを受けられず短命を終える野生化した家うさぎ達。その悲しいサイクルを断ち切ろうと、アニマルウェルフェアの精神を持って懸命に救護を続ける人々の取り組みに注目が集まっている。",
"ogTitle": "rabbit island ohkunoshima bunny rescue | rabbit",
"ogDescription": "大久野島(Ohkunoshima)の「ウサギの楽園」と言われるイメージの裏には、過酷な現実がある。医療ケアを受けられず短命を終える野生化した家うさぎ達。その悲しいサイクルを断ち切ろうと、アニマルウェルフェアの精神を持って懸命に救護を続ける人々の取り組みに注目が集まっている。",
"ogImage": "https://static.wixstatic.com/media/11062b_55e4be1e75564866b6c28290f9a9d271%7Emv2.png/v1/fit/w_2500,h_1330,al_c/11062b_55e4be1e75564866b6c28290f9a9d271%7Emv2.png",
"ogType": "website",
"canonical": "https://www.ohkunoshimarabbitrescue.org",
"lang": "ja",
"schemas": [
{
"@context": "https://schema.org/",
"@type": "WebSite",
"url": "https://www.ohkunoshimarabbitrescue.org/",
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://www.ohkunoshimarabbitrescue.org/popup-bzglk?q={search_term}"
},
"query-input": "required name=search_term"
}
},
{
"@context": "https://schema.org/",
"@type": "WebSite",
"name": "Ohkunoshima Rabbit I",
"url": "https://www.ohkunoshimarabbitrescue.org"
}
],
"robotsMeta": null,
"author": null,
"generator": "Wix.com Website Builder",
"markdownAlternateHref": null
}
},
"markdown": "大久野島のうさぎたちに何が起きているのか?\n\n広島県の大久野島は「うさぎの島」として知られ、多くの観光客が訪れています。 しかし、その裏でうさぎたちは過酷な環境にさらされ、命の危機に瀕しています。\n\n無責任なエサやりで栄養失調や誤嚥が多発\n\n観光客による抱っこや追いかけ回しで骨折・ストレス死\n\n2024年末には大勢のうさぎが虐他死させられた。\n\n車両事故による重傷・死亡\n\n意図的な虐待とみられる傷を負った個体も確認\n\n繁殖制限がないため、病気やケガが蔓延しやすい状態\n\nこうした状況の中、行政の対応は十分とは言えず、ボランティアや民間の支援に頼らざるを得ないのが現実です。\n\n島で病気やケガをしているうさぎに関しては、保護・救出については終生飼育と島に戻さないことを条件に環境省は黙認しています。 実際に、傷病うさぎたちが善意の救出者と里親のもとで治療を受け、家庭で幸せに暮らしています。\n\n私たちにできること\n\nうさぎに触れない・追いかけない・抱っこしない\n\n静かに距離を保ち、うさぎたちにストレスを与えない\n\n島の現実を広め、行政への働きかけを行う\n\n傷ついた子を見つけたら、信頼できる団体や保護主へ連絡を\n\nうさぎたちは観光の「道具」ではありません。 命ある動物として、尊重されるべき存在です。 あなたの行動が、うさぎたちの未来を変える力になります。\n",
"fullPageMarkdown": "rabbit island ohkunoshima bunny rescue | rabbit\n\ntop of page\n\n\n\n[大久野島](https://www.ohkunoshimarabbitrescue.org/)\n\n[うさぎ島の真実](https://www.ohkunoshimarabbitrescue.org/)\n\n[偽りのうさぎの楽園](https://www.ohkunoshimarabbitrescue.org/)\n\n\n\n\n\n- [](https://www.instagram.com/junkohiking/)\n\n- [](https://www.instagram.com/ohkunoshima_rabbit_rescue/)\n\n[ENGLISH SITE](https://junkoroberson.wixsite.com/rabbit-island)\n\n\n\n[](https://www.bunnycarejp.com/)\n\n- [](https://www.facebook.com/bunnyintokyo/)\n- [](https://www.instagram.com/bunnyintokyo)\n- [](https://x.com/bunnyintokyo)\n\nSearch\n\n### 蘭風ちゃんの物語\n\n大久野島で生活する蘭風ちゃんの助けを求める眼差しに皆が心を打たれました!\n\n\n\n2024年7月に広島県のうさぎ島として知られる大久野島より保護された耳に大きな腫瘍が出来ていた蘭風(らんぷ)は\n初めて公に寄付を募り、医療に掛けられ\nその後、家庭で暮らしたうさぎでした。\n\n\n\n- [](https://www.instagram.com/ohkunoshima_rabbit_rescue)\n\n## 私達の目標\n\n大久野島のうさぎたちは、いまこの瞬間も命の危機にさらされています。\n観光地の裏で、怪我や感染症、飢餓、多くの命が適切なケアを受けられないまま失われています。\n\n私たちは、現場で実際に緊急救助してきた記録と経験に基づき、見過ごされてきた現実を変えるために行動しています。しかし、この問題は一部の人間だけでは解決できません、皆さんのご協力が必要です。 \n\n\n\n- 緊急性の高いうさぎの保護・医療・リハビリ支援\n\n- 里親募集を通じた安全な移動と終生飼育の実現\n\n- 島の現状(怪我・病気、人災)の継続的な記録と公開\n\n- 不適切な餌やりを減らすための啓発活動\n\n- 行政・専門家との連携による根本的解決の模索\n\n\n\nこの活動は、寄付・支援・拡散によって支えられています。\n小さな行動でも、1つの命を救う力になります。\n\n- ご寄付\n\n- 情報をシェアする\n\n- 正しい知識を広める\n\n- 里親になる・つなぐ\n\n「かわいい」で終わらせない。命に責任を持つ社会へ。\n\n[大久野島](https://www.ohkunoshimarabbitrescue.org/blog)\n\n\n\n\n\n救出前の蘭ちゃん\n\n\n\n手術後の蘭ちゃん\n\n## 大久野島がうさぎの楽園??\n\n大久野島のうさぎたちに何が起きているのか?\n\n広島県の大久野島は「うさぎの島」として知られ、多くの観光客が訪れています。 しかし、その裏でうさぎたちは過酷な環境にさらされ、命の危機に瀕しています。\n\n無責任なエサやりで栄養失調や誤嚥が多発\n\n観光客による抱っこや追いかけ回しで骨折・ストレス死\n\n2024年末には大勢のうさぎが虐他死させられた。\n\n車両事故による重傷・死亡\n\n意図的な虐待とみられる傷を負った個体も確認\n\n繁殖制限がないため、病気やケガが蔓延しやすい状態\n\nこうした状況の中、行政の対応は十分とは言えず、ボランティアや民間の支援に頼らざるを得ないのが現実です。\n\n島で病気やケガをしているうさぎに関しては、保護・救出については終生飼育と島に戻さないことを条件に環境省は黙認しています。 実際に、傷病うさぎたちが善意の救出者と里親のもとで治療を受け、家庭で幸せに暮らしています。\n\n私たちにできること\n\nうさぎに触れない・追いかけない・抱っこしない\n\n静かに距離を保ち、うさぎたちにストレスを与えない\n\n島の現実を広め、行政への働きかけを行う\n\n傷ついた子を見つけたら、信頼できる団体や保護主へ連絡を\n\nうさぎたちは観光の「道具」ではありません。 命ある動物として、尊重されるべき存在です。 あなたの行動が、うさぎたちの未来を変える力になります。\n\n\n\nbottom of page\n",
"markdownStats": {
"images": 0,
"links": 0,
"tables": 0,
"codeBlocks": 0,
"headings": 0
},
"tokens": {
"htmlTokens": 346905,
"markdownTokens": 680,
"reduction": 346225,
"reductionPercent": 100
},
"score": {
"score": 73,
"grade": "C",
"rubricVersion": 2,
"dimensions": {
"accessibility": {
"score": 82,
"weight": 30,
"grade": "B",
"checks": {
"content_without_js": {
"score": 100,
"weight": 55,
"evidence": "proven",
"details": "Content available without JavaScript"
},
"fast_content_position": {
"score": 75,
"weight": 25,
"evidence": "plausible",
"details": "Main content starts at 20% of HTML"
},
"reasonable_page_size": {
"score": 40,
"weight": 20,
"evidence": "plausible",
"details": "Page size: 1017KB"
}
}
},
"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": 83,
"weight": 20,
"grade": "B",
"checks": {
"has_schema_org": {
"score": 50,
"weight": 35,
"evidence": "proven",
"details": "JSON-LD found but basic types: WebSite, WebSite"
},
"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: 137 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=\"ja\""
}
}
},
"semanticHtml": {
"score": 68,
"weight": 15,
"grade": "C",
"checks": {
"proper_heading_hierarchy": {
"score": 70,
"weight": 30,
"evidence": "plausible",
"details": "no <h1>"
},
"uses_article_or_main": {
"score": 100,
"weight": 25,
"evidence": "plausible",
"details": "Has <main>"
},
"semantic_elements": {
"score": 20,
"weight": 20,
"evidence": "plausible",
"details": "12 semantic elements, 192 divs (ratio: 6%)"
},
"meaningful_alt_texts": {
"score": 87,
"weight": 15,
"evidence": "plausible",
"details": "20/23 images with meaningful alt text"
},
"low_div_nesting": {
"score": 47,
"weight": 10,
"evidence": "speculative",
"details": "Avg div depth: 10.3, max: 17"
}
}
},
"contentEfficiency": {
"score": 44,
"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.1% (586 content chars / 1041388 HTML bytes)"
},
"reasonable_page_weight": {
"score": 20,
"weight": 20,
"evidence": "speculative",
"details": "HTML size: 1017KB"
},
"minimal_inline_styles": {
"score": 0,
"weight": 10,
"evidence": "speculative",
"details": "130/585 elements with inline styles (22.2%)"
}
}
}
}
},
"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": "reduce_page_size",
"priority": "high",
"category": "accessibility",
"titleKey": "rec.reduce_page_size.title",
"descriptionKey": "rec.reduce_page_size.description",
"howToKey": "rec.reduce_page_size.howto",
"effort": "moderate",
"estimatedImpact": 3.6,
"maxImpact": 6,
"evidence": "plausible",
"checkScore": 40,
"checkDetails": "Page size: 1017KB"
},
{
"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.1% (586 content chars / 1041388 HTML bytes)"
},
{
"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": "add_semantic_elements",
"priority": "medium",
"category": "semanticHtml",
"titleKey": "rec.add_semantic_elements.title",
"descriptionKey": "rec.add_semantic_elements.description",
"howToKey": "rec.add_semantic_elements.howto",
"effort": "moderate",
"estimatedImpact": 2.4,
"maxImpact": 3,
"evidence": "plausible",
"checkScore": 20,
"checkDetails": "12 semantic elements, 192 divs (ratio: 6%)"
},
{
"id": "reduce_page_weight",
"priority": "medium",
"category": "contentEfficiency",
"titleKey": "rec.reduce_page_weight.title",
"descriptionKey": "rec.reduce_page_weight.description",
"howToKey": "rec.reduce_page_weight.howto",
"effort": "significant",
"estimatedImpact": 1.6,
"maxImpact": 2,
"evidence": "speculative",
"checkScore": 20,
"checkDetails": "HTML size: 1017KB"
},
{
"id": "fix_heading_hierarchy",
"priority": "medium",
"category": "semanticHtml",
"titleKey": "rec.fix_heading_hierarchy.title",
"descriptionKey": "rec.fix_heading_hierarchy.description",
"howToKey": "rec.fix_heading_hierarchy.howto",
"effort": "quick-win",
"estimatedImpact": 1.3,
"maxImpact": 4.5,
"evidence": "plausible",
"checkScore": 70,
"checkDetails": "no <h1>"
},
{
"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": "130/585 elements with inline styles (22.2%)"
},
{
"id": "reduce_div_nesting",
"priority": "low",
"category": "semanticHtml",
"titleKey": "rec.reduce_div_nesting.title",
"descriptionKey": "rec.reduce_div_nesting.description",
"howToKey": "rec.reduce_div_nesting.howto",
"effort": "significant",
"estimatedImpact": 0.8,
"maxImpact": 1.5,
"evidence": "speculative",
"checkScore": 47,
"checkDetails": "Avg div depth: 10.3, max: 17"
}
],
"llmsTxtPreview": "# Ohkunoshima Rabbit I\n\n> 大久野島(Ohkunoshima)の「ウサギの楽園」と言われるイメージの裏には、過酷な現実がある。医療ケアを受けられず短命を終える野生化した家うさぎ達。その悲しいサイクルを断ち切ろうと、アニマルウェルフェアの精神を持って懸命に救護を続ける人々の取り組みに注目が集まっている。\n\n## Main\n- [rabbit island ohkunoshima bunny rescue | rabbit](https://www.ohkunoshimarabbitrescue.org/): 大久野島(Ohkunoshima)の「ウサギの楽園」と言われるイメージの裏には、過酷な現実がある。医療ケアを受けられず短命を終える野生化した家うさぎ達。その悲しいサイクルを断ち切ろうと、アニマルウェルフェアの精神を持って懸命に救護を続ける…\n- [里親、一時預かり募集](https://www.ohkunoshimarabbitrescue.org/about-4)\n- [保護ウサギ一覧](https://www.ohkunoshimarabbitrescue.org/rescued-rabbits)\n- [寄付で支援する](https://www.ohkunoshimarabbitrescue.org/donation)\n- [病気と怪我](https://www.ohkunoshimarabbitrescue.org/sick-injured-rabbits)\n- [保護うさぎのその後](https://www.ohkunoshimarabbitrescue.org/adopted-rabbits)\n\n## Blog\n- [大久野島ブログ](https://www.ohkunoshimarabbitrescue.org/blog)\n\n## Support\n- [お問い合わせ](https://www.ohkunoshimarabbitrescue.org/contact-us)\n\n",
"llmsTxtExisting": "# Ohkunoshima Rabbit I\n> このサイトは、大久野島で傷病を負ったウサギの救出活動とその報告をまとめたものです。2024年7月から2026年6月にかけて、28匹のウサギが保護され、医療ケアを受け、新しい家庭へと繋がれました。活動資金は寄付によって賄われ、医療費や諸経費に充てられています。サイトでは、個々のウサギの救出経緯や現在の様子、そして島のウサギが直面する過酷な現実と、それに対する支援の必要性が訴えられています。\n\n## Homepage link\n- [home](https://www.ohkunoshimarabbitrescue.org/)\n\n## AI エージェントによるアクセス\n\nこのサイトは Wix で作成されており、エージェント AI によるアクセス用の MCP (Model Context Protocol) に対応しています。AI エージェントは直接接続して、公開中の最新のサイトコンテンツを取得できます。スクレイピングは不要です。\n\n- [**サイト MCP エンドポイント**](https://www.ohkunoshimarabbitrescue.org/_api/mcp)\n- [**Wix MCP ドキュメンテーション**](https://dev.wix.com/docs/develop-websites/articles/get-started/about-the-wix-site-mcp)\n\n## 利用可能な MCP ツール\n\n### GetBusinessDetails\nビジネスとサイトの詳細(時間帯(タイムゾーン)、メールアドレス、電話番号、住所など)を取得します。- パラメータは必要ありません。\n\n### SearchInSite\nサイト内の情報を検索します。\n- **searchTerm** - サイト内で検索する語句。\n\n### SearchSiteApiDocs\nこのサイトにインストールされている Wix ビジネスソリューションの API ドキュメントを取得し、AI クライアントに API の使用方法を通知します。商品とサービスのクエリにこのツールを使用します(SearchInSite の代わりに)。\n- **searchTerm** - サイトの API ドキュメント内で検索する語句。\n\n### GenerateVisitorToken\n新しいサイト訪問者セッションを作成し、サイト用のサイト訪問者アクセストークンを取得します。コンテキストに訪問者トークンがまだない場合は、CallWixSiteAPI リクエストを行う前に呼び出す必要があります。\n- パラメータは必要ありません。\n\n### CallWixSiteAPI\nサイト上で API メソッドを呼び出し、サイト訪問者に代わってアクション(サイトデータのクエリ、プライベート予約を行う、購入を開始するなど)を実行します。\n- **visitorToken** - サイト訪問者アクセストークン。利用できない場合は、最初に GenerateVisitorToken を使用します。\n- **url** - 呼び出す API メソッドの絶対 URL(例:https://www.wixapis.com/...)。SearchSiteApiDocs を使用して取得します。\n- **method** - API 呼び出しに使用する HTTP メソッド。\n- **body** - 有効な JSON 文字列としてのリクエストボディ。\n\n### ReadFullDocsArticle\nWix開発者ドキュメンテーションポータルから完全な記事を読み出します。\n- **articleUrl** - Wix 開発者ドキュメンテーションポータル内の記事の URL。\n\n### ReadFullDocsMethodSchema\nWix APIメソッドの完全なスキーマを読み出します。実際のメソッドを CallWixSiteAPI で呼び出す前に、先にこのメソッドを呼び出す必要があります。\n- **articleUrl** - Wix API メソッドのリファレンス記事の URL。\n\n## AI + MCPでサイト訪問者ができること\n\n- ビジネスの詳細(連絡先情報、ビジネス拠点、営業時間)を取得する\n- 提供されている商品 / サービスを見つける\n- サービスや予約を行う\n- 購入を開始し、死払い手続きを完了するためにサイトに誘導される\n- サイトを閲覧することなく質問し、関連する回答を得る\n\n## メモ\n\n- MCP エンドポイントへの接続に認証は不要です\n- サイトでアクセス可能な公開情報のみ利用できます\n- コンテンツは常にリアルタイムで最新です\n- ツール更新を受け取るには、ツール更新通知を受領した際に tools/list の呼び出しを実装してください。",
"emergingProtocols": {
"oauthProtectedResource": {
"exists": false,
"url": "https://www.ohkunoshimarabbitrescue.org/.well-known/oauth-protected-resource"
},
"oauthDiscovery": {
"exists": false,
"url": "https://www.ohkunoshimarabbitrescue.org/.well-known/oauth-authorization-server"
},
"mcpServerCard": {
"exists": false,
"url": "https://www.ohkunoshimarabbitrescue.org/.well-known/mcp/server-card.json",
"draft": true
},
"a2aAgentCard": {
"exists": false,
"url": "https://www.ohkunoshimarabbitrescue.org/.well-known/agent-card.json"
},
"apiCatalog": {
"exists": false,
"url": "https://www.ohkunoshimarabbitrescue.org/.well-known/api-catalog"
},
"agentSkills": {
"exists": false,
"url": "https://www.ohkunoshimarabbitrescue.org/.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": null,
"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": "fix_heading_hierarchy",
"title": "Fix heading hierarchy",
"description": "Your page has no <h1>. Every page needs exactly one <h1> as the main heading. Add it inside your <main> or <article>.",
"language": "html",
"code": "<h1>rabbit island ohkunoshima bunny rescue | rabbit</h1>",
"filename": "<main> or <article>"
},
{
"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\">"
}
]
}
]
}
Usa nuestra API para obtener esto de forma programática (próximamente)
Este JSON es para uso interno — a diferencia del Markdown y llms.txt, no está pensado para subirse a tu web. Guárdalo como referencia para seguir la evolución de tu puntuación, compártelo con tu equipo de desarrollo o intégralo en tu pipeline CI/CD.
Comparte tus resultados
O pide a una IA que te ayude a mejorarlo
¿Quieres una segunda opinión?
Cloudflare tiene un escáner gratuito y hace una pregunta distinta a la nuestra. Ellos puntúan lo que tu sitio publica para que los agentes lo invoquen: MCP server cards, Agent Skills, catálogos de API, registros DNS. Nosotros puntuamos si un agente puede llegar a tu contenido, leerlo y entenderlo. Un sitio puede ir bien en uno y mal en el otro, así que cuenta con ver dos cifras distintas: son respuestas a dos preguntas distintas, y las dos merecen conocerse.
Analizar www.ohkunoshimarabbitrescue.org con CloudflareIncrusta tu badge
Añade este badge a tu sitio. Se actualiza automáticamente cuando cambie tu puntuación.
<script src="https://agentready.md/badge.js" data-id="736cdfed-013e-4363-8944-9d996bb6db6d" data-domain="www.ohkunoshimarabbitrescue.org"></script>
[](https://agentready.md/es/r/ohkunoshimarabbitrescue.org)
Próximamente: Análisis de dominio completo
Rastrea todo tu dominio, genera llms.txt y monitoriza tu puntuación de preparación para IA a lo largo del tiempo. Únete a la lista de espera para recibir notificaciones.
¡Estás en la lista! Te avisaremos cuando se lance.