年月アーカイブ・FC2ブログJavaScript転送策
FC2ブログからのURL転送を行う際には、
サイトにアクセスしてきた端末ごとのテンプレートに合わせてURL転送を行います。
JavaScriptを利用した転送を保険的に設置しておくと、
FC2ブログ側の仕様変更などの影響を減らした安定した転送が行えると思います。
ここでは、年月アーカイブページのJavaScriptによるURL転送をご紹介します。
年月アーカイブ・FC2ブログJavaScript転送策
FC2ブログのPC用の表示では、
独自のプラグインを追加して、JavaScriptなどを記述することができます。
このJavaScriptを利用してサイトのURL転送を記載することもできます。
PC用テンプレートの追加と編集については、
GoogleAnalyticsタグの挿入などをする場合と同じですので、
操作方法については以下を参照願います。
JavaScriptソースの指定
PC用プラグインのフリーエリアに対して設定するJavaScriptソースは、
転送するURL形式によって異なります。
1.JavaScriptのみで、年月アーカイブURLをそのまま転送
FC2ブログでは年月アーカイブも静的URL形式で公開されています。
FC2ブログでは年月日アーカイブページのURLは以下のようになります。
- http://fwding.blog.fc2.com/blog-date-2014.html
- http://fwding.blog.fc2.com/blog-date-201411.html
- http://fwding.blog.fc2.com/blog-date-20141125.html
JavaScriptのみで転送を行う場合には、
共通ソースで転送することで.html形式によるURL転送が行えます。
共通コードを利用することで以下のようなURLへ転送をすることができます。
- http://fc2.freeblg.info/blog-date-2014.html
- http://fc2.freeblg.info/blog-date-201411.html
- http://fc2.freeblg.info/blog-date-20141125.html
この場合には、移転先のサーバーでは上記のURLで要求があったら、
WordPress形式の年月アーカイブページを提供するように、
.htaccessにてURLの再転送を行なう流れになります。
ただ、このURL形式の転送はテンプレート編集による
<meta>タグ転送では実現できないURL形式になってしまいます。
その為、整合を取るためにJavaScriptでも、
一律して同じ年月アーカイブへ転送するのも1選択肢です。
2.現在日から求めた、当月または前月のアーカイブページへmetaタグによって一律転送する
この場合のJavaScriptソースは以下のような感じです。
この方法はあまりお勧めはしません
JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 |
<script type="text/javascript" language="javascript"> <!-- var dt = new Date(); var month = dt.getMonth()+1; var year = dt.getFullYear(); setTimeout("link()", 0); function link(){ strURL = "http://fc2.freeblg.info/" + year + "/" + month + "/"; location.href = strURL; } // --> </script> |
こうして指定を行っておくことで、
FC2ブログの年月アーカイブページが表示された場合には、
一律して、現在日時から求めた、年月アーカイブページへ転送されます。
※ただ月初の1日などではまだ投稿がない状態で、
当月のアーカイブページにアクセスされる可能性がありますので、
前月アーカイブに転送してしまうのも一つの案です。
出力対象ページの指定
URL転送のJavaScriptソースはそのままでは、
すべてのページでプラグインエリアが表示され、出力されてしまいます。
特定のページタイプでは独自のJavaScriptを設定する必要がある為、
以下のページタイプの表示では、このプラグインエリアが表示されないようにします。
[【HTMLの編集】]をクリックして、プラグインエリアのカスタマイズを行います。
編集エリアが表示されたら「&freearea」がプラグインによって出力される部分を表しています。
この「&freearea」部分をエリア(モード)変数で囲み、以下のページタイプのみで出力するようにします。
※「エリア(モード)変数: FC2ヘルプ | FC2ブログ | テンプレート用 変数一覧」
- 年月アーカイブページ
実際に設定した状態は以下のようになります。
1 2 3 |
<div class="plugin-freearea" &align> <!--date_area-->&freearea<!--/date_area--> </div> |
設定が完了したら[更新]をクリックしてプラグインを保存します。
これによって年月アーカイブページでは、
JavaScriptにて一律して同じ年月アーカイブURLへ転送されます。
※プラグインは一時的に非表示化しておくこともできますので、
事前に設定を投入しておき、実際に転送を開始するまでは出力しないことも可能です。
このプラグインによって万が一<meta>タグによる転送が、
FC2ブログなどの仕様変更によって無効化されてしまった場合の
保険的な意味合いとしても設置しておくことができます。
FC2ブログのテンプレートに対して、<meta http-equiv=”refresh” ・・・と挿入し保存すると、
保存後に<meta http-equiv=”refresh”部分のタグは削除されてテンプレートが更新されます。
これは、FC2ブログ側が<meta http-equiv=”refresh”の使用を認めていないと感じ取ることができます。
その為、代替案で挿入した<meta>タグが無効化される可能性も考えられます
年月アーカイブ・FC2ブログmetaタグ転送策
metaタグを利用したURL転送については以下でご紹介しています。
さいごに
JavaScriptを利用したURL転送では非常に簡単な記述で、
URLの転送を行うことができます。
とは言え、すべてのアクセスがJavaScriptが有効な状態でアクセスしてくれるとは限りません。
その為、JavaScriptによる転送は、
テンプレート編集による<meta>タグ転送が行えないパターンに限定して
利用するといい転送方法であると私は考えています。
FC2はFC2, Inc.の商標であり、FC2ブログはFC2, Inc.のサービス名称です。
FC2ロゴ、アイコンその他のマーク等はFC2, Inc.の商標であり、FC2, Inc.の著作物です。
公開日:
最終更新日:2014/12/07