-導入は簡単でユーザータグを使っているならハードルは低め導入方法は簡単な部類に入り、
ここからソースを入手して使用しているテンプレートに貼り付けるだけです。
オプションの「target="_blank"」は関連エントリを新しいウィンドウ(もしくはタブ)で開くかどうか設定で、残りは書いてあるそのままの意味なので任意の値を設定すればいいでしょう。
ただし、「抽出元」の設定だけは少し注意が必要です。
デフォルト設定の「ユーザータグ」を選んだ場合は、当然ですが各記事にユーザータグが設定されている必要があります。
私の環境では試していませんが、ユーザータグをまったく使用していないBlogならば抽出対象が存在しないため何も表示されないでしょう。
また、エントリに適切に設定されてないタグが多い場合は、望むような関連エントリが表示されないことになります。
過去記事のユーザータグが存在しない、あまり考えずに乱雑にタグを付けてきた、などのことが思い当たるなら記事の編集が必要になるかもしれません。
(あくまで過去の記事を関連エントリとして出したい場合は、ですが。)
もう一つの「カテゴリー」を選んだ場合はユーザータグを使っている必要はありません。
しかし、機能はこのようになってしまいます。
カテゴリーの場合は、同カテゴリーのエントリーをランダムに抽出して表示します。
機能としてはより簡素でわかりやすいですが、カテゴリを跨いだ表示がされないのはちょっと残念な感じです。
カテゴリの中をランダムで選ぶという点で、表示項目自体の精度も落ちてしまうという事態も考えられます。
私は基本的に抽出元は「ユーザータグ」で使うべきという印象を受けました。
関連エントリの表示場所はソースを貼り付ける位置で変わりますが、私はエントリの一番最後を選びました。
すでに改造済みの
タグ表示の上に置くか下に置くか少し考えましたが、上に表示するデメリット(後述)も考慮して一番下に置いています。
テンプレートをカスタマイズすることに抵抗感がなく、すでに何か改造をやっている人は何の苦労もせずに導入できると思います。
具体的に私の場合は<%topentry_community_janrename>の直下あたりです。
一度テンプレートに適切に貼り付けられれば、後はこちらからやることはほとんどありません。
過去ログにも新規エントリにも同じように、関連エントリが表示されるようになります。
この点は
前回で書いた「
関連エントリーリストジェネレータ」に比べて、極めて大きなアドバンテージといえるでしょう。
もちろん「手動関連エントリ」とは比べるべくもありません。
-ソースから挙動を推定する貼り付けるソースからこれが具体的にどのような動きをしているのか見てみましょう。
ざっとチェックしたところ、抽出元がユーザータグでもエントリーでもJavaScriptを使って「entry_list.php」というCGIから結果を出力して表示しているようです。
CGI自体は
http://jp.cssez.com/から呼び出していて、これはこのカスタマイズの提供元であるCSSEZの中の人さん(で呼び方はいいのかな……?)のメインサイトのもののようですね。
要するに関連エントリを表示するたびに、外からCGIを「お借りする」形で使うカスタマイズということになります。
当サイトのような過疎Blogなら別に何の問題もないでしょうが、日に数万ヒットもあるようなBlogで使うと負荷が大丈夫なのかな?と思わなくもないです。
いずれにしても自分のBlog内で完結する動作とは違うので、その辺りは考慮した方がいいかもしれません。
全体の流れとしては多分こんな感じでしょう。
エントリナンバー・使われたユーザタグ・カテゴリを取得
(これはFC2Blogの変数によっておこなわれている)
↓
CGIに取得したデータを送る
↓
CGIは入力されたデータ(タグ)からそのBlog内の記事を検索し、関連エントリをピックアップする
(抽出元がカテゴリーなら、カテゴリ内のエントリからランダムで任意数の記事をピックアップ)
↓
エントリ内に表示する
これらの動作はすべて動的におこなわれるため、エントリ数が増えたり減ったりすれば当然表示される結果(関連エントリ)は変わるでしょう。
(検索結果は変わらなくても表示数はランダムとのこと。)
エントリ数が増えていったら表示されていた重要なエントリが表示されなくなった、ということもあるかもしれません。
-長所と短所をまとめてみるそれでは導入してみて感じた長所と短所をまとめてみましょう。
長所
・FC2で関連エントリが自動で表示できる
わざわざ書くまでもないですが大きなメリットです。
他のBlogサービスですらあまり見られない便利な機能が、(多分)個人の手によって提供されているのだから驚愕です。
・導入のハードルが低い
テンプレートカスタマイズの最低限の知識があればできます。
何せ私にもできるぐらいですから。
・すべてのエントリに自動で表示される
一度テンプレートに組み込んでしまえば、これから書くエントリも過去のエントリもすべてに表示されるようになります。
何もしなくていいのですから、面倒くさがりで物ぐさな私でも安心です。
・広告がない
外部のリソースを借りるタイプなのに、(今のところ)表示される広告は一切ありません。
あるのはソースを発行するBlogエントリへのリンクだけ。
実に良心的です。
短所
・JavaScriptがONでないと表示できない
閲覧側の設定の問題ですが、JavaScriptがOFFだと一番下に表示されるソース発行ページのリンクしか生成されません。
動的にリンクを生成する仕組みである以上しかたないと思うのですが、セキュリティを重視してOFFにしているユーザもいるので残念な点のひとつでしょう。
・表示エントリと同じものが「関連エントリ」として表示される
ちょっと不思議なのですが、「今表示されているエントリ」が「関連エントリ」として出てきます。
タイトルを気にしないで見ている人は、同じエントリを再度開いてしまうかもしれません。
気になるといえば気になる点です。
・ユーザータグを使用している必要がある
抽出元をカテゴリーにするとカテゴリ内からランダムで選ばれるだけになってしまうため、はやりユーザータグからの抽出の方が精度や利便性の点で適当だと思われます。
少し違った言い方をするなら、ユーザータグを使った方が100%のポテンシャルを引き出せるという感じでしょうか。
・ページの表示速度が少し低下する
前出のとおり、このカスタマイズは外部のCGIを利用する形で提供されています。
ただ単にFC2BlogからHTMLを読み込むのとのは違い、関連エントリを表示し終わるにはCGI側の処理を待つ必要があります。
そのタイムラグがあるせいか、関連エントリ導入前よりもページのすべてをブラウザが描画し終わるまで、数秒ほど時間がかかるようになりました。
通常の状態では気にするほどではありませんが、呼び出しているCGIのサーバが何らかの原因で重くなった場合は、実感できるほど遅くなることもあるかもしれません。
文章は普通上から読み進めるため、関連エントリの配置位置をなるべく下にすることによって、閲覧時に影響が出ることを最小限に押さえることができるかと思います。
・FC2Blog以外では使えない
FC2Blogしか使っていない私には関係ありませんが、それ以外のBlogサービスを使っているとコードを貼り付けても動作しません。
使いたいと思ってる方は結構いるかもしれませんね。
-注目のエントリ抽出精度は?私の場合はユーザータグからの抽出にしてますが、全体的に抽出精度は高いように感じられます。
PCのエントリならPC関係のものが、Blog関係ならBlogのものが出ることがほとんどです。
ただし、前出のとおり表示しているエントリと同じものが出ることがありますし、ほとんど関連性がないエントリが出てくることもあります。
逆に、まったく同じユーザータグを使用しているエントリ(前後に分かれているエントリなど)でも表示されないことがあり、ちょっとガッカリすることもあります。
(前後に分かれている場合は、普通エントリ自体からリンクを張るので問題は別にないのですが。)
ただ、これはあくまで私が付けたユーザータグを使用した場合で、タグの付け方によって挙動は変わってくるでしょう。
ひとつのエントリに付けるユーザータグは多い方がいいのか少ない方がいいのか。
エントリが多いのと少ないのではどちらが検出精度が良くなるのか。
などについては私は調査していないため、判断することはできません。
抽出方法にカテゴリーを選んだ場合は、ユーザ側で工夫することによって精度を上げることが出来あるかもしれません。
エントリを書くときにカテゴリ自体を細かく分けて、表示のみをスクリプトに任せるのです。
選択はランダムにおこなわれても、選ばれる母体自体が似たものであれば問題はないでしょう。
ユーザータグを作るのが面倒な方はこちらの方がいいかもしれません。
-総括記事として全体的に短所や文句が多くなってしまったように見えますが、実際は非常に満足しています。
気になる点を考慮しても、これだけ楽かつ手軽にFC2Blogで関連エントリが表示できる方法は他にありません。
FC2Blogはプラグインを使って様々な機能が使えるようになっていますが、さらにそれをユーザ側がカスタマイズしたり機能追加したりでより一層便利に使えるのはいいことですね。
ブログパーツと呼ぶべきタイプのものなのかはわかりませんが、FC2Blogを使っているなら非常にお勧めな追加機能のひとつといえるでしょう。
コメント
blog comments powered by Disqus