2009年11月9日月曜日

Web サービスの利用

暇つぶしに Web サービスをいくつか利用して、地図から検索するページを作ってみました。

利用した API
Google Maps API
r.tabelog.com/help/api
yoyaq.com/help/webservice
webservice.recruit.co.jp
lab.uribou.net
www.finds.jp

API によって JSONP 形式を利用できる場合とできない場合があります。JSONP の扱いは jQuery が簡単でした。
(例)
        var url = "~format=jsonp&callback=?"; // 最後は ? にする
        $.getJSON(url, function(json) {
            if (json.errorなど) {    // エラー処理
                return false;
            }
            $.each(json.要素, function(){
                ~処理~                    
            });
            ~処理~
        });

jQuery は便利。よく分かってないせいかなんなのか、jQuery の empty や append などがうまく動かない、、、。

JSONP 未対応 API では Javascript で Web サービス XML のパースがよく分からず、うまくいかなかったので Java でやりました。Java の場合は、javax.xml.xpath と org.w3c.dom パッケージを使えば OK です。

2009年9月27日日曜日

ページをアンカーでセクション分け

Google Webmaster Central Blog によると、一つのページを <a name="~" id="~"> のようなアンカータグでセクション分けして、そのページ内にリンクを張っておくと、検索結果に追加リンクが表示される可能性があるようです。これはアルゴリズムで自動化されているそうです。
例)


またShow more results from... や Jump to ... というリンクや、同様の掲示板などのポストも追加リンクとして表示される場合もあります。

1ページ1テーマに絞っていればあまり必要ないテクかもしれません。

2009年9月8日火曜日

Twitter のやりすぎに注意

BBC によると
Dr Tracy Alloway が Twitter のしすぎは脳のワーキングメモリーを弱くすると指摘。
反対に Facebook や数独、戦争ゲームなどは知的要素を強化すると言っています。
本当かどうかは分かりませんが。
Memory prowess linked to gaming

2009年8月18日火曜日

Amazon Web サービス 仕様変更

8/15からアマゾンウェブサービスの仕様変更がありました。
Amazon Web サービスにリクエストを送信しても
今までは正常なリザルトが返ってきていても
The request must contain the parameter Signature.
とうリザルトが返ってきます。

フォーラムにも問い合わせがたくさんあります。

アマゾンは仕様変更を前々からアナウンスし、メールももらっていましたが、忘れていました。
Product Advertising API Planned Outages

Amazon Web サービスに REST リクエストを送信する際に
従来のリクエストに加え Timestamp と Signature というパラメータを加えなければなりません。

簡単な手順は
Basic Authentication Process
(リンク先左側メニューで Request Authentication > HMAC-SHA Signatures for REST Requests > Basic Authentication Process)
にあります。

従来のURLとの違いは
Signed Requests Helper
で簡単に理解できます。

HMAC-SHA signature の動的作成が厄介でが、
Amazon は Java のサンプルコードも公開しています。
(リンク先左側メニューで Request Authentication > Authenticating REST Requests > Java Sample Code for Calculating Signature Version 2 Signatures)
これを使えばリクエストURLの生成が簡単です。

私の場合、SignedRequestsHelper クラスの修正点として
ecs.amazonaws.jp へ変更
private String endpoint = "ecs.amazonaws.jp";
そして
Signature がなぜか改行文字を含んでしまうようなので下記のように修正すればうまくいきました。
canonicalQS + "&Signature=" + sig.replaceAll("%0D%0A", "");
また、
StringBuffer が使われているところは StringBuilder に変更してもよいかと思われます。

Apache Commons codec を使用しました。

2009年7月30日木曜日

Bing + Yahoo!

Microsoft の検索サービス Bing は、これまでの MSN と違うようで、自サイトのインデックス数も相当増えています。

Yahoo! が検索エンジンに Bing を採用するという見方が強まっていますが、New York Times によると、Yahoo! にとっては、やはり検索エンジン開発にかかる莫大なコスト削減効果が利点のようです。

しかし、グーグルから見れば、Yahoo! と Bing が検索及びそれに伴う広告配信などのプログラムの統合に手間隙かけている間に、新たなサービスの開発を推進できると言うメリットがあるとも述べています。

別の見方では、ヤフーは検索を MS に任せて、自身はコンテンツ作りに集中できると言うことにもなるでしょう。

また、この統合は、今のところグーグルのシェア自体を脅かす要素にはならないと言う見方が大半のようです。

しかし、SEO 的には、今まで以上に Bing への対策が重要になるのでしょう。

今回の統合で得をしたのはどっちか、というアンケートが Matt Cutts: Gadgets, Google, and SEO で見られます。

2009年7月19日日曜日

BBC の JavaScript ライブラリ Glow を試す

BBC の JavaScript ライブラリ Glow を試してみました。

とりあえず最新版の zip ファイルをダウンロードして適当なところに配置。

API やサンプル集も充実。

早速カルーセルウィジェットを試してみました。

jsファイルを配置して下記のような感じでコードを挿入
<link href="js/glow/1.5.1/widgets/widgets.css" type="text/css" rel="stylesheet" />
<script src="js/glow/1.5.1/core/core.js" type="text/javascript"></script>
<script src="js/glow/1.5.1/widgets/widgets.js" type="text/javascript"></script>
<script type="text/javascript">
window.onload=function(){
var carousel = new glow.widgets.Carousel("#carousel",{
pageNav: true
});
}
</script>
<style type="text/css">
<!--
ol#carousel li {margin:4px;}
-->
</style>
.....
<ol id="carousel">
<li><a href="...."><img src="..." /></a></li>
<li><a href="...."><img src="..." /></a></li>
.......
</ol>


例えば下記のような感じで表示され、アイテムをスクロールできます(下記はイメージです)。

2009年7月6日月曜日

Yahoo! Web サービス

Yahoo! Web サービスを利用して
キーフレーズ抽出ツールを作ってみました。
あくまで参考程度にしかなりません。
スコア算出のアルゴリズムは yahoo! web サービスのテキスト解析APIのものであって、
検索エンジン等のアルゴリズムのものではありませんので、SEOにどの程度参考になるのか分かりません。