固定ページのスラッグを変更したらリンクが全部404に…。そんな失敗を防ぐ、.htaccessと301リダイレクトの正しい設定方法を実案件ベースで解説します。
こんな状況、心当たりありませんか?
サイトリニューアルの際に「URLをもっとわかりやすくしたい」と思って固定ページのスラッグを変更したら、翌朝アクセス解析を見て青ざめた。名刺やパンフレットに印刷したURLが404エラーになっている。Googleに登録していたページが検索結果から消えかけている――そういったトラブルの相談が、弊社にも月に数件届きます。
スラッグの変更それ自体は悪いことではありません。問題は、旧URLから新URLへの橋渡し(リダイレクト)を設定しないまま変更してしまうことです。正しい手順さえ踏めば、SEO評価を引き継ぎながら安全にURLを変更できます。この記事では、実際のクライアント対応で培った手順をもとに、リダイレクト設定の正解を丁寧に解説します。
なぜスラッグ変更でSEOが崩れるのか
Googleをはじめとする検索エンジンは、URLを「ページの住所」として認識しています。被リンク(外部サイトからのリンク)や検索インデックスはすべてその住所に紐づいているため、住所が変わった瞬間にそれまで積み上げてきた評価が宙に浮いた状態になります。
具体的な影響は3つあります。
- 検索順位の下落: Googleがクロールしたときに旧URLが404を返すと、ページが削除されたと判断してインデックスから外される可能性があります。
- 被リンクの評価消失: 他サイトから張られているリンクは旧URLを指しているため、SEO的な恩恵がゼロになります。
- ユーザー体験の悪化: SNSで拡散されたリンクや、メールマガジンに掲載したURLが機能しなくなります。
これらをすべて防ぐのが301リダイレクトです。301とはHTTPステータスコードの一種で、「このURLは恒久的に移転しました」という意味を持ちます。検索エンジンは301を受け取ると、旧URLの評価を新URLへ引き継いでくれます。一時的な移転を示す302とは異なり、301を使うことが重要です。
実案件から学ぶ:リダイレクト設定の正しい手順
ケース:採用ページのURL変更で検索流入がゼロになりかけた
以前、神奈川県内の製造業のクライアントから「採用ページのURLを /recruit から /careers に変えたら、翌週から問い合わせが来なくなった」と相談がありました。確認すると、Googleの検索結果には旧URL /recruit がまだ表示されており、クリックするたびに404が返る状態になっていました。対応したのは以下の手順です。
STEP 1:変更前に旧URLを記録する
当たり前に聞こえますが、複数ページを一括で変更した場合、どのURLがどれに変わったか把握できなくなります。変更前にスプレッドシートへ旧URLと新URLの対応表を作成する習慣をつけてください。
STEP 2:WordPressの「パーマリンク設定」をリセットする
スラッグを変更したら、管理画面の「設定 → パーマリンク」を開いて、何も変えずにそのまま「変更を保存」をクリックします。これにより .htaccess がWordPressによって再書き込みされ、内部リンクの不整合が解消されます。意外と見落とされがちなステップです。
STEP 3:.htaccessに301リダイレクトを記述する
サーバーがApacheの場合、WordPressルートにある .htaccess に直接リダイレクト設定を書きます。必ずWordPressが自動生成した記述の上に追記してください。
# WordPressの自動生成ブロックより上に記述
Redirect 301 /recruit https://example.com/careers
# ↓ここからWordPressの自動生成ブロック
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
STEP 4:プラグインを使う場合(Redirection)
サーバーへの直接アクセスが難しい場合や、非エンジニアのWeb担当者が管理する場合は、Redirectionプラグインが便利です。管理画面から視覚的にリダイレクトを設定でき、リダイレクトのログも確認できます。
管理画面 → プラグイン → 新規追加 → 「Redirection」で検索 → インストール&有効化
→ ツール → Redirection → 「新しいリダイレクトを追加」
ソースURL: /recruit
ターゲットURL: /careers
HTTPコード: 301
STEP 5:動作確認とGoogle Search Consoleへの通知
リダイレクト設定後、ブラウザのデベロッパーツール(F12キー → Networkタブ)で旧URLにアクセスし、ステータスコードが301を返しているか確認します。その後、Google Search ConsoleのURL検査ツールで旧URLと新URLの両方をインデックス登録リクエストすることで、Googleへの通知を早めることができます。
flowchart TD
A[スラッグ変更前] --> B[旧URLを記録]
B --> C[スラッグを変更]
C --> D[パーマリンク設定を保存]
D --> E{サーバーアクセス可能?}
E -->|Yes| F[.htaccessに301を記述]
E -->|No| G[Redirectionプラグインで設定]
F --> H[ブラウザで301確認]
G --> H
H --> I[Search Consoleで再インデックス依頼]
I --> J[1〜2週間後に順位を確認]よくある失敗パターンと対処法
失敗①:リダイレクトループが発生する
.htaccess の記述順序を間違えると、旧URL → 新URL → 旧URL … と無限に転送し合うリダイレクトループが起きます。ブラウザに「このページにリダイレクトが多すぎます」と表示されたら、これが原因です。WordPressの自動生成ブロック(# BEGIN WordPress ~ # END WordPress)の外側・上側にのみリダイレクト記述を置くことで防げます。
失敗②:httpsとhttpを混在させてしまう
Redirect 301 /recruit /careers のように相対パスで書いた場合、httpとhttpsが混在するサイトでは意図しない動作をすることがあります。リダイレクト先は必ず https:// から始まる絶対URLで記述してください。
失敗③:子ページを忘れる
/service というページのスラッグを変更しても、その下にある /service/web-design や /service/seo は別のURLとして存在します。親ページだけリダイレクトして子ページを放置するケースが非常に多いです。変更前のURL棚卸しの際に、子ページもすべてリストアップしておきましょう。
失敗④:変更後すぐに旧URLのページを削除してしまう
WordPressの管理画面からページを削除すると、リダイレクト設定が機能する前にページ自体が消えてしまいます。リダイレクト設定が正常に動作していることを確認してから、不要になった旧ページを整理する順番で進めてください。
まとめと次のステップ
URLの変更は「URLをきれいにしたい」「サイト構造を整理したい」という正当な理由で発生します。しかし手順を誤ると、それまで積み上げてきた検索順位や被リンクの資産を一瞬で失いかねません。301リダイレクトは保険のようなもの。変更前に設定の手順を確認しておくだけで、大きなトラブルを防げます。
弊社でも過去に、クライアントのサイトリニューアル時にスラッグを20ページ以上変更した案件がありましたが、事前の棚卸しとリダイレクト設定を丁寧に行ったことで、リニューアル後も検索流入を維持(むしろ改善)できた実績があります。手間を惜しまないことが、結果に直結します。
「自分のサイトでやってみたが、うまく動作しない」「大規模なリニューアルを控えていて不安」という場合は、ぜひFivenine Designにご相談ください。現状のサイト構造の診断から、リダイレクト設定の代行・確認まで対応しています。
サイトの改善、プロに任せませんか?
WordPress制作・リニューアル
更新しやすく、集客につながるサイトを構築します
※ 通常1営業日以内にご返信します