8 min de lecturabuscador woocommerceWooCommercesinónimosbúsqueda interna

Sinónimos en el buscador de WooCommerce: 495 búsquedas en cero por escribirlo distinto

«blue lock» encuentra 22 productos; «bluelock», cero. Medido hoy en una tienda real: seis palabras que el cliente escribe de otra forma que el catálogo sumaron 495 búsquedas en 68 días, y la tienda tenía cero sinónimos configurados. Cómo encontrar los tuyos y arreglarlos hoy.

Hace tres semanas escribí sobre las erratas: alguien escribe «figrua» y el buscador de WooCommerce devuelve cero. Al final dejé apuntado un segundo problema, el de vocabulario. Hoy lo he medido.

Esto es lo que ha devuelto hoy, 15 de septiembre de 2026, el buscador nativo de una tienda WooCommerce real de coleccionismo, con 1.483 productos activos:

Lo que escribe el cliente Resultados Lo que dice el catálogo Productos
bluelock 0 blue lock 22
haikyuu 0 haikyu 32
peluches 0 peluche 28
yugioh 0 yu-gi-oh 10
kitagawa 0 marin 7
tokio 0 tokyo 4

Ninguna de las seis es una errata. «Bluelock» es como lo escribe mucha gente, todo junto. «Haikyuu» es una transcripción habitual del japonés; «Haikyu!!» es la del título comercial. «Tokio» es como se dice en español. Kitagawa es el apellido del personaje, y la ficha solo pone el nombre. Y «peluches» es… el plural.

El cliente no se ha equivocado. Tu catálogo y tu cliente hablan distinto, y el buscador no traduce.

Por qué ni siquiera el plural funciona

En el artículo de las erratas vimos que WordPress busca con LIKE '%palabra%': la palabra tiene que estar tal cual, como trozo del título o de la descripción. Eso da un efecto raro y muy poco intuitivo:

  • peluch → encuentra «peluche», porque es un trozo.
  • peluches → cero, porque «peluches» no está escrito en ningún producto.

Escribir de menos funciona; escribir de más, no. El plural es una letra de más. Lo mismo pasa con «haikyuu» contra «haikyu!!» y con cualquier palabra que el cliente escriba más larga que tu ficha. Y «bluelock» contra «blue lock» es peor: el espacio parte la palabra en dos y ya no hay trozo que coincida.

Cuánto pesa

Estas son las cuentas de esa misma tienda, del 10 de julio al 15 de septiembre de 2026 — 68 días y 68.335 búsquedas:

Palabra Búsquedas Visitantes distintos
kitagawa 177 105
haikyuu 162 97
peluches 47 35
bluelock 42 18
yugioh 36 23
tokio 31 18
Total 495

495 búsquedas en 68 días que el buscador nativo habría mandado a una página vacía, teniendo el producto en stock.

Son seis palabras. No he contado todas las de la tienda, solo las que he podido comprobar una a una hoy contra la web y el catálogo. Es un suelo.

Y el dato que más me llamó la atención: la tienda tenía cero sinónimos configurados. No porque no le importe, sino porque nadie sabía que existía el problema. Esas búsquedas no dejan rastro en WooCommerce.

(Esa tienda usa WildRock, así que en la práctica esas 495 búsquedas sí encontraron productos: la búsqueda semántica y la difusa taparon el hueco sin que nadie escribiese un sinónimo. Pero lo que acabas de ver es lo que devuelve la misma web con el buscador de serie, que es el que tiene casi todo el mundo.)

Los cuatro tipos de sinónimo que hay que buscar

Cuando revisas tu lista, casi todo cae en uno de estos cuatro cajones. Saber cuál es ayuda a encontrar los demás:

  1. Junto o separado, con guion o sin él: bluelock / blue lock, yugioh / yu-gi-oh, spiderman / spider-man, camiseta manga larga / manga-larga.
  2. Plural y singular: peluches / peluche, figuras / figura, tazas / taza. En español es el más frecuente y el que menos gente sospecha.
  3. Otra forma de decirlo: tokio / tokyo, sudadera / hoodie, zapatillas / deportivas, móvil / smartphone. Aquí entran los nombres en inglés que tú usas en la ficha y el cliente traduce.
  4. El nombre que usa el cliente para una cosa que tú llamas de otra manera: el apellido de un personaje, el nombre de la serie en lugar del de la licencia, «la de la tele» en lugar del modelo.

Cómo encontrar los tuyos

Necesitas el registro de búsquedas del artículo de las erratas (el mu-plugin de veinte líneas que guarda cada búsqueda y cuántos resultados dio). Si no lo tienes, está aquí, y en una semana tienes datos.

Con eso, esta consulta te saca las palabras que más se buscan y nunca devuelven nada:

SELECT termino, COUNT(*) AS veces
FROM wp_busquedas
WHERE resultados = 0
GROUP BY termino
HAVING veces >= 3
ORDER BY veces DESC
LIMIT 100;

Y aquí viene el truco para separar sinónimos de erratas y de productos que no tienes: para cada palabra de la lista, busca en tu tienda una versión más corta. Quita la «s» final, quita una letra repetida, pártela en dos, ponle un guion. Si alguna versión devuelve productos, es un sinónimo y va a tu lista. Si ninguna devuelve nada, o es una errata (el otro artículo) o es algo que no vendes (y eso también es información: te lo están pidiendo).

Si tienes WP-CLI, la comprobación del plural es automática:

wp db query "SELECT termino FROM wp_busquedas WHERE resultados=0 AND termino LIKE '%s' GROUP BY termino ORDER BY COUNT(*) DESC LIMIT 30" --skip-column-names \
| while read t; do
    n=$(wp post list --post_type=product --post_status=publish --s="${t%s}" --format=count)
    [ "$n" -gt 0 ] && echo "$t -> ${t%s} ($n productos)"
  done

Lo que sale por pantalla es tu lista de plurales rotos, con cuántos productos recuperas con cada uno.

Cómo arreglarlo hoy, gratis

Otro archivo en wp-content/mu-plugins/, por ejemplo sinonimos-busqueda.php:

<?php
/**
 * Plugin Name: Sinónimos de búsqueda
 * Description: Traduce lo que escribe el cliente a como lo llama el catálogo.
 */

add_action('pre_get_posts', function ($query) {
    if (is_admin() || !$query->is_search() || !$query->is_main_query()) {
        return;
    }

    // Lo que escribe el cliente => como aparece en tus productos.
    // Frases antes que palabras sueltas: se aplican en este orden.
    $sinonimos = [
        'bluelock'  => 'blue lock',
        'yugioh'    => 'yu-gi-oh',
        'spiderman' => 'spider-man',
        'haikyuu'   => 'haikyu',
        'tokio'     => 'tokyo',
        'kitagawa'  => 'marin',
        'peluches'  => 'peluche',
        'figuras'   => 'figura',
    ];

    $original = mb_strtolower(trim($query->get('s')));
    $busqueda = $original;

    foreach ($sinonimos as $cliente => $catalogo) {
        // \b evita que 'tokio' cambie dentro de otra palabra.
        $busqueda = preg_replace('/\b' . preg_quote($cliente, '/') . '\b/u', $catalogo, $busqueda);
    }

    if ($busqueda !== $original) {
        $query->set('s', $busqueda);
    }
});

Dos cosas importantes:

  • Es de un solo sentido, a propósito. Traduces de cómo lo dice el cliente a cómo lo dice tu catálogo, nunca al revés. Con el buscador nativo no puedes decir «busca esto O aquello» sin reescribir la consulta SQL, así que lo sensato es llevar siempre la búsqueda hacia la palabra que sí está en tus fichas.
  • Si quien está mal eres tú, arregla la ficha. Si tus clientes escriben «Tokio» y tú pones «Tokyo», el sinónimo lo parchea, pero añadir «Tokio» en la descripción del producto lo arregla también para Google y para ChatGPT, que leen tus fichas y no tu mu-plugin.

Pega tus diez o veinte peores y ya has recuperado la mayor parte. Diez minutos.

Dónde deja de valer

La lista a mano tiene un techo claro: solo arregla lo que ya sabes. Cada producto nuevo trae un nombre nuevo, y la gente lo escribirá junto, separado, en plural y en su idioma antes de que te dé tiempo a apuntarlo. Además, con el reemplazo de un solo sentido pierdes matices: «peluches» se convierte en «peluche», pero «figuras de peluche» ya depende de que el orden de tu lista sea el correcto.

A partir de cierto tamaño lo que funciona es no depender de la lista:

  • Normalizar antes de buscar: quitar tildes, guiones, plurales. Resuelve los cajones 1 y 2 sin escribir nada.
  • Búsqueda semántica, que compara significados en lugar de letras. Es lo que resuelve los cajones 3 y 4: «tokio» y «tokyo», «sudadera» y «hoodie», el apellido y el personaje.
  • Y una lista de sinónimos encima, para las pocas cosas que solo sabe tu tienda.

Es lo que hace un buscador dedicado: las tres cosas a la vez, fusionadas. Y es la razón por la que, en esa tienda, esas 495 búsquedas encontraron productos sin que nadie escribiese un sinónimo.


Por orden, lo que yo haría esta semana:

  1. La prueba de treinta segundos. Busca en tu tienda el plural de un producto que vendes. Si sale cero, ya sabes que tienes el problema.
  2. Pon el registro de búsquedas si aún no lo tienes. Sin él todo esto es intuición.
  3. A los siete días, saca la lista de ceros y pásale la prueba de la versión corta.
  4. Pega los diez peores en el mu-plugin de sinónimos. Y si alguno es culpa de tu ficha, arregla la ficha.
  5. Si cada semana aparecen nuevos, es la señal de que toca un buscador que lo haga solo.

Si estás en ese último punto, tienes la guía de cómo elegir un buscador para ecommerce, con los precios de cada opción comprobados y cuándo cada competidor es mejor que nosotros.

¿Tu tienda pierde ventas por búsquedas que no encuentran nada?

WildRock añade a tu WooCommerce un buscador que entiende lo que tus clientes quieren decir, y te dice en euros cuánto te está generando. Plugin gratuito, sin tocar código.