2

「site:mywordpress.org」の Google 検索結果を調べていました。そして、存在してはならない索引付けされたロットまたはページが見つかりました。

ここには 2 つの問題があります。

  1. Google がこれらの URL をどのように見つけ、クロールし、発見したかはわかりません。

  2. Wordpress では 404 エラーが表示されないため、コンテンツが重複しているように見えます。

Wordpress サポート フォーラムを試しましたが、誰も応答しませんでした。また、この問題を報告している人を見つけることができませんでした。これが私が見ているものの例です:

mywordpress.org/blog-post/
mywordpress.org/blog-post/1363035032000/

head に canonical リンク参照を追加し、Google WMT の削除リクエストを数多く行ってきましたが、まだこのような結果がいくつか見られます。

いくつかのワードプレス インストールでこれをテストしましたが、パーマリンクの末尾に数字の文字列を追加すると、404 エラーが表示されるのではなく、コンテンツが表示されるようです。

また、パーマリンクに追加されている数字は、UNIX タイム スタンプの末尾にいくつかのゼロがあることにも気付きました。この記事の時点で、現在の UNIX タイムスタンプは 1363035971 です。

どうしたらいいのかアドバイスを求めています。私が特に興味を持っているのは、URL の末尾に数字の文字列があるかどうかを確認し、ある場合は 301 で適切なパーマリンクにリダイレクトする PHP 関数です。また、Google がこれらの間違った URL を見つけた理由と、UNIX タイム スタンプが手がかりであるかどうかについても、意見をお寄せください。

4

2 に答える 2

1

プラグインがこれを引き起こしているかどうかを確認しましたか?また、[設定]>[パーマリンク]でパーマリンク設定を確認してください

問題の原因を特定するまで、リダイレクトプラグインを使用して問題の解決を試みることができます。

このプラグインには多くの機能があり、ケースにとって重要な2つの機能は次のとおりです。

  • 存在しないURLだけでなく、すべてのURLをリダイレクトできます
  • 完全な正規表現のサポート

したがって、正規表現を使用すると、数字を含むURLを正しいURLにリダイレクトできる可能性があります。

于 2013-03-12T10:31:58.730 に答える
0

私は同じ問題を抱えていて、この問題の解決策を見つけました。

これを functions.php に追加するだけです

 add_action( 'template_redirect', 'so16179138_template_redirect', 0 );
function so16179138_template_redirect()
{
    if( is_singular() )
    {
        global $post, $page;
        $num_pages = substr_count( $post->post_content, '<!--nextpage-->' ) + 1;
        if( $page > $num_pages ){
            include( get_template_directory() . '/404.php' );
            exit;
        }
    }
}
于 2013-09-13T16:52:21.363 に答える