Vuoi personalizzare l'URL di ricerca di WordPress del tuo sito? Puoi creare dinamicamente un URL personalizzato in base al termine di ricerca effettivo che i tuoi visitatori digitano nella barra di ricerca.
Con lo snippet qui sotto, ecco come apparirà il tuo URL di ricerca:
http://example.com/search/searchterm
Istruzioni:
Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:
function search_url_rewrite_rule() {
if ( is_search() && !empty($_GET['s'])) {
wp_redirect(home_url("/search/") . urlencode(get_query_var('s')));
exit();
}
}
add_action('template_redirect', 'search_url_rewrite_rule');
Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come copiare / incollare correttamente snippet di codice in WordPress, in modo da non rompere accidentalmente il tuo sito.
Se ti è piaciuto questo snippet di codice, prendi in considerazione la possibilità di consultare come collegare Google Analytics al tuo sito, in modo da poter monitorare facilmente la ricerca sul tuo sito.
Grazie per lo snippet, ma c'è un problema quando si cerca di cercare parole con accenti (á, é, í, ó, ú) o altre lettere (ñ, ç, …)
Devi decodificare il termine di ricerca in query_vars e in search_query. Ecco il mio codice
function you_search_filter($s) {
return urldecode($s);
}
add_filter(‘get_search_query’, ‘you_search_filter’);
add_filter(‘the_search_query’, ‘you_search_filter’);
add_action(‘parse_query’, ‘you_query_vars_search_filter’ );
function you_query_vars_search_filter( $qvars ) {
$qvars->query_vars[‘s’] = urldecode($qvars->query_vars[‘s’]);
return $qvars;
}
Spero possa essere utile
C'è qualche vantaggio SEO nell'usare questo invece dell'URL predefinito?
Bella funzione comunque, la userò.
A dire il vero non penso che sia di grande aiuto per la SEO, tuttavia se hai i pretty link abilitati questo continua questo aspetto piuttosto che ?s= .