FC2ブログ「年月別」URL形式をサーバー側で再転送
FC2ブログからWordPressの年月別アーカイブに対してURL転送を行う場合には、
metaタグまたはJavaScriptにて転送を行います。
FC2による年月アーカイブURLをそのままドメイン名のみを置換して、
URL転送を行い、WordPress側の年月別アーカイブURLへの置換を行います。
.htaccessによるURL転送方法()
.htaccessによってURLの転送(置換)を行う際には、
様々な記述方法が利用できます。
ここではFC2の年月別アーカイブのURLを、
WordPressで利用されるURL形式に置換する例をご紹介します。
FC2ブログ側の仕様上、metaタグによるURL転送(テンプレート編集)では、
現在表示している「年月日」情報を取得することができません。
metaタグを利用した場合には苦肉の策といった形で転送することになります。
その為、JavaScriptを利用してURL転送を行ったほうが、
スマートにURL転送が行えると思います。
年月日アーカイブへの直接の検索流入も多くはないと思いますので、
あまりシビアになる必要はないかなと私は考えています。
ここでは、以下のURLに対してFC2ブログからJavaScriptによる転送が行われたURLを、
WordPressの各パーマリンク形式のURLに置き換える例をご紹介します。
転送例 | 年アーカイブ | 年月アーカイブ | 年月日アーカイブ |
---|---|---|---|
Redirect | /blog-date-2014.html | /blog-date-201412.html | /blog-date-20141209.html |
RedirectPermanent | /blog-date-2014.html | /blog-date-201412.html | /blog-date-20141209.html |
Redirect Match | /blog-date-2014.html | /blog-date-201412.html | /blog-date-20141209.html |
mod_rewrite (RewriteRule) |
/blog-date-2014.html | /blog-date-201412.html | /blog-date-20141209.html |
mod_rewrite (RewriteCond) |
/blog-date-2014.html | /blog-date-201412.html | /blog-date-20141209.html |
置き換える先のURLの例はここでは外部のサイトを指定して例示しますが、
通常は移行先のWordPressのドメインを指定することになります。
※例示においては確認用のサイトを利用しています。
文字コード留意点
日本語URLを利用する場合には、
.htaccessファイルの保存時の文字コードを「UTF-8 BOMなし」にて保存します。
SJISなどの文字コードで保存されている場合には、
転送先の日本語URLが正しく認識されない場合があります。
FC2ブログより年月アーカイブページの転送
FC2ブログで利用されている年月別アーカイブページは、
固定URL形式のURLが採用されています。
http://fwding.blog.fc2.com/blog-date-201412.html のようなURL形式です。
年月はそれぞれ投稿が行われた年月が採用されています。
また年月アーカイブは「年」「年月」「年月日」それぞれアクセスできます。
- 「年」 /blog-date-YYYY.html
- 「年月」 /blog-date-YYYYMM.html
- 「年月日」 /blog-date-YYYYMMDD.html
このURL形式は要求されたパスの年月を判定して、
それぞれの年月に対してURL転送を行う必要があります。
そうしたURL形式の変換をサーバー側で行うのがこの投稿の趣旨です。
各年月を含んだURLによる判定を行うには、
Redirect Match、またはmod_rewriteを利用します。
RedirectやRedirectPermanentなどを利用して転送を行うこともできますが、
その場合には、すべての「年」「年月」「年月日」に対応したURL転送を記述する必要があり、
とても現実的ではありません。
Redirect
Redirectディレクティブを利用したURL転送(置換)によって、
URL形式を変換する例をご紹介します。
この場合、転送先にはクエリパラメータ形式のURLにてそのまま転送し、
WordPressによって、タグページにリダイレクトされます。
RedirectPermanent / RedirectTemp
FC2ブログからWordPressの年月別アーカイブページに対してURL転送を行う際に
一旦サーバーへ転送を行った後のWordPress形式URLへ置換する
RedirectPermanentディレクティブを利用した記述例についてご紹介します。
Redirect Match
FC2ブログからWordPressの年月別アーカイブページに対してURL転送を行う際に
一旦サーバーへ転送を行った後のWordPress形式URLへ置換する
Redirect Matchディレクティブを利用した記述例についてご紹介します。
mod_rewrite
mod_rewriteを利用したURL転送では様々な記述方法が利用できます。
RewriteRuleによる条件判定か、RewriteCondによる条件判定が利用できます。
以下ではRewriteRuleにて条件判定を記述してご紹介しています。
以下ではRewriteCondにて条件判定を記述してご紹介しています。
WordPressによる初期設定と共存時の注意
URLの転送を行う場合には、
WordPressでパーマリンク設定を行うと自動的に生成される
.htaccessファイルにURL転送ルールを記述することになりますが、
以下のような初期状態で記述されている内容は、
消さないように注意します。
また「# BEGIN WordPress ~ # END WordPress」までは、
WordPressが削除・更新をしてくる部分なので、この中には記述しないようにします。
個別に追記する場合には、# BEGIN WordPressよりも前の行に、
個別のURL転送を記載するといいでしょう。
1 2 3 4 5 6 7 8 9 10 11 |
# 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 |
さいごに
無料ブログから、自身のサーバーまでURLによって振り分けができるように、
アクセスを流すことさえできれば、あとは、自身のサーバー側で.htaccessを利用して、
外部で利用していたURL形式(パス形式)を、
WordPressとしてのURL形式に変換してURL転送を行うことができます。
無料ブログ側の仕様に依存する部分は多くあり、
そもそもmetaタグによるURL転送さえ認めていないこともあります。
可能な限り、URL転送を行って既存のサイト評価を、
無駄にすることなく引き継いで引っ越しを成功させたいものです。
WordPressはWordPress Foundation の登録商標(第5049965号)です。
WordPressロゴ、アイコンその他のマーク等はWordPress Foundation の商標であり、
WordPress Foundation の著作物です。
WordPress.comはWordPress Foundation が管理運営を行うドメインならびにサービスの名称です。
WordPress.com、WordPress.net、WordPress.org、WordPress.tv、
WordPressFoundation.orgはWordPress Foundationが
管理運営を行なう正式なトップレベルドメインであるとともに、
WordPress Foundationが運営を行うサービスの名称です。
wordpressはFree Software Foundation, Inc.によってGPL2+でライセンスされています。
FC2はFC2, Inc.の商標であり、FC2ブログはFC2, Inc.のサービス名称です。
FC2ロゴ、アイコンその他のマーク等はFC2, Inc.の商標であり、FC2, Inc.の著作物です。
公開日: