ai

Schema del tipus de contingut

MetricSpot comprova que hi hagi un `@type` JSON-LD que coincideixi amb el que la pàgina és realment: Article, Product, HowTo, FAQPage, etc. Sense això, els agents d'IA han d'endevinar.

Què comprova aquesta auditoria

Analitza cada bloc <script type="application/ld+json"> de la pàgina i verifica que almenys un declari un @type que coincideixi amb el propòsit real de la pàgina. Una entrada de blog ha de declarar Article (o BlogPosting / NewsArticle); una pàgina de producte Product; una guia pas a pas HowTo; una pàgina de preguntes freqüents FAQPage. Una pàgina que només emet schema WebPage o WebSite falla: aquests tipus són massa genèrics per dir res útil als agents.

Per què importa

JSON-LD és la bastida que els agents d’IA i els motors de cerca utilitzen per entendre una pàgina sense analitzar-ne la prosa. Quan @type és específic, ChatGPT, Perplexity i les AI Overviews de Google saben quins camps extreure (headline, author, datePublished per a un Article; price, availability, aggregateRating per a un Product) i com citar la pàgina a les respostes.

Quan @type falta o és genèric, l’agent recorre a heurístiques sobre el text del cos, més lent, menys exacte i molt més probable que saltin la teva pàgina a favor d’una de la competència millor marcada. La mateixa lògica s’aplica als rich results de Google: només els tipus específics desbloquegen les funcions del SERP (estrelles de valoració, targetes de receptes, acordions FAQ) que augmenten el click-through.

Com solucionar-ho

Tria l’@type que millor s’ajusti a la pàgina i emet un bloc JSON-LD complet al <head>.

Article / BlogPosting / NewsArticle, per a contingut editorial. Utilitza NewsArticle per a notícies amb marca de temps; BlogPosting per a entrades de blog; Article pla és el per defecte segur.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "Com activar HSTS a nginx",
  "datePublished": "2026-05-11",
  "dateModified": "2026-05-11",
  "author": {
    "@type": "Person",
    "name": "Jane Doe",
    "url": "https://example.com/authors/jane-doe"
  },
  "image": "https://example.com/og/hsts.png",
  "mainEntityOfPage": "https://example.com/blog/hsts"
}
</script>

HowTo, per a guies pas a pas (receptes, instruccions de reparació, tutorials de configuració). Camps obligatoris: name, step.

{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "Activa HSTS a nginx",
  "step": [
    { "@type": "HowToStep", "name": "Afegeix la capçalera", "text": "Afegeix `add_header Strict-Transport-Security ...` al teu server block." },
    { "@type": "HowToStep", "name": "Recarrega nginx", "text": "Executa `nginx -t && systemctl reload nginx`." }
  ]
}

FAQPage, només quan la pàgina sigui genuïnament un Q&A. Consulta schema FAQ per al patró complet.

Product, per a pàgines de productes individuals. Inclou offers, aggregateRating, review quan els tinguis.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "MetricSpot Premium",
  "description": "Auditories il·limitades, monitoratge programat, informes PDF.",
  "brand": { "@type": "Brand", "name": "MetricSpot" },
  "offers": {
    "@type": "Offer",
    "price": "29.00",
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock"
  }
}

Next.js, injecta via el <Script> de l’App Router o un helper de metadades:

import Script from "next/script";

export default function Post() {
  const schema = {
    "@context": "https://schema.org",
    "@type": "BlogPosting",
    headline: "Com activar HSTS a nginx",
    datePublished: "2026-05-11",
    author: { "@type": "Person", name: "Jane Doe" }
  };
  return (
    <Script id="ld" type="application/ld+json">
      {JSON.stringify(schema)}
    </Script>
  );
}

Astro, defineix el JSON-LD al <head> del teu layout:

---
const schema = { "@context": "https://schema.org", "@type": "BlogPosting", /* … */ };
---
<script type="application/ld+json" set:html={JSON.stringify(schema)} />

WordPress, Yoast SEO, Rank Math i SEOPress emeten automàticament schema Article per a les entrades. Revisa el font renderitzat per confirmar que el @type és Article / BlogPosting, no només WebPage. Per a pàgines de producte, WooCommerce emet schema Product per defecte.

Després d’enviar, valida amb el Test de Rich Results de Google i el Schema Markup Validator. Consulta també: dades estructurades JSON-LD, schema Organization.

Preguntes freqüents

Pot una pàgina tenir diversos blocs @type?

Sí, és comú i recomanat. Una entrada de blog normalment envia Article + BreadcrumbList + Organization. Cadascun va al seu propi bloc <script type="application/ld+json">, o combina’ls en una sola matriu @graph. No entris en conflicte (no declaris la pàgina alhora com a Article i Product).

He d’utilitzar Article o BlogPosting?

BlogPosting és una subclasse d’Article, lleugerament més específica, sense desavantatges. Utilitza BlogPosting per a contingut de blog, NewsArticle per a notícies amb data, Article per a editorials evergreen o guies tècniques. Google els tracta equivalentment per a rich results.

Què passa si la meva pàgina no encaixa en cap tipus de schema?

Les landing pages genèriques poden quedar-se en WebPage, aquesta comprovació ho marcarà com a avís suau més que com a fallada dura. Però la majoria de casos de “no encaixa” sí que encaixen en alguna cosa: una pàgina de preus és un Product o Service, una pàgina sobre nosaltres és AboutPage, una pàgina de contacte és ContactPage. Navega per la llista completa de tipus de schema.org abans de caure per defecte a WebPage.

Fonts

Última actualització 2026-05-11