Saltar al contenido principal
All Guides

Structured Data

Weight: 13% of your AX score. This check verifies that your homepage includes valid JSON-LD structured data with schema.org vocabulary — the primary way AI agents understand your site's entities and relationships.

No JSON-LD found

Your homepage has no <script type="application/ld+json"> blocks. JSON-LD is the preferred format for structured data because it's embedded in HTML but completely separate from the visual content — making it easy for AI agents to parse.

Add a JSON-LD block to your <head>:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "WebSite",
      "name": "Your Site Name",
      "url": "https://your-site.com"
    },
    {
      "@type": "Organization",
      "name": "Your Company",
      "url": "https://your-site.com",
      "logo": "https://your-site.com/logo.png"
    }
  ]
}
</script>

Invalid JSON in block

One of your JSON-LD blocks contains invalid JSON syntax. Common issues include:

  • Trailing commas after the last property
  • Single quotes instead of double quotes
  • Unescaped special characters in strings
  • Missing commas between properties

Validate your JSON-LD at validator.schema.org or use a JSON linter in your IDE.


All blocks invalid

Every JSON-LD block on your page has invalid JSON. This means AI agents can't extract any structured data from your site. Fix the JSON syntax errors using the guidance in the section above.


Missing @context

Your JSON-LD doesn't include @context referencing schema.org. Without it, AI agents can't interpret the vocabulary of your structured data.

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Your Company"
}

The context can be a string ("https://schema.org") or an object with @vocab. Both http and https are accepted, with or without a trailing slash.


No @graph array

Your JSON-LD uses single-entity format. While valid, using an @graph array allows you to define multiple related entities in a single block — giving AI agents a richer understanding of your site.

{
  "@context": "https://schema.org",
  "@graph": [
    { "@type": "WebSite", "name": "...", "url": "..." },
    { "@type": "Person", "name": "...", "jobTitle": "..." },
    { "@type": "WebPage", "name": "...", "url": "..." }
  ]
}

Few key entity types

ax-audit checks for 5 key entity types: Person, Organization, WebSite, WebPage, and ProfilePage. Your site has only 1 of these. Adding more types gives AI agents a more complete picture.

For a personal portfolio, a good combination is:

  • Person — your identity, job title, social links
  • WebSite — site name, URL, search action
  • WebPage or ProfilePage — the current page

For a company site, use Organization instead of Person.


No key entity types

Your JSON-LD has no recognized @type values. Every entity in your structured data should have a type from the schema.org vocabulary. See the section above for recommended types.


No BreadcrumbList

Adding a BreadcrumbList entity helps AI agents understand your site's navigation hierarchy — which pages are parents of which.

{
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://your-site.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Blog",
      "item": "https://your-site.com/blog"
    }
  ]
}