2008年05月06日(火)
カテゴリ:FC2ブログ
FC2ブログの機能として用意されたブログ内検索は、確実に本文内のキーワードのみを対象に検索してくれますが、
その検索結果はキーワードの一致度や記事の重要度の順ではなく記事の更新順となるため、高品質とは言えません。
一方、ブログ内検索にGoogleを利用すれば、すべての記事が検索対象になる保証は無いものの、
検索結果の並び順に関しては質の向上が見込まれます。
FC2ブログにおいて、自分のブログの個別記事のみを対象にしたGoogleの検索窓を設置する方法です。
<form action="http://www.google.co.jp/search" method="get">
<fieldset>
<legend>ブログ内検索</legend>
<input type="text" name="q" value="" size="30" /><input type="submit" value="Google 検索" title="Googleを利用してキーワードを含む個別記事を検索" />
<input name="ie" value="EUC-JP" type="hidden" />
<input name="oe" value="EUC-JP" type="hidden" />
<input name="hl" value="ja" type="hidden" />
<input name="hq" value="inurl:blog-entry" type="hidden" />
<input name="domains" value="<%blog_id>.blog<%server_no>.fc2.com" type="hidden" />
<input name="sitesearch" value="<%blog_id>.blog<%server_no>.fc2.com" type="hidden" />
</fieldset>
</form>
input要素の「name="ie" value="EUC-JP"」と「name="oe" value="EUC-JP"」の部分は文字コードを示します。
FC2ブログではEUC-JPを使います。
「name="sitesearch" value="<%blog_id>.blog<%server_no>.fc2.com"」により、
自分のブログのみを検索対象にします。
さらに
「name="domains" value="<%blog_id>.blog<%server_no>.fc2.com"」を加えることで、
検索結果のページでドメイン名のラジオボタンにチェックを入れた状態で表示させることができます。
「name="hq" value="inurl:blog-entry"」は「URLにblog-entryを含むページのみを検索」、
すなわち、個別記事だけを検索対象にするようにします。
以下のページも参考になります。
- #152
- コメント:2
- トラックバック:0
2008年05月05日(月)
カテゴリ:FC2ブログ
ブログ内検索の検索フォームは、テンプレートのデザイン要素のひとつとしてうまく活用すれば、見た目も使い勝手も向上します。
FC2ブログでは公式プラグインとしてサイドバーに設置するものが提供されていますが、それをそのまま使うだけではもったいない。
まず、検索フォームの位置ですが、画面右上に配置するのが多くの場合において最適だと考えます。
また、すべてのページで表示しておき、
いつでも検索できるようにしておきます(ヤコブ・ニールセンのガイドラインを踏まえています)。
検索フォームの具体的なコードは以下のようになります(検索フォームのサンプル)。
<form action="./" method="get" class="search">
<fieldset>
<legend>ブログ内検索</legend>
<input type="text" name="q" value="<%search_word>" size="30" /><input type="submit" value="検索" /><br />
<label><input name="w_res" type="checkbox" value="on" />コメントも検索対象に含める</label>
</fieldset>
</form>
form要素の直下にインライン要素であるinput要素は置けないのでここではfieldset要素を使っていますが、
inputを囲む要素としてpやdivもよく使われます。今回のカスタマイズのポイントは強調箇所。
value属性に<%search_word>を入れておくことで、検索結果画面で検索語を検索フォーム内に残すことができます。
これは一般的な検索エンジンと同様の動作です(<%search_word>は検索結果画面以外では表示されない)。
<input name="w_res" type="checkbox" value="on" />を入れておくことで、
コメント投稿者名とコメント内容を検索対象に含めるか否かというオプションを与えられます。
name属性の値をw_tbにすれば「トラックバックを検索対象にする」、
orで「いずれかの語を含むキーワードで検索」というオプションも可能
(この方法はkofumoさんのブログを参考にしました)。
ただし、検索オプションをはじめから多く提示すると見た目に煩雑ですし、かえってユーザビリティを低下させる原因になる場合もあります。
<!--search_area--> 〜 <!--/search_area-->を使い、検索結果画面でのみ表示するように工夫するのもひとつの方法です。
<form action="./" method="get" class="search">
<fieldset>
<legend>ブログ内検索</legend>
<input type="text" name="q" value="<%search_word>" size="30" /><input type="submit" value="検索" /><br />
<!--search_area-->
<label><input name="or" type="checkbox" value="on" />いずれかの語を含むキーワードで検索(OR検索)</label><br />
<label><input name="w_res" type="checkbox" value="on" />コメントも検索対象に含める</label><br />
<label><input name="w_tb" type="checkbox" value="on" />トラックバックも検索対象に含める</label>
<!--/search_area-->
</fieldset>
</form>
また、常にコメントやトラックバックを検索対象にしたいのであれば、type="checkbox"の代わりにtype="hidden"を使います。
<form action="./" method="get" class="search">
<fieldset>
<legend>ブログ内検索</legend>
<input type="text" name="q" value="<%search_word>" size="30" /><input type="submit" value="検索" /><br />
<input name="w_res" type="hidden" value="on" />
<input name="w_tb" type="hidden" value="on" />
</fieldset>
</form>
見た目の調整に関してはADP: フォームにCSS 2007が参考になります。
- #151
- コメント:0
- トラックバック:0
2008年05月04日(日)
カテゴリ:FC2ブログ
FC2ブログのリニューアルに伴う仕様変更とテンプレート変数の追加により、
テンプレートの作り方を変えなくてはならない部分が出てきました。とくに「ブログ内検索」については改良点が多いようです。
ブログ内検索の仕様変更にはおもに以下の点があります。
- 複数語句での検索が可能になった
-
この改良でブログ内検索の利便性は格段に向上しました。
ただし、ごく一部の利用法において問題が生じます。
「cfdn」系公式テンプレートでは、検索用テキストボックスにあらかじめ「検索語を入力してください」と入力されており、
テキストボックスがフォーカスされると中身がクリアされるというJavaScriptが仕込んであります。
これの応用として、テキストボックスに<%search_word>または<%sub_title>を使って検索語を表示しておき、
入力欄がフォーカスされると検索語をクリアするというテクニックがありますが、複数語句での検索が可能になった今、
「テキストボックス内の語句のクリア」は使い勝手を著しく低下させます(絞込み検索がしにくい)。
また、これまでは一語での検索しかできなかったため、
それを利用(?q=複数語のクエリでリンク)することで、
あえて「記事数0の検索結果ページ」や「キーワードを含む記事のうち、特定の記事のみを含む検索結果ページ」へ飛ばすというテクニックがありました。
いまやこの小技(?)で期待通りの検索結果ページが表示される保証はありません。
- 記事本文だけでなく、コメントやトラックバックを検索対象に含むことが可能になった
-
検索クエリを以下のようにすることでコメントやトラックバック内の語句も検索することができます。
検索クエリと検索動作
| クエリ | 動作 |
| ?q=keywords | 記事本文に対するAND検索 |
| ?q=keywords&or | 記事本文に対するOR検索 |
| ?q=keywords&w_res | 記事本文およびコメントに対するAND検索 |
| ?q=keywords&w_tb&or | 記事本文およびトラックバック対するOR検索 |
| ?q=keywords&w_res&w_tb | 記事本文およびコメント、トラックバックに対するAND検索 |
これを利用することでブログ内検索に検索オプションをつけられます。
<%blog_id>と<%server_no>の追加
-
これらの単変数の追加でブログURL(<%url>)のドメイン部分のみの取得が可能になりました。
Googleを利用したサイト内検索に必要なパラメータをテンプレート変数を用いて組み込むことができます。
具体的なカスタマイズ方法については次回。
- #150
- コメント:0
- トラックバック:0
2008年04月27日(日)
カテゴリ:FC2ブログ
このエントリの最終更新日は2008年5月3日
先日情報を公開したPattyですが、
開発は少しずつ進んでいます。
「Patty」開発進捗状況
| 項目 | 優先度 | 実装 |
| 未対応のテンプレート変数 | 低〜高 | 未 |
| エクスポート時の文字コード指定 | 高 | 済 |
| プラグイン対応 | 高 | 未 |
| 拍手・ブックマークボタン | 中 | 未 |
| ユーザタグ関連 | 中 | 未 |
| コメント・トラックバックの受付、拒否の設定 | 中 | 未 |
| GUIの日本語対応 | 中 | 未 |
| テンプレート変数の入力補完 | 低 | 未 |
現在Pattyが対応している変数をまとめました。
エクスポートファイルから取得できない情報(エントリー番号、カテゴリ番号、ユーザタグ等)や
実装が面倒な項目(プラグイン等)は後回しになってしまいます。
- #149
- コメント:0
- トラックバック:0
2008年04月01日(火)
カテゴリ:FC2ブログ
FC2ブログのテンプレートをローカルで編集・プレビューのできるフリーソフト「Patty」の紹介です。
PattyはFC2ブログのテンプレート編集に特化したテキストエディタ。
タグの色分け表示やHTMLタグの入力補完といった基本的な機能に加えて、
ブログの表示モードごとのプレビューが可能。
- #148
- コメント:4
- トラックバック:0