SearchWP Documentation

Consulta la guía de instalación, explora la base de conocimiento, descubre los numerosos hooks de SearchWP

Ordenar resultados de productos por ventas totales

SearchWP clasifica los resultados de búsqueda según la coincidencia con los términos de búsqueda. Esta clasificación utiliza los ajustes de peso que configuras en los ajustes del motor para los diferentes campos de contenido. Sin embargo, para las tiendas WooCommerce, es posible que desees mostrar productos según cuántas veces se han vendido en lugar de solo la coincidencia de contenido.

Ordenar los productos por ventas totales puede ayudar a aumentar los ingresos al mostrar primero tus productos más populares. Esta estrategia coloca los productos que a los clientes ya les gustan en la parte superior de los resultados de búsqueda.

Ordenar Resultados por Ventas Totales

Si deseas mostrar los resultados de productos ordenados por número de ventas, puedes usar el código a continuación. Este método ignora la coincidencia de contenido y muestra tus productos más vendidos primero, sin importar cuán bien coincidan con los términos de búsqueda.

<?php
// Order product search results by total sales
add_filter( 'searchwp\query\mods', function( $mods, $query ) {
global $wpdb;
$mod = new \SearchWP\Mod();
$alias = \SearchWP::$index->get_alias();
$meta_alias = 'my_searchwp_sort_products';
$meta_key = 'total_sales';
$mod->column_as( $wpdb->prepare( "(
SELECT meta_value
FROM {$wpdb->postmeta}
WHERE
{$wpdb->postmeta}.post_id = {$alias}.id
AND {$wpdb->postmeta}.meta_key = %s
)", $meta_key ),
$meta_alias );
$mod->order_by( "{$meta_alias} + 0", 'DESC', 5 );
$mods[] = $mod;
return $mods;
}, 30, 2 );

Este código ordena tus resultados de búsqueda por el número de ventas en orden descendente (de mayor a menor). La implementación tiene total precedencia sobre el algoritmo de relevancia de SearchWP, lo que significa que los productos siempre se ordenarán por volumen de ventas independientemente de cuán bien su contenido coincida con la consulta de búsqueda.

Nota: Si dos o más productos tienen el mismo número de ventas, su orden se determinará por una clasificación secundaria basada en la relevancia.

Impulsar Productos Populares Manteniendo la Relevancia

Si deseas mantener la clasificación normal de SearchWP pero dar puntos extra a los productos que se venden bien, puedes usar un enfoque diferente. Este método mantiene la coincidencia de contenido en su lugar pero impulsa los productos populares más arriba en los resultados.

<?php
// Boost relevance for WooCommerce products with high total sales
add_filter( 'searchwp\query\mods', function( $mods, $query ) {
global $wpdb;
// Adjustable variables
$min_total_sales = 100; // Minimum sales required to qualify
$bonus_weight = 99999; // Base relevance weight
$sales_multiplier = 100; // Extra relevance per sale
$search_term = trim( $query->get_keywords() );
if ( empty( $search_term ) ) {
return $mods;
}
$mod = new \SearchWP\Mod();
$mod->set_local_table( $wpdb->posts );
$mod->on( 'ID', [ 'column' => 'id' ] );
$mod->relevance( function( $runtime ) use ( $wpdb, $min_total_sales, $bonus_weight, $sales_multiplier ) {
$alias = $runtime->get_local_table_alias();
return "
CASE
WHEN {$alias}.post_type = 'product'
AND (
SELECT CAST(pm.meta_value AS UNSIGNED)
FROM {$wpdb->postmeta} pm
WHERE pm.post_id = {$alias}.ID
AND pm.meta_key = '_total_sales'
LIMIT 1
) >= {$min_total_sales}
THEN
{$bonus_weight} +
(
SELECT CAST(pm.meta_value AS UNSIGNED)
FROM {$wpdb->postmeta} pm
WHERE pm.post_id = {$alias}.ID
AND pm.meta_key = '_total_sales'
LIMIT 1
) * {$sales_multiplier}
ELSE 0
END
";
});
$mods[] = $mod;
return $mods;
}, 20, 2 );

Este código agrega puntos de bonificación a los productos que se han vendido un cierto número de veces. La bonificación incluye una puntuación base más puntos extra basados en las ventas totales. Esto significa que los productos populares obtienen clasificaciones más altas mientras que SearchWP todavía considera cuán bien los productos coinciden con los términos de búsqueda.

Ajustando la Configuración

El código incluye tres ajustes que puedes cambiar para controlar cómo funciona el impulso:

Ventas Totales Mínimas ($min_total_sales): Establecido en 100 por defecto. Este es el número de ventas que un producto necesita antes de recibir el impulso. Cambia este número según las ventas típicas de tu tienda.

Peso de Bonificación ($bonus_weight): Establecido en 99999 por defecto. Esta es la puntuación base que se agrega a los productos que califican. Números más altos dan a los productos populares una mayor ventaja.

Multiplicador de Ventas ($sales_multiplier): Establecido en 100 por defecto. Este número se multiplica por las ventas totales del producto para agregar más puntos. Números más altos crean una mayor diferencia entre productos moderadamente populares y muy populares.

Añadiendo el Código

Puedes agregar los hooks personalizados usando un plugin de fragmentos de código como WPCode, o creando un plugin de personalizaciones de SearchWP como se explica en esta documentación de SearchWP.

Una vez que agregues y actives el código, SearchWP comenzará a usar tu nueva estrategia de ordenación de inmediato. Con el método de impulso, los productos con suficientes ventas aparecerán en la parte superior de los resultados, seguidos por otros productos coincidentes.

Realiza un seguimiento de los resultados con las métricas de SearchWP

Después de agregar una estrategia de ordenación basada en ventas, usa la extensión Métricas de SearchWP para ver cómo funciona con el tiempo. Las métricas te muestran cuántos clics obtienen tus productos más vendidos en comparación con otros resultados. Esto te ayuda a comprender si la nueva ordenación está funcionando bien.

Al observar los datos de clics en Métricas, puedes ver si los clientes encuentran lo que quieren más rápido, o si están omitiendo buenos productos que no se venden tanto. Usa esta información para ajustar tu estrategia, cambiar la configuración en el código o probar diferentes enfoques para encontrar lo que mejor funciona para tu tienda.

Cree hoy mismo una mejor experiencia de búsqueda en WordPress

No vuelva a perder visitantes por resultados de búsqueda inútiles. SearchWP facilita la creación de su propia búsqueda inteligente en WordPress.

Get SearchWP Now
Icono de múltiples motores de búsqueda