PS PrestaShop Intermedio

Filtros por Facetas AJAX para PrestaShop — Documentación

Instalar, configurar y explotar la navegación por facetas AJAX: facetas, slider de precio, SEO de las URLs filtradas, ámbito por categoría, caché y estadísticas.

Actualizado Versión del módulo 1.1.0

Esta guía cubre la instalación, configuración y explotación del módulo Filtros por Facetas AJAX para PrestaShop 8 y 9. El módulo sustituye la búsqueda por facetas nativa por una navegación AJAX más rápida, un slider de precio con histograma y un control preciso de la indexación SEO de las páginas filtradas.

Instalación

En tu back-office, abre Módulos > Gestor de módulos, haz clic en Subir un módulo y suelta el archivo dffacetedfilter.zip. Al instalarse, el módulo automáticamente:

  • crea sus tablas y su pestaña de administración;
  • ejecuta una primera sincronización de facetas desde tu catálogo;
  • precalienta el índice de precios (en unos segundos).

El módulo tiene prioridad en el hook productSearchProvider para ejecutarse por delante de la búsqueda por facetas nativa de PrestaShop. No se sobrescribe ningún archivo de tu tema.

Primera configuración

Ve a Catálogo > Filtros por facetas. Allí encontrarás la lista de facetas, un panel de resumen y los ajustes generales y SEO.

Sincronizar las facetas

El botón Sincronizar desde el catálogo crea automáticamente las facetas que faltan a partir de tus grupos de atributos, tus características y las facetas integradas (precio, marca, rebajas, disponibilidad, estado). Las facetas existentes nunca se modifican: puedes relanzar la sincronización con total seguridad tras añadir un atributo o una característica.

Reconstruir el índice de precios

El botón Reconstruir el índice de precios recalcula los límites de precio de todos los productos, por lotes, con una barra de progreso. Lánzalo tras la instalación y después de cualquier importación masiva de productos.

Gestionar las facetas

Cada fila puede reordenarse arrastrando y soltando (el orden define tanto el orden de visualización en el front como el orden normalizado de las URLs), activarse o desactivarse, y editarse.

Opciones de una faceta

  • Etiqueta: el nombre mostrado, traducible por idioma.
  • Visualización: casillas, muestras de color / textura, o enlaces simples. Los grupos de color heredan automáticamente la visualización en muestras.
  • Multiselección: permite seleccionar varios valores de una misma faceta a la vez, combinados con O.
  • Mostrar contadores: muestra el número de productos junto a cada valor.
  • Ocultar valores vacíos: oculta los valores con cero productos en lugar de mostrarlos atenuados.
  • Plegada por defecto: la faceta se muestra cerrada y el visitante la despliega al hacer clic.
  • Valores antes de «Ver más»: número de valores visibles antes del botón de expansión (0 = mostrar todos).

Se aplica el conteo disyuntivo: cada faceta se cuenta teniendo en cuenta todas las demás selecciones, pero no la suya. Seleccionar «Rojo» nunca pone «Azul» a cero dentro de la misma faceta.

El slider de precio y su índice

La faceta Precio se muestra como un doble control deslizante. Encima, un histograma de distribución de productos en doce tramos ayuda al visitante a situar los precios. Estos datos provienen de un índice de precios dedicado, separado de las tablas de PrestaShop, para mantener la rapidez incluso en catálogos grandes.

Mantenimiento del índice

El índice se actualiza en tiempo real mediante hooks cuando cambia un producto, un precio específico o una combinación. Para una reconstrucción completa planificada, usa el endpoint cron mostrado en el back-office:

/module/dffacetedfilter/cron?token=TU_TOKEN

La llamada procesa el índice por tramos con un límite de tiempo de unos 20 segundos; si quedan productos, la respuesta devuelve la URL de continuación para volver a llamar. Una llamada nocturna diaria es suficiente en la mayoría de los casos.

El ajuste Filtrar precios con impuestos determina si el slider razona con precios con o sin impuestos. El índice almacena los precios en la moneda por defecto; la visualización se convierte a la moneda actual.

La faceta Rebajas

La faceta En rebajas filtra los productos actualmente con descuento: productos marcados como «en oferta» o cubiertos por un precio específico activo (una reducción en curso, dentro de su rango de fechas, para la moneda, el país y el grupo actuales). Se crea activada por defecto durante la sincronización.

Disponibilidad y estado

Se crean dos facetas integradas complementarias, desactivadas, para activar según necesites:

  • Disponibilidad: un valor «En stock» que respeta tu ajuste de pedido en rotura de stock.
  • Estado: nuevo, usado, reacondicionado.

Restringir una faceta a categorías

Por defecto, una faceta aparece en todas las páginas de listado. En el formulario de edición, la sección Restringir a categorías te permite marcar una o varias categorías: la faceta solo aparecerá entonces en esas categorías y sus subcategorías.

Es la manera correcta de mantener un menú de filtros pertinente en un catálogo heterogéneo: muestra «Talla» solo en Calzado, «Tamaño de pantalla» solo en Tecnología. Deja todo sin marcar para una faceta global.

La SEO de las facetas

Es uno de los puntos fuertes del módulo: decides con precisión qué páginas filtradas pueden indexarse. Las URLs de filtros son legibles y siguen este formato:

/categoria?dff=color:rojo,azul-marino/precio:10,50/marca:nike

Las facetas se separan con una barra, el slug de la faceta y sus valores con dos puntos, y los valores entre sí con una coma. El orden de las facetas y la ordenación de los valores están normalizados para que una misma combinación produzca siempre una única URL canónica.

Ajustes SEO

  • Indexable (por faceta): una faceta no indexable fuerza la página filtrada a noindex, follow y añade rel="nofollow" en sus enlaces.
  • N.º máx. de valores indexables: por encima de este número de valores seleccionados, la página pasa a noindex, follow. El valor 1 es el más seguro contra la explosión del presupuesto de rastreo.
  • Canónica propia en páginas indexables: las páginas indexables reciben una etiqueta canónica que apunta a su propia URL de filtro normalizada. La canónica del tema se elimina en el front para evitar duplicados.
  • Todo a noindex: fuerza noindex, follow en todas las páginas filtradas, sean cuales sean los ajustes por faceta.

Una página filtrada también se pone en noindex, follow cuando hay un parámetro de ordenación presente, ya que es un duplicado de la página en su orden por defecto.

Modos AJAX

El ajuste Modo AJAX determina cómo se actualiza la página al hacer clic en un filtro:

  • Tema (eventos nativos) — recomendado: el módulo emite el evento nativo de PrestaShop y deja que el núcleo y el tema refresquen la lista, las facetas y el historial del navegador. Es el modo más compatible con los temas basados en classic.
  • Autogestionado: para temas no estándar, el módulo obtiene la página por AJAX él mismo y reemplaza los bloques correspondientes. Úsalo solo si el modo Tema no refresca la página correctamente.

Caché de contadores

Calcular los contadores disyuntivos puede ser costoso en un catálogo grande. El módulo almacena su resultado en caché durante un tiempo corto y configurable (300 segundos por defecto). Esta caché se invalida automáticamente en cada cambio del catálogo y en cada edición de una faceta. Hay disponible un botón Vaciar la caché de contadores en el back-office.

Estadísticas de uso

El panel, en la parte superior de la página de administración, resume los últimos 30 días: productos indexados, número de vistas de páginas filtradas, parte del presupuesto de rastreo mantenida fuera del índice (páginas filtradas servidas como noindex) y una clasificación de las facetas más usadas. Puedes desactivar el registro de estadísticas en los ajustes de rendimiento.

Páginas compatibles

Las facetas se aplican a las páginas de categoría, marca, proveedor, novedades, más vendidos, ofertas y resultados de búsqueda (respetando el ranking nativo de PrestaShop). La faceta Marca se oculta automáticamente en una página de marca, y las facetas limitadas por categoría en una página de búsqueda.

Desactivar la búsqueda por facetas nativa

El módulo tiene prioridad sobre ps_facetedsearch, pero recomendamos desactivar este último para evitar un doble trabajo de indexación. Un aviso en el back-office te lo recuerda si sigue activo.

Resolución de problemas

  • Las facetas no aparecen: lanza una sincronización, comprueba que al menos una faceta esté activa y que estés en una página de listado compatible.
  • Falta el slider de precio: reconstruye el índice de precios; la faceta Precio se oculta mientras el índice esté vacío para la categoría mostrada.
  • La página no se refresca por AJAX: cambia el modo AJAX a «Autogestionado» si tu tema no sigue el estándar de PrestaShop.
  • Demasiadas páginas indexadas: baja el n.º máx. de valores indexables, haz no indexables las facetas de alta cardinalidad (color, talla), o activa «Todo a noindex» mientras retomas el control.

El código fuente se entrega sin cifrar. Dispones de 12 meses de actualizaciones de compatibilidad y soporte en menos de 24 h.

¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte