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

URL analysée

https://goniyo.com

Analyser une autre URL

Score AI-Ready

51 / D

Insuffisant

sur 100

Économie de tokens

Tokens HTML 198
Tokens Markdown 1
Économie 99%

Détail du score

HTML sémantique 45/100
Efficacité du contenu 70/100
Visibilité IA 55/100
Données structurées 0/100
Accessibilité 70/100

Protocoles émergents

0 sur 3 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 Discovery RFC 8414
    /.well-known/oauth-authorization-server
  • MCP Server Card Anthropic
    /.well-known/mcp.json
  • A2A Agent Card Google
    /.well-known/agent.json

Votre page n’utilise pas d’éléments <article> ou <main>. Ces conteneurs sémantiques aident les AI agents à identifier la zone de contenu principal et à ignorer la navigation, les barres latérales et les pieds de page.

Comment implémenter

Ajoutez un élément <main> autour du contenu principal de votre page, et utilisez <article> pour les blocs de contenu autonomes comme les billets de blog ou les descriptions de produits.

La structure de vos titres présente des problèmes (niveaux sautés ou plusieurs balises h1). Une hiérarchie propre aide les AI agents à comprendre l’organisation du contenu.

Comment implémenter

Assurez-vous d’avoir exactement un <h1> par page et que les titres suivent un ordre séquentiel : h1 > h2 > h3. Ne sautez pas de niveaux (par ex. de h1 directement à h3).

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.

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.

{\n res.setHeader('Vary', 'Accept');\n res.setHeader('Link', '; 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', '; 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":"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 :\n# "}] }'>

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.

{\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});"}] }'>

Aucune donnée structurée Schema.org trouvée. JSON-LD aide les AI agents à extraire des informations factuelles et structurées de vos pages.

Comment implémenter

Ajoutez un bloc <script type="application/ld+json"> avec du balisage Schema.org. Utilisez les types appropriés : Article pour les billets de blog, Product pour les produits, Organization pour la page de votre entreprise.

Balises Open Graph manquantes ou incomplètes. Les balises OG aident les AI agents (et les plateformes sociales) à comprendre le titre, la description et l’image de votre page.

Comment implémenter

Ajoutez les balises meta og:title, og:description et og:image dans le <head> de votre page.

post_content), 30);\n $image = get_the_post_thumbnail_url($post, 'large') ?: 'https://yoursite.com/og-image.jpg';\n $url = get_permalink($post);\n printf('' . \"\\n\", esc_attr($title));\n printf('' . \"\\n\", esc_attr($desc));\n printf('' . \"\\n\", esc_url($image));\n printf('' . \"\\n\", esc_url($url));\n echo '' . \"\\n\";\n}, 5);"},{"id":"nextjs","label":"Next.js","language":"typescript","filename":"app/page.tsx","code":"// Next.js App Router — Metadata API\nimport type { Metadata } from 'next';\n\nexport const metadata: Metadata = {\n title: \"Page Title\",\n description: \"Page description.\",\n openGraph: {\n title: \"Page Title\",\n description: \"Page description.\",\n url: \"https://goniyo.com\",\n images: [\"https://yoursite.com/og-image.jpg\"],\n type: 'website',\n },\n};"}] }'>

Aucune meta description trouvée. Cette balise fournit un résumé concis de la page pour les AI agents et les moteurs de recherche.

Comment implémenter

Ajoutez une balise <meta name="description" content="..."> avec une description de 150 à 160 caractères sur le contenu de la page.

Le contenu principal apparaît tardivement dans le document HTML. Les AI agents peuvent accorder plus d’importance au contenu qui apparaît tôt.

Comment implémenter

Restructurez votre HTML pour que le contenu <main> ou <article> apparaisse avant les barres latérales et le contenu supplémentaire.

Aucune URL canonique trouvée. Cela aide les AI agents à identifier la version préférée d’une page et à éviter le contenu dupliqué.

Comment implémenter

Ajoutez une balise <link rel="canonical" href="..."> pointant vers l’URL canonique de la page.

Tokens Markdown: 1

  

    

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
# goniyo.com

## Main
- [Home](https://goniyo.com)

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

Téléversez ce fichier vers https://goniyo.com/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
# llms.txt for goniyo.com


# Owner
Owner: Niyo
Website: https://goniyo.com


# Niyo
> Niyo is a fintech platform offering zero forex markup cards, international money transfers, currency exchange services and travel booking services designed for Indian travelers, students, and global professionals.


# Multilingual Content
MultilingualSupport: yes
LanguagesAvailable: en
PrimaryLanguage: en


## General Information
- [Home](https://goniyo.com): Travel Smart with Zero Forex Fees, Cards & Travel Services - Niyo
- [About Us](https://goniyo.com/about-us): Learn about simpler, smarter and safer banking created for our customers by simplifying finance with technology.
- [Media PR](https://goniyo.com/media-pr): Media & PR stories of how informed finance is being shaped by our zero-forex, travel, and banking solutions.
- [Investor Relations](https://goniyo.com/investor-relations): This page provides an overview of Investor insights, financial transparency, and growth stories to build trust and value for our shareholders.
- [Contact Us](https://goniyo.com/contact-us): A page for inquiries and customer support.
- [Careers](https://niyo.keka.com/careers): A page showing the career opportunities at Niyo.




## Core Products

### [Zero Forex Cards](https://goniyo.com/zero-forex-card): Niyo is a fintech platform offering zero forex markup cards, international money transfers, currency exchange, and travel booking services designed for Indian travelers, students, and global professionals. 

- Key Benefit: Zero forex markup on international spends
- Target Users: Travelers, Students, Business professionals
- Use Cases: International payments, ATM withdrawals, subscriptions
- Related Pages:
  - https://goniyo.com/blog/withdraw-cash-from-forex-card 
  - https://goniyo.com/blog/guide-to-withdrawing-forex-cash-abroad-atms-hidden-fees-and-safety-tips 

-  [Currency Exchange](https://goniyo.com/currency-exchange):This page explains how users can buy foreign currency with zero forex markup, helping them avoid extra charges on international transactions. It highlights key benefits, features, and the process involved, enabling cost-effective global spending. 

- Key Benefit: Competitive exchange rates with low conversion fees
- Target Users: International travelers, Students going abroad, Tourists
- Use Cases: Buying foreign currency, Selling unused forex, Travel preparation
- Related Pages:
  - https://goniyo.com/blog/lowest-currency-in-the-world
  - https://goniyo.com/blog/highest-currency-in-the-world  


- [Send Money Abroad](https://goniyo.com/send-money-abroad): This page provides information on sending money internationally from India to various countries with ease. It covers key features, transfer options, charges, and the process involved, helping users make secure and cost-effective global remittances. 

- Key Benefit: Fast international transfers with transparent fees and competitive exchange rates
- Target Users: Students, NRIs, Families, Business professionals
- Use Cases: Paying tuition fees, Sending money to family, International business payments
- Related Pages:
  - https://goniyo.com/blog/how-to-transfer-money-internationally-from-india 
  - https://goniyo.com/blog/tcs-refund-on-foreign-remittance-how-to-get-your-money-back  

## Students


- [Students](https://goniyo.com/student): Goniyo offers tailored financial solutions for students studying abroad, including zero forex markup cards, international money transfers, and currency exchange services. The platform is designed to simplify cross-border finances while ensuring compliance and cost efficiency.

- Key Benefit: Simplified and cost-effective financial management for students abroad
- Target Users: Indian students studying overseas, parents funding education abroad
- Use Cases: Paying tuition fees, managing living expenses, receiving funds from India, currency exchange for travel
- Related Pages:
  - https://goniyo.com/blog/cost-of-living-in-japan-for-indian-students 
  - https://goniyo.com/blog/cost-of-living-in-russia-for-indian-students  

## Travel


- [Travel](https://goniyo.com/travel): This page provides all the information and services you need while travelling abroad.
- [Flights](https://goniyo.com/travel#flights): Book international and domestic flights easily.
- [eSIM](https://goniyo.com/travel#esim): Stay connected abroad with global eSIM options.
- [Visa](https://goniyo.com/travel#visa): Get visa assistance and information for your destination.
- [Insurance](https://goniyo.com/travel#insurance): Travel insurance plans to keep you covered.
- [Experiences](https://goniyo.com/travel#activities): Discover local activities and experiences wherever you go.
- [Hotels](https://goniyo.com/travel#hotels): Find and book hotels around the world.


## Tools


- [Salary Calculator](https://goniyo.com/salary-calculator): With Niyo's Salary Calculator Estimate your in-hand salary after taxes and deductions.
- [EMI Calculator](https://goniyo.com/personal-loan-emi-calculator): Calculate your monthly EMI for personal loans based on interest rate and tenure.
- [Currency Converter](https://goniyo.com/travel#currency-converter): Convert foreign currencies in real-time to help plan your travel budget.


## Essential Blog Pages
- [Blog](https://goniyo.com/blog): Read the latest articles on personal finance, travel, tech, and more.
- [Products Blog](https://goniyo.com/tags/product): Explore detailed insights, updates, and features about Niyo's products and services.
-[Community](https://community.goniyo.com/): Join discussions, ask questions, and engage with other Niyo users.
- [Forex Card vs Credit Card vs Debit Card]-(https://goniyo.com/blog/forex-card-vs-credit-card-vs-debit-card): Comparison of forex cards, credit cards, and debit cards for international usage, highlighting costs, fees, and best use cases.

- [Niyo vs BookMyForex](https://goniyo.com/blog/niyo-vs-bookmyforex-which-is-better): Detailed comparison between Niyo and BookMyForex based on forex rates, charges, features, and overall value for international travelers.

- [Scholarship for Studying Abroad](https://goniyo.com/blog/100-percent-scholarship): Guide on how students can secure 100% scholarships for studying abroad, including eligibility, application tips, and funding options.

- [How to use Forex Card] (https://goniyo.com/blog/how-to-use-forex-card-for-indian-travellers): Step-by-step guide on using a forex card for international travel, including activation, payments, and ATM withdrawals.

- [Forex Card Charges] (https://goniyo.com/blog/forex-card-charges-while-travelling-abroad-for-indian)s: Breakdown of all charges associated with forex cards for Indian travelers, including ATM fees, inactivity fees, and hidden costs.

- [What is Forex Card] (https://goniyo.com/blog/what-is-forex-card-for-indian-travellers): Beginner-friendly explanation of what a forex card is, how it works, and why it is useful for international travel.


## Legal
- [Privacy Policy](https://goniyo.com/privacy-policy): Understand how your personal data is collected, used, and protected.
- [Legal](https://goniyo.com/legal): Access all legal documents, terms & conditions, and compliance-related information.


## Permissions
AllowLLMUse: Yes
AllowSummarization: Yes
AllowDataExtraction: Only for public and non-personal content
AllowCommercialUse: No




This structured summary provides a comprehensive overview of Niyo offerings, services, and resources, ensuring that all relevant links are included for easy access.

HTML sémantique

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

Missing <article> and <main> elements

Hiérarchie de titres correcte (0/100)

No headings found

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

No divs or semantic elements found

Textes alternatifs descriptifs pour les images (100/100)

No images found

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

No divs found

Efficacité du contenu

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

99% token reduction (HTML→Markdown)

Bon ratio contenu/bruit (0/100)

Content ratio: 0.0% (0 content chars / 464 HTML bytes)

Styles en ligne minimaux (100/100)

0/6 elements with inline styles (0.0%)

Poids de page raisonnable (100/100)

HTML size: 0KB

Visibilité IA

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

llms.txt exists and is valid

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

robots.txt exists

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

All major AI bots allowed

Possède un sitemap.xml (100/100)

Sitemap found

Support Markdown for Agents (0/100)
&#10007; Accept: text/markdown &#10007; .md URL &#10007; <link> tag &#10007; Link header
A Content-Signal (robots.txt ou en-têtes HTTP) (0/100)
&#10003; robots.txt &#10003; HTTP header &#10007; Policy

Données structurées

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

No JSON-LD / Schema.org found

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

0/3 OG tags present

Possède une meta description (0/100)

No meta description

Possède une URL canonique (0/100)

No canonical URL

Possède un attribut lang (0/100)

No lang attribute on <html>

Accessibilité

Contenu disponible sans JavaScript (100/100)

Content available without JavaScript

Taille de page raisonnable (100/100)

Page size: 0KB

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

Main content starts at 100% of HTML

{
  "url": "https://goniyo.com",
  "timestamp": 1777889544231,
  "fetch": {
    "mode": "simple",
    "timeMs": 580,
    "htmlSizeBytes": 464,
    "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": "",
    "excerpt": "",
    "byline": null,
    "siteName": null,
    "lang": null,
    "contentLength": 0,
    "metadata": {
      "description": null,
      "ogTitle": null,
      "ogDescription": null,
      "ogImage": null,
      "ogType": null,
      "canonical": null,
      "lang": null,
      "schemas": [],
      "robotsMeta": null,
      "author": null,
      "generator": null,
      "markdownAlternateHref": null
    }
  },
  "markdown": "\n",
  "fullPageMarkdown": "\n",
  "markdownStats": {
    "images": 0,
    "links": 0,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 0
  },
  "tokens": {
    "htmlTokens": 198,
    "markdownTokens": 1,
    "reduction": 197,
    "reductionPercent": 99
  },
  "score": {
    "score": 51,
    "grade": "D",
    "dimensions": {
      "semanticHtml": {
        "score": 45,
        "weight": 20,
        "grade": "D",
        "checks": {
          "uses_article_or_main": {
            "score": 0,
            "weight": 20,
            "details": "Missing <article> and <main> elements"
          },
          "proper_heading_hierarchy": {
            "score": 0,
            "weight": 25,
            "details": "No headings found"
          },
          "semantic_elements": {
            "score": 50,
            "weight": 20,
            "details": "No divs or semantic elements found"
          },
          "meaningful_alt_texts": {
            "score": 100,
            "weight": 15,
            "details": "No images found"
          },
          "low_div_nesting": {
            "score": 100,
            "weight": 20,
            "details": "No divs found"
          }
        }
      },
      "contentEfficiency": {
        "score": 70,
        "weight": 25,
        "grade": "C",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "details": "99% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 0,
            "weight": 30,
            "details": "Content ratio: 0.0% (0 content chars / 464 HTML bytes)"
          },
          "minimal_inline_styles": {
            "score": 100,
            "weight": 15,
            "details": "0/6 elements with inline styles (0.0%)"
          },
          "reasonable_page_weight": {
            "score": 100,
            "weight": 15,
            "details": "HTML size: 0KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 55,
        "weight": 25,
        "grade": "D",
        "checks": {
          "has_llms_txt": {
            "score": 100,
            "weight": 20,
            "details": "llms.txt exists and is valid"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "details": "robots.txt exists"
          },
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 15,
            "details": "All major AI bots allowed"
          },
          "has_sitemap": {
            "score": 100,
            "weight": 10,
            "details": "Sitemap found"
          },
          "supports_markdown_negotiation": {
            "score": 0,
            "weight": 25,
            "details": "No Markdown for Agents support detected"
          },
          "has_content_signals": {
            "score": 0,
            "weight": 20,
            "details": "No Content-Signal found (robots.txt or HTTP headers)"
          }
        }
      },
      "structuredData": {
        "score": 0,
        "weight": 15,
        "grade": "F",
        "checks": {
          "has_schema_org": {
            "score": 0,
            "weight": 30,
            "details": "No JSON-LD / Schema.org found"
          },
          "has_open_graph": {
            "score": 0,
            "weight": 25,
            "details": "0/3 OG tags present"
          },
          "has_meta_description": {
            "score": 0,
            "weight": 20,
            "details": "No meta description"
          },
          "has_canonical_url": {
            "score": 0,
            "weight": 15,
            "details": "No canonical URL"
          },
          "has_lang_attribute": {
            "score": 0,
            "weight": 10,
            "details": "No lang attribute on <html>"
          }
        }
      },
      "accessibility": {
        "score": 70,
        "weight": 15,
        "grade": "C",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 40,
            "details": "Content available without JavaScript"
          },
          "reasonable_page_size": {
            "score": 100,
            "weight": 30,
            "details": "Page size: 0KB"
          },
          "fast_content_position": {
            "score": 0,
            "weight": 30,
            "details": "Main content starts at 100% of HTML"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "id": "add_article_main",
      "priority": "critical",
      "category": "semanticHtml",
      "titleKey": "rec.add_article_main.title",
      "descriptionKey": "rec.add_article_main.description",
      "howToKey": "rec.add_article_main.howto",
      "effort": "quick-win",
      "estimatedImpact": 8,
      "checkScore": 0,
      "checkDetails": "Missing <article> and <main> elements"
    },
    {
      "id": "fix_heading_hierarchy",
      "priority": "critical",
      "category": "semanticHtml",
      "titleKey": "rec.fix_heading_hierarchy.title",
      "descriptionKey": "rec.fix_heading_hierarchy.description",
      "howToKey": "rec.fix_heading_hierarchy.howto",
      "effort": "quick-win",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No headings found"
    },
    {
      "id": "improve_content_ratio",
      "priority": "critical",
      "category": "contentEfficiency",
      "titleKey": "rec.improve_content_ratio.title",
      "descriptionKey": "rec.improve_content_ratio.description",
      "howToKey": "rec.improve_content_ratio.howto",
      "effort": "moderate",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "Content ratio: 0.0% (0 content chars / 464 HTML bytes)"
    },
    {
      "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": 6,
      "checkScore": 0,
      "checkDetails": "No Markdown for Agents support detected"
    },
    {
      "id": "add_content_signals",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_content_signals.title",
      "descriptionKey": "rec.add_content_signals.description",
      "howToKey": "rec.add_content_signals.howto",
      "effort": "quick-win",
      "estimatedImpact": 5,
      "checkScore": 0,
      "checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
    },
    {
      "id": "add_schema_org",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_schema_org.title",
      "descriptionKey": "rec.add_schema_org.description",
      "howToKey": "rec.add_schema_org.howto",
      "effort": "moderate",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No JSON-LD / Schema.org found"
    },
    {
      "id": "add_open_graph",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_open_graph.title",
      "descriptionKey": "rec.add_open_graph.description",
      "howToKey": "rec.add_open_graph.howto",
      "effort": "quick-win",
      "estimatedImpact": 4,
      "checkScore": 0,
      "checkDetails": "0/3 OG tags present"
    },
    {
      "id": "add_meta_description",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_meta_description.title",
      "descriptionKey": "rec.add_meta_description.description",
      "howToKey": "rec.add_meta_description.howto",
      "effort": "quick-win",
      "estimatedImpact": 4,
      "checkScore": 0,
      "checkDetails": "No meta description"
    },
    {
      "id": "move_content_earlier",
      "priority": "high",
      "category": "accessibility",
      "titleKey": "rec.move_content_earlier.title",
      "descriptionKey": "rec.move_content_earlier.description",
      "howToKey": "rec.move_content_earlier.howto",
      "effort": "moderate",
      "estimatedImpact": 4,
      "checkScore": 0,
      "checkDetails": "Main content starts at 100% of HTML"
    },
    {
      "id": "add_canonical_url",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_canonical_url.title",
      "descriptionKey": "rec.add_canonical_url.description",
      "howToKey": "rec.add_canonical_url.howto",
      "effort": "quick-win",
      "estimatedImpact": 3,
      "checkScore": 0,
      "checkDetails": "No canonical URL"
    }
  ],
  "llmsTxtPreview": "# goniyo.com\n\n## Main\n- [Home](https://goniyo.com)\n\n",
  "llmsTxtExisting": "# llms.txt for goniyo.com\n\n\n# Owner\nOwner: Niyo\nWebsite: https://goniyo.com\n\n\n# Niyo\n> Niyo is a fintech platform offering zero forex markup cards, international money transfers, currency exchange services and travel booking services designed for Indian travelers, students, and global professionals.\n\n\n# Multilingual Content\nMultilingualSupport: yes\nLanguagesAvailable: en\nPrimaryLanguage: en\n\n\n## General Information\n- [Home](https://goniyo.com): Travel Smart with Zero Forex Fees, Cards & Travel Services - Niyo\n- [About Us](https://goniyo.com/about-us): Learn about simpler, smarter and safer banking created for our customers by simplifying finance with technology.\n- [Media PR](https://goniyo.com/media-pr): Media & PR stories of how informed finance is being shaped by our zero-forex, travel, and banking solutions.\n- [Investor Relations](https://goniyo.com/investor-relations): This page provides an overview of Investor insights, financial transparency, and growth stories to build trust and value for our shareholders.\n- [Contact Us](https://goniyo.com/contact-us): A page for inquiries and customer support.\n- [Careers](https://niyo.keka.com/careers): A page showing the career opportunities at Niyo.\n\n\n\n\n## Core Products\n\n### [Zero Forex Cards](https://goniyo.com/zero-forex-card): Niyo is a fintech platform offering zero forex markup cards, international money transfers, currency exchange, and travel booking services designed for Indian travelers, students, and global professionals. \n\n- Key Benefit: Zero forex markup on international spends\n- Target Users: Travelers, Students, Business professionals\n- Use Cases: International payments, ATM withdrawals, subscriptions\n- Related Pages:\n  - https://goniyo.com/blog/withdraw-cash-from-forex-card \n  - https://goniyo.com/blog/guide-to-withdrawing-forex-cash-abroad-atms-hidden-fees-and-safety-tips \n\n-  [Currency Exchange](https://goniyo.com/currency-exchange):This page explains how users can buy foreign currency with zero forex markup, helping them avoid extra charges on international transactions. It highlights key benefits, features, and the process involved, enabling cost-effective global spending. \n\n- Key Benefit: Competitive exchange rates with low conversion fees\n- Target Users: International travelers, Students going abroad, Tourists\n- Use Cases: Buying foreign currency, Selling unused forex, Travel preparation\n- Related Pages:\n  - https://goniyo.com/blog/lowest-currency-in-the-world\n  - https://goniyo.com/blog/highest-currency-in-the-world  \n\n\n- [Send Money Abroad](https://goniyo.com/send-money-abroad): This page provides information on sending money internationally from India to various countries with ease. It covers key features, transfer options, charges, and the process involved, helping users make secure and cost-effective global remittances. \n\n- Key Benefit: Fast international transfers with transparent fees and competitive exchange rates\n- Target Users: Students, NRIs, Families, Business professionals\n- Use Cases: Paying tuition fees, Sending money to family, International business payments\n- Related Pages:\n  - https://goniyo.com/blog/how-to-transfer-money-internationally-from-india \n  - https://goniyo.com/blog/tcs-refund-on-foreign-remittance-how-to-get-your-money-back  \n\n## Students\n\n\n- [Students](https://goniyo.com/student): Goniyo offers tailored financial solutions for students studying abroad, including zero forex markup cards, international money transfers, and currency exchange services. The platform is designed to simplify cross-border finances while ensuring compliance and cost efficiency.\n\n- Key Benefit: Simplified and cost-effective financial management for students abroad\n- Target Users: Indian students studying overseas, parents funding education abroad\n- Use Cases: Paying tuition fees, managing living expenses, receiving funds from India, currency exchange for travel\n- Related Pages:\n  - https://goniyo.com/blog/cost-of-living-in-japan-for-indian-students \n  - https://goniyo.com/blog/cost-of-living-in-russia-for-indian-students  \n\n## Travel\n\n\n- [Travel](https://goniyo.com/travel): This page provides all the information and services you need while travelling abroad.\n- [Flights](https://goniyo.com/travel#flights): Book international and domestic flights easily.\n- [eSIM](https://goniyo.com/travel#esim): Stay connected abroad with global eSIM options.\n- [Visa](https://goniyo.com/travel#visa): Get visa assistance and information for your destination.\n- [Insurance](https://goniyo.com/travel#insurance): Travel insurance plans to keep you covered.\n- [Experiences](https://goniyo.com/travel#activities): Discover local activities and experiences wherever you go.\n- [Hotels](https://goniyo.com/travel#hotels): Find and book hotels around the world.\n\n\n## Tools\n\n\n- [Salary Calculator](https://goniyo.com/salary-calculator): With Niyo's Salary Calculator Estimate your in-hand salary after taxes and deductions.\n- [EMI Calculator](https://goniyo.com/personal-loan-emi-calculator): Calculate your monthly EMI for personal loans based on interest rate and tenure.\n- [Currency Converter](https://goniyo.com/travel#currency-converter): Convert foreign currencies in real-time to help plan your travel budget.\n\n\n## Essential Blog Pages\n- [Blog](https://goniyo.com/blog): Read the latest articles on personal finance, travel, tech, and more.\n- [Products Blog](https://goniyo.com/tags/product): Explore detailed insights, updates, and features about Niyo's products and services.\n-[Community](https://community.goniyo.com/): Join discussions, ask questions, and engage with other Niyo users.\n- [Forex Card vs Credit Card vs Debit Card]-(https://goniyo.com/blog/forex-card-vs-credit-card-vs-debit-card): Comparison of forex cards, credit cards, and debit cards for international usage, highlighting costs, fees, and best use cases.\n\n- [Niyo vs BookMyForex](https://goniyo.com/blog/niyo-vs-bookmyforex-which-is-better): Detailed comparison between Niyo and BookMyForex based on forex rates, charges, features, and overall value for international travelers.\n\n- [Scholarship for Studying Abroad](https://goniyo.com/blog/100-percent-scholarship): Guide on how students can secure 100% scholarships for studying abroad, including eligibility, application tips, and funding options.\n\n- [How to use Forex Card] (https://goniyo.com/blog/how-to-use-forex-card-for-indian-travellers): Step-by-step guide on using a forex card for international travel, including activation, payments, and ATM withdrawals.\n\n- [Forex Card Charges] (https://goniyo.com/blog/forex-card-charges-while-travelling-abroad-for-indian)s: Breakdown of all charges associated with forex cards for Indian travelers, including ATM fees, inactivity fees, and hidden costs.\n\n- [What is Forex Card] (https://goniyo.com/blog/what-is-forex-card-for-indian-travellers): Beginner-friendly explanation of what a forex card is, how it works, and why it is useful for international travel.\n\n\n## Legal\n- [Privacy Policy](https://goniyo.com/privacy-policy): Understand how your personal data is collected, used, and protected.\n- [Legal](https://goniyo.com/legal): Access all legal documents, terms & conditions, and compliance-related information.\n\n\n## Permissions\nAllowLLMUse: Yes\nAllowSummarization: Yes\nAllowDataExtraction: Only for public and non-personal content\nAllowCommercialUse: No\n\n\n\n\nThis structured summary provides a comprehensive overview of Niyo offerings, services, and resources, ensuring that all relevant links are included for easy access.",
  "emergingProtocols": {
    "oauthDiscovery": {
      "exists": false,
      "url": "https://goniyo.com/.well-known/oauth-authorization-server"
    },
    "mcpServerCard": {
      "exists": false,
      "url": "https://goniyo.com/.well-known/mcp.json"
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://goniyo.com/.well-known/agent.json"
    },
    "count": 0
  },
  "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>Your Page Title</h1>",
      "filename": "<main> or <article>"
    },
    {
      "id": "add_open_graph",
      "title": "Add missing Open Graph tags",
      "description": "Open Graph tags control how your page looks when shared on social media and how AI platforms preview your URL in answers.",
      "language": "html",
      "code": "<meta property=\"og:title\" content=\"Page Title\">\n<meta property=\"og:description\" content=\"Page description.\">\n<meta property=\"og:image\" content=\"https://yoursite.com/og-image.jpg\">\n<meta property=\"og:url\" content=\"https://goniyo.com\">\n<meta property=\"og:type\" content=\"website\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<meta property=\"og:title\" content=\"Page Title\">\n<meta property=\"og:description\" content=\"Page description.\">\n<meta property=\"og:image\" content=\"https://yoursite.com/og-image.jpg\">\n<meta property=\"og:url\" content=\"https://goniyo.com\">\n<meta property=\"og:type\" content=\"website\">"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Quick Open Graph tags without a plugin (skip if Yoast / Rank Math is active)\nadd_action('wp_head', function () {\n    if (!is_singular()) return;\n    $post = get_queried_object();\n    $title = get_the_title($post);\n    $desc  = get_the_excerpt($post) ?: wp_trim_words(strip_tags($post->post_content), 30);\n    $image = get_the_post_thumbnail_url($post, 'large') ?: 'https://yoursite.com/og-image.jpg';\n    $url   = get_permalink($post);\n    printf('<meta property=\"og:title\" content=\"%s\">' . \"\\n\", esc_attr($title));\n    printf('<meta property=\"og:description\" content=\"%s\">' . \"\\n\", esc_attr($desc));\n    printf('<meta property=\"og:image\" content=\"%s\">' . \"\\n\", esc_url($image));\n    printf('<meta property=\"og:url\" content=\"%s\">' . \"\\n\", esc_url($url));\n    echo '<meta property=\"og:type\" content=\"article\">' . \"\\n\";\n}, 5);"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page.tsx",
          "code": "// Next.js App Router — Metadata API\nimport type { Metadata } from 'next';\n\nexport const metadata: Metadata = {\n  title: \"Page Title\",\n  description: \"Page description.\",\n  openGraph: {\n    title: \"Page Title\",\n    description: \"Page description.\",\n    url: \"https://goniyo.com\",\n    images: [\"https://yoursite.com/og-image.jpg\"],\n    type: 'website',\n  },\n};"
        }
      ]
    },
    {
      "id": "add_meta_description",
      "title": "Add meta description",
      "description": "A good meta description (50-160 characters) helps AI agents understand your page quickly.",
      "language": "html",
      "code": "<meta name=\"description\" content=\"A brief description of this page.\">",
      "filename": "<head>"
    },
    {
      "id": "add_canonical_url",
      "title": "Add canonical URL",
      "description": "The canonical URL tells AI agents which version of the page is the \"official\" one, avoiding duplicate content issues.",
      "language": "html",
      "code": "<link rel=\"canonical\" href=\"https://goniyo.com\">",
      "filename": "<head>"
    },
    {
      "id": "add_schema_org",
      "title": "Add Schema.org JSON-LD",
      "description": "Structured data helps AI agents understand the type, author, and purpose of your content.",
      "language": "html",
      "code": "<script type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"WebPage\",\n  \"name\": \"Page Title\",\n  \"description\": \"Page description.\",\n  \"url\": \"https://goniyo.com\",\n  \"inLanguage\": \"en\"\n}\n</script>",
      "filename": "<head>"
    },
    {
      "id": "add_article_main",
      "title": "Wrap content in <main> and <article>",
      "description": "Semantic HTML landmarks help AI agents identify the main content of your page.",
      "language": "html",
      "code": "<main>\n  <article>\n    <h1>Your Page Title</h1>\n    <p>Your content here...</p>\n  </article>\n</main>",
      "filename": "<body>"
    },
    {
      "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

Twitter LinkedIn

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 goniyo.com
Script Recommandé
<script src="https://agentready.md/badge.js" data-id="d0dd4cd6-a8e1-4a90-b125-3afcda6862f1" data-domain="goniyo.com"></script>
Markdown
[![AgentReady.md score for goniyo.com](https://agentready.md/badge/goniyo.com.svg)](https://agentready.md/fr/r/d0dd4cd6-a8e1-4a90-b125-3afcda6862f1)

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.