この記事は ex-crowdworks Advent Calendar 2024の11日目の記事です。
はじめに
今年、株式会社クラウドワークスを退職した@nisyuuです。日本原水爆被害者団体協議会の皆様、ノーベル平和賞受賞、誠におめでとうございます。
エンジニアとしてクラウドワークステック(旧クラウドテック)というフリーランスと企業をマッチングするエージェントサービスを開発していました。
クラウドワークステックのような検索流入を重視するサイトでは、Googleなどの検索エンジンでどのようにしてページが表示されるかを考える必要があります。
本記事では、SEO(検索エンジン最適化)におけるクローラーやインデックス、robots.txtなどの重要な要素について解説します。
クローラーとインデックスとは?
クローラーは、検索エンジンがWebサイトを巡回し、情報を収集するためのプログラムです。集めた情報は検索エンジンのデータベースに登録され、この登録作業をインデックスと呼びます。
検索時にユーザーが入力したキーワードに基づいて、このインデックスが参照され、関連するページが検索結果として表示されます。
クローラーの主な仕事
- ページのHTMLやメタ情報を取得
- リンクを辿って新しいページを発見
- サイトの更新を検知してインデックスを更新
検索エンジンの仕組み
Googleを例に挙げると、検索順位を決定するまでに以下の3つのステップがあります。
-
クローリング
- クローラーがページを巡回して情報を収集します
-
インデックス
- 集めた情報を分類・整理し、検索用のデータベースに登録します
-
ランキング
- ユーザーの検索意図に基づいてインデックスされたページを評価し、検索結果の順位を決定します
クローラーがWebサイトを発見する方法
クローラーは、リンクを辿って新しいページを発見します。このとき重要となるのが他のサイトから自分のサイトへ向けられた被リンクです。
被リンクの役割
被リンクがあることでクローラーに発見されやすくなります。信頼性の高いサイトからの被リンクは、SEOにおいてもプラスの効果があります。
検索順位を左右する要因
Googleの検索順位は、以下の要因で決まります。
-
コンテンツの質
- ユーザーにとって有益で独自性のある情報が重視されます
-
リンクの質と量
- 信頼性のあるサイトからのリンクが多いほど高評価を得られます
-
技術的な最適化
- サイトの構造や速度、モバイルフレンドリーな設計も評価に影響を与えます
robots.txtの活用と注意点
robots.txtは、クローラーに対してアクセスの制御を伝えるファイルです。
特定のページやディレクトリをクローリング対象外にできます。
robots.txtの例
User-agent: *
Disallow: /private/
ただし、robots.txtでは検索結果への表示を完全に制御することはできません。
例えば、URLが他のサイトで共有されている場合、そのURLが検索結果に表示される可能性があります。
noindexの利用
検索エンジンに表示させたくないページには、タグやHTTPレスポンスヘッダーでnoindexを指定することを推奨します。
metaタグでのnoindexの例
<meta name="robots" content="noindex">
Googlebotに対してのみ制御をかけたい場合は以下のように指定します。
<meta name="googlebot" content="noindex">
また、メタタグを使用せずにHTTPレスポンスヘッダーで設定する方法もあります。
HTTPレスポンスヘッダーでのnoindexの例
HTTP/1.1 200 OK
X-Robots-Tag: noindex
サイトパフォーマンスとアセットの許可
クローラーが正しくサイトを巡回できるようにするには、JavaScriptやCSS、画像などのアセットファイルへのアクセスをrobots.txtで許可しておく必要があります。これにより、Googlebotがページを正確に理解できるようになります。
GoogleのURL検査ツールの活用
Google Search ConsoleのURL検査ツールを使えば、ページが正しくインデックスされているかやモバイルフレンドリーかを確認できます。
おわりに
クローラーやインデックスの仕組みを理解し、クローラーやrobots.txtを正しく活用することはSEOの基本です。
基本を理解することで、検索順位を向上するためのSEO対策に取り組むことができます。
参考