Laravelでプロジェクトを公開、GoogleSearchConsoleでドメインプロパティとして登録した場合に重複登録されてしまったので対処した方法です。
「重複しています。Google により、ユーザーがマークしたページとは異なるページが正規ページとして選択されました」
と表示されていました。
原因としては httpとhttps、wwwありwwwなし、それぞれのURLで登録されてしまったため重複してしまいました。
.htaccess での対処方法
アクセスURLをwwwなしのhttpsに固定するためにリダイレクトする場合
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ https://%1%{REQUEST_URI} [R=301,L]
参考
wwwあり・なしをリダイレクト設定で統一する方法 | WEBクリエイターの部屋
Laravel での対処方法
リダイレクトはせずに、metaタグのcanonicalに統一したいURLを記載します。
あらかじめ以下のライブラリを追加してmetaタグのcanonical表示ができるように設定しておきます
https://github.com/artesaos/seotools
return [
'meta' => [
'defaults' => [
'canonical' => 'current',
],
canonicalに表示されるURLを .env
の APP_URL に統一してhttpsでのアクセスに固定します
use Illuminate\Support\Facades\URL;
public function boot(): void
{
if (config('app.env') !== 'local') {
URL::forceRootUrl(config('app.url'));
URL::forceScheme('https');
}
}
以上です。
どちらかに対応し、GoogleSearchConsoleでの「修正を検証」を実行すれば解消されます。
コメントを残す