SEO Técnico · Schema.org

JSON-LD para Negocios en Bizkaia: Qué Es, Por Qué lo Necesitas y Código Real

Tu web puede verse perfecta y seguir siendo invisible para Google. La diferencia entre un negocio local que aparece en Google Maps, en "cerca de mí" y en respuestas de IA, y otro que no, suele estar en unos pocos bloques de código que no se ven: los datos estructurados en formato JSON-LD. En esta guía te explico qué son, por qué son críticos para negocios en Bilbao, Barakaldo, Getxo o Sestao, y te dejo código real listo para copiar y adaptar.

¿Qué es JSON-LD y por qué no es opcional?

JSON-LD (JavaScript Object Notation for Linked Data) es el formato recomendado por Google para implementar Schema.org. Es decir, es la forma de decirle a Google, Bing y ChatGPT quién eres, dónde estás, qué vendes y cómo contactarte, sin depender de que lean el texto de tu web como un humano.

"Tengo una web hecha con Wix/WordPress y no sé si tiene schema."

La mayoría de plantillas generan schema genérico, incompleto o duplicado. Peor aún: si tienes 27 páginas de ubicación (una por municipio) y todas comparten el mismo schema, Google te penaliza por páginas puerta. Cada página necesita schema único.

Para un negocio local en Bizkaia, JSON-LD es el mecanismo que permite:

4 tipos de schema que necesita un negocio local

TipoDónde vaQué consigues
LocalBusinessHomepage + contactoFicha Google, horarios, teléfono, geo
Service / ProductPáginas de servicioResultados enriquecidos por servicio
FAQPageHomepage / FAQ / postsAcordeón en Google "People Also Ask"
BreadcrumbListTodas las páginas internasMigas de pan en el snippet

Código #1: LocalBusiness para tu ficha

Este es el schema base. Va en el <head> de tu homepage (o justo antes de cerrar el <body>). Cambia los valores por los de tu negocio real.

Copia esto dentro de <script type="application/ld+json"> ... </script>

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "@id": "https://tunegocio.es/#business",
  "name": "Tu Negocio - Servicio en Bizkaia",
  "description": "Descripción corta de lo que haces, con palabras clave naturales.",
  "url": "https://tunegocio.es/",
  "telephone": "+34612545904",
  "email": "hola@tunegocio.es",
  "priceRange": "€€",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Calle Ejemplo, 12",
    "addressLocality": "Bilbao",
    "addressRegion": "Bizkaia",
    "postalCode": "48001",
    "addressCountry": "ES"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "43.263012",
    "longitude": "-2.934985"
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
      "opens": "09:00",
      "closes": "20:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": "Saturday",
      "opens": "10:00",
      "closes": "14:00"
    }
  ],
  "image": "https://tunegocio.es/images/og-image.jpg",
  "sameAs": [
    "https://www.instagram.com/tunegocio",
    "https://www.facebook.com/tunegocio"
  ],
  "areaServed": [
    { "@type": "City", "name": "Bilbao" },
    { "@type": "City", "name": "Barakaldo" },
    { "@type": "City", "name": "Getxo" },
    { "@type": "City", "name": "Sestao" },
    { "@type": "AdministrativeArea", "name": "Bizkaia" }
  ]
}

💡 Clave para negocios de servicio (plumber, cleaner, web designer)

Si vas a la dirección del cliente en vez de que vengan a ti, usa "@type": "ServiceAreaBusiness" en vez de LocalBusiness, y oculta la dirección física. Esto es 100% válido para Google si realmente prestas servicio a domicilio.

Código #2: Service para cada servicio que ofreces

Si tienes una página para "diseño web en Barakaldo" o "fontanero en Getxo", ese tipo de página debe usar Service (o un subtipo como Plumber, Electrician, WebDesign si existe). Aquí tienes un ejemplo genérico que sirve para cualquier negocio de servicios en Bizkaia.

{
  "@context": "https://schema.org",
  "@type": "Service",
  "serviceType": "Diseño web profesional para negocios locales",
  "provider": {
    "@type": "LocalBusiness",
    "@id": "https://tunegocio.es/#business"
  },
  "areaServed": {
    "@type": "City",
    "name": "Barakaldo",
    "containedInPlace": { "@type": "AdministrativeArea", "name": "Bizkaia" }
  },
  "description": "Diseño web rápido, sin WordPress, con SEO local para negocios en Barakaldo.",
  "offers": {
    "@type": "Offer",
    "price": "400",
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock"
  }
}
Regla anti-doorway:

Si tienes 27 páginas para 27 municipios, cada una debe tener coordenadas geo únicas, una descripción que mencione barrios reales y un areaServed.name diferente. Dos páginas idénticas excepto por el nombre del pueblo = penalización.

Código #3: FAQPage para People Also Ask

El schema FAQPage es una de las formas más rápidas de ganar espacio en la página de resultados. Google puede mostrar un acordeón directamente debajo de tu enlace.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "¿Cuánto cuesta una web para un negocio local en Bizkaia?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Una web profesional para negocio local en Bizkaia suele costar entre 400€ y 1.200€ según el número de páginas, fotos y funciones que necesites. Evita cuotas mensuales si no las necesitas."
      }
    },
    {
      "@type": "Question",
      "name": "¿Apareceré en Google Maps si tengo web?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Tener web no garantiza aparecer en Google Maps. Necesitas una ficha de Google Business optimizada, datos estructurados LocalBusiness con geo-coordinates, y citas locales consistentes."
      }
    },
    {
      "@type": "Question",
      "name": "¿Por qué no usáis WordPress?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "WordPress añade plugins, actualizaciones y lentitud innecesaria para un negocio local. Una web en HTML/CSS/JS puro carga en menos de 1 segundo, no se rompe y es más fácil de posicionar."
      }
    }
  ]
}

Las migas de pan ayudan a Google a entender la estructura de tu web y pueden aparecer directamente en el snippet de resultados.

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Inicio",
      "item": "https://tunegocio.es/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Servicios",
      "item": "https://tunegocio.es/servicios/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Diseño web en Barakaldo",
      "item": "https://tunegocio.es/diseno-web-barakaldo/"
    }
  ]
}

Errores comunes que destruyen tu schema

Cómo validar que funciona

  1. Abre tu web en Chrome → Click derecho → "Ver código fuente de la página".
  2. Busca application/ld+json. Debes ver al menos un bloque.
  3. Copia la URL y pégala en la Rich Results Test de Google (busca "Google Rich Results Test").
  4. Revisa que no haya errores críticos ni advertencias de campos obligatorios vacíos.

¿No quieres pelearte con el código?

Diseño webs para negocios locales en Bizkaia con todo el schema implementado: LocalBusiness, Service, FAQPage, BreadcrumbList y geo-coordinates por cada página de ciudad. Sin WordPress. Sin cuotas.

💬 Web con schema completo

Conclusión

JSON-LD no es un extra técnico para geeks. Es el idioma que tu web necesita para que Google, Bing y la IA entiendan que eres un negocio local de verdad en Bizkaia. Sin él, eres texto plano. Con él, eres un negocio con nombre, ubicación, servicios, horarios y respuestas estructuradas.

La buena noticia: una vez implementado correctamente, no necesita mantenimiento salvo que cambien horarios o servicios. Y la competencia aún no se ha dado cuenta de lo que esto vale.

💬 Implementar JSON-LD en mi web

Y
Youssef Oulmakhzoune Hemmid
Especialista en web para negocios locales en Bizkaia
websbizkaia.es