SEO Local
•8 min lectura

Schema Markup para SEO Local: Guía Técnica

Edu Laborda
Edu Laborda
Experto SEO Local
19 de noviembre de 2025
69 lecturas
Schema Markup para SEO Local: Guía Técnica

El Schema Markup es el código invisible que hace que Google entienda tu negocio como nunca antes.

🎯 Dato clave: Los negocios con Schema correcto tienen 30% más de clics que aquellos sin él. Google premia lo que puede entender fácilmente.


🤔 ¿Qué es Schema Markup?

Schema es un vocabulario de datos estructurados que le dice a Google exactamente qué es cada elemento de tu web.

Sin Schema:

Google ve:

"Clínica Dental Sonrisa Calle Gran Vía 45 912 345 678"

Y piensa: "¿Es una dirección? ¿Un teléfono? ¿De qué negocio?"

Con Schema:

Google ve:

{ "@type": "Dentist", "name": "Clínica Dental Sonrisa", "address": "Calle Gran Vía 45, Madrid", "telephone": "+34912345678" }

Y entiende: "Es un dentista en Madrid con este teléfono"


🚀 Por Qué Schema es Crítico para SEO Local

Beneficios Directos

  1. Mejora Visibilidad en SERPs

    • Rich snippets con estrellas ⭐⭐⭐⭐⭐
    • Información destacada
    • Más espacio en resultados
  2. Google Business Profile Potenciado

    • Sincronización automática de datos
    • Información más precisa
  3. Ventaja Competitiva

    • Mayoría de negocios NO usa Schema
    • Implementarlo = destacar
  4. Preparación para IA

    • Gemini AI y buscadores IA usan Schema
    • Futuro del search depende de datos estructurados

📋 Tipos de Schema para Negocios Locales

1️⃣ LocalBusiness (Base para TODOS)

Cuándo usarlo:

  • Cualquier negocio con ubicación física
  • Base obligatoria

Datos incluidos:

  • Nombre
  • Dirección
  • Teléfono
  • Horario
  • Coordenadas GPS

2️⃣ Schemas Específicos por Industria

| Industria | Schema Type | |-----------|-------------| | 🏥 Clínicas/Médicos |

MedicalBusiness
/
Dentist
/
Physician
| | ⚖️ Abogados |
Attorney
/
LegalService
| | 🍕 Restaurantes |
Restaurant
/
FoodEstablishment
| | 🏋️ Gimnasios |
SportsActivityLocation
/
ExerciseGym
| | 🛠 Servicios |
ProfessionalService
/
HomeAndConstructionBusiness
| | 🏨 Hoteles |
Hotel
/
LodgingBusiness
| | 🏪 Tiendas |
Store
/ específico (
ClothingStore
,
ElectronicsStore
) |

3️⃣ Schemas Complementarios

Review (Reseñas)

{ "@type": "Review", "reviewRating": { "@type": "Rating", "ratingValue": "5" }, "author": "Juan Pérez" }

AggregateRating (Calificación promedio)

{ "@type": "AggregateRating", "ratingValue": "4.8", "reviewCount": "47" }

OpeningHours (Horarios)

{ "openingHours": [ "Mo-Fr 09:00-20:00", "Sa 10:00-14:00" ] }

💻 Implementación: Código Completo por Industria

Ejemplo 1: Clínica Dental

<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Dentist", "name": "Clínica Dental Sonrisa Perfecta", "image": "https://tudominio.com/logo.jpg", "@id": "https://tudominio.com", "url": "https://tudominio.com", "telephone": "+34912345678", "priceRange": "€€", "address": { "@type": "PostalAddress", "streetAddress": "Calle Gran Vía 45", "addressLocality": "Madrid", "postalCode": "28013", "addressCountry": "ES" }, "geo": { "@type": "GeoCoordinates", "latitude": 40.4168, "longitude": -3.7038 }, "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" } ], "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.8", "reviewCount": "47" }, "sameAs": [ "https://www.facebook.com/tuclínica", "https://www.instagram.com/tuclínica" ] } </script>

Ejemplo 2: Restaurante

<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Restaurant", "name": "Trattoria Bella Italia", "image": "https://turestaurante.com/foto-principal.jpg", "@id": "https://turestaurante.com", "url": "https://turestaurante.com", "telephone": "+34963123456", "priceRange": "€€", "servesCuisine": "Italian", "acceptsReservations": "True", "menu": "https://turestaurante.com/menu", "address": { "@type": "PostalAddress", "streetAddress": "Calle Colón 28", "addressLocality": "Valencia", "postalCode": "46004", "addressCountry": "ES" }, "geo": { "@type": "GeoCoordinates", "latitude": 39.4699, "longitude": -0.3763 }, "openingHoursSpecification": { "@type": "OpeningHoursSpecification", "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "opens": "13:00", "closes": "23:30" }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.7", "reviewCount": "89" } } </script>

Ejemplo 3: Abogado

<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Attorney", "name": "Bufete García & Asociados", "image": "https://bufetegarcia.com/logo.jpg", "@id": "https://bufetegarcia.com", "url": "https://bufetegarcia.com", "telephone": "+34954987654", "priceRange": "€€€", "areaServed": { "@type": "City", "name": "Sevilla" }, "address": { "@type": "PostalAddress", "streetAddress": "Avenida de la Constitución 12", "addressLocality": "Sevilla", "postalCode": "41001", "addressCountry": "ES" }, "geo": { "@type": "GeoCoordinates", "latitude": 37.3886, "longitude": -5.9823 }, "openingHoursSpecification": { "@type": "OpeningHoursSpecification", "dayOfWeek": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ], "opens": "09:00", "closes": "19:00" } } </script>

🛠 Cómo Implementar Schema en Tu Web

Método 1: Manual (HTML)

Copia el código y pégalo en el

<head>
de tu web.

Ubicación exacta:

<!DOCTYPE html> <html> <head> <!-- Aquí va tu Schema --> <script type="application/ld+json"> { ... } </script> </head> <body> ... </body> </html>

Método 2: WordPress

Plugins recomendados:

  1. Rank Math SEO ⭐⭐⭐⭐⭐

    • Generación automática
    • Muy completo
    • Gratis
  2. Schema Pro

    • Especializado
    • Más opciones
    • De pago
  3. Yoast SEO

    • Básico incluido
    • Ampliable

Método 3: Google Tag Manager

Para webs sin acceso directo al código.

Pasos:

  1. Crear nuevo tag tipo "Custom HTML"
  2. Pegar código Schema completo
  3. Trigger: All Pages
  4. Publicar

✅ Validación de Schema

Herramienta Oficial de Google

Rich Results Test

Pasos:

  1. Pega tu URL
  2. Click "Test URL"
  3. Revisa errores y warnings
  4. Corrige si es necesario

Schema Markup Validator

Schema.org Validator

Más técnico pero más completo:

  • Detecta todos los errores
  • Explica formato correcto

⚠️ Errores Comunes

1. Información Inconsistente

❌ Mal:

{ "telephone": "912 345 678", "address": "C/ Gran Vía 45" }

En GBP tienes:

  • Tel: +34 912 345 678
  • Dir: Calle Gran Vía 45

✅ Bien: Usa formato idéntico en Schema y GBP.

2. Coordenadas GPS Incorrectas

❌ Mal: Copiar coordenadas aproximadas

✅ Bien:

  1. Busca tu negocio en Google Maps
  2. Click derecho → Coordenadas
  3. Copia exactas

3. Olvidar AggregateRating

Si tienes reseñas, SIEMPRE incluye:

"aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.8", "reviewCount": "47" }

4. Horarios Mal Formateados

❌ Mal:

"opens": "9:00", "closes": "8:00 PM"

✅ Bien:

"opens": "09:00", "closes": "20:00"

Formato: 24 horas, siempre 2 dígitos.


📊 Schema Avanzado: Multiple Locations

Para negocios con varias ubicaciones:

<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Organization", "name": "Clínica Dental Sonrisa (Red)", "url": "https://tudominio.com", "location": [ { "@type": "Dentist", "name": "Clínica Dental Sonrisa - Madrid Centro", "telephone": "+34912345678", "address": { "@type": "PostalAddress", "streetAddress": "Calle Gran Vía 45", "addressLocality": "Madrid", "postalCode": "28013", "addressCountry": "ES" } }, { "@type": "Dentist", "name": "Clínica Dental Sonrisa - Barcelona", "telephone": "+34934567890", "address": { "@type": "PostalAddress", "streetAddress": "Passeig de Gràcia 88", "addressLocality": "Barcelona", "postalCode": "08008", "addressCountry": "ES" } } ] } </script>

🎯 Checklist de Implementación

Fase 1: Preparación

  • [ ] Identificar Schema type correcto para tu industria
  • [ ] Recopilar toda la información (NAP, horarios, etc.)
  • [ ] Verificar consistencia con GBP
  • [ ] Obtener coordenadas GPS exactas

Fase 2: Creación

  • [ ] Generar código Schema completo
  • [ ] Incluir AggregateRating si tienes reseñas
  • [ ] Añadir redes sociales en sameAs
  • [ ] Revisar formato de horarios

Fase 3: Implementación

  • [ ] Añadir código en de tu web
  • [ ] Implementar en TODAS las páginas importantes
  • [ ] Guardar backup del código

Fase 4: Validación

  • [ ] Test con Rich Results Test de Google
  • [ ] Corregir errores detectados
  • [ ] Re-test hasta 0 errores
  • [ ] Solicitar re-indexación en Search Console

Fase 5: Monitoreo

  • [ ] Revisar Search Console cada 2 semanas
  • [ ] Actualizar ratings cuando cambien
  • [ ] Mantener info sincronizada

🛠 Herramientas Recomendadas

Generadores de Schema

Schema Markup Generator

  • Gratis
  • Múltiples tipos
  • Fácil de usar

Schema.org

  • Documentación oficial
  • Todos los tipos disponibles

Para Webs Profesionales

LocalBrain.app

  • Gestión Schema multi-ubicación
  • Sincronización automática
  • Parte de suite completa SEO Local

💡 Casos Especiales

Negocio de Servicios (Sin Ubicación Física)

Usa

Service
en lugar de
LocalBusiness
:

{ "@type": "Service", "serviceType": "Fontanería 24h", "provider": { "@type": "LocalBusiness", "name": "Fontaneros Express Madrid" }, "areaServed": { "@type": "City", "name": "Madrid" } }

Negocio Temporal/Eventos

Usa

Event
schema:

{ "@type": "Event", "name": "Jornada de Puertas Abiertas", "startDate": "2025-12-15T10:00", "endDate": "2025-12-15T18:00", "location": { "@type": "Place", "name": "Tu Negocio", "address": {...} } }

📈 Resultados Esperados

Timeline

Semana 1-2:

  • Google indexa nuevo Schema
  • Aparece en Rich Results Test

Mes 1:

  • Rich snippets empiezan a aparecer
  • CTR mejora 10-15%

Mes 2-3:

  • Ranking local mejora
  • Más visibilidad en SERPs

Mes 3+:

  • Ventaja competitiva consolidada
  • CTR +20-30% vs competencia sin Schema

🎓 Nivel Avanzado: FAQ Schema

Para páginas de servicios, añade FAQ schema:

<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "¿Cuánto cuesta una limpieza dental?", "acceptedAnswer": { "@type": "Answer", "text": "Una limpieza dental profesional cuesta entre 60-90€ según el caso. Primera consulta gratuita." } } ] } </script>

Beneficio: Apareces en Featured Snippets


💡 Recuerda

Schema Markup es como darle a Google gafas de alta definición para ver tu negocio.

Los beneficios:

  1. ✅ Mejor comprensión por Google
  2. ✅ Rich snippets con estrellas
  3. ✅ Mayor CTR
  4. ✅ Ventaja competitiva
  5. ✅ Preparado para IA

🚀 Implementarlo correctamente puede duplicar tu tráfico orgánico.

¿Necesitas ayuda profesional? Nuestro servicio de Optimización Schema incluye implementación completa y validación.

SchemaJSON-LDSEO TécnicoDatos Estructurados

Escrito por

Edu Laborda
Edu Laborda

Consultor SEO Local y creador de YinYangSEO. Ayudo a negocios a dominar Google Maps.

¿Necesitas ayuda experta?

Ahorra tiempo y errores contratando nuestros servicios profesionales de SEO Local.