2026年5月20日

2026年5月20日

Yoast SEOのリダイレクトマネージャーの使い方

はじめに

記事のURLを変更したり、削除したページへのアクセスを別ページに転送したい場合、リダイレクト設定が必要です。Yoast SEO Premiumのリダイレクトマネージャーを使う方法と、無料版での代替手段を解説します。

解決手順

ステップ1:Yoast SEO Premiumのリダイレクトマネージャーを使う

Yoast SEO Premiumを有効化すると管理画面に SEO → リダイレクト メニューが追加されます。

SEO → リダイレクト → リダイレクトを追加
- タイプ: 301(恒久的移動)を選択
- 旧URL: /old-article-url/
- 新URL: /new-article-url/
→ 「リダイレクトを追加」をクリック

URLを変更したとき(スラッグ変更)、Yoast SEO Premiumが自動的に旧URLから新URLへの301リダイレクトを作成します。

ステップ2:無料版での代替 — Redirection プラグイン

# Redirectionプラグインをインストール
wp plugin install redirection --activate

有効化後、ツール → Redirection でリダイレクトを管理できます。無料でYoast SEO Premiumと同等のリダイレクト管理が可能です。

ステップ3:.htaccessで直接リダイレクトを設定する

# .htaccess — 個別URL のリダイレクト
Redirect 301 /old-page/ https://example.com/new-page/

# ディレクトリごとリダイレクト
Redirect 301 /old-category/ https://example.com/new-category/

# 正規表現を使ったリダイレクト(RewriteRule)
RewriteEngine On
RewriteRule ^old-(.+)$ /new-$1 [R=301,L]

ステップ4:WP-CLIとPHPでリダイレクトを実装する

// functions.php — 特定URLへのアクセスをリダイレクト
add_action('template_redirect', function() {
    $redirects = [
        '/old-page/'     => '/new-page/',
        '/old-category/' => '/new-category/',
    ];

    $current_path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
    if (isset($redirects[$current_path])) {
        wp_redirect(home_url($redirects[$current_path]), 301);
        exit;
    }
});

ステップ5:リダイレクトの動作確認

# curlでリダイレクトを確認(-I でヘッダーのみ表示)
curl -I https://example.com/old-page/

# 期待されるレスポンス
# HTTP/2 301
# location: https://example.com/new-page/

# リダイレクトチェーン確認(-L でリダイレクト追跡)
curl -IL https://example.com/old-page/

注意事項

  • リダイレクトチェーン(301 → 301 → 最終URL)はSEOに悪影響があります。直接最終URLにリダイレクトするよう設定してください
  • 302(一時的)リダイレクトはSEOジュースが引き継がれません。恒久的なURL変更には必ず301を使ってください
  • .htaccess によるリダイレクトはNginxでは動作しません。Nginxの場合はサーバー設定ファイルで return 301 を使います

まとめ

リダイレクト管理にはYoast SEO Premium(有料)またはRedirectionプラグイン(無料)が最も手軽です。少数のリダイレクトなら .htaccess で直接設定する方法もあります。必ず curl -I でリダイレクトが正しく動作しているか確認してください。

お気軽にご相談ください

お見積りへ お問い合わせへ