タグ「検索エンジン」が付けられているもの


検索連動型広告制作の続き

昨夜、思いつきで制作してみた検索連動広告ですが、
朝方に見てみたら全く動かず、、、。
と思ったら、10秒以上たってやっと表示されてきました...( ̄- ̄;)

深夜に快適に動いてたところをみると、
アクセスが集中する昼間とかは、こんな状況なのかもしれないですね。。。
キャッシュで対応したとしても、新規キーワードのデータ取得にこれだけかかると、
ちょっと厳しそうです。。。


という訳で、バリューコマースAPIは保留として、
新たに楽天APIを使って、検索連動型広告を作ってみました。
やり方は前回同様で、接続先URLとレスポンスフィールドが変わる程度なので楽チンです。

search_ad_rakuten.png

今回は画像データも取得して表示してみました(^△^;)
しばらくはこれで様子見してみようと思います。

APIで検索連動型広告の制作

Google、Yahooなどの検索エンジンで検索をすると、
検索結果ページの上、右あたりに、
検索したキーワードに関連した広告が表示されます。

やっぱり、これがないと検索エンジンっぽく見えないってことで、
これを自作して、dtnの検索にもくっつけてみました(^▽^;)

search_ad.png
↑dtnの検索ボックスで検索したキーワードの関連広告が表示されています。


さて、その作り方ですが、、、これがけっこう面倒くさかったです(^△^;)

まず、制作するのに必要となるのが、アフィリエイトサービスが提供するAPIです。
楽天アフィリエイト、リンクシェア、amazonなどなど、
最近ではあちこちのアフィリエイトサービスがAPIを提供していますが、
今回使ったのは>バリューコマースのAPIです。

バリューコマースAPIを使用する場合、プログラム制作する前に以下の3項目を
準備する必要があります。チャレンジする方は、まずこちらをご用意下さい。
1.バリューコマースへのアフィリエイトサイト登録
2.PDB(API)に対応したECとの提携
3.API用トークンIDの取得

ここらの面倒な( ̄- ̄;)作業が終わったら、後はプログラム制作です。
といっても、やり方はYahooニュースを作った時などと同じなので簡単です。

バリューコマースAPIで指定されたURLに対しキーワード付きのクエリを送信。
すると、、、XMLデータが返ってきますので、これを↓の感じでパースすればOKです。

// パーサ作成
$parser = xml_parser_create();
// パース実行、連想配列にパース結果代入
xml_parse_into_struct($parser,$buff,$val,$index);
// パーサ開放
xml_parser_free($parser);


ちなみにですが、、、。
バリューコマースAPIをよく調べてみると、
APIに対応した商品は数百万点!!もあるようで、
このデータを引っ張ってきて、HTMLに出力なんてことをすれば、
数万ページのカテゴリからなる、超大規模ショッピングサイトもどきが、
簡単に作れそうですね(^△^;)

まぁ、、、あっという間に検索スパム扱いとかになりそうですけど...。

動的URLの静的URL表示

dtnでは、URLのあちこちにGETのパラメーターを付けて、
PHPにデータを渡したりしています。
URLに"="とか"?"とかが付いた、こんなアドレスですね。
http://xxx.xxx.jp/test.php?mode=view&_type=entry&blog_id=1

ただ、、、
これらパラメーターがたくさん付いてる動的URLは、
ページランクもなかなか設定されず( ̄- ̄;)
やはり検索エンジンに拾われにくいのかなぁという気がしたので、、、
一部の動的URLを静的URLへと変更し、
その後の変化を見てみることにしました。

で。今回変えてみたのは、画像の赤丸部分のリンク、
dtnのアクセスランキング、人気サイトランキングのURLです。
access_ninki_ranking.png

やり方自体はすごい簡単で、
test.php?mode=○○○○&type=●●●●...としていたURLを、
test.php/○○○○/●●●●...と変えておいて、
$GETからではなく、$_SERVER['PATH_INFO']から
データを取得するというものです。

$_SERVER['PATH_INFO']には、/○○○○/●●●●...が入ってますので、
あとはこれを"/"を境にexplodeして、出てきた値を取り込めばOKです。

ついでに、test.phpとしている部分も、.htaccessを編集して
.phpを省くようにしてあげれば、
test/○○○○/●●●●...
のような静的URL化が完了です。

これでアクセスランキング人気ランキングにも
ページランクが付きますかね...(^△^;)

複数キーワード検索の修正

「会社 設立」のような複数キーワードをdtnで検索した結果が、
「会社」で検索した結果と、「設立」で検索した結果の、
両方が合わさったものになってしまっていたことに先ほど気がつき、、、
急遽検索プログラムを修正致しました( ̄- ̄;)

どうやらSQL文の組み立てが間違っていたみたいで、、、
大変ご迷惑をお掛け致しました。

serach_compound_word.png

無事、Yahooカテゴリのように、複数キーワードにHitする結果のみ、
表示されるようになりました(^▽^;)
ただ、、、登録サイト数がまだまだ少ないので、
Hitする数はそれほどないですけど。。。

登録審査も頑張ってますので、
是非皆さんもお持ちのサイトを登録申請してみて下さい。
ディレクトリの登録はこちら

検索、SEOチェックツールプログラム修正

猫ネコサーチエンジンの検索プログラムをバージョンアップしました。
nekoneko_img.png

dtnの検索と同じように、検索結果に登録カテゴリへのリンクを表示したり、
他にも細々と修正をしてあります(^▽^;)

ちなみに。
dtnのデフォルト検索だと、検索されたキーワードをYahoo APIに放り投げて、
APIから返ってきたXMLと合わせたりしているので、
表示まで一瞬の間がでてしまっていますが、
猫ネコサーチエンジンの方はSQLに問い合わせているだけなので、
パッっと表示されるので気持ちよいです(^△^;)
dtn検索の色々については、こちらもどうぞ

それと、前々から挙動がおかしかったSEOチェックツールも修正致しました(^_^;)
seo_check_tool_verup.png
文字コード判定の精度が悪かったせいで、METAタグ DESCRIPTIONや、
KEYWORDSが文字化けしたりしていたところと、一部のURLについて、
ページランクが正常に取得できていなかった点を修正してあります。

Yahoo!、Google、MSNへと問い合わせをしているので、
表示まで多少時間がかかってしまいますが、、、(^-^;)
ぜひこちらもご活用下さい。

検索プログラムの修正

検索プログラムに不具合が出ていたので修正しておきました。

不具合というのは、、、
ディレクトリに登録されているのに、いくら検索しても出て来ないというものです。
原因を考えたら、あまりのアホさに悲しくなってしまいましたm(T-T )m

というのも、これまで検索結果をSQL文で引っ張ってくる際に、
『アクセス数が多い人気サイト順で表示してみよう!!』と思い、
何も考えずにランキングデータと合わせてDBから引っ張っていたのですが、、、
よくよく考えると、その肝心のランキングデータはリセットしてしまっているので、
ランキング0のサイト様は検索結果に表示されないということになってしまっており、、、

今までサイト名等で検索しても、全く表示されていなかった皆さん。
本当に申し訳ございませんでしたm(T-T;)m

検索プログラムをさらに改造

dtnの検索ボックスでキーワード検索をすると、
下のような流れで検索結果を表示していました。

検索されたキーワードをYahoo検索APIに接続。

返ってきたXMLデータとdtn登録サイトのデータを比較。

同じサイトがあれば多少順位を変動させ、
登録されているdtnカテゴリへのリンクも表示しておく。

詳細はこちらでご確認ください。


ところが、この方法だと元がYahooの検索結果データなだけに、
登録申請したサイトが、dtnに掲載されたかどうか調べようとすると、
次へ、次へ、と表示をいくらさせても表示されないという、、、( ̄- ̄;)
登録申請して下さった方には、とってもメンドクサイものだということになり、、、。


例えば、↓はSNSでキーワード検索をした結果ですが、
11件登録されているものの、mixi以外は全然出てこないということになってます。。。
key_word_search2.gif

そこで、検索結果の表示については、
『Yahoo API + dtn登録サイトの検索結果』の表示だけでなく、
『dtn登録サイトの検索結果のみ』についても表示させる機能を付けてみました。

検索画面中段にある、『dtn登録サイトの結果のみ表示するにはこちら』を押して下さい。
key_word_search1.gif

すると、dtnのデータベースに登録されている中に対してのみ
キーワード検索をかけ、その結果を表示しています。
key_word_search3.gif

これでホームページを登録された方にも使いやすいものに
なったのではと思います(^△^;)

ご指摘頂いた方、誠に有難うございました!!
思いつきで制作しているプログラムばかりなので、
何か不具合がありましたら、お気軽にご連絡下さい。
今後とも宜しくお願い致しますヽ(^△^;)ノ

検索プログラムの修正

検索プログラムのバグ修正作業を実施しました。

dtnの検索で、サイト名やURLを検索すると、
ディレクトリから登録削除をしたサイトについても、
一度登録されていたカテゴリへのリンクが
検索結果に表示されてしまっていましたので、
これを修正しておきました(^▽^;)

search_bag.png

他にも細かく修正をかけております。
バグ報告をして下さった皆さん、有難うございました。
今後も何かありましたら、ご連絡をお願い致します!

検索、画像掲示板プログラムの小修正

検索、画像掲示板プログラムの細かな修正作業を致しました。
検索機能では、空白文字列処理の関係で発生していたバグを修正。
また、画像掲示板プログラムでは、YouTubeのURL設定時に
発生していたバグを修正しました。

まだまだ、サイトのあちこちにプログラムエラーが出たりしており、
あまり安定しているとは言い難い状況ですが、、、。
あくまでも趣味でやってるサイトですので、、、。
多少のプログラムエラーなどなどはご勘弁下さいませ(^^;

どうぞ今後とも宜しくお願い致しますm(_ _)m

検索プログラムの更なる修正

検索プログラムを更に修正してみました。

これまでは、検索APIに接続し、返ってきたXMLデータをそのまま出力させていましたが、
今回はこのデータとdtnのSQL検索データを連携させてみました。
連携といっても、YahooやGoogleのように、独自に何億サイトものデータを
持っている訳でもないので、大したことはしてませんけども。。。(^△^;)

とりあえず、検索APIから返ってきたXMLデータを配列化して、
それとdtnのSQL検索結果を比較して、同じサイトがあったら、
検索APIからのデータをdtnのデータに置き換える。って感じにしてあります。
これにより、こんな感じで検索をしてみると
検索結果の中にdtn登録サイトがあった場合は、
その登録カテゴリへのリンクも表示されるようになってます。

検索結果に登録カテゴリへのリンクが表示されていると、
昔のYahoo検索のような感じがして、懐かしい感じがしますねぇ。

まぁまだまだdtnの登録データも少なく、うまく連携してるとはいえない状態ですが、、、
ただ単に検索APIからのデータを表示させてるだけよりは、
面白くなったかなぁと思って自己満足してます(^▽^;)

ところで。
これまでは、検索結果にgoogleの検索APIのデータも表示させていましたが、、
このgoogle API への接続がボトルネックになっているようなので、
しばらくは接続をやめようと思ってます。

おそらく、Google AJAX Search APIではなく、
Google SOAP Search APIを使ってるのが原因だと思いますが( ̄  ̄;)

うちはPHP4なので、SOAPのデータ利用にはnusoapとかを利用しており、
phpのライブラリだと速度が出ないのはしょうがないかなぁと。。。
Cで書かれたPHP5のSOAP拡張があれば、かなり快適になるとは思いますが、、、
時間があればgoogleデータの利用も考えてみようと思ってます。

というわけで、今はYahoo検索APIの結果のみを利用しています。

今後も、より面白い検索結果が表示できるように、
色々と細工していくつもりなので、まだdtnディレクトリに登録していない
サイトをお持ちの方は、ぜひ登録をしてみて下さい。

検索プログラム修正の続き

検索APIにデータを問い合わせている関係で、
dtnの検索ボックスで検索をすると2秒程度の待ち時間が発生してました。。
これはちょっと・・・な感じです。。。

そこで。
PEARのCache_Liteを使って、外部APIへの問い合わせデータをキャッシュしておきました。
使い方はとっても簡単♪
キャッシュ先、キャッシュ時間の設定を決めて、
あとはCache_Liteのコンストラクタでオプションを指定し、
キャッシュがあれば、それを表示。なければデータをキャッシュに保存。
こんな感じです。

キャッシュデータなので、事前に検索されたキーワードにしか効果がありませんが、
タグクラウドのキーワードなんかには効果ありだと思いました。

検索プログラムの修正

dtnの検索ボックスで検索されたキーワードは、YahooとGoogleのAPIにも放り投げて、
返ってきた結果を表示させています。
ただ、、、速攻で制作して組み込んでおいた機能だったので、
単に上位10サイトを表示させるだけで済ましてしまっていました。。
そこで、手を付けてなかった検索プログラム部分をちょっと修正しておきました。

ほんとだったら、yahoogleさんや、doojiさんみたいに、
YahooとGoogleのXMLデータをマッシュアップして、
そこにdtnディレクトリ登録サイト様のデータを合体させたい!と思ったのですが、
これがなかなかうまくいきませんで、、、。

しょうがないので、とりあえずはちょっとデータの表示をスッキリ並べなおし、
各APIへの検索クエリをページングさせるとこまでで終了させときました。

また、時間がある時にちょっと修正を頑張ってみようと思っています。

ホスト情報チェック機能

dtnに登録申請をして下さった方ならお分かり頂けると思いますが、、、。
アクセスアップの為、あちこちの検索エンジン、ディレクトリ、リンク集に
登録申請をしていく作業はかなり面倒です。。。
ホームページのタイトルを入力して、URLを入力し、カテゴリを選んで、などなど、、、。
(dtnへ登録申請をして下さった皆様、お忙しい中ホントに有難うございました!)

さて。
世の中ホントに商売上手な方が多いようで、これに目を付けたどこかの誰かが、
この面倒な作業を代行してくれるサービスをスタートしてくれました。
UNFINISHEDや、ホームページ売り上げアップコムなんかがそうですね。

で。どうやらdtnもこの登録先リストにのっかったようで、
ある日を境に、山ほど登録申請データが届くようになっていました。。。
アクセスアップサービス会社の方が、dtnに注目してくれたのはすっごい嬉しいのですが、
Toolを使って、データをあちこちのサイトに一括POSTしているらしく、
このデータがかなりムチャクチャで、、、。

最初のうちは登録数がガンガン増えるので喜んでもいたのですが、
この申請をチェックして、カテゴリを選び直して、文字化けとかを修正して、、、
と、する作業がホントに時間がかかってしまい、、、( ̄- ̄;)
このままでは、きちんと入力してくれた方のサイト確認もおろそかになってしまいそうなので、、、
やっぱり外部からの申請を拒否するようにプログラムし直しました。

といっても、プログラム的にはたった一行でしたけど。。。
if(stristr($refer,$pgm)){


これがかなり効果がありました。
それ以降、データのおかしい登録申請はゼロ。
やっと落ち着いて運営することが出来るようになりました。
登録申請数はかなり減ってしまいましたけど、、、

ただし、サイトのアクセス数はまったく変化していなかったので、
Toolを使って登録しているサイトのオーナーさんは、
自分のサイトがどこに登録されたか?なんてのは、
全く気にもしていなかったってことなんでしょうね( ̄- ̄;)