web-dev-qa-db-ja.com

Googleリッチスニペットに表示される不正確な通貨

Schema.orgマークアップからSERPに情報を表示することができましたが、情報は正しくありません。

このページはSERPに表示され、GBPではなくUSDが表示されます

サイトにはさまざまな通貨オプションがありますが、priceCurrencyをGBPとしてマークアップしています。

不正確な詳細が表示される理由は何でしょうか?

3
GrapeSoda

スキーマの問題ではなく、ウェブサイトとGoogleの問題です

発生している問題は非常に一般的であり、 GEO IP検出の副作用 です。サイトが何らかのタイプのIP Geolocation サービス(多くの場合 GEOIP として知られている)を使用しているという事実が原因で発生している問題。

つまり、サイトはサイト訪問者の位置を自動的に検出し、正しい通貨で提供します。Googleのクローラーの大部分は米国にいるため、明らかに米国通貨でGooglebotを提供しています。

Googleのデータセンター

Googleのクローラーは 大量のIPアドレス で動作し、 Googleは複数のデータセンターで動作します 世界中で動作します:

  • アメリカ

    • サウスカロライナ州バークレー郡
    • アイオワ州カウンシルブラフス
    • ジョージア州ダグラス郡
    • アラバマ州ジャクソン郡
    • ノースカロライナ州レノア
    • オクラホマ州メイズ郡
    • テネシー州モンゴメリー郡
    • キリキュラ、チリ
    • ダレス、オレゴン
  • アジア

    • 台湾彰化県
    • シンガポール
  • ヨーロッパ

    • ダブリン、アイルランド
    • Eemshaven、オランダ
    • ハミナ、フィンランド
    • ベルギー、サンギスラン

Googleは英国のウェブサイトをクロールしません

私が知る限り、Googleには英国ベースのサーバーはありませんが、アイルランドにはサーバーがあります。アイルランドは タックスヘイブン の理由で、アイルランドは Double Irish Arrangement これにより、大企業は自社の製品やサービスに対してより低い税金を支払うことができます。これは、英国のマスコミでは常に行われており、多くの場合、政治家によって 税回避 と呼ばれます。

とにかく...

クロールの大部分は州、英国以外のその他の国にあるサーバーから行われるため、Googleクロールは英国ベースのサーバーからは発生しませんが、... Googleに英国クローラーがあったとしても、Googleにはありませんいずれの場合でも、優先クロールの場所を選択できる機能。

通貨が正しくないとローカルランキングに影響する場合があります

主なターゲット地域が英国の場合、Googleが米ドルを見つけることはランキングに影響を与える可能性が高く、ほとんどの場合、Googleはお客様のメイン地域を米国と見なします。

ソース

その他の信号。サイトの対象ユーザーに関する他の手がかりのソースには、ページの現地住所と電話番号、現地の言語と通貨の使用、他の現地サイトからのリンク、および/またはGoogleマイビジネスの利用(利用可能な場合)が含まれます。

結果を複製する

この問題を再現するには、米国にあるVPNまたはプロキシに接続してから、Cookieを使用しないブラウザ(サイトが最後に使用した通貨をCookieとして保存しているため重要)または Google Chrome incognito 、通貨が自動的に割り当てられていることがはっきりとわかります。

可能性のある修正

最も明らかなことは、GooglebotまたはユーザーエージェントのIPアドレスを無視することですが、これは クローキングの形式 として検出される可能性があるため、Googleによって推奨されていません。 Googlebotは常にボットではなく訪問者として扱う必要があります。

そのため、常にそのソリューションを使用できますが、明らかにGoogleによって承認されていません。したがって、上記のソリューションを誰にもお勧めしません。 多地域および多言語 Webサイトとしてサイトを設定することにより、これにアプローチできます。

または、複数のスキーママークアップを使用して通貨を決定します。したがって、GoogleはWebサイトに複数の通貨があることを理解し、ユーザーが世界のどこにいるかに応じて正しい結果を返す必要があります。

ソース:

これにより、マークアップ内のすべての通貨を提供し、CSS/JSを介して現在のユーザー/ IPに対して有効ではない通貨を非表示にして、Googleにあなたが何をしているかを理解させることができます。

<div class="curr-gbp" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
  <!--price is 1000, a number, with locale-specific thousands separator
      and decimal mark, and the $ character is marked up with the
      machine-readable code "USD" -->
  <span class="usd" itemprop="priceCurrency" content="USD">$</span>
  <span class="usd" itemprop="price" content="1000.00">1,000.00</span>
  <span class="gbp" itemprop="priceCurrency" content="GBP">&pound;</span>
  <span class="gbp" itemprop="price" content="750.00">750.00</span>
  <span class="aud" itemprop="priceCurrency" content="AUD">$</span>
  <span class="aud" itemprop="price" content="1500.00">1,500.00</span>
</div>

含まれているdivのクラスをユーザー用に選択した通貨に設定し、CSSを介して他のオプションを非表示にします。

.curr-gbp .usd, .curr-gbp .aud { display: none; }
.curr-usd .gbp, .curr-usd .aud { display: none; }
.curr-aud .usd, .curr-aud .gbp { display: none; }

Google それから認識されるはずです マークアップをリストに適切に表示します。

5
Simon Hayter