web-dev-qa-db-ja.com

非カテゴリページ/ page/nnnを正規のURLにリダイレクトするWordpress

私は他のほとんどすべてのWordpressサイトで見つけた奇妙な問題を抱えているようだ。

ブログのホームを静的WPページ/myhomeに設定したとします。そしてあなたはブログ/blogのための別のページを持っています。

今、これはうまく機能し、する必要があります:

/blog
/blog/page/2
/blog/page/3
/blog/page/4

しかし、他のすべてのページでは、 /about-us、これらのリンクも機能します。

/about-us/page/2
/about-us/page/3
/about-us/page/4

そして/about-usページの内容を見せてください。

私の問題は、他のページには/about-us/page/2以外のページ番号がないため、/about-usは理想的には/blogにリダイレクトする必要があることです(これは正規のURLです)。

何が足りないの?これは私がチェックしたほとんどすべてのサイトで起こるようで、SEOの観点からは本当にイライラしています。

1
shamittomar

これは仕様であり、意図的なものです。 WordPress書き換えは長年にわたってますます複雑になり、多くのプラグインはページのpageエンドポイントを使用します(通常はテンプレートとカスタムクエリを使用)-リダイレクトは潜在的な痛みの世界をもたらします。

要するに、それは問題ではありません。 WordPressは、ページに <link rel="canonical /> を追加するため、コンテンツの重複を心配する必要はありません。

更新:潜在的なリスクを無視したいローカライズされた状況では、これによりすべてのページURLが正規化されます-ページが実際にあるかどうかはチェックされないことに注意してくださいページ分割(つまり、<!--nextpage--> quicktagを使用)し、使用するとこの機能が中断されます。

function wpse_199180_canonical_pages( $wp ) {
    if ( ! is_admin() && is_page() && isset( $wp->query_vars['paged'] ) ) {
        wp_redirect( get_permalink( get_queried_object() ), 301 );
        exit;
    }
}

add_action( 'wp', 'wpse_199180_canonical_pages' );
1
TheDeadMedic