Portafolio / SEO, GEO y AEO para e-commerce
Café de especialidad, legible para Google y para las IAs.
Broo Café vende café de especialidad de Antioquia en línea, desde Medellín. La tienda ya existía y ya vendía; lo que no hacía era explicarse. Seguía cargando restos de la demo de un tema de belleza, sus fichas no tenían H1 y su schema se contradecía. La auditamos, la saneamos por fases midiendo cada cambio, reconstruimos sus datos estructurados desde WooCommerce, abrimos un programa editorial con fuentes y la llevamos al inglés con un checkout propio.

01El reto
Una tienda de café que hablaba como una plantilla.
El sitio de Broo se montó sobre un tema comercial cuya demo es una tienda de belleza, y la demo nunca terminó de irse. El pie de página, presente en 21 páginas, enlazaba a categorías «face», «body» y «hair» que no existían, a unas «Gift cards» que llevaban a exportación y a un «Return» que abría los términos. Los íconos sociales apuntaban a la cuenta del fabricante del tema.
Lo que no se veía era peor. Ninguna ficha de producto tenía H1, y de las 22 páginas que respondían bien solo 1 tenía exactamente uno: 11 tenían dos, porque Elementor partía cada título en dos widgets. El schema declaraba una cafetería con horario de atención para una tienda que solo vende en línea, metía artículos y autores en páginas que no eran artículos y marcaba 10 preguntas frecuentes donde se leían 15.
Y el sitio prometía cosas que la tienda no hacía: suscripciones con un plugin inactivo y una URL que daba 404, envíos internacionales por DHL cuando solo despacha dentro de Colombia, y una pasarela en los términos distinta a Mercado Pago, que es la que cobra. Merchant Center, por su lado, tenía mal las tarifas de envío, ninguna política de devolución y el Cold Brew marcado como bebida alcohólica.
Lo que había que resolver
- 01Quitar los restos de la demo sin tocar el diseño
- 02Un H1 por URL, también en las fichas
- 03Un schema que dijera la verdad del negocio
- 04Promesas del sitio iguales a la operación real
- 05Merchant Center con envíos y devoluciones reales
- 06Una base que los motores de respuesta pudieran citar
Nuestro rol
Auditoría técnica, SEO on-page, datos estructurados, GEO y AEO, un mu-plugin propio, correcciones en Merchant Center, estrategia y producción editorial, la versión en inglés con su checkout y la tipografía de los artículos.
02El método
Auditar, cambiar por fases y medir otra vez.
No inventar datos. Ni en el schema ni en el texto.
Se trabajó sobre la tienda en producción, con la aprobación explícita del dueño para cada fase. Antes de cada una, un respaldo completo de la base de datos con el conteo de filas comprobado contra la base viva; en el registro de cambios, cada línea dice qué había, qué quedó y cómo deshacerlo.
El código propio vive en un solo lugar, un mu-plugin, sin editar el tema ni los plugins. Cada módulo carga aislado y un archivo vacío apaga todo el paquete si algo falla. Y la regla editorial se aplicó también a los datos: calificación, reseñas, altitud, finca o certificaciones quedan como pendientes hasta que el dueño las confirma. El marcado de reseñas solo aparece si existen reseñas reales aprobadas.
Cada fase cerró con el mismo rastreador con que empezó: scripts propios que recorren los sitemaps y revisan H1, longitudes de title y description, canonical, robots, textos alternativos, tipos de JSON-LD y enlaces rotos, y dejan un informe de antes y otro de después.
Respaldo por faseReversión por cambioMedición antes y después
03Antes y después
Lo que midió el rastreo al cerrar cada fase.
Cifras de nuestros informes de rastreo del 28 de septiembre de 2026, antes y después de cada fase. Son de salud técnica, no de tráfico: describen el sitio que Google y los motores de respuesta encuentran ahora.
- 5 → 0
- enlaces internos rotos
- 2 → 0
- titles duplicados entre fichas
- 1 → 25
- páginas con un solo H1 (de 22 a 25 rastreadas con respuesta 200)
- 10 → 15
- preguntas del FAQ en el schema, de 15 visibles
- 0
- errores de validación en 21 instantáneas de JSON-LD
- 13
- redirecciones 301 al normalizar slugs y categorías
04La arquitectura
Cuatro zonas, una sola entidad.
No hacía falta inventar secciones: hacía falta que cada página tuviera un trabajo claro y un tipo de schema que lo dijera. Las migas de pan siguen el mismo orden en todo el sitio, de Inicio a Tienda, categoría y producto, o de Inicio a Blog, categoría y artículo.
7 productos, 3 categorías.
Café de especialidad, Cold Brew, Cócteles de café. Slugs normalizados para que nombre, peso y URL digan lo mismo, con 301 desde los viejos. Tienda y categorías como CollectionPage; cada ficha como ItemPage con su Product.
Historia, diferencia y exportación.
Nuestra historia y Nuestra diferencia como AboutPage. La exportación de café verde por cotización como servicio con su catálogo de ofertas, separada de la venta al consumidor, que es solo nacional.
Un blog que enlaza a la tienda.
Tres categorías: preparación, cold brew y café frío, y origen y procesos. Cada artículo enlaza a su pilar, a sus hermanos y a los productos por SKU; cada ficha muestra los artículos que la citan.
Un espejo bajo /en/.
Páginas, fichas, artículos, carrito, checkout y cuenta en inglés, con hreflang es, en y x-default. Pensado para el importador de café verde, el aficionado extranjero y el visitante que compra desde Colombia.
05La tienda
El mismo diseño, ahora bien jerarquizado.

El titular de la portada no era un H1. Ahora lo es, con la misma Mattone y el mismo tamaño: el cambio no se ve, se lee en el código.

Un H1 con la intención de búsqueda, «Tienda de café de especialidad», en vez de «Archives: Tienda». Los títulos de producto de la rejilla bajaron de h2 a h3.

Migas de pan completas, un solo H1 sin sufijos de SEO y la molienda obligatoria antes de comprar. Detrás, Product con marca, SKU, atributos y oferta en pesos.

Las mismas correcciones en la versión móvil: un H1 por pantalla y la misma jerarquía que en escritorio.

La línea B2B, café verde en bolsas al vacío por cotización, con su propio schema de servicio. La venta al consumidor no promete envíos internacionales.

La portada en inglés, traducida a mano a partir de un glosario y un brief de localización, no con un plugin de traducción automática.
06GEO y AEO
Del catálogo real al motor de respuestas.
Un motor de respuestas cita lo que puede leer sin ambigüedad. Por eso el schema y el llms.txt no se escribieron a mano: se generan de lo que WooCommerce ya sabe, y cambian cuando cambia la tienda.
WooCommerce
Productos y zonasbroo-seo
Mu-plugin propioJSON-LD
Un solo grafo/llms.txt
Catálogo en textoGoogle
Búsqueda y MerchantMotores de IA
Respuestas citadas
- 01
Una sola entidad
Un OnlineStore «Broo Café» con dirección en Medellín, contacto, redes y su política de devoluciones reemplaza a la cafetería con horario que no existía.
- 02
Envíos desde las zonas reales
OfferShippingDetails se arma con las zonas de envío de WooCommerce: cada tarifa activa se vuelve una región con su tiempo de preparación y de tránsito. Nada queda escrito a mano.
- 03
Producto completo
Product con marca, SKU, galería y atributos; Offer en pesos colombianos con vigencia de precio, envío y MerchantReturnPolicy.
- 04
FAQ igual a la página
El FAQPage se construye leyendo los acordeones del documento de Elementor. Si alguien edita una pregunta, el schema cambia con ella: 15 visibles, 15 marcadas.
- 05
llms.txt en vivo
Un archivo de texto generado en cada petición con los productos, su precio en COP, disponibilidad y atributos, las categorías, envíos, devoluciones, pagos y las páginas clave, con una sección en inglés.
- 06
Artículos citables
Cada artículo emite BlogPosting con sus fuentes en la propiedad citation y un FAQPage cuyo texto es idéntico a las preguntas visibles.
Es infraestructura, no un resultado. A la fecha de la auditoría, la marca todavía no aparece citada en respuestas de IA; la base para que eso ocurra ya está.
07Contenido citable
Primero la respuesta, luego el contexto.

Cada artículo abre con una respuesta de 40 a 60 palabras y su fuente: aquí, la proporción y el tiempo de reposo del cold brew según la National Coffee Association. Debajo, una tabla de contenidos con los H2 escritos como preguntas.

Cinco preguntas frecuentes por artículo, con el mismo texto en la página y en el FAQPage. Columna de lectura de 760 px y cuerpo de 18 px.

Las 15 preguntas de pedidos, envíos y productos son la fuente del FAQPage del sitio. Antes, el schema marcaba solo 10.

El catálogo como lo lee un modelo: cada producto con precio, disponibilidad, origen, proceso, tostión, peso y altitud, y debajo envíos, devoluciones y pagos. Se sirve como texto plano y fuera del índice de Google.
08El código
Un mu-plugin, siete módulos, 1.831 líneas.
Todo lo propio vive en broo-seo, un mu-plugin que no depende del tema y que WordPress carga antes que cualquier plugin. Cada módulo tiene un solo trabajo, carga aislado y se puede apagar sin tocar los demás.
Un H1 por URL.
El primer fragmento de los títulos partidos queda como H1 y el resto se le agrega para lectores de pantalla; el segundo widget pasa a ser un div con el mismo aspecto. Los títulos del loop bajan a h3 y desaparece el «Archives:».
El grafo del negocio.
Entidad, tipos de página, Product, Offer, envíos desde las zonas, devoluciones y FAQ desde Elementor. Descarta las imágenes que venían del dominio de la demo.
Migas con contexto.
Las de Rank Math, con Tienda o Blog insertados en la ruta y el mismo estilo que tenían las de WooCommerce.
Catálogo para modelos.
El /llms.txt generado desde WooCommerce, en texto plano y con noindex. Reemplaza al módulo de Rank Math, que se apagó.
La mecánica editorial.
Schema de artículo con fuentes, estilos de la respuesta rápida, enlaces cruzados con productos, redirecciones al reemplazar un artículo y purga de caché cuando se publica uno programado.
El inglés que compra.
Plantillas y menús en inglés, enlaces localizados, hreflang, selector de idioma y el carrito y checkout en inglés.
Cero inglés en el español.
Traducciones de cadenas del tema y de plugins que aparecían en inglés en el sitio en español, y el texto del banner de cookies.
09El programa editorial
32 artículos con fuente.
El blog se planeó en dos lotes. El primero, 12 artículos aprobados con sus keywords, se programó para publicarse lunes y miércoles a las 7:00, del 29 de septiembre al 5 de noviembre de 2026: métodos de preparación, cold brew, prensa francesa, procesos, grano o molido, V60, Chemex, AeroPress, moka, cócteles de café. El segundo, 20 artículos, salió de una investigación de tendencias del cuarto trimestre de 2026 y empezó a publicarse el 26 de octubre.
Cada artículo sigue la misma plantilla: title de hasta 60 caracteres, description de 140 a 160, H2 en forma de pregunta, cinco preguntas frecuentes y al menos una fuente primaria. Los 12 del primer lote citan 38 fuentes, todas comprobadas respondiendo 200 antes de publicar: la SCA, la National Coffee Association, un estudio de Scientific Reports, los manuales de Hario, Chemex, AeroPress y Bialetti, la Federación Nacional de Cafeteros, Cenicafé y World Coffee Research, entre otras. En el lote de tendencias, cada dato lleva su fuente y los débiles quedaron marcados como «no usar».
El autor es «Equipo Broo Café», sin credenciales inventadas. Las imágenes son fotos libres de Unsplash con crédito al fotógrafo. Un enlace a un artículo que todavía no se publica se muestra como texto hasta que el destino sale, y la caché se purga al publicar para que los enlaces y los bloques de las fichas se actualicen solos.
La plantilla de cada artículo
- 01Respuesta rápida de 40 a 60 palabras, con fuente
- 02Tabla de contenidos
- 03H2 escritos como preguntas
- 04Cinco preguntas frecuentes, también en el schema
- 05Fuentes primarias en la página y en el schema
- 06Enlaces al pilar, a los hermanos y a los productos
10La versión en inglés
Comprar en inglés sin duplicar la tienda.
La versión en inglés se montó con Polylang: 11 páginas, las 7 fichas, los artículos publicados y los programados, 12 plantillas de Elementor, 5 menús y 79 textos alternativos que solo se sirven en las páginas en inglés. El texto se localizó a mano desde archivos fuente, con glosario y un brief de SEO por idioma.
El problema interesante era el carrito. Duplicar los productos en inglés habría partido en dos el inventario, los pedidos, los reportes y el feed de Merchant Center. La ficha en inglés se puede comprar, con sus propias opciones de molienda en inglés, pero al agregar al carrito el artículo se cambia por su gemelo en español. Las opciones se guardan en español en el pedido y se muestran en inglés en el carrito y el checkout. Stock, pedidos y reportes siguen viviendo en un solo producto.
Carrito, checkout y cuenta tienen sus páginas bajo /en/, y las peticiones AJAX de WooCommerce se enrutan allí también. Las etiquetas de envío y de pago se traducen solo para el cliente en inglés; la lógica de pago no se tocó y los correos del pedido siguen en español. Antes de liberar, una revisión encontró que el primer botón «Buy now» agregaba café sin la molienda obligatoria. Se corrigió antes de que pasara un solo pedido por ahí.
La única excepción
Pagos, impuestos, envíos y precios quedaron fuera del alcance desde el principio. El checkout en inglés fue la única excepción aprobada, y solo para la ruta y el idioma.
11El diseño
No rediseñamos la marca. La hicimos legible.
La identidad visual es la que Broo ya tenía: el naranja, la arena y el negro del kit de Elementor, el navy de las etiquetas, Mattone para titular y Kanit para leer. No cambiamos ningún layout. Las correcciones de H1 se hicieron para que conservaran exactamente el mismo aspecto: quien visita la página no nota la diferencia, quien la rastrea sí.
Donde sí intervinimos fue en la lectura de los artículos. El H1 del artículo pasaba de 60 px y se partía en tres líneas; ahora escala entre 44 y 28 px con un ancho máximo de 880 px. Los H2 del cuerpo bajaron de 60 px a una escala entre 34 y 24 px. El texto pasó de 16 px con unos 180 caracteres por línea a 18 px con interlineado de 1,7 en una columna de 760 px. Las imágenes del cuerpo quedaron topadas, las tablas se desplazan en horizontal y la caja de autor se ordena en dos columnas.
12Sistema visual del cliente
Naranja, arena y navy: la marca tal como estaba.
Acento · Navegación activa · Respuesta rápida
- HEX
- #FF6A00
- RGB
- 255 · 106 · 0
Logo · Etiquetas de las bolsas
- HEX
- #062149
- RGB
- 6 · 33 · 73
Titulares · Botones
- HEX
- #000000
- RGB
- 0 · 0 · 0
Fondo de tienda y blog
- HEX
- #F5F3F1
- RGB
- 245 · 243 · 241
Tarjeta del hero
- HEX
- #FAF9F8
- RGB
- 250 · 249 · 248
Bordes · Divisores
- HEX
- #DCD6CC
- RGB
- 220 · 214 · 204
Texto secundario
- HEX
- #5E5E5E
- RGB
- 94 · 94 · 94
13Tipografía de los artículos
Una display ancha, una sans que se deja leer.
Mattone
Aa Bb Cc — 0123456789
Un solo peso, autoalojado
Kanit
Aa Bb Cc — 0123456789
Regular 400 · Medium 500
Kanit · versalitas
Aa Bb Cc — 0123456789
Medium 500
Qué es el cold brew y cómo prepararlo en casa
44 → 28 px · máx. 880 px¿Cómo hacer cold brew en casa?
34 → 24 pxHace calor, quieres un café y el tinto recién hecho no provoca. No tiene secreto de barista: tiene tiempo.
18 px · 1,7 · columna de 760 pxInicio / Blog / Cold brew y café frío
16 px · versalitas14Dónde está hoy
La base está. La medición apenas empieza.
El 24 de octubre de 2026 hicimos una auditoría de solo lectura con datos de Search Console, rastreo de SERP, backlinks, Lighthouse y menciones en respuestas de IA. Su conclusión es la que esperábamos: el cuello de botella ya no es técnico. El sitio se rastrea limpio, el schema valida y Google ya muestra las fichas con precio en los resultados. La ventana para medir tráfico y ventas apenas se abre, y no vamos a adelantar cifras que todavía no existen.
Lo que falta también se dice. La marca comparte nombre con cafés de otros países y necesita trabajo de entidad. Las fichas no tienen reseñas todavía. El blog enlaza poco a la tienda, y la página del blog no enlaza a ningún producto. La automatización que reemplaza artículos viejos dejó una URL sin pasar a borrador, y sigue en la lista. Los siguientes pasos que recomendó la auditoría —páginas de categoría para «café en grano» y «café molido», entidad de marca, reseñas y autoridad— son recomendaciones, no trabajo entregado.
Entregado
- 01Restos de la demo fuera, sin cambiar el diseño
- 02Un H1 por URL y titles únicos
- 03Grafo JSON-LD desde datos reales de WooCommerce
- 04FAQPage leído de la página
- 05llms.txt generado en vivo
- 06Merchant Center con envíos y devoluciones reales
- 0732 artículos con fuentes, programados
- 08Versión en inglés con carrito y checkout propios
15El valor
Lo que cambia cuando la tienda dice la verdad.
Lo que el sitio promete, la tienda lo cumple.
Antes, el sitio prometía suscripciones, envíos internacionales y una pasarela que no existían, y le decía a Google que era una cafetería con horario. Ahora cada promesa coincide con la operación, y cada dato que leen Google, Merchant Center o un modelo de lenguaje sale de la misma fuente que usa la tienda para vender.
Es una base que no depende de un truco: si mañana cambia una tarifa de envío, una pregunta frecuente o un precio, el schema y el llms.txt cambian con ella.
Datos realesMedición propiaBilingüe
beleafdesign
¿Tu tienda le dice a Google lo mismo que a tus clientes?
Si vendes en WooCommerce, revisamos qué encuentran hoy Google, Merchant Center y los motores de respuesta en tu sitio, y qué tendrían que encontrar. Medido antes y después.
Hablemos de tu proyecto