FC2ブログのブログ内検索をGoogle AJAX Search APIで

元々FC2ブログのブログ内検索は使っていないけど、ためしに使ってみたら、検索結果はひどいしちゃっかり広告もでるし。今までGoogleカスタム検索を使っていたけど、先日Google AJAX Search APIでブログ内検索を設置してみました。

実際このブログのヘッダーの右上に設置しているのでぜひお試しください。検索結果が記事の右側に表示されます。今回実際このブログに設置されているものを紹介します。

まずCSSの設定です。

<link href="http://www.google.com/uds/css/gsearch.css" type="text/css" rel="stylesheet"/>
<style type="text/css">
//検索窓の長さ
  #searchcontrol ,.gsc-control {
  width : 270px;
  }
//検索結果のスタイル
  #somewhere {
  padding:10px 20px 10px 20px;
  line-height:150%;
  }
//powered by の色
  .gsc-branding-text {
  color : #fff;
  }
td.gsc-branding-img {
  width : 75px;
  text-align :left;
  }
//ページ紹介とURLを表示しない
  .gs-snippet ,.gs-visibleUrl {
  display : none;
  }
</style>

まずGoogleサーバーの外部CSSを読み込んで変更点を自分で指定します。

次にJavaScriptです。APIkeyは下記より取得してください。

<script src="http://www.google.com/uds/api?file=uds.js&amp;v=1.0&key=取得したAPIkey" type="text/javascript"></script>

<script type="text/javascript">
  //<![CDATA[
function OnLoad() {

  var searchControl = new GSearchControl();

 //リンク先を同じウインドウで開きます
  searchControl.setLinkTarget(GSearch.LINK_TARGET_SELF);
  var options = new GsearcherOptions();
  options.setExpandMode(GSearchControl.EXPAND_MODE_OPEN);
  options.setRoot(document.getElementById("somewhere"));

  var siteSearch = new GblogSearch();

 //ラベルの文字
  siteSearch.setUserDefinedLabel("サイト内検索");
  siteSearch.setUserDefinedClassSuffix("siteSearch");

 //ブログのURLを入力します
  siteSearch.setSiteRestriction("ブログのURL");
  searchControl.addSearcher(siteSearch, options);

  searchControl.draw(document.getElementById("searchcontrol"));
  searchControl.setResultSetSize(document.getElementById("searchcontrol"));

 //8件表示します。削除すれば4件になります
  searchControl.setResultSetSize(GSearch.LARGE_RESULTSET);
 }
  GSearch.setOnLoadCallback(OnLoad);
 //]]>
</script>
で、検索窓を設置するところに
<div id="searchcontrol"></div>
検索結果を表示するところに
<div id="somewhere"></div>

を挿入したら完成です。

ただインデックスされていなかったら使えません。。

フィードやTwitterで最新情報をチェック
follow us in feedly
この記事に付いているタグの最新記事一覧
loading...
コメント
いつもお世話になっております。
以前この機能でサクッと検索ができていたのですが、
急に動かなく(検索結果が全て0件)になってしまいます。

何が原因なんでしょうかね?

おっしゃられている
「ただインデックスされていなかったら使えません。。」
インデックスがなくなってしまったんでしょうか?

それとは別で、こちらのサイトでも上記の機能をお使いになられてましたよね?
それが今や別ページに検索結果が表示されるようになっていますね?
同じような機能を使用されているのでしょうか?
【2011/06/09 00:30】 | BOOWY #- | [edit]
おはようございます。

コードも変更していなくて突然検索結果が0件になるのであれば
何らかの理由でインデックスされなくなったのかもしれませんね。

Googleで「site:サイトのURL」で検索してみて検索結果が0件であれば
インデックスされていないと判断していいと思います。

検索結果が出るようであればコードに問題があるということになります。

このブログでこれを使わなくなったのは少しでも
軽くしたいという思いからです。

ページの移動なく検索結果が表示できる方が好きなんですが諦めました。
【2011/06/09 08:01】 | 管理人 #E2ywrYdA | [edit]
なるほどーありがとうございます。

でも「site:サイトのURL」で検索結果でましたねー。
なんでやろ?もうちょっと様子見てみます。

ちょっと前にタグを結構変更しまくった影響かもしれません。
もう一度APIkeyを取得したほうがいいような気がしてきました。
APIkeyって何度も取得できるもんなんでしょうかね?
【2011/06/10 02:16】 | BOOWY #- | [edit]
インデックスされているのでしたら
コードに問題があるということかと思います。

APIキーは何度でも取得できると思いますよ~
けど、個人的にはコード自体に問題があるような気がします。
【2011/06/10 07:55】 | 管理人 #E2ywrYdA | [edit]
なるほどー。ちょっとまた時間あるときにコードをチェックしてみます。
ありがとう。ございました。
【2011/06/14 22:40】 | BOOWY #- | [edit]









※コメントはご意見ご感想や間違いのご指摘等にしていただけますようお願いいたします。コメントを確認する時間がなく、技術的なご質問をいただいても答えできません。申し訳ございませんがご理解のほどお願いいたします。

Recent Entry
Popular Entry
  • このエントリーをはてなブックマークに追加