Schema LocalBusiness: ejemplo JSON-LD para tu negocio
LocalBusiness sirve para describir un negocio local con datos estructurados. Empieza por los datos reales de un establecimiento: nombre, dirección, URL, teléfono y horarios. Elige un subtipo cuando represente mejor tu actividad y mantén esa información sincronizada con la página visible.
Esta guía te ayuda a preparar el marcado de un local. Si buscas una introducción a todos los tipos, lee qué es el schema markup para IA. Si ya tienes un bloque que falla, ve a los errores de validación.
Antes del código: reúne una ficha del establecimiento
| Dato | Dónde comprobarlo | Decisión que debes tomar |
|---|---|---|
| Nombre público | Rótulo y web del negocio | Usar el nombre real, sin añadir una lista de palabras clave |
| Dirección | Página de contacto | Identificar el local concreto, no mezclar sucursales |
| Teléfono | Número que atiende al cliente | Incluir prefijo de país |
| Horario | Equipo responsable de abrir | Separar horario habitual y excepciones |
| URL | Página propia del establecimiento | Utilizar la dirección pública definitiva |
| Actividad | Servicios que realmente prestas | Elegir un tipo compatible con el negocio |
Asigna una persona responsable de la ficha. Si nadie revisa los horarios al cambiarlos, el código puede seguir siendo válido y dar información incorrecta.
LocalBusiness o un subtipo: qué elegir
LocalBusiness es el tipo general. Schema.org incluye subtipos como Restaurant, Dentist, Hotel o RealEstateAgent. Usa el más específico que describa tu actividad, sin añadir especialidades que no ofreces.
Para un restaurante, Restaurant permite describir también cocina y menú. Una página de blog sobre restaurantes sigue siendo un artículo: el tema del texto no convierte al editor en un restaurante.
Ejemplo JSON-LD de un negocio local
Todos los datos siguientes son ficticios. El ejemplo muestra cómo organizar una ficha, no acredita una empresa ni sustituye la revisión de requisitos de una función de Google. Cambia los datos antes de usarlo y elimina las propiedades que no puedas mantener.
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"@id": "https://example.com/local-madrid/#negocio",
"name": "Taller de ejemplo",
"url": "https://example.com/local-madrid/",
"telephone": "+34 910 000 000",
"address": {
"@type": "PostalAddress",
"streetAddress": "Calle de Ejemplo, 10",
"addressLocality": "Madrid",
"postalCode": "28001",
"addressCountry": "ES"
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
}
]
}
@id aporta un identificador estable para referirte a esa entidad. No es una segunda página que debas crear: el fragmento identifica el negocio dentro de su URL. Evita cambiarlo cada vez que ajustes un horario.
PostalAddress agrupa los campos de dirección. OpeningHoursSpecification describe periodos de apertura. Si tienes horario partido, prepara intervalos separados; no copies el horario continuo del ejemplo.
Dónde ponerlo en la web
Publica el bloque en la página que representa ese establecimiento y muestra allí sus datos de contacto. En HTML, el JSON-LD se incluye en una etiqueta script con type="application/ld+json". Tu CMS puede generarlo mediante ajustes o un plugin, sin que tengas que editar la plantilla manualmente.
Antes de añadir otro bloque, comprueba si ya existe uno. En WordPress, por ejemplo, conviene revisar el plugin SEO y el tema instalados antes de incorporar una herramienta adicional. Los pasos exactos dependen de tu configuración: el objetivo es mantener una sola fuente coherente para los datos del local, no acumular generadores.
Puedes preparar una ficha con el generador de schema para negocio local. Revisa su salida antes de publicarla y amplíala solo con datos comprobados.
Qué cambia si tienes varios locales
Cada ubicación necesita sus propios datos y una identidad distinguible. No pegues la dirección de la sede en todas las páginas de sucursales. Prepara una ficha por local, con su URL, teléfono y horarios cuando sean distintos.
Una comprobación sencilla: elige dos sucursales y compara sus páginas y bloques lado a lado. Si solo cambia el nombre de la ciudad pero las direcciones y teléfonos siguen siendo iguales, revisa cómo se genera la plantilla. Enlaza la página de cada establecimiento desde la navegación o el directorio de locales.
Cómo validar el ejemplo adaptado
- Pega el JSON-LD en el validador de schema para detectar problemas básicos.
- Examina tipos y propiedades con Schema Markup Validator.
- Si buscas una función de Google, consulta su documentación de negocios locales y prueba la página con Rich Results Test.
- Publica y vuelve a comprobar la URL, además del código que preparaste.
- Contrasta nombre, dirección, teléfono y horarios con la página visible.
No añadas valoraciones ficticias para completar una plantilla. Tampoco marques una dirección que no corresponda al establecimiento. Una validación favorable no certifica la veracidad de los datos.
Cómo mantenerlo después de publicarlo
Incorpora el schema a la misma tarea con la que actualizas la información del local. Si cambias el teléfono, revisa web, JSON-LD y perfiles donde lo hayas publicado. Guarda fecha de revisión y quién confirmó el dato.
Para valorar resultados, separa el trabajo técnico de la medición comercial. Registrar que has corregido la dirección es verificable; atribuirle todas las nuevas menciones en IA exige más evidencia. Usa un conjunto estable de preguntas de servicio y ciudad y consulta la guía de medición.
Fundador de Surfeo y Made AI. Audita la visibilidad de PYMEs en ChatGPT, Gemini, Perplexity y Claude con datos reales: más de 13.000 negocios analizados en 30 sectores y 10 ciudades españolas. Escribe sobre GEO, AEO y SEO para IA desde la práctica, no desde la teoría.