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

WordPressで初期設定の検索URLスラッグを変更する方法

多くの読者から、WordPressの検索URLの初期設定スラッグの変更について問い合わせがありました。標準のフォーマット(http://example.com/?s=search-term)はあまりユーザーフレンドリーではなく、SEO的にも最適化されていないため、よくあるリクエストです。

サイトオーナーは、ユーザーエクスペリエンスと検索エンジンの視認性を高めるために、http://example.com/search/search-term のようなすっきりとした構造を好むことが多い。

WordPressで検索URLのスラッグをカスタマイズする効果的な方法を2つ見つけました。このガイドでは、この2つの方法について説明し、あなたのサイトによりプロフェッショナルでSEOフレンドリーな検索URLを作成するお手伝いをします。さっそく始めましょう!

Changing default WordPress search URL slug

WordPressで初期設定の検索URLスラッグを変更する理由とは?

初期設定では、WordPressはサイト上のすべてのページにSEOフレンドリーなURL構造を使用します。通常、SEOに適したWordPressのURLは次のようになります:

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

ご覧のように、これらのURLは訪問者にとって非常にわかりやすいものです。ブラウザーのアドレスバーを見れば、あなたのサイトのレイアウトのどこにいるかがわかる。

これらのURLは、検索エンジンがページを正しくランク付けし、あなたのようなコンテンツを探している人々に表示できるように、ページに関する有益な情報も伝えます。

しかし、WordPressユーザーがあなたのサイトで検索を行う場合、URLは通常次のようになります:

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

余計な?s=文字がこのURLを読みにくく、理解しにくくしており、検索エンジンと訪問者の両方を混乱させる可能性があります。このURLを変更することで、WordPressの検索を改善し、SEOを強化することができます。

それでは、検索URLを変更する方法を見てみましょう。以下のリンクから、使いたい方法にジャンプしてください:

方法1:WPCodeを使ってWordPressの検索URLスラッグを変更する(推奨)

WordPressの初期設定の検索スラッグを変更する最も簡単な方法は、WPCodeを使用することです。

WPCodeは、200万以上のWordPressサイトで使用されている最も人気のあるコードスニペットプラグインです。サイトのfunctions.phpファイルを編集することなく、WordPressにコードスニペットを追加することができます。

最初に行う必要があるのは、あなたのサイトに無料のWPCodeプラグインをインストールして有効化することです。詳しくは、WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。

有効化したら、Code Snippets ” Add Snippetに進みます。

Adding a custom code snippet with WPCode

Add Snippet’ページが表示され、WPCodeの既成スニペットライブラリを見ることができます。

独自のスニペットを追加するには、「カスタムコードの追加(新規スニペット)」にマウスオーバーするだけです。そして、’+ Add Custom Snippet’が外観されたら、クリックしてください。

Adding a new custom code snippet in WPCode

次に、表示されるオプションからコードタイプを選択する必要がある。このチュートリアルでは、「PHP Snippet」をクリックします。

Select PHP Snippet as the code type

カスタム・スニペットの作成」ページでは、まずカスタム・コード・スニペットのタイトルを入力します。

WordPressの管理エリアでスニペットを識別するのに役立つものであれば何でも構いません。

Adding a title to the WordPress code snippet

次に、次のコードを「コード・プレビュー」ボックスに貼り付けます:

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

このコード・スニペットは、’/?s=search-term’文字を’search’に置き換えるので、スラッグは次のようになります: http://example.com/search/wordpress

URLに’search’以外のものを使用するには、上記のコードスニペットをカスタマイズするだけです。

コードに満足したら、「インサーター」ボックスまでスクロールして、スニペットを実行する場所を変更します。

まず、「自動挿入」が選択されていることを確認してください。次に、’Location’ ドロップダウンを開き、’Frontend Only’ を選択します。このコードは、サイトの公開フロントエンドでのみ使用します。

WPCode's auto insert code feature

スニペットを好きなように設定したら、「Active」トグルをクリックしてライブにすることができる。

最後に、『スニペットを保存する』をクリックするのをお忘れなく。

Saving a custom PHP snippet using WPCode

では、あなたのサイトにアクセスして検索を実行してください。

ブラウザーのアドレスバーを見てみると、SEOに対応した新しい検索URLが表示されているはずだ。

A custom WordPress search slug URL

方法2:.htaccessファイルでWordPressの検索URLスラッグを変更する

もう一つのオプションは、サイトの.htaccessファイルを編集することです。この方法はより複雑なので、初心者にはお勧めできません。しかし、コードスニペット・プラグインを使わずに検索URLスラッグを変更することができる。

.htaccessファイルにアクセスするには、FileZillaなどの FTPクライアントが必要ですが、WordPressホスティングのcPanelのファイルマネージャーを使用することもできます。

初めてFTPを使用する場合は、FTPを使用してサイトに接続する方法についての完全なガイドを参照してください。

例として、Bluehostのファイルマネージャーアプリを使用します。Bluehostユーザーの場合は、先に進み、ホスティングダッシュボードにログインします。そして、「ウェブサイト」タブに移動し、編集したいサイトの「設定」をクリックします。

Bluehost site settings

その後、クイックリンクのセクションに行く。

そこで「ファイルマネージャー」をクリックします。同じエリアのあたりに、あなたのドキュメントのルートパス(通常はpublic_html)も表示され、そこに.htaccessファイルがあります。

Opening Bluehost's file manager

これでBluehostのファイルマネージャーに入るはずです。

public_htmlフォルダーにある.htaccessファイルを見つけたら、その上で右クリックし、「編集」を選択する。

Editing the .htaccess file in Bluehost

次に、以下のコードをファイルの一番下に貼り付ける:

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

これでWordPressの検索スラッグが以下のように変更されます:

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

このスラッグは、コード・スニペットをカスタマイズすることで変更できる。

そうしたら、『変更を保存』をクリックするのをお忘れなく。

Adding custom code to .htaccess

これで、あなたのサイトで検索を実行すると、新しいスラッグが使われていることに気づくだろう。

ボーナスのヒントSearchWPを使ってカスタマイザーWordPress検索エンジンを作る

ビルトインのWordPress検索ブロックは、サイトの検索エンジンとして問題なく機能します。しかし、より良い検索体験を提供したいのであれば、SearchWPが必要です。

SearchWP

このWordPress検索プラグインでは、ユーザーやサイトのニーズに最適なカスタマイザー検索アルゴリズムやフォームを作成することができます。例えば、カテゴリー別の検索機能を追加することで、読者が特定のカテゴリーのコンテンツに目を通すことだけに集中することができます。

この検索プラグインについてさらに詳しく知りたい方は、SearchWPのレビューをお読みください。

この投稿がWordPressの初期設定の検索URLスラッグを変更するのにお役に立てば幸いです。WordPressの検索結果ページをカスタマイズする方法についての投稿や、WooCommerceの商品検索をスマートにする方法についての初心者向けガイドもご覧ください。

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.

情報開示 私たちのコンテンツは読者支援型です。これは、あなたが私たちのリンクの一部をクリックした場合、私たちはコミッションを得ることができることを意味します。 WPBeginnerの資金源 をご覧ください。3$編集プロセスをご覧ください。

アバター

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.

究極のWordPressツールキット

ツールキットへの無料アクセス - すべてのプロフェッショナルが持つべきWordPress関連製品とリソースのコレクション!

Reader Interactions

17件のコメント返信を残す

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

      管理者

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

      管理者

  3. mostafa elaissaoui

    thank you

    this is helpful

    • WPBeginner Support

      You’re welcome :)

      管理者

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

      管理者

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

      管理者

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

        管理者

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

  7. Cristina

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

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

  9. Linas

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

返信を残す

コメントありがとうございます。すべてのコメントは私たちのコメントポリシーに従ってモデレートされ、あなたのメールアドレスが公開されることはありませんのでご留意ください。名前欄にキーワードを使用しないでください。個人的で有意義な会話をしましょう。