El buscador de una tienda PrestaShop pregunta al servidor en cada tecla: la barra de búsqueda estándar envía cada
letra a la página de búsqueda, que lanza una consulta pesada sobre el índice de palabras. En una tienda con
tráfico es de lo más caro que hace un visitante, y no se puede cachear. Búsqueda Instantánea lleva ese trabajo al
navegador. La tienda escribe archivos JSON con lo que se puede buscar, el navegador los lee una vez, al primer clic
en el buscador, y después responde a cada tecla por su cuenta.
Cómo encaja en PrestaShop
El módulo se encarga del buscador que ya muestra tu theme (la barra estándar, Classic, Hummingbird, Aura): no hay
que tocar el theme. Su página de ajustes, en Módulos › Gestor de módulos › Configurar, tiene tres pestañas: los
campos en los que busca con sus pesos y una caja para probarlos, las opciones del buscador, y los archivos con una
barra de progreso para regenerarlos. Los hooks de productos, stock, reglas de precio, combinaciones, categorías,
marcas, características, alias, monedas y grupos dejan en cola lo que cambia, y el navegador de un visitante pide
al módulo que actualice los archivos cuando la página ya se ha mostrado. Cada idioma, moneda y grupo de clientes
tiene sus archivos, con los precios que paga ese visitante. Probado en PrestaShop 8.2 y 9.0 con PHP 8.1 o superior.
Preguntas frecuentes
- ¿Para qué tamaño de catálogo?
- Probado con 20.000 productos por idioma y grupo de clientes: el archivo de
búsqueda pesa entonces de 0,3 a 1,5 MB comprimido, se lee una vez por visita y cada búsqueda tarda milisegundos.
- ¿Afecta al SEO?
- No. La página de resultados no se indexa y, sin JavaScript, responde la búsqueda estándar.
- Mi servidor usa nginx.
- Permite
img/ecomsearch/*.json en tu configuración; en Apache el módulo añade la regla.