テクニカルSEOとは
テクニカルSEOは、検索エンジンとAIクローラーがページを取得し、内容と正規URLを理解できる状態を確認する作業です。タイトルや見出しだけを直しても、noindex、robots.txt、canonical、リダイレクトに問題があれば、意図したページは検索結果の候補になりません。
確認対象には、サイト全体に関わるrobots.txtやサイトマップと、ページごとに異なるtitle、canonical、構造化データがあります。記事、商品、トップページ、多言語ページでは必要な項目も異なります。全ページへ同じマークアップを追加するのではなく、ページの目的と表示内容に合うかで判断します。
基本設定 12項目
検索結果のタイトル候補、本文の文書構造、リンク、支援技術が読み取る名称を確認します。検索エンジンがページの主題を把握し、利用者が内容を利用するための基礎です。
- タイトルタグ:ページの主題を示すtitle要素があるか、ページ言語に合う長さかを確認します。
- メタディスクリプション:検索結果の説明候補となる要約があるかを確認します。
- H1タグ:ページの主題を示すH1が一つかを確認します。
- 見出し構造と階層:本文が見出しで区分され、H1からH2、H3へと親子関係に沿って見出しレベルが進むかを確認します。
- 画像 alt属性:意味を持つ画像に、内容を代替するテキストが付いているかを確認します。
- HTML lang属性:ページの主な言語がhtml要素で宣言されているかを確認します。
- リンク構造:内部リンクと外部リンクが検出でき、関連情報へ移動できるかを確認します。
- 内部リンクのnofollow:クロールさせる内部リンクに不要なnofollowが付いていないかを確認します。
- Favicon:ブラウザや検索結果でサイトを識別するアイコンがあるかを確認します。
- メインコンテンツへのスキップリンク:キーボード利用者が繰り返しナビゲーションを飛ばして本文へ移動できるかを確認します。
- フォームのラベル:入力欄がlabel、aria-label、aria-labelledbyなどで説明されているかを確認します。
- ボタンのアクセシブル名:アイコンだけのボタンを含め、支援技術が操作目的を読み上げられるかを確認します。
Googleは、タイトルリンクを内容に合う正確なものにすることを案内しています。Google Search Centralのタイトルリンクに関する説明も確認対象の判断に役立ちます。
取得とインデックス 12項目
URLをブラウザで開けることと、検索エンジンが評価すべきページとして認識することは別です。HTTPレスポンス、最終URL、robots.txt、HTML、HTTPヘッダーを続けて確認します。
- ページ取得ステータス:公開URLが200番台のHTTPステータスを返すかを確認します。
- HTTPS:本番ページが暗号化されたHTTPSで配信されているかを確認します。
- canonical:評価を集約する正規URLを示すlink要素があり、絶対URLで取得後の最終URLと一致するかを確認します。
- URLリダイレクト:入力URLから最終URLまでにリダイレクトがあるかを確認します。サイトマップや内部リンクでは最終URLを直接使います。
- sitemapの宣言:robots.txtからXMLサイトマップを見つけられるかを確認します。
- meta refresh:HTTPリダイレクトではない旧式の遷移指定がないかを確認します。
- preconnect(実測がある場合のみ):初期描画で接続待ちが原因と分かった外部オリジンだけを対象にします。設定の数だけで評価しません。
- レスポンス圧縮:HTMLがBrotliまたはgzipで圧縮配信されているかを参考情報として確認します。
- Cache-Control:HTMLの更新頻度と個別性に合うキャッシュ方針かを確認します。
- インデックス拒否設定:HTMLのrobots metaタグとHTTPヘッダーのX-Robots-Tagに、noindexなどの意図しない制御がないかを確認します。
- viewport metaタグ:モバイル画面に合わせたviewportが指定されているかを確認します。
- 文字コード(charset):HTMLの文字コードが明示されているかを確認します。
canonicalは検索エンジンへの強制命令ではなく、正規URLの判断材料です。Googleはリダイレクト、canonical、サイトマップを一貫させる方法を案内しています。Google Search CentralのURL正規化ガイドを基準に、内部リンクも含めて確認します。
多言語対応とAIクローラー 5項目
多言語サイトでは、言語ごとの対応ページと既定ページを示します。AIクローラーは検索への掲載と学習で役割が異なるため、許可または拒否する意図を分けて確認します。
- hreflang:言語または地域が異なる対応ページ、各言語ページの自己参照、言語未一致時のx-defaultを正しく示しているかを確認します。
- PWA Manifest:ウェブアプリとして提供する必要があるサイトでは、Web App Manifestがあるかを確認します。通常のコンテンツページでは必須ではありません。
- Googlebot:robots.txtがGooglebotの取得を意図せず拒否していないかを確認します。
- OAI-SearchBot:ChatGPT Searchへの掲載に使われるOAI-SearchBotの取得可否を確認します。
- GPTBot(学習用):モデル学習用のGPTBotを許可または拒否する設定が意図と一致するかを確認します。
OAI-SearchBotとGPTBotは役割が異なります。OpenAIは、検索への掲載を制御するクローラーと学習への利用を制御するクローラーを別に案内しています。OpenAIのクローラーに関する公式資料を確認し、事業方針に沿ってrobots.txtを設定します。
SNS共有 13項目
SNSの共有情報は検索順位を直接決める設定ではありません。しかし、共有されたURLでタイトル、説明、画像、サイト名が正しく表示されることは、ページの内容を誤解なく伝えるために必要です。
- OGPプレビュー(SNSシェア時イメージ):主要な共有情報が揃い、プレビューを作れるかを確認します。
- og:title:共有時のタイトルがあるかを確認します。
- og:description:共有時の説明があるかを確認します。
- og:image:共有時に表示する画像があるかを確認します。
- og:url:共有されるページの正規URLがあるかを確認します。
- og:type:ページ種別を示す値があるかを確認します。
- og:site_name:サイト名があるかを確認します。
- og:locale:言語・地域を示す値が必要な場合に設定されているかを確認します。
- twitter:card:Xでのカード形式があるかを確認します。
- twitter:title:Xでのタイトルがあるかを確認します。
- twitter:description:Xでの説明があるかを確認します。
- twitter:image:Xでの画像があるかを確認します。
- twitter:site:運用しているサイトアカウントがある場合に、その識別子があるかを確認します。
構造化データ 12項目
構造化データは、存在しない情報を追加するものではありません。ページ上に表示されている事実をschema.orgの形式で補足します。ページ種別に当てはまらない項目は、未設定でも問題ではありません。
- JSON-LD:JSON-LD形式の構造化データがあり、構文エラーなく解析でき、検出したschema.orgの型がページ内容と一致するかを確認します。
- Organizationのロゴ:運営組織を明示する必要がある場合に、組織のロゴが設定されているかを確認します。サービスやアプリのロゴとは区別します。
- SoftwareApplicationの画像:アプリやサービスのページでSoftwareApplicationを使う場合に、その画像があるかを確認します。
- 主題エンティティ(about / mentions):ページの主題となる実体を補足する必要がある場合に確認します。
- SoftwareApplicationの必須プロパティ:ソフトウェアのリッチリザルトを目的とする場合に、nameとoffers.priceが表示内容と一致するかを確認します。
- SoftwareApplicationの評価・レビュー:実在し、ページ上に表示している評価・レビューがある場合に確認します。評価を作成してはいけません。
- WebSiteスキーマ:トップページで、サイト名を示すWebSiteがあるかを確認します。
- SearchAction(サイト内検索):実際にサイト内検索がある場合に、その検索機能を示せるかを確認します。
- BreadcrumbListスキーマ:下層ページで、表示しているパンくずリストを構造化できているかを確認します。
- FAQの補足構造化データ:本文に表示した質問と回答だけをFAQPageで補足しているかを確認します。
- Article / BlogPosting:記事ページに記事用の構造化データがあり、見出し、著者、公開日、更新日が表示内容と一致するかを確認します。
- Productスキーマ:商品ページにProductが必要か、設定内容がページと一致するかを確認します。
Googleは構造化データを、ページの内容を理解し表示を豊かにするための形式として案内しています。適格性を満たしてもリッチリザルトの表示は保証されません。Google Search Centralの構造化データ導入ガイドを参照し、表示していない内容をマークアップしないことが前提です。
Organization、Person、sameAsなどのブランド情報を詳しく確認する場合は、AI検索のエンティティ最適化 を参照してください。
AI検索向け情報設計 10項目
AI検索向けに特殊なファイルだけを追加しても、本文、著者、運営主体が不明瞭であれば、情報を判断する材料が不足します。検索・AIクローラーが取得する初期HTMLと、読者が確認できる発信者情報を確認します。
- コンテンツ構造の明確さ:見出しと段落により、論点と説明の順序を追えるかを確認します。
- 初期HTMLの本文:JavaScriptを実行しなくても、重要な本文を取得できるかを確認します。
- 手順の補足構造化データ:ページ上に実在する手順がある場合に、HowToで補足しているかを確認します。
- 著者情報(Person / meta author):記事の作成者を機械的に特定できるかを確認します。
- 公開日・更新日:情報の時点を判断できる日付が表示され、構造化データとも一致するかを確認します。
- Organizationスキーマ:トップページで、運営組織が構造化データから分かるかを確認します。
- 運営者・会社情報への導線:会社概要、著者紹介、お問い合わせなど、発信主体を確認できるページへのリンクがあるかを確認します。
- 連絡先・法的情報への導線:連絡先、プライバシーポリシー、利用規約、会社情報などを確認できるかを確認します。
- sameAs(任意のプロフィール紐付け):必要な場合に、組織または著者の公式プロフィールURLを正しいエンティティへ紐付けているかを確認します。
- 定義リスト・用語説明(dl, dfn):専門用語を使うページで、必要な用語が定義または説明されているかを確認します。
GoogleはAI検索のために特別な構造化データや新しいファイルは不要で、通常の検索に必要な技術要件と、人に役立つ独自の内容が基礎になると案内しています。Google Search CentralのAI機能向けガイドを確認し、取得できる本文と根拠のある情報を優先します。
修正の優先順位
公開対象なのに取得を拒否している設定は、ほかの改善より先に直します。ページが取得できなければ、title、本文、構造化データを追加しても検索エンジンやAIクローラーには届きません。
- 取得を拒否する設定:HTTPステータス、noindex、X-Robots-Tag、robots.txtによるGooglebotとOAI-SearchBotの拒否を確認します。
- 評価が別URLへ分かれる設定:canonical、リダイレクト、サイトマップ、内部リンクを確認します。
- 本文と主題を読み取れない状態:初期HTMLの本文、title、H1、見出し、言語、構造化データを確認します。
- 発信者を確認できない状態:著者、公開日・更新日、運営組織、会社情報と法的情報への導線を確認します。
- ページ種別に応じた設定:多言語対応、OGP、商品・記事・ソフトウェア向けの構造化データ、アクセシビリティを確認します。
Articleは記事ページ、Productは商品ページ、hreflangは多言語ページに関係します。ページ種別に合わないマークアップや設定を追加する必要はありません。
64項目を自分で診断する方法
64項目を一つずつ自分で調べるには、HTML、HTTPヘッダー、robots.txt、構造化データ、本文を確認する必要があります。確認先が複数に分かれるため、抜けなく調べるだけでも時間がかかります。
Please Cite Me!では、URLを一つ入力するだけで、この記事で紹介したテクニカルSEOの項目をまとめて診断できます。取得、クロール、正規化、OGP、構造化データ、AI検索向けの情報設計を確認し、ページごとの問題と修正方法を表示します。
著者紹介

岡本 侑馬
Please Cite Me! 開発者・Abeam Tech株式会社 代表取締役
東京大学卒業。Webプロダクトの開発を行いながら、SEO・AI検索における情報設計や、Webコンテンツが検索エンジンやAIに正しく理解・引用されるための設計に取り組んでいます。
X / @okamoto_yuma_よくある質問
64項目をすべてのページに設定する必要はありますか?
必要ありません。Articleは記事ページ、Productは商品ページ、hreflangは多言語ページ、SearchActionはサイト内検索があるサイトに関係します。ページ種別と表示内容に合う項目だけを設定します。
noindexを外せば検索結果に表示されますか?
noindexを外すことはインデックスの前提の一つですが、表示を保証するものではありません。ページが取得できること、robots.txtで拒否していないこと、内容と正規URLが明確であることも確認します。
構造化データを増やすとAI検索に引用されますか?
構造化データだけで引用は決まりません。ページ上にある内容を正しく補足し、クローラーが本文を取得でき、読者の質問へ根拠を示して答えていることが必要です。
参考資料
Please Cite Me!
AIO・LLMO対策をURLから確認する
Please Cite Me!は、公開ページの技術状態と記事内容を分析し、根拠と改善優先度を一つのレポートにまとめます。
記事を診断する