El schema LocalBusiness es una de las implementaciones técnicas SEO con mejor relación esfuerzo/impacto. 30 minutos de configuración correcta + rich snippets en Google + base sólida para SEO local. Esta guía cubre el código completo con casos por sector.
¿Qué es y por qué importa?
Schema.org es un vocabulario que Google y otros buscadores entienden para clasificar información de tu web. LocalBusiness es el tipo específico para negocios con ubicación física o área de servicio.
Con LocalBusiness bien implementado, Google sabe:
- Qué tipo de negocio eres (restaurante, dentista, agencia, etc.)
- Dónde estás físicamente (dirección + coordenadas)
- Cuándo abres
- A quién das servicio (área geográfica)
- Cómo contactarte (teléfono, email, web)
- Qué rango de precio manejas
Eso le permite mostrar rich snippets, alimentar Google Business Profile y rankear mejor en búsquedas locales.
Schema LocalBusiness básico (copy-paste)
Este es el código mínimo viable. Pégalo en el <head> de tu home (idealmente en todas las páginas), reemplazando los valores:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"@id": "https://tudominio.com/#organization",
"name": "Tu Negocio S.L.",
"url": "https://tudominio.com/",
"logo": "https://tudominio.com/assets/logo.png",
"image": "https://tudominio.com/assets/foto-fachada.jpg",
"description": "Descripción breve y honesta de tu negocio (160-300 caracteres).",
"address": {
"@type": "PostalAddress",
"streetAddress": "Calle Ejemplo 1, bajo",
"addressLocality": "Valencia",
"addressRegion": "Valencia",
"postalCode": "46001",
"addressCountry": "ES"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": "39.4699",
"longitude": "-0.3763"
},
"telephone": "+34900000000",
"email": "info@tudominio.com",
"priceRange": "€€",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "09:00",
"closes": "18:00"
}
]
}
</script>Cómo obtener los datos críticos
Coordenadas geo (latitude/longitude)
- Abre Google Maps.
- Busca tu dirección exacta.
- Click derecho sobre el marcador.
- Aparece "[lat], [long]" en la parte superior del menú contextual.
- Copia los dos números separados por coma.
Categoría @type específica
LocalBusiness es genérica. Cuanto más específica mejor. Algunos sub-tipos comunes:
| Sector | Tipo específico |
|---|---|
| Restaurante | Restaurant |
| Cafetería | CafeOrCoffeeShop |
| Hotel | Hotel / LodgingBusiness |
| Dentista | Dentist |
| Médico / Clínica | MedicalClinic / Physician |
| Veterinario | VeterinaryCare |
| Despacho de abogados | Attorney / LegalService |
| Contable / Asesor | AccountingService |
| Agencia inmobiliaria | RealEstateAgent |
| Agencia marketing/SEO | ProfessionalService |
| Taller mecánico | AutoRepair |
| Fontanero/Electricista | HomeAndConstructionBusiness |
| Peluquería/Estética | HairSalon / BeautySalon |
| Gimnasio | SportsActivityLocation / ExerciseGym |
| Tienda física | Store + sub-tipo específico |
Lista completa: https://schema.org/LocalBusiness
Schema LocalBusiness COMPLETO con todos los campos
Para máxima información a Google:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Restaurant",
"@id": "https://tudominio.com/#organization",
"name": "Tu Restaurante",
"alternateName": "Tu Restaurante Valencia",
"url": "https://tudominio.com/",
"logo": {
"@type": "ImageObject",
"url": "https://tudominio.com/logo.png",
"width": 600,
"height": 200
},
"image": [
"https://tudominio.com/foto1.jpg",
"https://tudominio.com/foto2.jpg",
"https://tudominio.com/foto3.jpg"
],
"description": "Restaurante mediterráneo en Ruzafa, Valencia...",
"address": {
"@type": "PostalAddress",
"streetAddress": "Calle Sueca 32",
"addressLocality": "Valencia",
"addressRegion": "Valencia",
"postalCode": "46006",
"addressCountry": "ES"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": "39.4612",
"longitude": "-0.3742"
},
"telephone": "+34960000000",
"email": "reservas@tudominio.com",
"priceRange": "€€",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Tuesday","Wednesday","Thursday"],
"opens": "13:00",
"closes": "16:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Friday","Saturday"],
"opens": "13:00",
"closes": "23:30"
}
],
"servesCuisine": ["Mediterránea", "Valenciana"],
"acceptsReservations": true,
"hasMenu": "https://tudominio.com/carta/",
"areaServed": {
"@type": "City",
"name": "Valencia"
},
"sameAs": [
"https://www.facebook.com/tunegocio",
"https://www.instagram.com/tunegocio",
"https://www.tripadvisor.es/tunegocio"
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "234"
}
}
</script>Variantes por sector (4 ejemplos)
1. Clínica dental
"@type": "Dentist",
"medicalSpecialty": ["Implantology", "Orthodontics"],
"availableService": [
{"@type": "MedicalProcedure", "name": "Implante dental"},
{"@type": "MedicalProcedure", "name": "Ortodoncia invisible"}
]2. Despacho abogados
"@type": "Attorney",
"areaServed": [
{"@type": "City", "name": "Valencia"},
{"@type": "City", "name": "Alicante"}
],
"knowsAbout": ["Derecho mercantil", "Derecho laboral", "Derecho fiscal"]3. Agencia marketing/SEO
"@type": "ProfessionalService",
"makesOffer": [
{
"@type": "Offer",
"itemOffered": {"@type": "Service", "name": "Diseño web"},
"priceCurrency": "EUR",
"price": "1200"
},
{
"@type": "Offer",
"itemOffered": {"@type": "Service", "name": "Posicionamiento SEO"},
"priceCurrency": "EUR",
"price": "350"
}
]4. Tienda física con e-commerce
"@type": "Store",
"paymentAccepted": ["Cash", "Credit Card", "Bizum"],
"currenciesAccepted": "EUR"Cómo implementarlo en WordPress
Opción A: Yoast SEO
Yoast genera schema básico automáticamente. Rellena en Ajustes:
- Ajustes → General → Información del sitio → "Es una empresa local" → SÍ
- Rellena nombre, dirección, teléfono, etc.
- Yoast inyecta el schema en cada página.
Opción B: Plugin Schema & Structured Data for WP
Más flexible. Permite custom schema por tipo de contenido. Gratis.
Opción C: Manualmente con código
Si tienes desarrollador o tema custom, inyecta el JSON-LD desde functions.php o en el header del tema:
add_action('wp_head', function() {
$schema = [/* aquí tu objeto */];
echo '<script type="application/ld+json">'
. wp_json_encode($schema)
. '</script>';
});Validación obligatoria
- Tras implementar, abre Rich Results Test: https://search.google.com/test/rich-results
- Pega tu URL.
- Esperar resultado.
- Errores: rojos, hay que arreglar.
- Warnings: amarillos, opcionales pero recomendados.
- Confirmar que "LocalBusiness" aparece como tipo detectado.
Si hay errores no críticos, Google aún acepta el schema pero pierdes el rich snippet.
Errores típicos
- ❌ Falsificar reseñas con
aggregateRatinginventado. Google lo penaliza duro y puede sacarte de rich snippets para siempre. - ❌ NAP del schema distinto del NAP de la web/GBP. Consistencia obligatoria.
- ❌
priceRangecon números literales (€10-50). Solo símbolos: €, €€, €€€, €€€€. - ❌ Horarios en formato no estándar. Usar
HH:MM24h. - ❌ Coordenadas inventadas. Tienen que coincidir con la dirección.
- ❌ Schema en una página pero NAP distinto en el footer.
Preguntas frecuentes
¿Schema LocalBusiness mejora el SEO?
Sí, indirectamente. Le da contexto a Google y activa rich snippets. Solo no te sube de posición; combinado con GBP y SEO técnico, sí mueve resultados.
¿JSON-LD o microdata?
JSON-LD. Recomendado oficialmente por Google desde 2017.
¿Dónde inyecto el schema?
En el head de cada página, dentro de un <script type="application/ld+json">.
¿Cómo verifico que funciona?
Google Rich Results Test. Pega tu URL y valida.
¿Quieres que implementemos schema completo en tu web? Es parte de cada proyecto de diseño web y de las auditorías SEO.