FC2ブログ「タグ」URL形式をサーバー側で再転送
FC2ブログからWordPressのタグページに対してURL転送を行う場合には、
metaタグまたはJavaScriptにて転送を行います。
FC2によるタグアーカイブURLをそのままドメイン名のみを置換して、
URL転送を行い、WordPress側のカタグアーカイブURLへの置換を行います。
.htaccessによるURL転送方法
.htaccessによってURLの転送(置換)を行う際には、
様々な記述方法が利用できます。
ここではFC2のカテゴリアーカイブのURLを、
WordPressで利用されるURL形式に置換する例をご紹介します。
ここではFC2ブログ形式のURLから移転先のドメイン名のみを変更し、
一旦移転先のサーバーへ転送を行うことを想定しています。
以下のURLによってFC2ブログからmetaタグ転送が行われたURLを、
WordPressの各パーマリンク形式のURLに置き換える例をご紹介します。
転送例 | 英名→英名 | 英名→日本語名 | 日本語→英名 | 日本語→英名 |
---|---|---|---|---|
Redirect | /?tag=tag301 | 対応不可 | 対応不可 | /?tag=タグ304 |
RedirectPermanent | /?tag=tag311 | 対応不可 | 対応不可 | /?tag=タグ314 |
Redirect Match | /?tag=tag321 | 対応不可 | 対応不可 | /?tag=タグ324 |
mod_rewrite | /?tag=tag331 | /?tag=tag332 | /?tag=タグ333 | /?tag=タグ334 |
置き換える先のURLの例はここでは外部のサイトを指定して例示しますが、
通常は移行先のWordPressのドメインを指定することになります。
※例示においては確認用のサイトを利用しています。
WordPressとFC2ブログのタグアーカイブURLについて
WordPressのタグアーカイブとFC2ブログのユーザータグページは、
URL形式が似た仕様になっています。
URL形式の違い
WordPressのパーマリンク設定がデフォルトの場合、
WordPressにおいても「/?tag=tagname」のようなパラメータ形式で、
タグアーカイブページのURLが提供されます。
この場合、FC2ブログが利用しているタグアーカイブのURL形式と、
WordPressのタグアーカイブ形式のURLは同じ仕様となります。
ただし、FC2ブログではURLにタグ名がマルチバイトでそのまま使用され、
スラッグと言った別のURL用の文字列を指定することができません。
WordPressでFC2ブログのパス形式をそのまま利用する場合には、
WordPress側のタグアーカイブURLに対しても、
同じスラッグ名(マルチバイト・日本語名)にして一致させる必要があります。
WordPress側の自動リダイレクトについて
WordPressのパラメータ形式のタグアーカイブページは、
パーマリンクデフォルトを利用している場合に使用されるURLですが、
実際にはパーマリンク設定を行ってURL形式を変更しても、
継続してパラメータ形式のURLでアクセス可能です。
この自動リダイレクトの動作については、
以下でご紹介しています。
WordPressで利用でるパーマリンク設定とURL形式は、
以下で確認できるようにしてあります。
こうしたデフォルトの挙動はリダイレクトの設定を行っている際に、
意図していないリダイレクトが困惑の原因になったりもします。
WordPressがデフォルトURL形式から、
自動でURL転送を行っている形式を事前に理解しておくと設定がスムーズです。
文字コード留意点
日本語URLを利用する場合には、
.htaccessファイルの保存時の文字コードを「UTF-8 BOMなし」にて保存します。
SJISなどの文字コードで保存されている場合には、
転送先の日本語URLが正しく認識されない場合があります。
FC2ブログよりタグページの転送
なお、FC2ブログで利用されているタグアーカイブページは、
アーカイブという概念ではなく、タグ名で検索した結果を表示する仕組みになっています。
その為、URLのパスは、「http://fwding.blog.fc2.com/?tag=tags」のようになっています。
このURLをどのようにして移行先に転送するかという方策にも依存しますが、
JavaScriptを用いてURL転送する際に便利なのが、
パスをそのままの状態で転送する方法です。
上記のパスを、「http://url-html.rensrv.com/?tag=tags」として転送するということです。
この方法であればmetaタグでもJavaScriptでも同様のパスで容易に転送が可能です。
詳細は以下でご紹介しています。
但し、この場合のURLは前述のとおり、
WordPressのデフォルトURL形式のタグページと同じURL形式になることになります。
その点を認識したうえでそれぞれのURLを転送する必要があります。
ここでは、上記のパス形式で転送を行ったものとして例示します。
mod_aliasを利用したURL形式のパラメータ未対応について
mod_aliasを利用したリダイレクトは、以下のディレクティブが該当します。
- Redirect
- RedirectPermanent / RedirectTemp
- Redirect Match
このmod_aliasを利用したリダイレクトは、
「/?s=」や「/?q=」「/?tag=」などのパラメータを渡すタイプのURLには
原則非対応です。
mod_alias – Apache HTTP サーバ バージョン 2.2
mod_alias は簡単な URL 操作向けに設計されています。 より複雑な操作、クエリーストリングの操作には、mod_rewrite で提供されるツールを使用してください。
公式アナウンスでもクエリ文字におるURL操作は、
mod_rewriteを利用するようにとされています。
その為、この場合mod_aliasによるURL転送は行えないことになりますが、
実際、クエリパラメータをそのまま転送先に渡すだけであれば、
mod_aliasを利用したリダイレクト
(Redirect・RedirectPermanent / RedirectTemp・Redirect Match)でも、
転送すること自体は行えます。
※転送先URLにクエリパラメータが付いてきます。
Redirect
Redirectディレクティブを利用したURL転送(置換)によって、
URL形式を変換する例をご紹介します。
この場合、転送先にはクエリパラメータ形式のURLにてそのまま転送し、
WordPressによって、タグページにリダイレクトされます。
RedirectPermanent / RedirectTemp
RedirectPermanentディレクティブを利用したURL転送(置換)によって、
URL形式を変換する例をご紹介します。
Redirect Match
Redirect Matchを利用したURL転送(置換)によって、
URL形式を変換する例をご紹介します。
mod_rewrite
mod_rewriteを利用したURL転送(置換)によって、
URL形式を変換する例をご紹介します。
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転送を行って既存のサイト評価を、
無駄にすることなく引き継いで引っ越しを成功させたいものです。
301 redirect code generator – permanent URL redirection
.htaccessでクエリ付きリダイレクト|独りスタンディングオベーション
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.の著作物です。
公開日:
最終更新日:2014/12/22