Mejorando el Buscador de WordPress (II)

En la entrada anterior explicamos cómo crear y configurar campos personalizados para el plugin de Advanced Custom Fields. Además explicamos cómo mostrar esos campos solamente en un tipo de entradas, en los post type propiedad. De este modo ya sabemos cómo añadir nuevos módulos de meta etiquetas a los post type que queramos.

custom-metabox-wp

En esta segunda parte de cómo mejorar el buscador de WordPress vamos a explicar cómo configurar el plugin Relevanssi para que el buscador de WordPress indexe no sólo la información de los títulos y entradas, sino también toda aquella información susceptible de ser indexada de nuestra web.

Pero, ¿qué es lo que hace Relevanssi? Pues básicamente lo que hace es reemplazar el motor de búsqueda que trae WordPress por uno mejorado. Y lo hace añadiendo a las funciones de búsqueda que trae por defecto una serie de funciones nuevas que mejoran la capacidad de indexación y búsqueda de resultados. No hace falta que cambiemos nada en nuestra web, con activar el plugin éste detectará dónde hay formularios de búsqueda y los mejorará. La configuración es muy sencilla, vamos a ello:

Lo primero vamos al panel de ajustes del plugin, en Ajustes: Relevanssi. Una vez en el panel de configuración del plugin veremos que hay 2 grupos de ajustes principales, “Basic options” y “Weights”.

Desde el primer grupo de opciones podemos limitar el número de coincidencias a mostrar por búsqueda, el orden en que queremos que se muestren los resultados (relevancia o fecha) y el tipo de operador lógico a la hora de filtrar la consulta AND/OR (dependiendo de si queremos que la búsqueda requiera uno o todos los términos empleados por el usuario en su consulta).

opcionesbasicas

Si además activamos la opción de “fuzzy matching” conseguiremos que en lugar de no mostrar nada cuando no haya coincidencias, nuestro buscador muestre resultados similares a los términos de búsqueda empleados.

fuzzy-matching

En cuanto al segundo bloque de configuración “Weights”, lo que nos permite es ser más específicos en la configuración de búsqueda. Lo que nos permite es establecer un índice de prioridad en los elementos que va a analizar el buscador, distinguiendo entre títulos de las entradas, comentarios, etiquetas y categorías. Por ejemplo, podemos decir que los títulos de los post tienen un peso de 5 puntos, mientras que los comentarios en las entradas sólo tienen un peso de 0.5. Si creemos que no debe diferenciarse el peso/importancia de las palabras empleadas en títulos de las empleadas en otras zonas, pondremos un 0.

weithts-relevanssi

Si nos interesa tener un histórico de búsquedas podemos hacerlos desde “Logs“, activando esa casilla podremos almacenar información sobre las búsquedas realizadas por los usuarios, incluso sus IPs.

Otras opciones a configurar importantes las encontramos bajo el título “Indexing Options“, opciones de indexado. Necesitaremos configurarlas para construir el índice de búsquedas. Desde esta tabla de opciones se nos permite escoger exactamente qué queremos que indexe nuestro buscador. Así que desde aquí escogeremos qué entradas, páginas, adjuntos, post types, campos personalizados, categorías, etiquetas, autores… queremos que sean rastreables por el motor de búsqueda de WordPress. Debemos asegurarnos de que marcamos todo lo que queremos que aparezca en los resultados de búsqueda.

Siguiendo con el ejemplo del buscador que estamos montando, nuestros ajustes en las opciones de indexación quedarían así:

index-options

Una vez hayamos acabado de configurar las opciones de indexación, hacemos clic en “Build the Index”, el segundo botón que aparecen en la parte superior de esta página:

build-index-relevanssi

Finalmente, tras acabar de configurar Relevanssi tendremos un buscador más potente capaz de rastrear resultados en cualquier campo personalizado, título y contenido de nuestra web, ya sean páginas, entradas o post types que hayamos añadido a nuestra web.

En una próxima entra veremos cómo modificar el formulario de búsquedas de nuestro WordPress para que añadiendo una serie de botones (radio buttons y selects) los usuarios puedan realizar búsquedas filtradas en lugar de tecleando en el input de búsqueda. Todo ello ya desde el código y sacándole el máximo partido a Custom Fields y Relevanssi.