HCDコンサルティング(旧・中川勉社会保険労務士事務所FPウェブシュフ)のブログ

【WordPressサイト限定】リダイレクトのための.htaccessへの記述を表計算ソフトとget_postsで効率化

前の記事で、WordPressのパーマリンク構造を変更した話をしましたが、そのときに避けて通れないのが面倒なリダイレクト作業です。しかし、ExellやOpenOfficeなどの表計算ソフトとget_posts関数を使えば、リダイレクト作業はある程度効率化できます。

リダイレクトとは

リダイレクトは、あるURLへのアクセスを自動的に別のURLに転送する仕組みのことです。

サイトのコンテンツのURLを変更した際、以前のURLから現在のURLに転送する手段としてよく利用されます。

以前のURLから現在のURLにリダイレクトを行うには、以前のURLのドメイン直下に置いた.htaccessに、以下のような記述をしないといけません。

「Redirect permanent」+「半角スペース」+ (以前のURLのうち「http://ドメイン」を除いた部分)+「半角スペース」+ (「http://ドメイン」を含む現在のURL)

たとえば、http://example.com/test/start/のURLをhttp://example.com/end/goal/に変更したときは、http://example.com/.htaccessに以下のように記述します。

Redirect permanent /test/start/ http://example.com/end/goal/

このように、変更前のURLと変更前のURLを並べればいいので、リダイレクトの記述は簡単ですね。

ただ、変更前のURLには「http://ドメイン」を含まないことには注意しましょう。

作業用下書き投稿を用意

ここから、実際に作業に入ります。後々のためにパーマリンク構造変更前のURLを取得したいのですが、この作業は、下書きの投稿を作業台として行います。

作業台の作成

まず、管理画面で「投稿」→「新規追加」の順にクリックして「投稿の編集」画面に行きます。

次に、適当なタイトルをつけて「下書きとして保存」ボタンを押してください。

作業台のID

これで、作業台は完成です。このとき、作業台にしている下書き投稿の投稿のIDを確認しておいてください。IDはアドレスバーの?post=直後の数字です。以下の画像の例では、IDは755になります。

パーマリンク構造変更前の各投稿のURLを取得

次に、使用しているテーマのsingle.phpを、管理画面のテーマ編集やテキストエディタで開いてください。(single.phpがなければ投稿を表示するのに使うテンプレートファイルを開いてください。)

single.phpの末尾に以下のコードを貼り付けてください。

<?php if(is_single('○○')){?>
        <ul>
        <?php
        global $post;
        $args = array( 'numberposts' =>10000);
        $myposts = get_posts( $args );
        foreach( $myposts as $post ) :  setup_postdata($post); ?>
            <li><?php the_permalink(); ?></li>
        <?php endforeach; ?>
        </ul>
        <?php } ?>

そして、「○○」を、先ほど確認したIDに書き換えて保存します。(テキストエディタで編集した場合はFTPアップロードも忘れないでください。)

そして、作業台にしている下書き投稿のプレビューを押すと、
パーマリンク構造変更前の各投稿URLの一覧リストが現れます。

このURLの一覧リストはすべてコピーしてください。

表計算ソフトにコピペ

ここで、表計算ソフトを立ち上げます。表計算ソフトは、ExellでもOpen OfficeでもGoogle Driveのスプレッドシートでもかまいません。

ここで表計算ソフトを使うのは、以下のような形でセルを埋めることで、リダイレクトの記述を効率的に作成するためです。

表計算ソフトが立ち上がったら、先ほどコピーしたURLリストをC1セル(一番上の行の左から3番目のセル)に貼り付けてください。

すると、以下のような感じになります。(画像はGoogle Driveのスプレッドシート)

置換機能で「http://ドメイン」を取り除く

次に、表計算ソフトの置換機能で「http://ドメイン」を取り除きます。

Google Driveのスプレッドシートを使っている場合は、「編集」→「検索と置換」の順にクリックすると以下のようなウィンドウが開きます。

検索:のところに「http://ドメイン」を入力し、置換:のところは空欄にします。

そして、「すべて置換」を押すと、「http://ドメイン」の部分(https://webshufu.com)がすべて消えます。

これで、リダイレクトの記述のうち、C列(以前のURLのうち「http://ドメイン」を除いた部分)については、完成しました。

Redirect permanentと半角スペースを挿入

リダイレクトの書式は以下の形でした。

C列が完成したので、A・B・D列を入力します。ただし、入力は、C列のセルに(以前のURLのうち「http://ドメイン」を除いた部分)が入力されている場合のみ行います。

  • A列には「Redirect permanent」を入力
  • B列・D列には半角スペースを入力

コピペなどを駆使するとあっという間に終わりますよね。すると、以下のように、リダイレクトの記述はE列を除いて完成します。

ここで、ワードプレスの管理画面に一旦戻って、パーマリンク構造を適宜変更します。

パーマリンク構造変更後の各投稿のURLを取得

パーマリンク構造変更後、作業台にしている下書き投稿のプレビューを再度表示し、最新の内容に更新してください。

すると、各投稿のURLの一覧が、パーマリンク構造の変更を反映したものになっているはずです。

このURLの一覧リストはすべてコピーしてください。

表計算ソフトにコピペ

コピーしたURLリストを表計算ソフトのE1セルに貼り付けてください。すると、リダイレクトの記述がほぼ完成します。(下の図はGoogle Driveのスプレッドシート)

.htaccessにコピペ

あとは、表計算ソフト上の記述を.htaccessにコピペするだけです。

リダイレクトの記述をすべてコピー

表計算ソフト上で、Ctrl(コントロール)キーとAキーを同時に押してリダイレクトの記述を全選択後、Ctrl(コントロール)キーとCキーを同時に押してコピーします。

.htaccessに貼り付け

テキストエディタで、新規ファイル作成を選択した後、Ctrl(コントロール)キーとVキーを同時に押して、コピーしておいた内容を貼り付けます。そして、.htaccessという名前をつけて、保存します。

.htaccessをドメイン直下にアップロード

最後に、保存した.htaccessファイルを、FTPソフトでドメイン直下にアップロードします。

これで、リダイレクトの記述が完成しました。


投稿日

カテゴリー:

投稿者:

 最終更新日:

タグ: