SEOLab
MENÚ

Reparación, mantención y desarrollo de sitios web · La Florida

Local Schema Markup: Implementación Paso a Paso 2026

Intermedio · 12 min de lectura · 2026-06

Implementa Local Schema correctamente: LocalBusiness schema, Service markup, Reviews estructurados, OpeningHours y casos especiales para SEO local 2026.

El Local Schema Markup es la forma más directa de comunicar a Google exactamente qué es tu negocio, dónde está ubicado, qué servicios ofreces, cuándo estás abierto, y cómo contactarte. Mientras el 68% de negocios locales tienen Google Business Profile optimizado, solo el 12% implementa LocalBusiness schema en su sitio web, dejando una ventaja competitiva masiva en la mesa.

En 2026, Google usa schema markup para generar rich results en búsquedas locales: knowledge panels completos, horarios de apertura directamente en SERPs, botones de llamar/direcciones, e integración con Google Maps. Negocios con schema correctamente implementado tienen 45% más probabilidad de aparecer en el knowledge panel lateral y reciben 27% más clicks a su sitio según estudios de Moz.

Esta guía cubre la implementación completa de Local Schema: desde el básico LocalBusiness hasta Service schema avanzado, Review aggregates, OpeningHours especiales, y casos particulares como negocios con múltiples ubicaciones, ServiceArea businesses, y profesionales individuales.

LocalBusiness Schema: La Base

Implementación Básica

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Café del Centro",
  "image": "https://ejemplo.com/cafe-logo.jpg",
  "@id": "https://ejemplo.com",
  "url": "https://ejemplo.com",
  "telephone": "+56-2-2987-6543",
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Av. Providencia 2124",
    "addressLocality": "Providencia",
    "addressRegion": "Región Metropolitana",
    "postalCode": "7500000",
    "addressCountry": "CL"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": -33.4489,
    "longitude": -70.6693
  },
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "07:00",
      "closes": "20:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Saturday", "Sunday"],
      "opens": "08:00",
      "closes": "22:00"
    }
  ]
}
</script>

Propiedades Esenciales

Propiedad Requerido Descripción Ejemplo
@type ✓ Sí Tipo de negocio "Restaurant", "MedicalClinic", "AutoRepair"
name ✓ Sí Nombre del negocio "Café del Centro"
address ✓ Sí Dirección completa Ver ejemplo arriba
geo ~ Recomendado Coordenadas GPS lat/long
telephone ~ Recomendado Teléfono local "+52-55-1234-5678"
openingHours ~ Recomendado Horario de atención Ver ejemplo
url ✗ Opcional URL del sitio "https://ejemplo.com"
image ✗ Opcional Logo o foto URL de imagen
priceRange ✗ Opcional Rango de precios "$", "$$", "$$$", "$$$$"

Tipos Específicos de LocalBusiness

Usa el Tipo Más Específico Posible

Schema.org tiene 100+ subtipos de LocalBusiness. Usa el más específico:

❌ Genérico:
"@type": "LocalBusiness"

✅ Específico:
"@type": "Restaurant"
"@type": "MedicalClinic"
"@type": "LegalService"
"@type": "AutoRepair"
"@type": "HairSalon"
"@type": "FitnessCenter"

Tipos Comunes por Industria

Restaurantes y Comida:

{
  "@type": "Restaurant",
  "servesCuisine": "Mexicana",
  "menu": "https://ejemplo.com/menu",
  "acceptsReservations": "True"
}

Servicios Médicos:

{
  "@type": "MedicalClinic",
  "medicalSpecialty": "Pediatría",
  "availableService": {
    "@type": "MedicalProcedure",
    "name": "Chequeo General Infantil"
  }
}

Servicios Legales:

{
  "@type": "LegalService",
  "knowsAbout": ["Derecho Familiar", "Divorcio", "Custodia"],
  "areaServed": {
    "@type": "City",
    "name": "Ciudad de México"
  }
}

Talleres Mecánicos:

{
  "@type": "AutoRepair",
  "paymentAccepted": ["Efectivo", "Tarjeta", "Transferencia"],
  "currenciesAccepted": "CLP"
}

OpeningHours: Casos Especiales

Horarios Diferentes por Día

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Monday",
    "opens": "09:00",
    "closes": "18:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Tuesday",
    "opens": "09:00",
    "closes": "18:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Saturday",
    "opens": "10:00",
    "closes": "14:00"
  }
]

Cerrado Ciertos Días

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "09:00",
    "closes": "18:00"
  }
]
// Nota: No incluir sábado/domingo = cerrado esos días

24/7

"openingHoursSpecification": {
  "@type": "OpeningHoursSpecification",
  "dayOfWeek": [
    "Monday", "Tuesday", "Wednesday", "Thursday",
    "Friday", "Saturday", "Sunday"
  ],
  "opens": "00:00",
  "closes": "23:59"
}

Horarios Especiales (Holidays)

"specialOpeningHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "opens": "10:00",
    "closes": "15:00",
    "validFrom": "2026-12-25",
    "validThrough": "2026-12-25"
  }
]

Agregar Reviews y Ratings

{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Tacos El Güero",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "342",
    "bestRating": "5",
    "worstRating": "1"
  },
  "review": [
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "María González"
      },
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5"
      },
      "reviewBody": "Los mejores tacos al pastor de la ciudad. Tortillas hechas a mano y carne perfectamente sazonada.",
      "datePublished": "2026-06-15"
    }
  ]
}

Importante: Solo incluye reviews REALES. Google penaliza reviews falsas o inventadas.

Service Schema para Servicios Específicos

{
  "@context": "https://schema.org",
  "@type": "LegalService",
  "name": "Bufete Martínez y Asociados",
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Servicios Legales",
    "itemListElement": [
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Divorcio Express",
          "description": "Proceso de divorcio voluntario en 3-6 meses",
          "provider": {
            "@type": "LegalService",
            "name": "Bufete Martínez"
          }
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Pensión Alimenticia",
          "description": "Asesoría y litigio de pensión alimenticia"
        }
      }
    ]
  }
}

ServiceArea Business (Sin Ubicación Física)

Para negocios que sirven áreas pero no tienen tienda física:

{
  "@context": "https://schema.org",
  "@type": "Plumber",
  "name": "Plomería 24/7 CDMX",
  "telephone": "+56-2-2987-6543",
  "areaServed": [
    {
      "@type": "City",
      "name": "Ciudad de México"
    },
    {
      "@type": "City",
      "name": "Naucalpan"
    },
    {
      "@type": "City",
      "name": "Tlalnepantla"
    }
  ],
  "availableChannel": {
    "@type": "ServiceChannel",
    "serviceType": "Plomería de Emergencia",
    "availableLanguage": {
      "@type": "Language",
      "name": "Español"
    }
  }
}

Importante: NO incluyas "address" si eres ServiceArea business. Solo "areaServed".

Múltiples Ubicaciones

Opción 1: Schema Separado por Ubicación

Cada página de ubicación tiene su propio schema:

<!-- En https://ejemplo.com/ubicacion-polanco -->
{
  "@type": "Restaurant",
  "name": "Café del Centro - Polanco",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Av. Providencia 2124",
    "addressLocality": "Providencia",
    "postalCode": "7500000"
  }
}

<!-- En https://ejemplo.com/ubicacion-roma -->
{
  "@type": "Restaurant",
  "name": "Café del Centro - Roma",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Av. Álvaro Obregón 456",
    "addressLocality": "Providencia",
    "postalCode": "7500000"
  }
}

Opción 2: Organization con Locations

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Café del Centro",
  "url": "https://ejemplo.com",
  "location": [
    {
      "@type": "Restaurant",
      "name": "Café del Centro - Polanco",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "Av. Providencia 2124",
        "addressLocality": "Providencia"
      }
    },
    {
      "@type": "Restaurant",
      "name": "Café del Centro - Roma",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "Av. Obregón 456",
        "addressLocality": "Providencia"
      }
    }
  ]
}

Validación de Schema

Herramientas Esenciales

1. Google Rich Results Test

URL: https://search.google.com/test/rich-results
- Pega tu URL
- Verifica errores/warnings
- Preview de cómo Google ve tu schema

2. Schema Markup Validator

URL: https://validator.schema.org
- Valida sintaxis JSON-LD
- Detecta propiedades incorrectas
- Warnings de propiedades recomendadas faltantes

3. Google Search Console

Enhancements > Unparsable structured data
- Errores detectados por Google en tu sitio
- Fix y request re-indexing

Errores Comunes

Error #1: Información Inconsistente con Google Business Profile

❌ Schema dice: "Abierto 9am-6pm Lunes-Viernes"
   GBP dice: "Abierto 8am-7pm Lunes-Sábado"

✅ Debe coincidir EXACTAMENTE

Error #2: Coordenadas GPS Incorrectas

❌ "latitude": 33.4489, "longitude": 70.6693
   (Sin los signos negativos: esto apunta a un punto en China)

✅ "latitude": -33.4489, "longitude": -70.6693
   (Santiago de Chile)

   En Chile las DOS coordenadas son negativas: latitud porque estamos en el
   hemisferio sur, longitud porque estamos al oeste de Greenwich. Es el error
   más común al copiar un ejemplo de un tutorial extranjero — y como el schema
   sigue siendo válido, nadie te avisa: simplemente tu negocio aparece en otro
   continente.

   Saca las coordenadas de Google Maps: click derecho sobre tu local →
   el primer valor del menú es «lat, long». Cópialo tal cual, con los signos.

Error #3: Formato de Teléfono Incorrecto

❌ "telephone": "2 2987 6543"     (sin código de país)
❌ "telephone": "+56229876543"   (sin separadores, difícil de verificar)

✅ "telephone": "+56-2-2987-6543"
   (Formato internacional completo)

Checklist de Implementación

Pre-Implementación

  • Verifica que Google Business Profile esté actualizado
  • Decide qué tipo específico de LocalBusiness usarás
  • Recopila info necesaria (coordenadas GPS, horarios exactos)
  • Identifica servicios principales a incluir

Implementación

  • Crea JSON-LD con propiedades requeridas
  • Añade propiedades opcionales recomendadas
  • Implementa OpeningHours correctamente
  • Añade aggregateRating si tienes reviews
  • Añade sameAs (redes sociales, directorios)
  • Coloca schema en o antes de

Validación

  • Google Rich Results Test (sin errores)
  • Schema.org Validator (sin errores críticos)
  • Consistencia con Google Business Profile
  • Prueba en móvil (vista previa)

Post-Implementación

  • Request indexing en Search Console
  • Monitorea Search Console por errores
  • Verifica knowledge panel en 7-14 días
  • Actualiza schema cuando cambien horarios/info

Conclusión

Local Schema Markup es inversión de 1-2 horas que genera beneficios a largo plazo: mejor visibility en Local Pack, knowledge panels completos, y comunicación clara con Google sobre tu negocio. La clave está en usar el tipo más específico posible, mantener consistencia con Google Business Profile, y validar exhaustivamente antes de publicar.

Próximo paso: Implementa LocalBusiness schema en tu sitio esta semana. Valida con Google Rich Results Test. Monitorea Search Console por 30 días para verificar que Google lo procese correctamente.

Problemas concretos que arreglo

WhatsAppCorreo