WordPress bietet standardmäßig die Möglichkeit, „sprechende“ URLs zu verwenden. Die WordPress-eigene Suche bleibt davon allerdings unberührt, die Such-URL wird weiterhin recht kryptisch dargestellt. Mit wenigen Handgriffen kann die URL der Suche aber nachträglich geändert werden. Wir zeigen, wie’s funktioniert.
Trotz aktivierter Permalinks sind die Suchergebnisse weiterhin über eine kryptische URL erreichbar. Mit der WordPress-Funktion wp_redirect kann die URL der Suchfunktion aber ganz einfach angesprochen und entsprechend nach eigenem Belieben angepasst werden. Aus „?s=“ wird auf Wunsch im Handumdrehen beispielsweise „/suche/“. Dazu muss lediglich der folgende Code in der functions.php des verwendeten Themes eingefügt werden. Dabei wird der Begriff, im untenstehenden Beispiel „/suche/“, der Home_URL hinzugefügt, zuzüglich der Suchanfrage.
function change_search_url_rewrite() { if ( is_search() && ! empty( $_GET['s'] ) ) { wp_redirect( home_url( "/suche/" ) . urlencode( get_query_var( 's' ) ) ); exit(); } } add_action( 'template_redirect', 'change_search_url_rewrite' );
Alternativ zur obenstehenden PHP-Lösung kann die URL der WordPress-Suche auch per entsprechenden Redirects in der .htaccess-Datei geändert werden, sofern ein Apache Webserver mit mod_rewrite Modul zum Einsatz kommt.
RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC] RewriteRule ^$ /suche/%1/? [NC,R,L]