social

sameAs de perfiles sociales

MetricSpot comprueba si tu JSON-LD de Organization tiene un array sameAs con URLs sociales. Es lo que alimenta el Knowledge Graph de Google y la resolución de entidades por agentes de IA.

Qué comprueba esta verificación

Busca un bloque JSON-LD de Organization (o Person, LocalBusiness, Corporation) en la página y verifica que contiene una propiedad sameAs cuyo valor sea un array no vacío de URLs. La comprobación es puramente estructural — no trae ninguna de las URLs. La verificación de que las URLs estén vivas la hace la regla compañera coincidencia de perfiles sameAs.

Para pasar se requiere:

  • Uno o más bloques application/ld+json que parseen como JSON válido.
  • Un objeto con @type igual a Organization (o un subtipo).
  • Un campo sameAs cuyo valor sea un array con al menos una URL en string.

Por qué importa

sameAs es la forma en datos estructurados de decir “la entidad descrita aquí es la misma entidad del mundo real que la de esta otra URL”. Schema.org lo define con precisión para ese propósito y tres grandes consumidores dependen de él:

  • El Knowledge Graph de Google. El enlace de entidades, los Knowledge Panels de marca, la atribución de favicon y de “About this result” usan sameAs como una de las señales primarias para resolver “qué marca es este sitio”. Sin él, Google tira de pistas más débiles (apariciones del nombre de marca, backlinks desde páginas de entidad conocidas) y a menudo no consigue mergear la entidad.
  • Wikidata. Cuando los editores crean o amplían una entrada de entidad, usan el sameAs de tu sitio como evidencia de apoyo para las referencias cruzadas. Un array sameAs limpio es la forma más aburrida y eficaz de alimentar Wikidata — que a su vez alimenta a decenas de bases de conocimiento downstream.
  • Motores de respuesta. Perplexity, ChatGPT search, los AI Overviews de Google y Bing Copilot pasan etapas de resolución de entidades al decidir si citar una fuente. Los sitios con un Organization + sameAs limpio resuelven con limpieza y se citan como marcas con nombre (“según Acme Corp”). Los que no, resuelven a “según acme.example”, o peor, sin atribución.

La versión on-page de la misma afirmación — iconos sociales visibles en el footer — la comprueba aparte enlaces a perfiles sociales. Lanza las dos; cubren consumidores distintos.

Cómo arreglarlo

1. Bloque completo Organization + sameAs. Suéltalo en el <head> de tu home, idealmente vía el layout compartido para que cada página lo lleve:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Acme Corp",
  "alternateName": "Acme",
  "url": "https://acme.example",
  "logo": "https://acme.example/logo.png",
  "description": "Acme builds developer tools for distributed systems.",
  "foundingDate": "2019-04-01",
  "sameAs": [
    "https://www.linkedin.com/company/acme-corp",
    "https://x.com/acmecorp",
    "https://www.youtube.com/@acmecorp",
    "https://github.com/acme",
    "https://www.crunchbase.com/organization/acme",
    "https://en.wikipedia.org/wiki/Acme_Corp",
    "https://www.wikidata.org/wiki/Q123456789"
  ]
}
</script>

Qué URLs incluir — por etapa de la empresa.

  • Toda marca: LinkedIn, X / Twitter, YouTube.
  • Startups: añade Crunchbase, GitHub (si publicas código), el LinkedIn del fundador bajo un schema Person separado en lugar del sameAs de Organization.
  • Empresas consolidadas: añade Glassdoor, las páginas de Bloomberg / Reuters si existen, Wikipedia si calificas.
  • Suficientemente notable para Wikipedia: incluye también la URL del Q-ID de Wikidata. Es la señal individual más fuerte — Wikidata es la fuente de verdad en la que Google más se apoya.

Salta las plataformas donde no tengas presencia o el perfil esté muerto. Una página de Facebook vacía hace más daño que bien. Ver coincidencia de perfiles sameAs para la receta de auditoría.

2. Next.js (App Router) — inyéctalo desde app/layout.tsx:

import Script from "next/script";

const organizationLd = {
  "@context": "https://schema.org",
  "@type": "Organization",
  name: "Acme Corp",
  url: "https://acme.example",
  logo: "https://acme.example/logo.png",
  sameAs: [
    "https://www.linkedin.com/company/acme-corp",
    "https://x.com/acmecorp",
    "https://github.com/acme",
    "https://www.youtube.com/@acmecorp",
  ],
};

export default function RootLayout({ children }) {
  return (
    <html>
      <head>
        <Script
          id="ld-org"
          type="application/ld+json"
          dangerouslySetInnerHTML={{ __html: JSON.stringify(organizationLd) }}
        />
      </head>
      <body>{children}</body>
    </html>
  );
}

3. Astro — emítelo desde BaseLayout.astro:

---
const organizationLd = {
  "@context": "https://schema.org",
  "@type": "Organization",
  name: "Acme Corp",
  url: "https://acme.example",
  logo: "https://acme.example/logo.png",
  sameAs: [
    "https://www.linkedin.com/company/acme-corp",
    "https://x.com/acmecorp",
    "https://github.com/acme",
  ],
};
---
<head>
  <script type="application/ld+json" set:html={JSON.stringify(organizationLd)} />
</head>

4. WordPress.

  • Yoast SEO: Settings → Site representation → ponlo en “Organization”, rellena los campos de perfil social en General → Site info → Other profiles. Yoast emite el JSON-LD completo de Organization con un sameAs poblado de forma automática.
  • Rank Math: Titles & Meta → Local SEO → rellena las URLs de perfil social. Misma emisión automática.

Los dos plugins también gestionan el nombre de la empresa, el logo y el contact point. No escribas un bloque competidor a mano — los Organization schemas duplicados confunden a Google.

5. Valida. Tras desplegar, haz dos pasadas:

  • Schema Markup Validator para sintaxis (caza JSON mal formado, tipos erróneos).
  • Google Rich Results Test para confirmar que Google puede traerlo y parsearlo. El informe de Logos en Search Console (bajo Mejoras) acaba mostrando si Google ha cogido la entidad — típicamente 1–4 semanas tras el deploy.

Ver también: sameAs de Organization para cobertura más profunda del schema Organization, coincidencia de perfiles sameAs para verificar que las URLs funcionan, datos estructurados JSON-LD para la introducción general a datos estructurados.

Preguntas frecuentes

¿Debería sameAs vivir en Organization o en WebSite?

En Organization (o Person, para marcas personales). El schema WebSite es para el sitio mismo — su sameAs se referiría a otros sitios que sean el mismo sitio, lo cual rara vez tiene sentido. La identidad de marca vive en Organization. Une los dos vía WebSite.publisher → Organization.

¿Puedo poner sameAs en cada página o solo en la home?

Las dos opciones funcionan. Ponerlo en cada página vía un layout compartido es la opción más segura — Google puede rastrear una página interna primero, y encontrar el bloque Organization ahí acelera la resolución de entidades. La pega son unos cientos de bytes de JSON-LD repetido por página, lo cual es despreciable.

¿Importa el orden de los ítems del array sameAs?

No. sameAs lo trata como un conjunto desordenado cada consumidor. Optimízalo por legibilidad al editar, no por SEO — no hay nada que optimizar.

Fuentes

Última actualización 2026-05-11