WordPress search URLs are not user friendly. In this article, we will show you how to easily change the default search url slug in WordPress and make it more SEO and user friendly.
Why Change Default Search URL Slug in WordPress
WordPress uses SEO friendly URL structure for all pages on your website. Typical SEO friendly WordPress URLs look like this:
http://example.com/some-page/
http://example.com/2018/03/some-article/
http://example.com/category/some-category/
As you can see, these URLs are quite easy to understand for users as well as search engines.
However, WordPress still uses non-friendly URL for search results page. A typical search URL in WordPress looks like this:
http://example.com/?s=search-term
This URL structure doesn’t match the rest of your website URLs. While some WordPress search plugins improve the search results, most don’t do anything about the search URL itself.
What if you can make your search URL look like:
http://example.com/search/your-search-term/
Let’s take a look at how to make the WordPress search page URL slug more SEO friendly.
Changing Search Page URL Slug in WordPress
For this tutorial you will need to edit your WordPress theme files. If you haven’t done this before, then please take a look at our guide on how to copy and paste code in WordPress.
Method 1. Change WordPress Search URL Slug via Functions File
This method is easier and recommended for most users.
First, you need to copy and paste the following code in your theme’s functions.php file or a site-specific plugin:
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' );
Don’t forget to save your changes.
You can now go to your website and try using the search feature. You will notice that the search URL looks like this:
http://example.com/search/your-search-query/
Method 2. Change Search URL Slug via htaccess File
The .htaccess file is often used to set up redirects and other website configuration tasks. You can also use it to change the default search URL slug in WordPress.
Your .htaccess file is located in your website’s root folder, and you will need to use FTP or File Manager app in cPanel to edit it. Refer to this guide, if you can’t find the .htaccess file.
In your .htaccess file, you need to paste the following code at the bottom:
# Change WordPress search URL RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC] RewriteRule ^$ /search/%1/? [NC,R,L]
Don’t forget to save your changes and upload the .htaccess file back to the server.
You can now go to your website and use the search feature. You will notice the search URL will now look like this:
http://example.com/search/your-search-query/
We hope this tutorial helped you change the default search URL slug in WordPress.