La ricerca predefinita di WordPress è basilare — corrisponde solo ai titoli dei post e al contenuto. Per molti siti, questo non basta. Gli utenti che cercano tipi di post personalizzati, campi personalizzati o termini di tassonomia specifici non troveranno ciò che cercano. Personalizzare il comportamento della ricerca migliora notevolmente l'esperienza utente e mantiene i visitatori più a lungo sul tuo sito.
Questa guida spiega come personalizzare la ricerca di WordPress per ottenere risultati migliori e più pertinenti.
Estendere la ricerca ai tipi di post personalizzati
Per impostazione predefinita, WordPress cerca solo nei post e nelle pagine. Se il tuo plugin registra tipi di post personalizzati come 'bookings', 'courses' o 'listings', questi non appariranno nei risultati di ricerca a meno che non li includi esplicitamente. Usa il filtro pre_get_posts per modificare la query di ricerca principale e includere i tuoi tipi di post personalizzati.
Verifica che la query sia la query principale e che sia una query di ricerca prima di modificarla. Aggiungi gli slug dei tuoi tipi di post personalizzati al parametro 'post_type'. Ricorda che i parametri di ricerca esistenti dell'utente devono essere comunque rispettati.
Ricerca nei campi personalizzati e nei meta
WordPress non cerca i valori dei campi personalizzati per impostazione predefinita. Se i tuoi contenuti memorizzano dati importanti in campi personalizzati — come date di eventi, prezzi o luoghi — questi valori sono invisibili alla ricerca. Usa il filtro posts_search per estendere la clausola SQL WHERE con condizioni di meta query.
Un approccio più semplice è usare un plugin come SearchWP, che estende la ricerca per coprire campi personalizzati, tassonomie e persino contenuti PDF senza codifica personalizzata. Per gli sviluppatori, estendere direttamente la query di ricerca offre un maggiore controllo.
Ordinamento dei risultati di ricerca
La ricerca predefinita di WordPress ordina i risultati per data. Per molti siti, un ordinamento basato sulla rilevanza sarebbe più utile. Utilizza il filtro posts_orderby per modificare la clausola ORDER BY in base alla frequenza dei termini di ricerca, al numero di parole o ad altri segnali di rilevanza.
Un semplice algoritmo di rilevanza conta quante volte il termine di ricerca appare nel titolo e nel contenuto e ordina i risultati in base a quel conteggio in ordine decrescente. Approcci più sofisticati utilizzano TF-IDF o indici fulltext del database.
Esclusioni dalla ricerca
Escludi determinati contenuti dai risultati di ricerca utilizzando il filtro pre_get_posts. Le esclusioni comuni includono articoli protetti da password, categorie specifiche, determinati stati degli articoli e pagine che non dovrebbero apparire nei risultati di ricerca, come pagine di ringraziamento o politiche sulla privacy.
Escludi anche i risultati di ricerca dall'indicizzazione impostando noindex sulle pagine dei risultati di ricerca utilizzando l'azione wp_head o un plugin SEO.
Personalizzazione del modulo di ricerca
Il modulo di ricerca predefinito di WordPress è minimale — un singolo campo di input. Personalizzalo con il filtro get_search_form. Aggiungi filtri per tipo di contenuto, menu a tendina per le categorie o selettori di intervallo di date per aiutare gli utenti a restringere la ricerca prima di inviarla.
Utilizza il modulo di ricerca per suggerire ricerche popolari, mostrare query di ricerca recenti o fornire suggerimenti di completamento automatico. Queste funzionalità migliorano l'esperienza di ricerca e aiutano gli utenti a trovare i contenuti più rapidamente.
Il punto fondamentale
Personalizzare la ricerca di WordPress la trasforma da una funzionalità di base in un potente strumento di scoperta dei contenuti. Includi tipi di contenuto personalizzati, estendi la ricerca ai campi personalizzati, migliora l'ordinamento dei risultati e personalizza il modulo di ricerca. Un'esperienza di ricerca migliore mantiene i visitatori coinvolti e li aiuta a trovare i contenuti di cui hanno bisogno.




