web-dev-qa-db-fra.com

Wordpress Rediriger des pages/page/nnn hors catégorie vers leurs URL canoniques

J'ai apparemment un problème étrange que j'ai trouvé dans presque tous les autres sites Wordpress.

Supposons que vous ayez défini la page d'accueil de votre blog sur un WP page /myhome statique. Et vous avez une page séparée pour le blog /blog.

Maintenant, cela fonctionne bien et devrait être:

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

Mais, pour toutes les autres pages, par exemple /about-us, ces liens fonctionnent également:

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

Et affichez le contenu de la page /about-us.

Mon problème est que /about-us/page/2 devrait idéalement être redirigé vers /about-us (c'est une URL canonique) car il n'y a pas de pagination dans une autre page à l'exception du /blog.

Qu'est-ce qui me manque là? Cela semble se produire sur presque tous les sites que j'ai vérifiés et est vraiment frustrant du point de vue du référencement.

1
shamittomar

Ceci est intentionnel et intentionnel. Les réécritures WordPress sont devenues de plus en plus complexes au fil des ans, et de nombreux plug-ins utilisent le point de terminaison page pour une page (généralement avec un modèle et une requête personnalisée) - la redirection introduit un monde potentiellement douloureux.

Longue histoire courte, ça n'a pas d'importance quand même. WordPress ajoute <link rel="canonical /> pour les pages, vous n'avez donc pas à vous soucier du contenu en double.

Mise à jour: Pour les situations localisées dans lesquelles vous souhaitez ignorer les risques potentiels, cela canonisera toutes les URL de page - notez qu'il ne vérifie pas si une page est réellement paginée (c'est-à-dire avec le <!--nextpage--> quicktag) et casseront cette fonctionnalité si vous l’utilisez.

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