web-dev-qa-db-ja.com

WordPressとGoogle Search Console(WMT)のSOFT 404でQ82019309.comの原因は何ですか?

私の 兄弟サイト 私がしばらく彼のために設計したものは、GoogleのSearch Console(以前のWebmaster Tools)で何百ものSOFT 404が報告されていました。一般に、ソフト404の修正は簡単ですが、これには少し困惑しています。すべてのソフトエラーは、文字列Q82019309.com内に時折サブフォルダーAristocratを持つ/?=を含む奇数の文字列を返します。

404は一般的に次のようになります:

  • エンコード済み:/search/%E5%A4%A7%E5%A5%96%E6%80%BB%E4%BB%A3Q82019309.com
  • デコード済み:/search/大奖总代Q82019309.com

情報からのリンクは以下を提供します:

  • エンコード済み:/?s=%E5%A4%A7%E5%A5%96%E6%80%BB%E4%BB%A3Q82019309.com
  • デコード済み:/?s=大奖总代Q82019309.com

最初は、これは孤立した問題であると考えていましたが、調査の結果、この問題は実際に数千のWebサイトに影響を与え、誰かが原因を知る必要があることを発見しました。 Googleで Q82019309.com WordPress または Aristocrat Q82019309.com の場合:

質問:

したがって、Aristocratの有無にかかわらず、文字列Q82019309.comでこれらのソフト404エラーが発生する原因は何ですか。

8
Simon Hayter

2017年1月3日以降、 wisepops.com で同じ問題が発生していました。

これらのページでインデックス作成が無効になっている場合でも、GoogleはSoft 404について不満を言っています。 Wordpress検索ページには、デフォルトで次のメタがあります。

<meta name="robots" content="noindex,follow">

結果なしで検索ページに404 HTTPコードを返すようにすることにしました。検索クエリはURL内にあるため、この方法で処理することは問題ありません。

Wordpressの場合、テーマのfunctions.phpの最後に追加しました。

/*---------------------------------------------------*/
/*  SEARCH PAGES WITHOUT RESULTS SEND 404 HTTP CODE  */
/*---------------------------------------------------*/
function wisepops_search_404_code() {
    if (is_search() && !have_posts()) {
        header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');
        $GLOBALS['wp_query']->is_404 = true;
    }
}
add_action('get_header', 'wisepops_search_404_code');
2
Wisepops

このプラグインは私のために問題を分類しました:

https://wordpress.org/plugins/disable-search-slug/

1
daveyb

あなたの何かがあなたのサイト検索機能に悪いクエリでリンクしているように思えます。これらの検索クエリは「結果が見つかりません」を取得します。 Googlebotはこれらのリンクを見つけており、Googlebotがサイト検索をクロールできるようにします。 「結果なし」のため、Googleはそれらを「ソフト404」として検出しています。

Googleにサイトの検索結果をクロールさせることは大したことではありません。 Googleがサイト全体にペナルティを科す可能性があります。 Matt Cutts:検索結果の検索結果 を参照してください。 robots.txtを使用して、検索結果のすべてのクロールを禁止する必要があります。

Disallow: /search
Disallow: /?s=

その後、GooglebotはこれらのURLをクロールせず、エラーも報告しません。

1