top


総投稿数 本 
no_

スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
no_827

クロスドメイン:検索ログ記録設置で学んだ、別に運営しているサイトのプログラムとの連携、その一手法 ・・・ 【JavaScript】

 2009-04-06
 最近、アクセスが急に 伸び始めた

 ところが、
 何の理由か、
 ・ページランクが、4 から 3 に落ちてしまった!
  (このこと自体はショックだけれど
   落ち込まないで、いい記事をきちんと書いてゆく事
   だと自分でなぐさめて・・・)

  今のところのアクセス数は、それとはさほど
  関係ないようだ。

 どんな方が、何を目的
 見に来ていただいているのか、知りたい・・・
 できれば、それに応えたいし、
 それを活用して、ブログ自体の充実も図りたい。

 と、いうことで
  ・Google Analytics での解析
  ・他に設定しているアクセス解析のログ分析
   行なうのだが、
 さて、他にはするべきことはないか?

 ・・・・・

 で、
     あったあった。
     まだ、準備できていないじゃないか!

 ・検索に 検索キーワードのログ記録を つけよう
  (このブログ内での検索実施部分)

  見に来ていただいている方が、どんなキーワード
  検索されるかを記録し、解析することも
  ひとつの検討要素として、
  価値はあるはずだ。

 実装した、その方法とは?

  追記に ▼

FC2ブログランキングにほんブログ村 IT技術ブログ Webサイト構築へブログ王ランキング人気ブログランキング人気ホームページランキングへ


more************************************************
◎ 検索窓に 検索キーワードのログ記録 を実装する
************************************************


まず、方法論を考察する。

留意点を箇条書き・・・
 □このブログの右上「キーワード検索」を
  実施した際に、
  ・入力されたキーワードを取得

 □サーバーに用意したデータベーステーブルに記録する
  ※テキスト記録でもいいのだが
   他の用途も想定し、今回はデータベース登録

 □このブログでは、データベースやスクリプトを
  利用できるわけではないから、
  (いつものように)別のサーバー
   ・創ったmetaboy(http://www.metaboy.net) を
    利用する

 □そのために頁再読込したり
  オリジナルのPHPプログラムに移行するのではなく
  ※検索自体は、
   このブログ(FC2)オリジナルの機能を利用しており
  (http://metaboy.blog23.fc2.com/?q=FLASH など)
   そこは変更しない

  それに移る前に
  ・JavaScript で処理したい(非同期通信)



  ■実践

  【試行錯誤:1
   異なるドメインに値を非同期で送る

  ◇Ajaxの「XMLHttpRequest」を利用する
   単純にこれを利用して
   ・検索ボタンが押される
     ▼
   ・非同期通信で、
    創ったmetaboy(別サーバー)のphpスクリプトに
    検索キーワードを渡し、記録する

   という方法は、ご存知の通り
   「セキュリティ上の理由から、エラーとなり不可能

  ◇これを回避するいくつかの方法のうち
   ・JSONP(JSON with padding)
    という方法がある

    ・JavaScriptのインクルードにおいては、
     同一ドメインでなくても読み込める という
     ことを利用するもので、
<script type="text/javascript" src="" id="targer_js"></script>
 ・・などのような
     動的に書き換えられる予定のスペースを用意し
     そこの src を書き換えて実行するものだ。

    ・(詳細は割愛するが)うまくゆかなかった。
     <head></head> 内に用意しただめだろうが・・・

  ◇今回に関して言えば、
   値は「送るだけ」でいいので
   (コールバック関数などは不要)
   私は別の方法を利用した。

   ・<body> タグ以降に用意した
    ダミーimgファイルタグでそのソースを
    変更することで実現した。

   ・HTMLファイル内にで
<img id="setkeyword" src="*****/spacer.gif" border="0" alt="">
 ・・これを用意する
    ※イメージファイルはdummyの透明1ドットのもの

   ・JavaScriptで
function Go_SetKeyword(mid,skey) {
var baseurl =
"***.php";
var vals = "?";
vals += "mid=" + mid;
vals += "&skey=" + encodeURIComponent(skey);
baseurl += vals;
if( document.getElementById ) {
document.getElementById('setkeyword').src = baseurl;
}
}
 ・・という関数を用意しておき

   ・検索実行ボタンが押された場合
    値チェックの後、
Go_SetKeyword(value);
 ・・を実行する

   これで、
   ・検索実行のたびに
    ・異なるサーバー上に
     ・検索キーワードが渡り
      記録される仕組みができあがった。

   ・・・が、
   実はもうひとつの
   試行錯誤があった。


  【試行錯誤:2
   漢字コードの問題

  (このあたり、隠してもすぐわかるので公表するが)
  ◇このブログ「創るm,etaboy」は
   EUC-JP 基本で構築されており

   値を送る「創ったmetaboy」は、
   UTF-8 基本で構築されている。

  ◇こちらから値を送る際、日本語に考慮して
   エンコードして送るわけだが
   その場合に、JavaScript の
encodeURIComponent()
 ・・を利用している
   php側で受ける場合は
rawurldecode()
 ・・だ。

   ・これは必ずしも一致するものではないけれど
    いろいろ試してこの組み合わせが、最短・最良
    であったためだ。

   ・問題は、php でMySQLに格納する際
    どうしても文字化けが起こることだった。

    受けた値は、utf-8 であることはわかっているが
    どうしても文字化けする。

   ・前に
    ・Illegal mix of collations:ほんとに漢字コードの問題はややこしい ・・・ 【MySQL】
     として、
    事前に SQL文:"set names utf8" を実行
    すればいいことはwかっていたのだが、

    結局、その位置が問題だった。

   ・データベースは複数あったので、
    ・データベースをオープンした後、
     実行すればうまくゆく という簡単で基本的なところに
     はまってしまった。

 何はともあれ、
 これで実現できたので、
 今後はこれを汎用的に利用し、

 利用者の利用目的をキチンと反映させ
 内容充実に心がけたし
commentsコメント
comment_post












管理者にだけ表示を許可する
commentトラックバック
トラックバックURL:
http://metaboy.blog23.fc2.com/tb.php/827-e2e79ec6
ようこそ
Add to Google 創るmetaboy:RSSフィード
My Yahoo!に追加
最新記事のRSS | 問い合わせ

仕事検索、アルバイト検索、依頼仕事の検索ポータル - 仕事検索.COM - www.jobkensaku.com ツクルン

創るmetaboy - WEB創る、サイト創る、何創る - 創ったmetaboy

 

リンク集

 

最近の記事

 

ブロとも申請フォーム
Sponserd by

さくらのレンタルサーバ さくらのレンタルサーバ
大容量・高機能レンタルサーバー heteml 大容量・高機能レンタルサーバー heteml
XREA (ValueDomain)
お名前.com お名前.com
名づけてねっと名づけてねっと
ムームードメインムームードメイン

 

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。