【WordPress】タグページのURLから『tag』を消す方法|プラグインなし・301リダイレクトの注意まで

【WordPress】プラグインなしでタグページのURLから『tag』を消す方法 WordPress

WordPressのタグページのURLには、初期状態で /tag/ が入ります(例:example.com/tag/news/)。これを別の文字に変える、または完全に消す方法を、プラグインを使わずに行う手順で解説します。変更すると旧URLが404になるため、301リダイレクトまでセットで考えるのが重要です。

この記事でわかること

  • 設定 → パーマリンクのタグベース欄で変更する(最も手軽)
  • functions.phpset_tag_base() で変更・削除する
  • 空ベース(完全削除)は衝突・404のリスクがあること
  • 変更後に必須の301リダイレクト
「改名」は手軽、「完全削除」は注意が必要
/tag//topic/ のように別の文字へ変える(改名)のは簡単で安全です。いっぽうタグベースを空にして完全に消すと、タグのURL(/スラッグ/)が固定ページ・投稿・カテゴリーのURLと衝突し、意図しないページが表示されたり404になったりします。完全削除はスラッグの重複が無いことを確認したうえで慎重に行ってください。
スポンサーリンク

方法1:パーマリンク設定のタグベース欄を変える(手軽)

最も手軽なのは管理画面からの設定です。コードは不要です。

  1. 管理画面の「設定」→「パーマリンク」を開く
  2. 下部の「オプション」→「タグベース」欄に、変えたい文字(例:topic)を入力
  3. 「変更を保存」をクリック

これで /tag/news//topic/news/ になります。なおこの欄を空のままにしても /tag/ は消えません(空のときは既定値 tag が使われます)。完全に消したい場合は次の functions.php の方法を使います。

方法2:functions.php の set_tag_base() で変える・消す

テーマ(できれば子テーマ)の functions.php に次のコードを追加します。$tag_slug に設定した文字がタグベースになります。

functions.php:タグベースを「topic」に改名する
add_action('init', 'my_change_tag_base');
function my_change_tag_base() {
  global $wp_rewrite;
  $tag_slug = 'topic'; // 任意の文字に。/tag/ → /topic/
  $wp_rewrite->set_tag_base($tag_slug);
}

タグベースを完全に消したい場合は、$tag_slug空文字列にします。

functions.php:タグベースを完全に消す(空にする)
add_action('init', 'my_remove_tag_base');
function my_remove_tag_base() {
  global $wp_rewrite;
  $wp_rewrite->set_tag_base(''); // /tag/ を消す
}
空にしたらスラッグ衝突に注意
タグベースを空にすると、タグのURLが example.com/スラッグ/ になり、固定ページや投稿、カテゴリーのスラッグと同じだと衝突します。衝突するとどちらか一方しか正しく表示されません。カテゴリー(/category/)も同様に消す手順はカテゴリーページのURLから『category』を消す方法を、変更後にページが404になる場合の切り分けは記事が404になる原因と対処法(パーマリンク・リライトルール)を参照してください。

変更後はパーマリンク設定を更新する

functions.php を編集したら、新しいリライトルールを反映させます。「設定」→「パーマリンク」を開き、何も変更せず「変更を保存」をクリックするだけです。これでルーティングが更新され、新しいタグURLが有効になります。

旧URLには301リダイレクトを設定する

タグベースを変えると、これまでの /tag/... URLは404になります。検索エンジンの評価や既存のリンクを引き継ぐため、/tag/xxx/ から新URLへの301リダイレクトを設定しましょう。Redirection プラグインや .htaccess で設定でき、個別ページのリダイレクトは特定のページをリダイレクトする方法が参考になります。設定後は Google Search Console でクロールエラーを確認します。

よくある質問(FAQ)

QタグURLから tag を消すいちばん簡単な方法は?
Aタグを別の文字に変えるだけなら設定 → パーマリンクの「タグベース」欄に文字を入力するのが最も簡単です。完全に消す(空にする)場合は functions.php$wp_rewrite->set_tag_base('') を使います。いずれも変更後はパーマリンク設定を保存し直してリライトルールを更新してください。
Qタグとカテゴリ・固定ページのURLが競合します。
Aタグベースを空にすると /スラッグ/ が他のURLと重複しやすくなります。タグベースに固有の文字(例:topic)を残すか、スラッグが重複しないように調整してください。カテゴリー側を消す手順は『category』を消す方法を参照してください。
QURLを変えた後にリダイレクトは必要ですか?
A必要です。旧 /tag/... URLが404になり、SEO評価や被リンクが失われます。旧URL→新URLへの301リダイレクトを Redirection プラグインや .htaccess で設定し、Google Search Console でクロールエラーを確認してください。

まとめ

  • 改名(手軽):設定 → パーマリンクの「タグベース」欄に文字を入力
  • 完全削除functions.phpset_tag_base('')。ただしスラッグ衝突に注意
  • 更新:変更後は設定 → パーマリンクを保存してリライトルールを反映
  • 必須:旧 /tag/... URLへの301リダイレクト

URLを短くするのはSEO・可読性に有効ですが、衝突と301リダイレクトのケアを忘れると逆効果になります。手順をセットで行いましょう。