描画と検索結果を分けて考える

JavaScriptの被リンクとは、生成や動作にスクリプトが関わる参照です。大切なのはスクリプトの有無ではなく、描画されたページに意味のあるhrefと説明的なテキストを持つa要素が存在するかです。Googleの文書では、JavaScriptで追加したリンクも適切な形式なら検出できると説明されています。ただし、描画、リンク先のクロール、インデックス登録は別々の処理です。ブラウザーにリンクが見えるだけでは、Googleがそのページを処理したことや検索順位への効果は証明できません。まず観察対象と観察時点を明確にしてください。

移動には実際のリンク要素を使う

ページ移動には、解決可能な実際のURLをhrefに設定したa要素を使います。リンク先を残したまま、クリック処理で既存リンクを拡張することはできます。一方、onclickを持つspan、表示を切り替えるボタン、hrefのないa要素は同じ構造ではありません。キーボード操作できるボタンは操作の実行に適していても、ハイパーリンクとは限りません。JavaScriptのルーティングにも、要求するページに合ったURLとサーバー応答が必要です。この実験のページ内フラグメントを、そのまま本番サイトのページ構成に使うことは推奨していません。

自転車ガイドの実験を動かす

架空の自転車整備ガイドでは、同じページ内の説明に三つの方法で到達します。最初のリンクは元のHTMLに存在します。二つ目はスクリプトの開始時に自動で追加され、クリックは不要です。三つ目は本物のボタンで、処理はフォーカスとスクロール位置を動かすだけでリンクを作りません。リセットは追加されたリンクだけを削除し、挿入ボタンはそれを戻し、検査は実際の要素を読み取ります。これらは実験を繰り返すための教材用操作です。重要なリンクをクリックするまで隠す設計を勧めるものではありません。Google検索はコンテンツを表示させるためにページを操作しません。

  • 元のHTMLのリンク: スクリプト実行前から実際のa[href]があります。
  • JavaScriptで挿入するリンク: 開始時にスクリプトが同じ種類のリンクを追加します。
  • クリック処理のボタン: hrefを持たずにフォーカスを移動し、リンクにはなりません。

元のレスポンスと現在のDOMを比較する

単独のHTMLファイルを開き、ページのソースと開発者ツールの要素を比較してください。元のレスポンスには最初のリンクとボタンがありますが、追加されるリンクはまだありません。スクリプト実行後、実験は各サンプルの実際の要素、outerHTML、a[href]の有無を読みます。JavaScriptを無効にすると最初のリンクは使えますが、スクリプト依存の操作は利用できません。移動先は同じページ内なので外部リクエストは発生しません。これは要素の動作の観察であり、新しい外部被リンクの作成、移動先のクロール、Googleによる描画の観測ではありません。

見つからないリンクを順序立てて調べる

管理している実際のページでは、参照元URL、想定リンク先、元のレスポンス、描画後の要素、テキスト、href、rel、日時、アクセス条件を記録します。リンクがない場合は、変更する前にスクリプトエラー、ブロックされたリソース、権限、依存関係を調べましょう。ユーザー操作や保存済みセッションが必要になっていないかも確認します。所有権を確認したプロパティならGoogleのURL検査で別の観察を得られますが、この実験はそのサービスに接続していません。修正後は同じ検査を繰り返し、クリック成功だけでなく実際の移動先が適切かも確認してください。

  • 元のHTMLと描画後の観察を別々に保存する。
  • a[href]、見えるテキスト、実際の移動先を調べる。
  • 保存済みセッションに頼らず再確認する。
  • キーボード操作とJavaScript無効時を確認する。
  • Googleの観察と事業上の成果を混同しない。

証拠の範囲内で結論を出す

この実験は決まったローカルスクリプトだけを動かします。任意のコードを受け付けず、入力されたURLを訪問せず、掲載注文もGoogleへの照会も行いません。JSONは想定されるケースと方法を定義する資料で、実サイトの監査結果ではありません。DOM内のリンクは、インデックス可能性、順位への寄与、有料リンクの適切な属性指定、移動先の有用性を証明しません。実用的な場合は重要なナビゲーションを元のHTMLやサーバー描画HTMLに含め、実ページを別途確認します。ローカル例にrelがないことも、実際の掲載で必要な関係属性を省く勧めではありません。

独自のローカル実験です。外部被リンクを作成せず、Googleの結果を測定しません。