.htaccessにページ単位での301リダイレクトを効率よく記述する。

ScreamingFrogSEO Spiderのスクリーンショット

新しいサイトを作ったので、旧サイトのコンテンツをサブドメインにお引越ししたいという状況になりました。
その場合はリダイレクト設定をしないと検索エンジンにそっぽを向かれてしまう恐れがあります。

301リダイレクトにはドメイン単位とかディリクトリ単位とかいろいろあります。

今回のケースだとページごとにひとつずつ設定するしかなさそうだったので、やった手順を書き残しておきます。

はじめに

サーバーはApacheです。いろいろ試した結果、私の環境では以下のコードできちんとリダイレクトできました。

RewriteEngine on
RewriteRule ^before.html$ https://ecco.co.jp/after.html [L,R=301]

引用元:https://ecco.co.jp/blog/htaccess-redirect/

※このとき気づいたのが、日本語URLはエンコードされているとリダイレクトしないので、デコードしておく必要がありました。

作業手順

設定が必要なURLを収集

  1. Screaming Frog SEO Spiderを使い対象ページを収集。
  2. 収集したURLをCSV形式でダウンロードし、Googleスプレッドシードにアップ。
  3. フォーマットに沿った形に文字列を連結する。
  4. .htaccessに転記してアップ。実際の挙動を確認。

(1)Screaming Frog SEO Spiderを使い、サイトの全ページを取得し、投稿ページのみリダイレクト対象としてCSVファイルにエクスポートしました。


Screaming Frog SEO Spider とは?

海外製のアプリで、サイトをクロールしSEOに必要な各種データを取得できる便利なツールです。

(2)Googleスプレッドシードにアップし、不要なデータを削除。リダイレクト先のURL一覧を作ります。

(3)フォーマットに沿った形になるように文字列を連結します。(画像参照)
ScreamingFrogSEO Spiderのスクリーンショット

(4)コードが完成したら、.htaccessに記載しサーバーにアップ。
ブラウザからアクセスし、正しくリダイレクトできているか確認。

以上です!

コメントをどうぞ!