外部スクリプト:PickUp Keyword(試作版)

エントリ内に設定したキーワードが含まれていれば、そのキーワードをBlog内検索に渡すリンク一覧を作成します。

特徴

なるべく簡単な記述で、擬似的にマルチカテゴリ効果を実装できます。

例:音楽、映画というカテゴリがあるFC2ブログで、某タレントのCDと映画について記事を書いたとします。カテゴリ=音楽で投稿しても、キーワード=映画が含まれていればキーワードリンクが書き込まれ、検索結果一覧でカテゴリ=映画の記事群に含まれて表示されるようになります。

ビスコさんの複数カテゴリ アジカンの記事を参考に作成しました(多謝)

動作サンプル

共有テンプレート wreatheに実装しています。

注意点

  1. テンプレートの書式に依存しますので、実装にはある程度HTMLの知識が必要です。
  2. 本文中にキーワードがひとつもない場合は何も書き出しません。
  3. キーワードを含む語句も検索されてしまいます。
    例:本というキーワードで日本もヒットする。otherというキーワードでanotherなども。

ダウンロード

> keywords.js

アップロード

前準備として、ダウンロードしたファイルをメモ帳などで開いて編集します。(任意)

編集箇所はリンク群を書き出す位置folder_pos = "top";の部分、他のスクリプトを組み込む場合など。

  1. ”FC2管理画面”→”ファイルのアップロード”(ツール)→”アップロードするファイルの選択” と進み、jsファイルをアップロードします。
  2. ”FC2管理画面”→”テンプレートの設定”(環境設定)→”テンプレートの編集” と進み、現在選択されているスタイルの修正を開きます。
  3. ”HTMLの編集”の欄を以下のように編集します。(必須)
    <head>
    <meta http-equiv="content-type" content="text/html; charset=euc-jp" />
    <meta http-equiv="content-style-type" content="text/css" />
    <!-- 追加部分 始まり-->
    <meta http-equiv="content-script-type" content="text/javascript" />
    <!-- 追加部分 終わり-->
    <link href="<%css_link>" rel="stylesheet" type="text/css" />
    <link rel="alternate" type="application/rss+xml" title="RSS" href="<%url>?xml" />
    <!-- 追加部分 始まり-->
    <script src="<%url>file/keywords.js" type="text/javascript" charset="euc-jp"></script>
    <script type="text/javascript">
    var re = new RegExp(/(<!--category--><%category_name>|<!--/category-->dammy)/ig);
    </script>

    <!-- 追加部分 終わり-->
    <title><%blog_name><%sub_title></title>
  4. 上の例はカテゴリ名のみをキーワードに設定してます。カテゴリ名のみの場合は<!--/category-->のすぐ後ろにdammyダミー(ヒットしないような語句なら他でも可)を記入してください。
  5. 管理者独自のキーワードを追加したい場合は<!--/category-->のすぐ後ろにキーワード1|キーワード2|キーワード3のように半角”|”で区切って記入してください。空白は含められません。また、最後には”|”はつけません。以下の例ではカテゴリ名に加え、”FC2”・”テンプレ”が管理者独自のキーワードになります。
    <script type="text/javascript">
    var re = new RegExp(/(<!--category--><%category_name>|<!--/category-->FC2|テンプレ)/ig);
    </script>

  6. 管理者独自のキーワードのみ抽出する場合は以下のようになります。
    <script type="text/javascript">
    var re = new RegExp(/(FC2|テンプレ)/ig);
    </script>

  7. 次にスクリプト呼出し側の設定をします。(必須)
    <!--topentry-->

    <div id="entryID<%topentry_no>">
    <%topentry_body> // 本文表示部分
    </div>
    <script type="text/javascript">
    pickupKeyword( "entryID<%topentry_no>" );
    </script>


    <!--/topentry-->

    HTMLの該当部分を上記のように修正します。entryID<%topentry_no>">のIDが使用済みの場合は適宜修正してください。(すでに使用しているIDを使って呼出せる場合もあるのですが、テンプレート依存なのでケースバイケースです。よくわからない方は問い合わせてください。)

その他

試作版としたのは、このスクリプトは使ってくださる方のHTMLにあわせて修正していくことで、より良くなるだろうと考えたからです。

例えば、書き出す要素を<ul>にしたり、書き出す位置を元からあるカテゴリリンクに並べて表示させるようにするなど、サイトの統一感を追求できるかもしれません。あるいは、記事本体にキーワードである印をつけてユーザを誘導するようなしくみもできるかもしれません。また、FC2ブロック変数と組み合わせることで、まったく違うことができるかもしれません。(ちなみに本家で動かしているスクリプトは本文+エントリタイトルに含まれるキーワードも検索するようにしてます)

改造・再配布は自由ですので、ぜひ挑戦してみてください。また、アイディアがある方はご一報ください。

作成日 2005-06-19

©2004-2005 FC2