私は電子商取引のウェブサイトに取り組んでいます。以前は、次のようなカテゴリIDのサイトマップがありました。
<url>
<loc>https://my-domain.com/home/browse/2/45/139</loc>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://my-domain.com/home/browse/5/60/160</loc>
<changefreq>daily</changefreq>
</url>
上記のサイトマップでは2/45/139はカテゴリを表します。
fashion/women/tops-and-shirts
5/60/160は別のカテゴリを表します:
sports/team-sports/football
約3か月前、私は自分のWebサイトのサイトマップを変更し、カテゴリIDの代わりにカテゴリ名を使用することを決定したため、新しいサイトマップは次のようになります。
<url>
<loc>https://my-domain.com/home/browse/fashion/women/tops-and-shirts</loc>
<changefreq>daily</changefreq>
</url>
<url>
<loc>https://my-domain.com/home/browse/sports/team-sports/football</loc>
<changefreq>daily</changefreq>
</url>
数か月前に新しいサイトマップをGoogleに送信しましたが、すべてが機能しています...しかし、Google Search Consoleにアクセスするたびに、古いサイトマップ構造のページに関するエラーが表示されます...またはGoogleがランダムなパラメーターを追加していますURL、例えばpage = 59そして、このページにエラーがあると文句を言います...存在しないのでエラーを返します!
これらのエラーを解決するにはどうすればよいですか?
サイトマップについて誤解している。
サイトマップは、検索エンジンボットによるサイトクロールの監査に使用されます。サイトマップとサイトのクロールは、2つの異なる独立したものです。 Googleは、サイトマップに関係なく、引き続きサイトをクロールします。サイトマップは、Googleがサイトを適切にクロールできるかどうかを監査/確認するために使用されます。たとえば、サイトマップでページが見つかり、Googleがそのページを見たことがない場合、Googleはそのページをフェッチキューに追加して含めることができます。
逆は真実ではありません。サイトマップでページが見つからない場合、Googleはそのページをインデックスから削除しません。どうして? Googleがサイトをクロールして見つけたからです。
あなたが信じているように見えるのは、サイトマップがすべてであるということです-特定のサイトにどのページが存在するかを知るためにGoogleが使用するすべての権限を終わらせてください。これはそうではありません。クロールです。サイトマップは、Googleにのみ役立つwhether彼らはあなたのサイトを適切にクロールでき、そうでない場合は、Googleが欠落している必要のあるページフェッチキューに追加されます。
これらのページがサイトマップに存在しなくなったため、Googleがページにアクセスしようとしないという予想は正しくありません。サイトマップはキャッシュされ、定期的にのみチェックされます。どうして?それは監査プロセスだからです。
あなたが解決する必要がある実際の問題があります。
見つからないページに対して500エラーを返します。これは悪いです。サイトから404 Not Foundエラーが返されるはずです。 500エラーはシステムエラーであり、Googleはその状態を一時的なものとして扱います。サイトから404エラーが返された場合、Googleは、ページが存在しないと判断するまで、一定期間、何度も試行を続けます。可能な限り、削除したページに対して410 Removedエラーを発行する必要があります。これが作業量が多すぎるか不可能である場合、404は時間の経過とともに同じものになります。
500エラーを修正する必要があります。
Closetnocはサイトマップについては正しいです。 Googleがクロールしてインデックスに登録するURLを制限することを期待しないでください。実際、サイトマップはSEOにほとんど影響を与えません。参照 サイトマップパラドックス
リダイレクトしても、古いURLのエラーについてGoogleが文句を言うことはありません。サイトのURL構造を変更するときは、すべての古いURLを対応する新しいURLにリダイレクトするのが最善です。リダイレクトは、SEO値とランキングを(通常)維持するため、検索エンジンに適しています。ユーザーがたまたま古いURLにアクセスした場合、自動的に新しいURLに移動するため、ユーザーにとってはより良い方法です。
したがって、サイトが「301永続」ステータスを使用する適切なリダイレクトを実装していることを確認してください。
/home/browse/2/45/139 -> /home/browse/fashion/women/tops-and-shirts
/home/browse/5/60/160 -> /home/browse/sports/team-sports/football
GoogleはURLにランダムパラメータを追加しません。クロールするすべてのURLがどこかで見つかります。それはおそらくあなた自身のサイトのページネーションへのリンクを見つけました。また、Googlebotは、JavaScriptをスキャンしてURLのように見える文字列リテラルを探し、それらをクロールするという、ばかげたヒューリスティックも備えています。パラメータには外部リンクも含まれます。ときどき、他のサイトが奇妙に壊れた方法でサイトにランダムにリンクすることがあります。
ページネーションがなくなった場合は、それらのリクエストもリダイレクトすることをお勧めします。ページ付けをしたことがない場合でも、ページ付けパラメーターを削除するようリダイレクトすることはおそらく問題ありません。
あなたがしなければならないことが2つあります。
このようなリンクをページで確認してください:
何か
これは:
<a href="https:domain.com/?page=59"> something </a>
これは、URLで「/」区切り文字を使用しているためです。これは、ディレクトリセパレータです。したがって、Googleクローラーがdomain/home/browse/fashionにある場合
そして、このページで最初のようなリンクを見つけて、メインドメインではなくこのページにリンクを追加します。したがって、グーグルは以下を検索します:domain/home/browse/fashion /?page = 59ではなく:domain /?page = 59
リダイレクトせず、HTMLリンクとサイトマップのURLを変更するだけの場合、Googleはこれら(カテゴリ名のURL)を新しいページと見なし、ランク付けしない場合があります。
リダイレクトしないと、他の誰かがそれらの古いページにリンクしたため、サイトに送信されるリンクジュースもすべて失われます。
500内部エラーはおそらく壊れた関数が原因です。以前は数値が必要でしたが、現在はアルファベット値が渡されているため、何らかの致命的なエラーが発生しています。詳細については、エラーログを調べてください。