category:
Diary
Back to Blog Index
サイドバーにTagcloudを表示させる。
小川氏のTagwireプラグインを使用しているなら、tags.htmlなどのページでTagcloudを実装できたはずだ。 ここではそれをMTのサイドバーに表示させる方法を紹介する。 結構簡単。 SSIを使用します。 SSIはサーバーサイドインクルードで、iframeみたいなもの。 ただiframeはロボットには読まれないけれど、SSIの場合、アクセスがある度にサーバーサイドで出力してくれるため、ロボットも読む。つまりSEOにも効果的。 SSIはサーバによって使用可能、不可能がいろいろある。(サーバの仕様による) また、SSIはデフォルトで拡張子が”.shtml”なのだが、なんだかSSIを使っていることがばればれだ。 別にいいと言えばいいんだが、できれば”.html”にしたい。 そんな時は下記の設定を。 ※下記の設定をした場合、SSIを使っていない”.html”ファイルもSSIと見なされてしまうため、アクセスが遅くなる場合がある。 .htaccessを使用する。 下記のように記述。
Options +Includes
AddHandler server-parsed .html
<Files *.html>
XBitHack full
</Files>
上記の内容をtest.htaccess等の名前で保存。
サーバのルートディレクトリ(当ブログの場合/直下)にアップロード。
test.htaccessを.htaccessにリネーム。
これでFTPクライアントからは.htaccessが見えなくなるのだが心配いらない。システムファイルと見なされて不可視になっているだけだ。可視にしたい場合はFTPクライアントの環境設定からいけるはず。
※もちろんローカルPCで.htaccessを作成することも可能。フォルダオプションですべてのファイルを表示させたりDOSかviでリネームしたり。
.htaccessをサーバにアップロードした後は、htmlにインクルード文を記述する。
例:
<!–#include file=”インクルードするファイルパス” –>
これだけ。一行だけだ。ここがSSIの非常にクールなところだ。
CSSが標準となった今となっては読み込んだあとのレイアウトも自由自在。
追記:インクルード文には下記の2通りがある。
1. <!–#include file=”インクルードするファイルパス” –>
2. <!–#include virtual=”インクルードするファイルパス” –>
1. インクルードするファイルとされるファイルが同階層の場合
2. インクルードするファイルとされるファイルの階層が違う場合
第二階層、第三階層までの構造を持っているサイトの場合、SSIを一つトップディレクトリに用意しておいて、
第二階層からは”<!–#include virtual=”../インクルードするファイルパス” –>”、第三階層からは”<!–#include virtual=”../../インクルードするファイルパス” –>”とすればOKですね。
MTの場合アーカイブで階層の深さが読めないから絶対パスになるか。。