Molti dei nostri lettori ci hanno chiesto di modificare lo slug predefinito dell’URL di ricerca di WordPress. È una richiesta comune, poiché il formato standard (http://example.com/?s=search-term) non è molto orientato alla SEO o all’utente.
I proprietari dei siti spesso preferiscono una struttura più pulita, come http://example.com/search/search-term, per migliorare l’esperienza dell’utente e la visibilità sui motori di ricerca.
Abbiamo trovato 2 metodi efficaci per personalizzare lo slug degli URL di ricerca in WordPress. In questa guida vi illustreremo entrambi gli approcci, aiutandovi a creare URL di ricerca più professionali e orientati alla SEO per il vostro sito. Iniziamo!
Perché cambiare lo slug dell’URL di ricerca predefinito in WordPress?
Per impostazione predefinita, WordPress utilizza una struttura URL SEO-friendly per tutte le pagine del vostro sito web. In genere, gli URL SEO-friendly di WordPress hanno il seguente aspetto:
http://example.com/some-post/
http://example.com/2018/03/news-article/
http://example.com/category/some-category/
Come potete vedere, questi URL sono abbastanza facili da capire per i visitatori. Possono semplicemente guardare la barra degli indirizzi del loro browser e vedere dove si trovano nel layout del vostro sito.
Questi URL forniscono inoltre ai motori di ricerca informazioni utili sulla pagina, in modo che possano classificarla correttamente e mostrarla alle persone che cercano contenuti simili ai vostri.
Tuttavia, quando un utente di WordPress esegue una ricerca sul vostro sito web, l’URL di solito ha un aspetto simile a questo:
http://example.com/?s=search-term
I caratteri ?s= in più rendono questo URL più difficile da leggere e da capire, il che può confondere sia i motori di ricerca che i vostri visitatori. Modificando questo URL, è possibile migliorare la ricerca su WordPress e incrementare la SEO.
Detto questo, vediamo come modificare l’URL di ricerca. È sufficiente utilizzare i link sottostanti per passare direttamente al metodo che si desidera utilizzare:
Metodo 1: Cambiare lo slug dell’URL di ricerca di WordPress usando WPCode (consigliato)
Il modo più semplice per modificare lo slug di ricerca predefinito di WordPress è utilizzare WPCode.
WPCode è il più popolare plugin per gli snippet di codice utilizzato da oltre 2 milioni di siti web WordPress. Permette di aggiungere snippet di codice in WordPress senza dover modificare il file functions.php del sito.
La prima cosa da fare è installare e attivare il plugin gratuito WPCode sul vostro sito web. Per maggiori dettagli, consultate la nostra guida passo passo su come installare un plugin di WordPress.
Dopo l’attivazione, andare su Code Snippets ” Add Snippet.
Si accede così alla pagina “Aggiungi snippet”, dove si può vedere la libreria di snippet già pronti di WPCode.
Per aggiungere uno snippet personalizzato, basta fare il passaggio del mouse su “Aggiungi codice personalizzato (nuovo snippet)”. Quindi, fare clic su “+ Aggiungi snippet personalizzato” quando appare.
Successivamente, è necessario scegliere il tipo di codice tra le opzioni visualizzate. Per questa esercitazione, fare clic su “Snippet PHP”.
Ora, nella pagina “Crea snippet personalizzato”, si può iniziare inserendo un titolo per lo snippet di codice personalizzato.
Può essere qualsiasi cosa che aiuti a identificare lo snippet nell’area di amministrazione di WordPress.
Si può quindi procedere a incollare quanto segue nella casella “Anteprima codice”:
function wpb_change_search_url() {
if ( is_search() && ! empty( $_GET['s'] ) ) {
wp_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ) ) );
exit();
}
}
add_action( 'template_redirect', 'wpb_change_search_url' );
Questo frammento di codice sostituisce i caratteri ‘/?s=termine di ricerca’ con ‘ricerca’, quindi il vostro slug avrà un aspetto simile a: http://example.com/search/wordpress
Per utilizzare qualcosa di diverso da “search” nel proprio URL, è sufficiente personalizzare il frammento di codice sopra riportato.
Quando si è soddisfatti del codice, è il momento di cambiare la posizione dello snippet, scorrendo la casella “Inserimento”.
Per iniziare, assicurarsi che sia selezionato “Inserimento automatico”. Quindi, aprire il menu a tendina “Posizione” e scegliere “Solo front-end”, poiché il codice verrà utilizzato solo sul front-end pubblico del sito.
Quando lo snippet è impostato come si desidera, è possibile renderlo attivo facendo clic sulla levetta “Attivo”.
Infine, non dimenticate di fare clic su “Salva snippet”.
Ora visitate il vostro sito ed eseguite una ricerca.
Se guardate la barra degli indirizzi del vostro browser, vedrete il nuovo URL di ricerca SEO-friendly.
Metodo 2: Cambiare lo slug dell’URL di ricerca di WordPress tramite il file .htaccess
Un’altra opzione è quella di modificare il file .htaccess del sito. Questo metodo è più complicato, quindi non è consigliato ai principianti. Tuttavia, consente di modificare lo slug dell’URL di ricerca senza utilizzare il plugin Code Snippet.
Per accedere al file .htaccess, è necessario un client FTP come FileZilla, oppure si può utilizzare il file manager del cPanel del proprio hosting WordPress.
Se è la prima volta che utilizzate l’FTP, potete consultare la nostra guida completa su come connettersi al vostro sito utilizzando l’FTP.
A titolo di esempio, utilizzeremo l’applicazione di file manager di Bluehost. Se siete utenti Bluehost, accedete al vostro cruscotto di hosting. Quindi, navigare nella scheda “Siti web” e fare clic su “Impostazioni” per il sito che si desidera modificare.
Successivamente, accedere alla sezione Collegamenti rapidi.
A questo punto, fare clic su “File Manager”. Nella stessa area, si vedrà anche il percorso della radice del documento (di solito public_html), dove si trova il file .htaccess.
Ora dovreste trovarvi all’interno del file manager di Bluehost.
Una volta trovato il file .htaccess nella cartella public_html, fate clic con il tasto destro del mouse e selezionate “Modifica”.
Ora, incollate il seguente codice in fondo al file:
# Change WordPress search URL
RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC]
RewriteRule ^$ /search/%1/? [NC,R,L]
Questo cambierà lo slug di ricerca di WordPress nel seguente modo:
http://example.com/search/your-search-query/
È possibile modificare questo slug personalizzando lo snippet di codice.
Una volta fatto, non dimenticate di fare clic su “Salva modifiche”.
Ora, se si esegue una ricerca sul sito, si noterà che viene utilizzato il nuovo slug.
Suggerimento bonus: Usare SearchWP per creare un motore di ricerca WordPress personalizzato
Il blocco di ricerca integrato di WordPress funziona bene come motore di ricerca del vostro sito web. Ma se volete offrire un’esperienza di ricerca migliore, allora avrete bisogno di SearchWP.
Questo plugin di ricerca per WordPress vi consente di creare algoritmi e moduli di ricerca personalizzati che si adattano al meglio alle esigenze dei vostri utenti e del vostro sito web. Ad esempio, potete aggiungere una funzione di ricerca per categoria, in modo che i vostri lettori possano concentrarsi solo sulla ricerca di contenuti in una categoria specifica.
Per saperne di più su questo plugin di ricerca, potete leggere la nostra recensione completa di SearchWP.
Speriamo che questo articolo vi abbia aiutato a modificare lo slug predefinito dell’URL di ricerca in WordPress. Potete anche leggere il nostro articolo su come personalizzare la pagina dei risultati della ricerca in WordPress e la nostra guida per principianti su come effettuare una ricerca intelligente dei prodotti WooCommerce.
Se questo articolo vi è piaciuto, iscrivetevi al nostro canale YouTube per le esercitazioni video su WordPress. Potete trovarci anche su Twitter e Facebook.
Brandon Boyd
Hi, I just came across this today and it’s been super helpful. Is there anyway to remove the “You Search For” prefix in the page title when doing a search?
WPBeginner Support
That would be added by your specific theme first. We would recommend checking with the support for your theme to see if they have a built-in or recommended way for changing that without needing to modify your theme’s files.
Admin
Kedar Bhogle
Thank you Respected Sir/Madam,
I am looking for such code because I want to use theme default theme’s search box using “Google Custom Search Engine” for extra revenue. Finally I have done using this code (all credit goes to you Sir / Madam). I have basis knowledge about html ( I don’t learn @ any institution, I learned online….. Let’s go),
Very Very Thanks again…..
WPBeginner Support
Glad our guide could help
Admin
mostafa elaissaoui
thank you
this is helpful
WPBeginner Support
You’re welcome
Admin
Josh
Is there a way to change /search/ to /somethingelse/
WPBeginner Support
You would use the first method and replace the word search with the word you wanted
Admin
Josh
Works great. Any idea why this might leave off closing / as in url.com/search/search-term instead of /search-term/
WPBeginner Support
For the first method, depending on your permalinks it may not automatically add a trailing slash, if you wanted one you would need to add the trailing slash to the wp_redirect function or modify your permalink settings.
Admin
Carlos
Method 1 doesn’t work if I change “/search/” for another term. I triead “/busca/” that means search in portuguese…
Richard Talbot
Carlos is right. Same goes for method 2 (htacess method. The only word it will work for is “search”. If you try any other word like “result”, “busca”, “whatever”, etc, then you get a 404.
Very confusing as to why it only works for the word “search”.
WPBeginner Support
You may want to ensure you cleared your caching if you’ve edited the code from the article for a word other than search for one possible reason.
Admin
Allewar
These methods alone won’t work, they only make the «pretty» slug, but the keyword you need to change is the WP rewrite rule for the query.
You can use this code in your theme’s functions.hp to use any word you want (also includes the rule for the ‘page’ slug):
function re_rewrite_rules() {
global $wp_rewrite;
$wp_rewrite->search_base = ‘buscar’;
$wp_rewrite->pagination_base = ‘pagina’;
$wp_rewrite->flush_rules();
}
add_action(‘init’, ‘re_rewrite_rules’);
Cristina
I’ve used the .htaccess metod and it works. Ths a lot!
Joseph
Do you meant that the search result page can be indexed by search engine?
However, the content in the search result page is a kind of duplicate content as what we can find in the archieve, category or tag pages.
PS. I am not an expert in SEO and might have wrong concept.
Linas
Thank You! Works great. Used 1st method with functions.php