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%確信できません...この種の設定は初めてで、それは完全に間違っているので、ヘルプ/アドバイスは大歓迎です。
条件付きリダイレクトに加えて、これらのサイトを目的の市場でターゲットにするためにどのような手順を踏んでいますか?
あなたが言ったことから、私はあなたがSearch Console /ウェブマスターツールでジオターゲティングを設定していないと思う。 us.
とca.
の両方のサブドメインを確認し、それぞれの市場をターゲットとするようにそれぞれを設定する必要があります。
さらに、hreflang
マークアップを調べる必要があります。これにより、特定の言語と場所でコンテンツをターゲットにできます。はじめに こちら 。
Googleは 「ロケール対応」クロール (つまり、複数のIPとAccept-Languageヘッダーを使用して、お客様のようなセットアップを処理しようとしています)をアドバタイズしますが、上記の手順を引き続きお勧めします。
一般に、検索エンジンは単一の場所からクロールし、Accept-Languageヘッダーを送信しないため、助けがなければIPおよび言語の検出を処理できないと想定する必要があります。
フォールバックがあるのでしょうか?
<?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;
?>