文系プログラマによるTIPSブログ

文系プログラマ脳の私が開発現場で学んだ事やプログラミングのTIPSをまとめています。

検索エンジンのクロールの速度を上げる工夫

闇雲にやってもクロールが遅くなって反映速度が遅くなってしまうのです〜


f:id:treeapps:20180418112745p:plain

http://tree-shop.info
最初は商品一覧画面の「yahooで検索」「amazonで検索」等のキーワードの横断検索をアンカーリンクで実装していました。
狙いとしては、キーワード検索のリンクをクローラにインデックスさせて欲しかったのですが、結果的にクローラのクロール速度を異常に遅くする原因になっていました

更に、「〚早い者勝ち〛商品名 [型番] ★★★」といったように、商品名に記号や型番やキャッチフレーズを入れまくる愚行(楽天とか楽天とか楽天とか)をするので、キーワード検索でヒットしない場合がほとんどでした。

では、解決策を列挙していきます。

アンカーリンクをボタンに変更して、クロールさせない

代わりに、ボタンタグから検索してヒットした場合のみログにURLを残し、そのログのURLの重複を除去してxmlサイトマップに登録、としました。
ヒットしたもののみを登録する事で、ユーザの関心の有るリンクのみを対象にする事ができます。
xmlサイトマップによるクロールの無駄を省き、クロール速度アップを図ります。

アンカーリンクにrel="nofollow"を付ける

「nofollow」は、「このページのリンクをたどらない」や「このリンクをたどらない」といった指示を検索エンジンに与える手段の 1 つです。

http://support.google.com/webmasters/bin/answer.py?hl=ja&answer=96569

左サイドのカテゴリやヘッダーメニュー等、リンク階層をさかのぼる場合はnofollowする
すると、クローラを迷わせずに、上から下にクローラがスムーズに流れます。
カテゴリリンクは上に下にリンクしてしまい、中々綺麗に上から下にリンクしないので、必須かと思います。
クローラは頭がいいのでnofollowしなくても遡りませんが、明示的に印をクローラに見せる事で、遡るかどうかの判定処理をスキップさせてあげる事ができ、結果的にクロール速度が早まります。

ページランクを上げる

ページランクが低いと、クロールの頻度そのものが上がりません。
会社で作成した企業のサイトとtree-shopを比較すると、apacheのログの量が尋常でなく違います。
クローラのログ量が多いという事は、クローラの種類・訪問頻度が高いという訳です。
これは難しいです。個人のサイトはブランドが無い事がほとんどで、中々PVや被リンクは増えませんね。。
難しいですが、前述の対策を簡単に覆してしまう程にクロールしてくれます。

こんな感じで、実際に私がやってしまった過ちから、対処法を検討・実施してみました。

今すぐ使えるかんたん SEO&SEM

今すぐ使えるかんたん SEO&SEM