web-dev-qa-db-ja.com

国によって異なる場合、検索エンジンから製品価格を非表示にする方法は?

米国の顧客のみを対象にオンラインでアイテムを販売するサイトがあります。サイトはIPに基づいて場所をチェックし、価格を表示するかどうかを決定します。他の場所の顧客は、製品をオフラインで(異なる価格で)購入できます。 Googleで「価格」を検索すると、結果の説明に米国の価格が表示されます。ウェブページでは、ユーザーが米国にいない場合、その価格は表示されません。

Googleが価格を表示しないようにするにはどうすればよいですか? JavaScriptを使用するか、ボットをチェックして価格を隠すことを考えました。もっと簡単な解決策はありますか?どのオプションが最適ですか?

1
Livshin

私が最後にしたことは、常にボットの価格をブロックすることでした。

次のようなコードを使用しました:

function _bot_detected() {

  if (isset($_SERVER['HTTP_USER_AGENT']) && preg_match('/bot|crawl|Slurp|spider/i', $_SERVER['HTTP_USER_AGENT'])) {
    return TRUE;
  }
  else {
    return FALSE;
  }

}

詳細: https://stackoverflow.com/questions/677419/how-to-detect-search-engine-bots-with-php

0
Livshin

対処方法は2つあります-残念ながら、両方とも理想的な解決策ではありません...

  1. ページからmicroformatsマークアップを削除することもできますが、これは米国と外部の両方の結果を見る人に影響します

  2. さまざまな国のウェブサイトのさまざまなバージョンを作成して、これらの国の結果にインデックスを付けることができます。これには多くの作業とセットアップが必要です。また、Googleが結果を変更するのを待つ必要があります(最終的には表示するものを決定します)

ここには簡単な答えはないようで、ユーザーは検索結果で異なる価格を表示し、販売店から購入するときに異なる価格を取得することに満足しなければならない場合があります。