WithCodeMedia-1-pc
previous arrowprevious arrow
next arrownext arrow

WithCodeMedia-1-sp
previous arrowprevious arrow
next arrownext arrow

WordPressリダイレクト設定完全ガイド|301/302の違い・コード・プラグイン活用

目次

この記事の結論

WordPressのリダイレクトは、あるURLへのアクセスを別のURLへ自動転送する仕組みで、URL変更・SSL化・ドメイン移転などで必要になります。URLを恒久的に変更する場合はSEO評価を新URLへ引き継ぐ301リダイレクトを、一時的な転送やキャンペーンには元URLに評価を残す302リダイレクトを使い分けます。設定方法は主に、.htaccessの編集、functions.phpへのコード追記、Redirection等のプラグイン利用の3つがあり、スキルレベルや用途に応じて選べます。

生徒アイコン生徒

ペン博士!WordPressでリダイレクトを設定したいのですが、方法がたくさんあって何から手をつければいいか分からなくて困っています…

ペン博士アイコンペン博士

リダイレクトはSEOにも直結する重要な設定じゃ!仕組みを理解すれば怖くないぞ。コード実装からプラグインまで、状況に応じた最適な方法を一緒に学んでいこう!

生徒アイコン生徒

ありがとうございます!SEOにも関係あるんですね。しっかり学びたいです!

「記事のURLを変更したら検索順位が急落した」「古いURLにアクセスすると404エラーが出てしまう」「サイトをHTTPSに移行したいけどリダイレクトの設定が不安…」——こうした悩みを抱えているWordPressユーザーは少なくありません。

リダイレクト設定はSEO・ユーザー体験・サイト移行のすべてに影響する重要な作業です。正しく設定すれば検索エンジンの評価を維持したまま安全にURLを変更できますが、誤ると大切な被リンクやSEO評価を一気に失うリスクがあります。

本記事では、リダイレクトの基本的な仕組みから「301リダイレクト」「302リダイレクト」の違い、.htaccessやfunctions.phpを使ったコード実装、初心者でも扱いやすいWordPressプラグインによる設定方法まで、ステップごとに丁寧に解説します。読み終えるころには、自分のサイトに最適なリダイレクトを自信を持って設定できるようになるでしょう。

リダイレクトとは?WordPressで設定が必要な理由

リダイレクト(Redirect)とは、あるURLにアクセスしたユーザーやbot(検索エンジンのクローラー)を、別のURLへ自動的に転送する仕組みです。

たとえば以下のような場面で必要になります。

  • 記事のパーマリンク(URL)を変更したとき
  • HTTPからHTTPSへSSL化・移行するとき
  • ドメインを変更・引越ししたとき
  • 削除したページへのアクセスを別ページへ誘導したいとき
  • www有りと無しを統一したいとき

リダイレクトを設定しないままURLを変更すると、古いURLにアクセスしたユーザーは「404 Not Found(ページが見つかりません)」エラーに直面します。これはユーザー体験を著しく損なうだけでなく、Googleがそのページに付与していたSEO評価(被リンクの資産など)も消失してしまう原因になります。

301リダイレクトと302リダイレクトの違いを正しく理解する

リダイレクトには種類があり、用途によって使い分けることが重要です。特によく使われる「301」と「302」の違いを押さえておきましょう。

301リダイレクト(恒久的な転送)

301リダイレクトは「このURLは恒久的に移転しました」という意味を持ちます。検索エンジンに対して旧URLのSEO評価(PageRankなど)を新URLへ引き継ぐよう伝えることができるため、URLを永続的に変更するケースでは必ず301を使用するのが基本です。

  • パーマリンクの恒久的な変更
  • HTTP → HTTPSへの移行
  • ドメイン移転
  • www有り・無しの統一

302リダイレクト(一時的な転送)

302リダイレクトは「このURLは一時的に別の場所へ移動しています」という意味を持ちます。SEO評価は元のURLに残ったままになるため、一時的なキャンペーンページや工事中ページへの誘導などに使います。誤って302を使い続けると、SEO評価が新URLに移転されないまま時間が経過してしまうので注意が必要です。

【まとめ】301 vs 302の使い分け
URLを恒久的に変更 → 301リダイレクト(SEO評価が新URLへ引き継がれる)
一時的な転送・キャンペーン誘導 → 302リダイレクト(SEO評価は元URLに留まる)

WordPressでリダイレクトを設定する3つの方法

WordPressでリダイレクトを設定する方法は主に3つあります。それぞれメリット・デメリットがあるため、自分のスキルレベルや用途に合わせて選びましょう。

  1. .htaccessファイルを編集する方法(Apache環境向け)
  2. functions.phpにコードを追記する方法
  3. プラグイン(Redirection等)を使う方法

【方法①】.htaccessを使ったリダイレクト設定(コード実装)

.htaccess(ドットエイチティーアクセス)はApacheサーバーの設定ファイルです。WordPressがインストールされているルートディレクトリに存在し、ここにリダイレクトのルールを記述することで設定できます。

.htaccessファイルの場所と編集方法

.htaccessはFTPクライアント(FileZillaなど)またはレンタルサーバーのファイルマネージャーからアクセスできます。WordPressのルートディレクトリ(通常は「public_html」直下)に配置されています。

編集前には必ずバックアップを取ること!
.htaccessの記述ミスはサイト全体に影響します。編集前に元のファイルをダウンロードして保存しておきましょう。

301リダイレクトの基本コード(特定URLを転送)

特定のURLを別のURLへ301リダイレクトする場合は以下のように記述します。

# 特定ページの301リダイレクト
Redirect 301 /old-page/ https://example.com/new-page/

上記の例では、「/old-page/」へのアクセスをすべて「https://example.com/new-page/」へ転送します。

HTTPからHTTPSへの一括リダイレクト

SSL化(HTTPS化)に際して、すべてのHTTPアクセスをHTTPSへリダイレクトするコードは以下の通りです。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

wwwあり・なしを統一するリダイレクト

「www.example.com」と「example.com」を統一する場合のコードです。www無しに統一する例を示します。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [L,R=301]

「example.com」の部分はご自身のドメインに置き換えてください。

ドメイン全体を別ドメインへ移転するリダイレクト

旧ドメインから新ドメインへサイトごと移転する際は以下のように記述します。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^old-domain\.com [NC]
RewriteRule ^(.*)$ https://new-domain.com/$1 [L,R=301]

【方法②】functions.phpを使ったリダイレクト設定

WordPressのテーマファイル「functions.php」にPHPコードを追記してリダイレクトを設定する方法もあります。特定の条件(ログイン状態、ユーザーロールなど)に応じた動的なリダイレクトを実現したい場合に有効です。

特定ページへのアクセスをリダイレクトする基本コード

function my_custom_redirect() {
    if ( is_page( 'old-page' ) ) {
        wp_redirect( home_url( '/new-page/' ), 301 );
        exit;
    }
}
add_action( 'template_redirect', 'my_custom_redirect' );

上記のコードでは、スラッグが「old-page」のページへアクセスがあった場合に「/new-page/」へ301リダイレクトします。wp_redirect()の第2引数でステータスコードを指定できます(301または302)。

ログインしていないユーザーをログインページへリダイレクト

会員限定ページなど、ログイン必須のページへ未ログインのユーザーがアクセスした場合に、ログインページへ誘導するコード例です。

function redirect_non_logged_in_users() {
    if ( ! is_user_logged_in() && is_page( 'members-only' ) ) {
        wp_redirect( wp_login_url( get_permalink() ) );
        exit;
    }
}
add_action( 'template_redirect', 'redirect_non_logged_in_users' );

wp_login_url( get_permalink() )のように現在のURLを渡すと、ログイン後に元のページへ自動的に戻せます。exit;を必ず付け、リダイレクト後の処理を止める点に注意してください。

【方法③】プラグインでコードを書かずにリダイレクトする

コードを書きたくない場合は、リダイレクト管理プラグインが最も手軽で安全です。定番は「Redirection」で、301/302を選んで転送元・転送先URLを入力するだけで設定が完了します。

  • Redirection:404エラーの記録・一括管理ができる定番プラグイン
  • Simple 301 Redirects:シンプルに301だけ設定したい人向け
  • メリット:.htaccessやfunctions.phpを直接触らないため、初心者でも事故が起きにくい

リダイレクト設定時の注意点

  • リダイレクトチェーンを避ける:A→B→Cと多段転送すると表示が遅くなり評価も分散する。A→Cに直結させる
  • リダイレクトループに注意:転送元と転送先が循環すると無限ループでページが開けなくなる
  • 設定後は必ず動作確認:ステータスコードチェックツールで、意図した301/302が返っているか検証する
  • .htaccess編集前にバックアップ:記述ミスはサイト全体のダウンにつながるため、必ず元ファイルを保存しておく

まとめ:目的に合わせてリダイレクト手法を使い分けよう

WordPressのリダイレクトは、正しく設定すればSEO評価を維持したまま安全にURLを変更できます。

  • 恒久的なURL変更は301、一時的な転送は302を使う
  • 手軽さ・安全性を優先するならプラグイン(Redirection)
  • 細かい制御が必要なら.htaccess・functions.php
  • 設定後はステータスコードと動作を必ず確認し、チェーン・ループを避ける

よくある質問(FAQ)

Q1. 301リダイレクトと302リダイレクトの違いは何ですか?

A. 301は「恒久的な転送」で、旧URLのSEO評価(PageRankなど)を新URLへ引き継ぎます。パーマリンクの恒久変更やHTTPS移行、ドメイン移転などに使います。302は「一時的な転送」で、SEO評価は元のURLに残るため、一時的なキャンペーンページや工事中ページへの誘導に使います。恒久的な変更で誤って302を使い続けるとSEO評価が移転されないので注意が必要です。

Q2. WordPressでリダイレクトを設定する方法は何がありますか?

A. 主に3つあります。Apache環境向けに.htaccessファイルを編集する方法、テーマのfunctions.phpにPHPコードを追記する方法、Redirection等のプラグインを使う方法です。それぞれメリット・デメリットがあるため、自分のスキルレベルや用途に合わせて選びます。ログイン状態やユーザーロールに応じた動的な制御をしたい場合はfunctions.phpが有効です。

Q3. .htaccessを編集する際に気をつけることは何ですか?

A. .htaccessはApacheサーバーの設定ファイルで、WordPressのルートディレクトリ(通常はpublic_html直下)にあります。FTPクライアントやサーバーのファイルマネージャーから編集できますが、記述ミスはサイト全体に影響するため、編集前に必ず元のファイルをダウンロードしてバックアップを取っておくことが重要です。

Q4. リダイレクトを設定しないままURLを変更するとどうなりますか?

A. 古いURLにアクセスしたユーザーは「404 Not Found」エラーに直面します。これはユーザー体験を著しく損なうだけでなく、Googleがそのページに付与していたSEO評価(被リンクの資産など)も消失してしまう原因になります。正しく設定すれば検索エンジンの評価を維持したまま安全にURLを変更できます。


関連記事


参考リンク(公式・一次情報)


WithCodeを体験できる初級コース公開中!

WithCodeを体験できる初級コース公開中!

初級コース(¥49,800)が完全無料に!

  • 期間:1週間
  • 学習内容:
    ロードマップ/基礎知識/環境構築/HTML/CSS/LP・ポートフォリオ作成
    正しい学習方法で「確かな成長」を実感できるカリキュラム。

副業・フリーランスが主流になっている今こそ、自らのスキルで稼げる人材を目指してみませんか?

未経験でも心配することはありません。初級コースを受講される方の大多数はプログラミング未経験です。まずは無料カウンセリングで、悩みや不安をお聞かせください!

この記事を書いた人

WithCode(ウィズコード)は「目指すなら稼げる人材」をビジョンに、累計400名以上のフリーランスを輩出してきた超実践型プログラミングスクールです。150社以上の実案件支援を特徴にWeb制作・Webデザインなどの役立つ情報を現場のノウハウに基づいて発信していきます。

– service –WithGroupの運営サービス

  • WithCode
    - ウィズコード -

    スクール

    「未経験」から
    現場で通用する
    スキルを身に付けよう!

    詳細はこちら
  • WithFree
    - ウィズフリ -

    実案件サポート

    制作会社のサポート下で
    実務経験を積んでいこう!

    詳細はこちら

公式サイト より
今すぐ
無料カウンセリング
予約!

目次