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 でリダイレクトが正しく動作しているか確認してください。