最近、すべてのサーバーがHTTPおよびHTTPSを介してすべてを提供できるようにしました。ユーザーは http://www.example.com または https://www.example.com を介して任意のサイトにアクセスできます。すべてのページはバージョン間で同一であるため、 http://www.example.com/about.php は https://www.example.com/about.phpと同じです など。
URLは相対であるため、1つの例外を除いてプロトコルに言及していません。言い換えると、ページにHTTPが読み込まれている場合、他のページ、画像、CSS、HTTPを介したJavascript、およびHTTPSを使用したJavascriptにリンクし、混合コンテンツの警告を回避します。
今、その例外について。 robots.txtにあります:
Sitemap: http://www.example.com/sitemap.php
どうやらこれ RLは絶対でなければなりません 。
問題は、Googleが https://www.example.com/robots.txt を読み取ったときにHTTPサイトマップを取得する場合に発生する問題です。 robots.orgのドキュメントには、複数のサイトマップを指定できると書かれていますが、HTTPとHTTPSの両方のサイトマップが同じページのリスト(HTTPとHTTPSの両方)を含むので良いと確信できない場合。
robots.txtのサイトマップは、HTTPおよびHTTPSを受け入れるWebサイトでどのように処理する必要がありますか?
思いついたいくつかのアイデア:
http://www.example.com/sitemap.php
のサイトマップには、http://www.example.com/
のURLのみを含めることができます。¹schemeおよびHost同じでなければなりません .
したがって、1)両方のプロトコルのサイトマップを提供し、2)robots.txtのSitemap
フィールドを介して両方のサイトマップをリンクする場合、HTTPとHTTPSに別々のrobots.txtファイルを提供する必要があります。
# http://www.example.com/robots.txt
Sitemap: http://www.example.com/sitemap.php
# https://www.example.com/robots.txt
Sitemap: https://www.example.com/sitemap.php
(Apacheでこれを簡単に達成できるはずです。たとえば、 への回答を参照してください。robots.txtでHTTPSのみのクロールを禁止する方法はありますか? )
ただし、検索エンジンに非正規バリアントのサイトマップを解析させるのはあまり意味がないため、通常はインデックスを作成したくないため、正規バリアントのみにサイトマップを提供したい場合があります(例:HTTPSのみ)。そのURLのいずれか。したがって、HTTPSが標準である必要がある場合:
canonical
リンクタイプを使用してHTTPSバージョンにリンクします。¹ cross submits が使用されている場合を除きます。
http://www.example.com/about/
http://www.example.com/about
http://example.com/about/
http://example.com/about
https://www.example.com/about/
https://www.example.com/about
これらの種類の重複コンテンツは、Googleが長年前からすでに処理しています。そのため、最初に重複コンテンツの問題を心配しないでください。
サイトのHTTPバージョンとHTTPSバージョンを同時に提供することはまったく問題ありません。特に、サイトをHTTPからHTTPSに移行する場合、Stackoverflowもこれを過去に行いました。
ここでは、Googleはウェブページの1つのバージョンのみをインデックス化します。つまり、バージョンhttp://www.example.com/about.php
とhttps://www.example.com/about.php
の両方のインデックスを作成しません。ほとんどの場合、 デフォルトではHTTPSを選択します
また、サイトマップファイルをrobots.txtに追加する必要はありません。特に、Googleについて考える場合(ask.comではありません)、サイトマップをウェブマスターツールに送信するオプションが提供されるためです。したがって、検索コンソールにhttp://www.example.com
やhttps://www.example.com
などの2つのプロパティを作成し、そこに個別のサイトマップを送信します。
サイトマップ、robots.txt、その他すべてのことに真剣に取り組んでいる理由がわかりません。 Googleはサイトマップなしでウェブサイトをクロールし、インデックスに登録できます。たとえば、ウィキペディアにはサイトマップがありませんが、内部リンク構造が優れているため、クロールが頻繁に行われます。