[与太話]検索エンジンがHTMLを解析する仕組み

の予想を図解してみた。

もし検索エンジンを実装するとしたら、こういうふうに設計するだろうなという自分の妄想と、経験論から基づいています。。。

たぶん、プログラムを組んでいないと再帰とかよく分からんので、DOMツリーを辿るとか意味分からないと思うので。。。

画像とかを大量に使っているので全文表示にして見てください。

HTMLは下のような感じでDOMツリーに見立てられます。

HTMLを解析するのは何億ものページを処理する検索エンジンでは負担が掛かるので、何回かに分けて解析していると予想。

 

実際のHTMLは以下のような内容になっているとします。

 

解析の一回目は、bodyタグの中身を全て取り出し、評価。

 

解析の2回目は、DOMツリーを一階層辿って、評価。

サイドバーや、フッタがメインのコンテンツより評価が高くされている場合があるが、これはメインのコンテンツが、まだどれか分かって無く、サイドバーやフッタなどが高く加点されているのだろう。。。正しい構造の時はしばらくすると落ち着いては来ますが。。。

 

解析の3回目は、DOMツリーをもう一階層辿って、評価。

なので、最終的には、重要な部分はそれだけが取り出すことが出来る構造にすると良いのでは無いかと思う。

divタグとtdタグは間違いなく検索エンジンはブロックと認識し辿っているだろう。

なので本当に大切なコンテンツは、余計な情報が混ざらないように設計するのが良いと思う。

JavaScriptでDOMツリーを辿って、innerTextで吐き出して出力結果が、オリジナルのコンテンツのみで余計な情報が入っていないのが理想ですかね。。。

また早く検索エンジンに正当な評価をしてもらいたい場合は、重要な部分は先頭に、そして階層は浅めのところに置くのが良いのでは無いかと思う。階層を辿るといっても、同じ深さのDOM要素で先頭からループさせているだろうから。。。

階層が浅めのところに置くってのは難しいけどね。。。(汗

またmeta keywordsは揺らぎ補正の他、DOMツリーを辿る順序の制御に使用していると予想している。

ふっくんのブログっぽいサイト: [与太話]検索エンジンがHTMLを解析する仕組み
http://web.fpso.jp/article.php/20090729104652304