El schema LocalBusiness es un bloque de código (normalmente en formato JSON-LD) que le dice a Google y a los asistentes de IA, sin ambigüedades, quién es tu negocio, dónde está, a qué hora atiende, cómo se te contacta y en qué rango de precios te mueves. Para un negocio peruano, hacerlo bien significa escribir la dirección con distrito y región, el teléfono con +51, los horarios con el refrigerio y los feriados incluidos, y los precios en soles (código PEN) sin mezclar dólares.
No es magia: el marcado no te sube diez puestos por sí solo ni reemplaza a tu perfil de Google Business Profile. Lo que hace es quitar dudas. Cuando tu web, tu ficha de Google Maps y los directorios dicen exactamente lo mismo, Google confía más en esos datos y la IA los repite con menos errores. En esta guía verás qué tipo elegir según tu rubro, qué propiedades son obligatorias, cómo escribir horarios y precios a la peruana, un ejemplo completo listo para adaptar y los errores que más vemos al revisar webs de negocios locales.
Actualizado: octubre de 2026
Lo esencial
- Google solo exige dos propiedades para LocalBusiness: name y address. Todo lo demás es recomendado, pero es lo que hace útil el marcado.
- Usa el subtipo más específico de schema.org (Restaurant, Dentist, AutoRepair…), no el genérico LocalBusiness, si existe uno que te describa.
- Los horarios van en openingHoursSpecification, en formato de 24 horas. Para feriados o temporadas se usan validFrom y validThrough.
- El campo priceRange admite texto como «S/ 25 – S/ 60», siempre por debajo de 100 caracteres. En ofertas concretas, el código de moneda es PEN.
- El teléfono va en formato internacional (+51…) y debe coincidir con el de tu ficha de Google y tus directorios.
- Valida siempre con la prueba de resultados enriquecidos y revisa Search Console unas semanas después de publicar.
Qué hace (y qué no hace) el schema LocalBusiness
Los datos estructurados son una forma estándar de describir información que ya está en tu página. El vocabulario lo mantiene schema.org y Google publica cómo lo usa en su documentación de datos estructurados de empresas locales.
Conviene tener claras las expectativas desde el inicio:
- Sí ayuda a que Google entienda sin dudas tu nombre, dirección, teléfono y horario, y a conectar tu web con tu ficha de Maps.
- Sí ayuda a que ChatGPT, Gemini o el Modo IA de Google, que llegó al Perú en setiembre de 2025 según Andina, tengan una fuente ordenada cuando citan tu negocio.
- No garantiza ningún resultado enriquecido. La propia documentación de Google aclara que no asegura que las funciones aparezcan en los resultados.
- No reemplaza a Google Business Profile. Para el mapa y el paquete local, la ficha sigue siendo la fuente principal.
Elegir el tipo correcto según tu rubro
Google recomienda usar el subtipo más específico disponible: para una clínica dental, Dentist dice más que LocalBusiness. Si ninguno te describe, usa LocalBusiness y no inventes tipos. Puedes declarar varios en una lista; additionalType no está soportada.
| Negocio peruano típico | Tipo de schema.org sugerido | Propiedades que más aportan |
|---|---|---|
| Pollería, cevichería, chifa, cafetería | Restaurant, CafeOrCoffeeShop, FastFoodRestaurant | servesCuisine, menu, acceptsReservations, priceRange |
| Consultorio dental u odontológico | Dentist | medicalSpecialty, openingHoursSpecification, telephone |
| Clínica o policlínico | MedicalClinic | department (por especialidad), geo, hasMap |
| Taller mecánico, lubricentro | AutoRepair | openingHoursSpecification, areaServed, priceRange |
| Ferretería | HardwareStore | openingHoursSpecification, paymentAccepted |
| Bodega o minimarket | ConvenienceStore o GroceryStore | openingHoursSpecification, geo |
| Hotel u hostal | Hotel, Hostel | checkinTime, checkoutTime, amenityFeature, starRating |
| Estudio de abogados | LegalService (o Attorney) | areaServed, knowsAbout, telephone |
| Veterinaria | VeterinaryCare | openingHoursSpecification, telephone |
| Gimnasio | ExerciseGym (subtipo de HealthClub) | openingHoursSpecification, priceRange |
| Notaría | Notary | openingHoursSpecification, address |
El tipo no tiene que copiar la categoría de tu ficha de Google Maps, pero sí ser coherente con ella.
Propiedades obligatorias y recomendadas
Según la documentación de Google, las únicas propiedades obligatorias son name y address. Las recomendadas son las que convierten el marcado en algo útil. Esta es la lista que usamos como mínimo razonable para un negocio local peruano:
| Propiedad | Qué poner | Ejemplo peruano |
|---|---|---|
| name | El nombre comercial, igual que en tu ficha de Google y en tu letrero | Pollería La Brasa de Yanahuara |
| address | Objeto PostalAddress completo | Calle, distrito, provincia, región, PE |
| telephone | Número principal con código de país | +51 54 000000 o +51 900 000 000 |
| url | URL completa y funcional de la página del local | https://tudominio.pe/local-yanahuara/ |
| geo | latitude y longitude con al menos 5 decimales | -16.39000, -71.54000 |
| openingHoursSpecification | Días y horas en formato hh:mm | Lunes a sábado 12:00–22:00 |
| priceRange | Rango relativo, menos de 100 caracteres | S/ 25 – S/ 60 |
| image | Fotos reales del local o del servicio | Fachada, interior, platos |
| sameAs | Perfiles oficiales del negocio | Facebook, Instagram, TikTok, ficha de Maps |
Las coordenadas del ejemplo son ilustrativas. Las tuyas salen de Google Maps: clic derecho sobre tu local y copias los números.
Si además quieres reforzar quién está detrás del negocio (razón social, RUC, logo, redes), eso se trabaja mejor con el nodo Organization. Lo explicamos en la guía de schema Organization enriquecido, que se complementa con este marcado.
Cómo escribir una dirección peruana en PostalAddress
Las direcciones peruanas no encajan del todo en el molde de calle, ciudad, estado y código postal. Recomendamos esta forma:
- streetAddress: tipo de vía, nombre y número, con interior o referencia corta si hace falta. Ejemplo: «Av. Ejército 1234, int. 2».
- addressLocality: el distrito (Yanahuara, Miraflores, Víctor Larco Herrera, Castilla). Es el dato que la gente usa al buscar.
- addressRegion: la región o departamento (Arequipa, Lima, La Libertad, Piura).
- postalCode: el código postal de cinco dígitos de tu zona. Lo consultas en el buscador de códigos postales de Serpost. Es opcional.
- addressCountry: «PE».
Evita meter referencias largas como «a media cuadra del grifo» dentro de streetAddress: van en tu página de contacto, no en el schema. Y la regla de oro: la dirección del schema, la de la ficha de Google y la de los directorios deben coincidir. Si en una aparece «Cercado» y en otra «Arequipa» como distrito, Google tiene que adivinar. Para revisar dónde más aparece tu dirección, te sirve nuestra lista de citations peruanas para SEO local.
Horarios a la peruana: refrigerio, sábados, feriados y temporadas
La propiedad openingHoursSpecification acepta uno o varios bloques. Cada bloque tiene los días (dayOfWeek), la hora de apertura (opens) y la de cierre (closes), en formato hh:mm de 24 horas. Con eso se resuelven los casos más comunes de los negocios peruanos.
Horario corrido y horario con refrigerio
Si atiendes de corrido, un solo bloque basta. Si cierras al mediodía, como muchas ferreterías, notarías o consultorios, declara dos bloques para los mismos días: uno de 09:00 a 13:00 y otro de 15:00 a 19:00. Así nadie llega a las 2 de la tarde a encontrar la reja cerrada porque la IA dijo que estabas abierto.
Sábados de medio día y domingos cerrados
El sábado va en su propio bloque (por ejemplo, 09:00 a 13:00). Los días cerrados no se incluyen o, según Google, se marcan con opens y closes en «00:00».
Atención 24 horas y horarios que pasan la medianoche
Para una botica o una clínica de emergencias que atiende las 24 horas, Google indica usar opens «00:00» y closes «23:59». Para una discoteca o un restaurante que cierra a las 3 de la mañana del sábado, se usa un solo bloque que cruza la medianoche: opens «18:00» y closes «03:00».
Feriados y temporadas
Con validFrom y validThrough (fechas en formato AAAA-MM-DD) puedes declarar horarios especiales: Fiestas Patrias, Navidad, Año Nuevo o la temporada de verano de una heladería de playa. El horario normal se declara sin fechas.
Ojo: el horario especial también debes cargarlo en tu ficha de Google Business Profile, que tiene su propia sección de horarios festivos. El schema refuerza, la ficha manda. En nuestra guía de campos avanzados de Google Business Profile verás dónde están esas opciones.
Precios en soles: priceRange, PEN y el IGV
Hay dos lugares donde pueden aparecer precios en tu marcado y conviene no confundirlos.
priceRange: el rango general del negocio
Es un texto libre. Google acepta «$$» o un rango numérico, y no lo muestra si llega a 100 caracteres. En el Perú conviene un rango en soles: «S/ 25 – S/ 60» para un restaurante o «Desde S/ 80» para un taller. Evita «$», que puede leerse como dólares.
Offer y priceCurrency: precios concretos
Si en la página publicas servicios con precio (una limpieza dental, un cambio de aceite, un menú), puedes marcarlos con makesOffer u hasOfferCatalog y objetos Offer. Ahí el código de moneda va en priceCurrency y para el sol es PEN, según el estándar ISO 4217. El precio se escribe como número, con punto decimal y sin el símbolo: 150.00, no «S/ 150».
¿Con o sin IGV?
Si vendes al consumidor final, el precio de tu web y del schema debería ser el total, con IGV incluido. El Código de Protección y Defensa del Consumidor (Ley 29571) exige que el consumidor reciba información veraz y suficiente sobre el precio, y mostrar un monto que luego sube al pagar por el IGV es un riesgo que no vale la pena correr. Si tu negocio es B2B y cotizas «+ IGV», dilo en el texto visible de la página y no marques ese precio como si fuera el final.
Teléfono, WhatsApp, mapa y redes
Google pide que telephone sea el número principal de atención, con código de país. En el Perú: +51 y los nueve dígitos del celular; para un fijo, +51, el código de la ciudad sin el cero (1 para Lima, 54 para Arequipa, 44 para Trujillo) y el número.
Muchos negocios atienden casi todo por WhatsApp. Schema.org no tiene una propiedad específica para WhatsApp, así que lo práctico es usar como telephone el número que de verdad contesta y, si quieres, añadir un contactPoint con el tipo de atención.
Además, vale la pena incluir:
- hasMap: el enlace a tu ubicación en Google Maps.
- sameAs: una lista con tus perfiles oficiales (Facebook, Instagram, TikTok, LinkedIn). Solo perfiles que controlas y que estén activos.
- paymentAccepted: texto simple como «Efectivo, Yape, Plin, Visa, Mastercard». Es un dato que los peruanos preguntan mucho y que los asistentes de IA suelen responder mal si no lo encuentran.
Ejemplo completo para un negocio peruano
Este es un ejemplo ilustrativo para un restaurante ficticio de Arequipa. Todos los datos son inventados. Va dentro de una etiqueta script de tipo application/ld+json.
{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "Pollería La Brasa de Yanahuara",
"image": ["https://tudominio.pe/img/fachada.jpg", "https://tudominio.pe/img/salon.jpg"],
"url": "https://tudominio.pe/",
"telephone": "+51900000000",
"priceRange": "S/ 25 - S/ 60",
"servesCuisine": ["Pollo a la brasa", "Comida peruana"],
"menu": "https://tudominio.pe/carta/",
"acceptsReservations": true,
"paymentAccepted": "Efectivo, Yape, Plin, Visa, Mastercard",
"address": {
"@type": "PostalAddress",
"streetAddress": "Av. Ejemplo 123",
"addressLocality": "Yanahuara",
"addressRegion": "Arequipa",
"addressCountry": "PE"
},
"geo": { "@type": "GeoCoordinates", "latitude": -16.39000, "longitude": -71.54000 },
"hasMap": "https://maps.google.com/?cid=000000000000",
"openingHoursSpecification": [
{ "@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
"opens": "12:00", "closes": "22:30" },
{ "@type": "OpeningHoursSpecification",
"dayOfWeek": "Sunday", "opens": "12:00", "closes": "17:00" },
{ "@type": "OpeningHoursSpecification",
"dayOfWeek": ["Tuesday","Wednesday"],
"opens": "00:00", "closes": "00:00",
"validFrom": "2026-07-28", "validThrough": "2026-07-29" }
],
"sameAs": ["https://www.facebook.com/tu-pagina", "https://www.instagram.com/tu-cuenta"]
}
Fíjate en tres detalles. El último bloque de horario marca el local cerrado el 28 y 29 de julio de 2026 (martes y miércoles) con opens y closes en «00:00», como indica Google. El precio está en soles y por debajo de 100 caracteres. Y la URL apunta a la página del local, no a una página genérica.
Cómo implementarlo en WordPress
En WordPress tienes tres caminos, y la elección depende de cuántos locales tengas y de quién va a mantener los datos.
- Plugin SEO con módulo local. Rank Math incluye un módulo de SEO local en el que llenas nombre, dirección, horarios y tipo de negocio; las funciones para varias sedes están en sus versiones de pago. Yoast ofrece un complemento de SEO local, también de pago. Es la opción más cómoda para un solo local.
- Código manual. Pegas el JSON-LD en la página de contacto o del local con un plugin de fragmentos de código o desde el tema hijo. Tienes control total, pero cada cambio de horario implica editar código.
- Campos personalizados. Para cadenas o franquicias, lo ordenado es crear un tipo de contenido «Local» con campos (dirección, horario, teléfono) y generar el schema automáticamente desde esos campos.
Sea cual sea el camino, evita duplicar: si tu plugin SEO ya genera un LocalBusiness y además pegas otro a mano, Google verá dos entidades con datos que pueden no coincidir. Revisa el código fuente de la página (busca «LocalBusiness» o el tipo que uses) antes y después. Si recién empiezas con datos estructurados en WordPress, la guía práctica de schema markup en WordPress explica la base.
Varias sedes y negocios sin local a la calle
Cadenas y sucursales
Si tienes tres boticas o dos sedes de un instituto, cada sede necesita su propia página con su propio LocalBusiness: dirección, teléfono, horario y coordenadas distintas. No metas todas las sedes en un solo bloque en la página de inicio. La página de inicio puede llevar el Organization de la marca, y cada sede su marcado local. Para las clínicas o tiendas grandes con áreas que atienden en horarios distintos (farmacia, laboratorio, emergencia), Google recomienda la propiedad department, con un LocalBusiness anidado por área. Lo desarrollamos en la guía de SEO local multisede.
Servicios a domicilio
Un gasfitero, una empresa de fumigación o un técnico de aire acondicionado que no recibe clientes en su dirección no debería mostrar su casa como local. En ese caso, usa areaServed para indicar los distritos o ciudades que atiendes, y en Google Business Profile configura la ficha como negocio de servicio sin dirección visible. Hay más detalles en la guía de SEO local sin local.
Validar y corregir los errores más comunes
Después de publicar, pasa la URL por la prueba de resultados enriquecidos de Google y por el validador de schema.org. Unas semanas después, revisa Search Console. Estos son los errores que más encontramos en webs de negocios locales:
| Error | Por qué es un problema | Cómo corregirlo |
|---|---|---|
| Horario del schema distinto al de la ficha de Google | Google y la IA reciben dos versiones y alguna saldrá mal | Define una fuente única y actualiza ambas el mismo día |
| Teléfono sin +51 o con espacios raros | Dificulta asociar el número con la ficha y los directorios | Formato internacional, el mismo en todas partes |
| priceRange en dólares o con texto largo | Confunde al usuario peruano o Google no lo muestra | Rango corto en soles: «S/ 30 – S/ 80» |
| Dos bloques LocalBusiness en la misma página | Entidades duplicadas con datos contradictorios | Deja uno solo: el del plugin o el manual |
| Coordenadas con dos o tres decimales | El pin cae a cuadras de distancia | Copia las coordenadas de Maps con 5 decimales o más |
| Marcar reseñas propias con aggregateRating | Google indica que esas propiedades son para sitios que recogen reseñas de otros negocios | No marques tus propias calificaciones en LocalBusiness |
| Datos que no aparecen en la página | El marcado debe describir contenido visible | Muestra dirección, horario y teléfono en el texto de la página |
El schema local y la búsqueda con IA
Cuando alguien le pregunta a un asistente «¿qué pollería de Yanahuara está abierta ahora?», el asistente cruza varias fuentes: la ficha de Google, reseñas, directorios y las webs de los negocios. Un marcado limpio y coherente no te asegura aparecer, pero reduce el riesgo de que la respuesta diga un horario viejo o un teléfono equivocado.
Según la encuesta ERESTEL 2025 de Osiptel, citada por DPL News, el 16.3 % de los peruanos ya usa herramientas de IA, con un 23 % en Lima. Es una minoría que crece, y los negocios locales que ordenan sus datos ahora parten con ventaja. Para revisar qué marcado usan las webs que más destacan en el país, mira nuestro benchmark de schema en las webs top del Perú.
Si tienes un solo local y un plugin SEO bien configurado, esto se resuelve en una tarde. Si manejas varias sedes, horarios cambiantes o una web con años de parches, conviene una revisión técnica completa, porque el schema es solo una pieza del SEO local. En KOM hacemos esa revisión dentro de nuestro servicio de consultoría SEO: revisamos el marcado, la ficha de Google, los directorios y la estructura de páginas locales, y te entregamos qué corregir primero.
Preguntas frecuentes
¿El schema LocalBusiness reemplaza a Google Business Profile?
No. Google Business Profile es la fuente principal para Google Maps y el paquete local de resultados. El schema LocalBusiness vive en tu web y sirve para confirmar esos mismos datos desde tu propio dominio. Lo ideal es tener ambos y que digan exactamente lo mismo: nombre, dirección, teléfono y horario. Si solo puedes hacer uno, empieza por la ficha de Google.
¿Puedo poner el precio en dólares si mis clientes son turistas?
Sí, si en la página realmente cobras en dólares. En una oferta concreta usa priceCurrency «USD» y en el texto visible indica la moneda. Lo que no conviene es mezclar: si la página muestra soles, el schema debe decir PEN. Para hoteles o agencias de turismo que muestran ambas monedas, marca la moneda principal de cobro y explica la otra en el texto visible.
¿Cuánto tarda Google en mostrar los datos después de agregarlos?
No hay un plazo fijo. Google tiene que volver a rastrear la página, procesar el marcado y decidir si lo usa. Puede ser cuestión de días o de semanas. Puedes acelerar el rastreo pidiendo la indexación de la URL en Search Console. Ten presente que Google no garantiza mostrar ningún dato estructurado, aunque esté bien hecho.
¿Es obligatorio incluir el RUC en el marcado?
No es una propiedad que Google pida para negocios locales. Si quieres declararlo, schema.org tiene la propiedad taxID, que encaja mejor en el nodo Organization de tu empresa que en el bloque de cada local. Mostrar el RUC y la razón social en el pie de página sí suma confianza para los clientes y es coherente con lo que piden las normas de consumo.
¿Qué pasa si mi horario cambia seguido?
Entonces necesitas que el horario salga de un solo lugar editable, como un campo del plugin SEO o un campo personalizado de WordPress, y no de código pegado a mano. Cada vez que cambies el horario, actualiza también tu ficha de Google el mismo día. Un horario desactualizado en el schema es peor que no tener horario marcado.
Este contenido es informativo y no reemplaza la asesoría legal o tributaria.








