サイトやホームページのURLはパーマリンクURLといい唯一無二のアドレスになります。そのサイトURLのパーマリンク設定URLをサイト移転などをした際に、記事数やホームページのURL数が多いとリダイレクト処理にそのひとつひとつにリダイレクト処理を行う必要が出てくることがあります。パーマリンクの構成が使用しているツールやブログサービスにより異なったりする場合などにそのようなことが発生してしまいます。
スポンサーリンク
WordPressでは、パーマリンク設定を以下の中から選ぶことができます。(選択可能)
- %post_name%
- %post_id%
- %year%
- %monthnum%
- など
%post_name%
%post_id%
%year%
%monthnum%
など、
上記を組み合わせて相対パスとして、以下のように記載します。
/%year%/%monthnum%/%postname%/
こういったパーマリンク設定でのURLは比較的長めのURLになってしまいます。
(長いパーマリンクURL:アドレス)
長いURLだと覚えにくいですし、わかりにくくなってしまいます。
ですので、
タイトルと同じようなパーマリンクにしてURLから内容がどのような内容のものか推測できるようにする方々多いように思います。
ですが、
スマホなどではすべてのURLは表示されません。なので、現在はそこまで気にしなくても良いように考えます。
GoogleやBingやYahooなどの検索エンジンにインデックス登録されればよいだけのことです。
短めのパーマリンクURLにするには一番良いのは、/%postname%/を選択することかと思われます。
投稿の際に変更も可能です。
WordPress意外のlivedoor BlogやSeesaaブログやFC2ブログ、そしてGoogleのブログサービスであるBloggerブログなどのブログサービスにおいてのパーマリンク設定は自分で設定ができません。
WordPressに移行した際にリダイレクト処理をしなければなりませんが、そのリダイレクト処理が記事数が多ければ多いほど作業工程が増えます。そのリダイレクト処理コードを自動的に作成し.htaccessにリダイレクト処理設定を一括ですべてのURLをしなければなりません。
骨が折れてしまう作業です。少なければまだ良いのでしょうが、100記事以上や1000記事以上などの場合には1行1行.htaccessに記載するのは大変です。
そこで、リダイレクト処理には2つの.htaccessに記載方法があります。
以下の箇条書き2つの方法です。
- RewriteRule
- Redirect permanent
それぞれのサーバーにおいて、どちらかのリダイレクト処理が使用できない場合があります。
Apacheサーバーであれば基本的にはどちらも使用可能ですが、できない場合はRewriteRuleにてリダイレクト処理が可能なことが多いです。
上記しましたが記事数が多ければ多いほど骨が折れる程難儀な作業上程になります。
Redirectプラグインなどを使用してcsv形式にてパーマリンクURLをsourceとtargetに並列にして一括インポートも可能ですが、プラグインはできるだけ使わない方がセキュリティ的にもサイト速度的にも良いです。
今回はパーマリンク設定URLのリダイレクト処理コードをカスタム投稿内にあるWordPress意外のブログサービスからのパーマリンクURLを抽出して、WordPressでのパーマリンク設定URL構造へリダイレクト処理コードを自動的に一括抽出方法です。
WordPressにはテーマがありますが、どのテーマ内にもpage.phpというテンプレートがあります。
そのpage.phpテンプレートを使用して、内容を以下のように編集します。
RewriteRule ^を使用して一括リダイレクトコードを自動的に作成します。
<?php /*
Template Name: export
*/ ?>
<?php
$posts = get_posts('numberposts=1500');
global $post;
?>
<?php if($posts): foreach($posts as $post): setup_postdata($post);
echo "RewriteRule ^";
echo get_post_meta($post->ID,'blogger_permalink',TRUE);
echo "/$ ";
the_permalink();
echo " [L,R=301]<br />";
endforeach;
endif;
?>
上記を記載後にpage.phpのファイル名をredirect.phpなどとファイル名を変更して保存します。
その後、FTPツール(FFFTPやFilezillaやWinSCPなど)でテーマの子テーマ内にアップロードします。
WordPressのダッシュボードより固定ページを新規作成します。

その際に、固定ページのテンプレート設定をexportにします。
その後固定ページを公開してもプレビューしただけでも一気に以下のように旧サイトのパーマリンク設定URLと新サイトのパーマリンク設定URLをRewriteRule ^を付与して出力することができます。

あとは、出力された複数行のリダイレクト処理コードをコピーして.htaccessにペーストします。
RewriteRuleでの記載の際には必ず一度はRewriteEngineONを記載しなければなりませんが、昨今ではSSL化においてリダイレクト処理をしているはずなのでRewriteEngineONは既に記載済みかと思われます。記載されていない場合には記載してください。
記載後に、上記で使用したFTPツールでディレクトリ直下の.htaccsessに上書きなり書き換えなりをします。
※この際に.htaccessは非常に重要なファイルなので初めに必ずバックアップをしてからにしましょう。
上記したようにリダイレクト処理の一括リダイレクト設定を追記したことなどにより、どこかに記載ミスがあったらサイトが表示されなくなってしまします。そういった場合にはバックアップした.htaccessを再アップロードして先述した.htaccsessの記載ミスを修正後に再度アップロードしてください。
.htaccessはバックアップを元に戻せばサイトは以前のように表示されるはずです。
Redirect permanentを使用して一括リダイレクトするパーマリンク設定URLを抽出して自動的にRedirect permanentを付与してリダイレクト処理設定する場合は以下のサイトを参照してください。
これで、上記したリダイレクト処理の2つの方法のどちらでも旧サイトのパーマリンク設定URLと新サイトのパーマリンク設定URLのリダイレクト処理コードが付与されたものが複数行に渡り一括抽出されます。
あとは、しっかりとリダイレクト処理されているか旧サイトのパーマリンク設定URLをアドレス欄に記載して確認してみましょう。
関連記事
-
AFFINGER5でプラグインなしで機能制限なくクレジット削除方法
WordPressで人気なテーマのひとつにAFFINGER5があります。その他にもCocoonなども無料テーマであります。AFFINGER5においてはフッター部分にPoweredByAFFINGER5…
-
新しい事を初める準備や片付けって意外と面倒で時間がかかる…。
なんでもそうですが、新たに新しいことを始める時に(家の配置替えや片付けや家電の買い替えやいろいろ)これまであったものを整理整頓して、新しいものを迎え入れたいと思います。 そんなこんなでこれまでにあった…
-
Invoice#という迷惑メールはVVVウイルスと同じランサムウェア
昨年に流行ったVVVウイルスというウイルスがありました。 これは、PC内のファイルをすべて拡張子を.vvvという拡張子に変更してしまい、PC自体を起動不能にしてしまったりするランサムウェ…
-
選挙の投票用紙の仕組みって知ってた?自然と開きます!!
本日は、(2016年7月10日)第24回参議院選挙でした。 選挙に行く意味、意味ないなんてことはないので行ってきました。 以前に記事にしたとおりに早速選挙の投票に行ってきました。 >>そう…
「WordPress, カスタマイズ, カスタマイズ, 伝えたいこと, 備忘録」同じカテゴリーの記事一覧
おすすめの記事一部広告
アクセスランキング
よろしかったらシェアよろしくお願いします。
comment