Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

How to Change the Default Search URL Slug in WordPress

Many of our readers have asked about changing the default WordPress search URL slug. It’s a common request, as the standard format (http://example.com/?s=search-term) isn’t very user-friendly or SEO-optimized.

Site owners often prefer a cleaner structure, like http://example.com/search/search-term, for better user experience and search engine visibility.

We’ve found 2 effective methods to customize the search URL slug in WordPress. In this guide, we’ll walk you through both approaches, helping you create more professional and SEO-friendly search URLs for your site. Let’s get started!

Changing default WordPress search URL slug

Why Change Default Search URL Slug in WordPress?

By default, WordPress uses an SEO-friendly URL structure for all the pages on your website. Typically, SEO-friendly WordPress URLs look like this:

http://example.com/some-post/
http://example.com/2018/03/news-article/
http://example.com/category/some-category/

As you can see, these URLs are quite easy for visitors to understand. They can simply look at their browser’s address bar and see where they are in your site’s layout.

These URLs also tell search engines useful information about the page so they can rank it correctly and show it to people who are looking for content just like yours.

However, when a WordPress user performs a search on your website, the URL usually looks something like this:

http://example.com/?s=search-term

The extra ?s= characters make this URL more difficult to read and understand, which can confuse both the search engines and your visitors. By changing this URL, you can improve your WordPress search and boost your SEO.

With that being said, let’s see how you can change the search URL. Simply use the links below to jump straight to the method you want to use:

Method 1: Change WordPress Search URL Slug Using WPCode (Recommended)

The easiest way to change the default WordPress search slug is by using WPCode.

WPCode is the most popular code snippets plugin used by over 2 million WordPress websites. It allows you to add code snippets in WordPress without having to edit your site’s functions.php file.

The first thing you need to do is install and activate the free WPCode plugin on your website. For more details, see our step-by-step guide on how to install a WordPress plugin.

Upon activation, go to Code Snippets » Add Snippet.

Adding a custom code snippet with WPCode

This will bring you to the ‘Add Snippet’ page, where you can see WPCode’s library of ready-made snippets.

To add your own snippet, just hover your mouse over ‘Add Your Custom Code (New Snippet).’ Then, click on ‘+ Add Custom Snippet’ when it appears.

Adding a new custom code snippet in WPCode

Next, you need to choose the code type from the options that appear. For this tutorial, click on ‘PHP Snippet.’

Select PHP Snippet as the code type

Now, on the ‘Create Custom Snippet’ page, you can start by entering a title for the custom code snippet.

This can be anything that helps you identify the snippet in the WordPress admin area.

Adding a title to the WordPress code snippet

You can then go ahead and paste the following into the ‘Code Preview’ box:

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' );

This code snippet replaces the ‘/?s=search-term’ characters with ‘search,’ so your slug will look something like: http://example.com/search/wordpress

To use something other than ‘search’ in your URL, simply customize the code snippet above.

When you are happy with the code, it’s time to change where the snippet runs by scrolling to the ‘Insertion’ box.

To start, make sure ‘Auto Insert’ is selected. Then, open the ‘Location’ dropdown and choose ‘Frontend Only’ since we will only use this code on our site’s public-facing front end.

WPCode's auto insert code feature

When the snippet is set up how you want it, you can make it live by clicking the ‘Active’ toggle.

Finally, don’t forget to click on ‘Save Snippet.’

Saving a custom PHP snippet using WPCode

Now, visit your site and perform a search.

If you take a look at your browser’s address bar, you’ll see the new SEO-friendly search URL.

A custom WordPress search slug URL

Method 2: Change WordPress Search URL Slug via .htaccess File

Another option is to edit your site’s .htaccess file. This method is more complicated, so it isn’t recommended for beginners. However, it does allow you to change the search URL slug without using a code snippet plugin.

To access the .htaccess file, you’ll need an FTP client such as FileZilla, or you can use the file manager of your WordPress hosting cPanel.

If this is your first time using FTP, then you can see our complete guide on how to connect to your site using FTP.

For the sake of example, we will use Bluehost‘s file manager app. If you are a Bluehost user, go ahead and log in to your hosting dashboard. Then, navigate to the ‘Websites’ tab and click ‘Settings’ for the site you want to edit.

Bluehost site settings

After that, go to the Quick Links section.

There, click ‘File Manager.’ Around the same area, you will also see your document root path (usually public_html), where you can find the .htaccess file.

Opening Bluehost's file manager

You should now be inside Bluehost’s file manager.

Once you’ve found the .htaccess file in the public_html folder, right-click on it and select ‘Edit.’

Editing the .htaccess file in Bluehost

Now, paste the following code at the bottom of the file:

# Change WordPress search URL
RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC]
RewriteRule ^$ /search/%1/? [NC,R,L]

This will change the WordPress search slug to the following:

http://example.com/search/your-search-query/

You can change this slug by customizing the code snippet.

Once you’ve done that, don’t forget to click ‘Save Changes.’

Adding custom code to .htaccess

Now, if you perform a search on your site, you’ll notice that it’s using the new slug.

Bonus Tip: Use SearchWP to Create a Custom WordPress Search Engine

The built-in WordPress search block works fine as your website’s search engine. But if you want to offer a better search experience, then you will need SearchWP.

SearchWP

This WordPress search plugin lets you create custom search algorithms and forms that best suit your users’ and website needs. For example, you can add a search by category feature so your readers can just focus on looking through content in a specific category.

To learn more about this search plugin, you can read our full SearchWP review.

We hope this article helped you change the default search URL slug in WordPress. You can also go through our article on how to customize the search results page in WordPress and our beginner’s guide on how to make a smart WooCommerce product search.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

18 CommentsLeave a Reply

  1. Dennis Muthomi

    I liked the WPCode method as it’s easy and no file editing required. I’ve used this on client sites for SEO and user experience. Made the change to show “results”

  2. 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

  3. 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

  4. mostafa elaissaoui

    thank you

    this is helpful

    • WPBeginner Support

      You’re welcome :)

      Admin

  5. 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

  6. 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

  7. 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’);

  8. Cristina

    I’ve used the .htaccess metod and it works. Ths a lot!

  9. 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.

  10. Linas

    Thank You! Works great. Used 1st method with functions.php ;)

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.