2009年01月04日

phpでurlを取得する方法として・・・。


$_SERVER['PHP_SELF']

例えば
http://hoge.com/inc.php
http://hoge.com/main.php
とファイルがあった場合、 inc.php は main.php に include されてるとします。
inc.php で $_SERVER['PHP_SELF'] を呼ぶと、返ってくる値は main.php ではなく、 inc.php です。



$_SERVER['REQUEST_URI']

こちらの場合、上記例では main.php を返し、おまけにGETされたパラメーターまでも返してくれるのです。
PCサイトへ携帯からアクセスがあった場合、携帯サイトへリダイレクトさせたい場合、以下のように書いておけば動的ページも問題ないです。
require_once("Net/UserAgent/Mobile.php");
if(Net_UserAgent_Mobile::isMobile()){
header("Location: http://mobi.bilbao.jp" . $_SERVER['REQUEST_URI']);
exit;
}


(19:53)

2008年10月28日

PCサイト:http://www.bilbao.jp/
携帯サイト:http://mobi.bilbao.jp/

http://mobi.bilbao.jp/ にPCでアクセスがあった場合には http://www.bilbao.jp/ にリダイレクト、 http://www.bilbao.jp/ に携帯でアクセスがあった場合には http://mobi.bilbao.jp/ を表示させる。
その方法として、phpモジュール pear の Net_UserAgent_Mobile が非常に簡単。



Net_UserAgent_Mobile をインストール後、
モバイルサイト http://mobi.bilbao.jp/ のスクリプトの先頭に
require_once('Net/UserAgent/Mobile.php');
$agent = &Net_UserAgent_Mobile::singleton();
if ($agent->isNonMobile()) {
header("Location: http://www.bilbao.jp/");
exit;
}


PCサイト http://www.bilbao.jp/ のスクリプトの先頭に
require_once("Net/UserAgent/Mobile.php");
if(Net_UserAgent_Mobile::isMobile()){
header("Location: http://mobi.bilbao.jp/");
exit;
}


現在、PCで携帯サイトの出来具合を確認したいため、http://mobi.bilbao.jp/ にPCでアクセスしてもリダイレクトされません。



にほんブログ村 IT技術ブログ SEO・SEMへ

(05:00)

2008年08月25日

インデックスの様子見ばかりで、最近更新していないので小ネタを。
Barビルバオのトップページを除く、すべてのページにフッターメニューを挿入しました。
誘導したいページへのリンクと、各ページのトップへ戻るアイコンです。



“ページのトップへ” のアイコンは少し面白い仕掛けをしました。
通常ページのトップへ戻る場合、一瞬で戻るとどのページへ飛んだのか?解らなくなる場合があります。
これを防ぐために、JavaScript 使いスル〜とゆっくりページがスクロールするようにしました。



Barビルバオのサイトは、外部ファイルに JavaScript を記述していますので、以下のコードはそれを前提に説明します。
・・・
・・・
ソースコードを紹介しようと思ったのですが、どんなにトライしても JavaScript をこのブログに表示させることはできないようです。
仕方が無いので、ブラウザのソースを表示させ参照してください。
IEでしたら、ショートカットは、[Alt]+[v] と [Alt]+[c] です。

1、xhtml の head 内に、JavaScript 外部ファイル呼び出しを記述。

2、“ページのトップへ” のアイコン部分に script と noscript の記述

3、JavaScript の外部ファイル部分
function pageTopScroll() {
var scrj = 1;
var scdist = document.body.parentNode.scrollTop;
if(scrj<50 && scdist) {
scdist = (scdist>2) ? Math.ceil(scdist*.2) : 1;
scrj++;
scrollBy(0,-scdist);
setTimeout("pageTopScroll()",20);
} else {
scrollTo(0,0);
scrj = 1;
}
}



2、の部分を少し説明すると、ブラウザで JavaScript が有効な場合は、外部ファイルの pageTopScroll() を起動し、JavaScript が有効になっていない場合は、そのままページトップへジャンプさせています。


にほんブログ村 IT技術ブログ SEO・SEMへ

(21:27)

2008年07月14日

なかなか、インデックスされませんでしたが、Googleでは44のページに対し40ページほどインデックスされていますので、まずまずだと思います。
なかなかインデックスが増えなかったし、すべての検索ワードで圏外に弾き飛ばされたので、『スパム判定を受けていないか?』ヤキモキしたのですが、数日で元に戻ってきましたのでスパム判定は白が継続しているのではないかと考えます。



今のBarビルバオの規模では、Barワード辞典でのこれ以上のワード増加は危険だと思いますので、別なコンテンツを設けることにしました。
ブログの暇ネタとして洋酒関係の本を紹介しているのですが、これをBarビルバオのサイトでも紹介。



洋酒書籍紹介なるディレクトリで、下層ページ数を増やしていきます。
これも、人のテキストデータを拝借しているのでSEO対策としてあまり強力ではありませんが、“鹿児島 バー”などの複合ワードでは少し効果があるように思います。
Amazonや楽天のAPIを用い、本格的な動的ページにしようか迷ったのですが、とりあえず静的ページで作成しています。
こちらも当然、ページ数を増やすためだけに設けたコンテンツです。


にほんブログ村 IT技術ブログ SEO・SEMへ

(23:03)

2008年06月22日

Googleの最近に見られる傾向”の続きです。



今回の“Googleの最近に見られる傾向”や、他に感じた細かいことなど振り返ってみて、被リンクが無いページは、存在する必要が無いページなのではないでしょうか?
被リンクの存在しないページは、ネットワーク上の孤島となり、どんなに立派なことが書いてあっても、誰もそのページにたどり着くことはできません。
このように考えると、現在、ソーシャルブックマークも頻繁に活用されるようになった今、外部被リンクの無いページは参照するに値しないページ、と捕らえられているのかもしれません。



動的ページのインデックス化は、ネットワーク検索で価値あるサイトを発掘するための本能寺だったでしょう。
また同時に、その技術が可能となった今は、静的コンテンツと動的コンテンツの無差別化が課題となります。
すでにこれもクリアーされているでしょう。
検索エンジンとしては、被リンクに乏しく無用とみなしたページは、静的ページだろうが動的ページだろうがインデックスからどんどん削除されていくし、有益とみなされれば確実にインデックスされ上位表示すると仮定すると、“Googleの最近に見られる傾向”で感じたことがすべてしっくりきます。



Googleの最近に見られる傾向”では、『サイトマップで送信したWebページすべてがインデックスされなくなってきたのはおかしい。』みたいな記述がありますが、いろんな参考資料を見ると、『すべてのWebページがインデックスされないのは当たり前。』みたいなことが書いてあります。
私のやり方で、インデックスのあり方に変化を感じたのであって、そうでない場合も多々あるでしょう。


にほんブログ村 IT技術ブログ SEO・SEMへ

(21:53)

2008年06月21日

検索エンジンは、すべてのページをインデックスしない?”の続きです。
Googleに関して、最近気になる動向を羅列してみました。

  1. キーワードが少ないページでも、キーワードが詰まったページをいくつか作り、その作られたページからリンクが張られると、キーワードが少ないページでも評価されていたが、近年の傾向は、被リンクされたページもキーワードが多数存在しないと評価対象にならない。

  2. サイトが重要視されているのではなく、まずは各ページが評価され、結果、それの内部リンクが集中しているトップページが評価される。
    しかし、トップページにキーワードがほとんど無いと評価対象にならない。

  3. かなり長いパラメーターが埋め込まれたURI(URL)も、静的ページと遜色なくインデックス対象にある。

  4. 数ヶ月前までは、サイトマップで送信したURLはほとんどインデックスされていたが、ごく最近、すべてのURIがインデックスされるわけではなくなった。

  5. 数ヶ月前まで、インデックス減少はSERP(検索結果を表示するページ、検索順位)低下のシグナルだった。すなわち、検索エンジンスパムとしてペナルティーが化せられた可能性が高かったが、ここ数週間の観察では、インデックス減少となってもSERP低下というわけではない。
    [ 例 ]探偵の浮気調査のサイトは作って一年ほど。
    サイトマップにあるページ数は約70、公開当時から約2ヶ月前までほとんどインデックスされていたのを確認、現在のインデックス数50前後
    しかし、『鹿児島 浮気調査』の複合ワードのSERPに変化は見られない。


これは、検索エンジンのもとから存在した仕様が、動的ページと静的ページのインデックスに対する境界線がなくなってきたことにより、このように感じるだけのことなのか?検索エンジンの仕様変更によるものなのか?解かりません。
いずれにしろ、大きな変化を感じます。
まだ続きます。


にほんブログ村 IT技術ブログ SEO・SEMへ

(02:07)

2008年06月20日

インデックス数がなかなか伸びない”から少し考えたのですが、サイトマップで送信された動的URI(URL)がすべてインデックスされるのであれば、検索エンジンとしても困ったことがおきます。
動的ページでサイトを作成すると、無限のページがあるサイトを簡単に作ることができるからです。

  1. RSS配信しているランキングサイトからランキングワードを取り出す

  2. そのワードを元に、“Wikipedia”や“Yahoo!検索”のAPIでページを作成する

  3. 検索エンジンには、(2)作成されたページURIを動的サイトマップで読み込ませる


簡単な例をですが、上記の処理を繰り返すことによって、事実上無制限のページをもったサイトが出来上がります。
APIで取得できる、“はてな”の連想ワードや、“Yahoo!”の関連ワードで取得したワードを埋め込むことにより、ページは爆発的に増えていきます。
このようなサイトがいくつも存在すれば、すべてをインデックスしていては、検索エンジンとしては大変なことになります。



過去の話ですが、上記仕様でサイトを作成したら、インデックス数は6万を超え、1日のユニークアクセスは70万を突破したことがあります。
そのサイトは、作成から3〜4ヶ月でピークを迎えましたが、後に、1〜2週間ほどで急速にアクセスがしぼみ、インデックスも一気に激減しました。
現在、1日のユニークアクセスは1000ほどを推移しています。
その原因はいろいろ推測できましたが、『急速に成長したからペナルティー?』など漠然とした理由で放置しました。



ペナルティーも大いに考えられますが、すべてのページをインデックスするわけにはいかなくなった可能性も否定できません。
長くなるので続きは次回


にほんブログ村 IT技術ブログ SEO・SEMへ

(22:59)