web-dev-qa-db-ja.com

グーグルで動作する多国リダイレクト

Company.com、us.company.com、ca.company.comがあり、すべて同じ言語を使用していますが、異なるコンテンツを表示しています。価格、画像、テキスト

サイトをcompany.comとしてGoogleに表示したいのですが、ユーザーが米国にいてcompany.comをクリックすると、us.company.comにリダイレクトされます。

サイトはWordPressであり、CloudFlareを使用して動作するリダイレクトがあります-以下のコードを参照してください。

<?php
  $country_code = $_SERVER["HTTP_CF_IPCOUNTRY"];

  if($country_code == 'CA') {
    header("Location: http://ca.company.com", true, 301);
    exit();
  }
  if($country_code == 'US') {
    header("Location: http://us.company.com", true, 301);
    exit();
  }
?>

現在、company.comでGoogleを検索すると、ユーザーの場所に関係なくus.company.comが表示され、company.comはどこにも表示されません。

Company.comにウェブマスターツールを設定し、昨日現在us.company.comを追加しましたが、これが進むべきかどうか100%確信できません...この種の設定は初めてで、それは完全に間違っているので、ヘルプ/アドバイスは大歓迎です。

6
Alicia C

条件付きリダイレクトに加えて、これらのサイトを目的の市場でターゲットにするためにどのような手順を踏んでいますか?

あなたが言ったことから、私はあなたがSearch Console /ウェブマスターツールでジオターゲティングを設定していないと思う。 us.ca.の両方のサブドメインを確認し、それぞれの市場をターゲットとするようにそれぞれを設定する必要があります。

さらに、hreflangマークアップを調べる必要があります。これにより、特定の言語と場所でコンテンツをターゲットにできます。はじめに こちら

Googleは 「ロケール対応」クロール (つまり、複数のIPとAccept-Languageヘッダーを使用して、お客様のようなセットアップを処理しようとしています)をアドバタイズしますが、上記の手順を引き続きお勧めします。

一般に、検索エンジンは単一の場所からクロールし、Accept-Languageヘッダーを送信しないため、助けがなければIPおよび言語の検出を処理できないと想定する必要があります。

1
GDav

フォールバックがあるのでしょうか?

<?php
$country_code = $_SERVER["HTTP_CF_IPCOUNTRY"];

if($country_code=="CA"){
$location='http://ca.company.com';
}elseif($country_code=="US"){
$location='http://us.company.com';
}else{
$location='http://company.com';
}
header("location:$location",true, 301);
exit;

?>
0
Evgeniy