L’autre jour, je parcourais et faisais un nettoyage SEO sur la page de mon site et j’ai remarqué plusieurs « pages d’images » indexées sur Google. Chaque fois que vous ajoutez une image à votre publication, elle attache automatiquement un lien vers l’image qui va à une publication vierge (WordPress stocke les données d’image jointes sous forme de publications dans la base de données) avec rien d’autre que cette image et peut-être un titre et une légende (selon le thème tu utilises).
Le problème est que ces pages sont pratiquement inutiles car elles n’ont aucun contenu. Vous feriez mieux de créer un lien vers votre image elle-même si vous voulez que les gens puissent cliquer et voir une grande version ou utiliser un plugin lightbox pour vos publications. Les pages de pièces jointes dans WordPress sont ce que l’on considère comme du contenu « léger », elles n’ont donc aucune valeur et peuvent en fait nuire à vos efforts de référencement.
Dans cet article, je vais vous montrer différentes manières de désactiver cette page de pièce jointe d’image principale sur votre site WordPress et de rediriger votre classement de page vers son article principal ou la page d’accueil de votre site. Et rediriger ces publications de pièces jointes via des redirections 301 est la meilleure solution à la fois pour la convivialité et le référencement.
Rediriger les pages de pièces jointes d’image avec le plugin Yoast SEO
Le moyen le plus simple consiste à rediriger vos pages de pièces jointes en utilisant un plugin, et un plugin gratuit. Voici les 3 étapes faciles :
- Installer et configurer Yoast SEO pour WordPress
- Une fois configuré, cliquez sur SEO > Avancé et cliquez sur l’onglet Permaliens
- Activez l’option « rediriger les URL des pièces jointes vers l’URL de la publication parente » et enregistrez
Rediriger via une fonction personnalisée
Vous pouvez également créer votre propre fonction personnalisée pour rediriger vos pages de pièces jointes vers la page d’accueil ou le parent de la publication. Cette fonction doit être placée dans votre fichier functions.php (de préférence dans un thème enfant si vous utilisez un thème d’un autre développeur).
function myprefix_redirect_attachment_page() {
if ( is_attachment() ) {
global $post;
if ( $post && $post->post_parent ) {
wp_redirect( esc_url( get_permalink( $post->post_parent ) ), 301 );
exit;
} else {
wp_redirect( esc_url( home_url( '/' ) ), 301 );
exit;
}
}
}
add_action( 'template_redirect', 'myprefix_redirect_attachment_page' );
Si vous remarquez que le code ne sera redirigé que lorsque is_attachment() renvoie true. Cela signifie qu’il redirigera pour n’importe quel type de pièce jointe, pas seulement pour les images, ce qui est généralement le meilleur. Cependant, vous pouvez cibler uniquement les pièces jointes d’image en ajoutant des vérifications supplémentaires pour voir quel est le type de pièce jointe actuel.
Rediriger via le fichier image.php
Votre deuxième option consiste à désactiver complètement vos pages de pièces jointes en ajoutant une redirection WordPress directement ajoutée en haut de votre fichier image.php.
- Créez un nouveau fichier appelé image.php dans votre thème enfant (il est toujours préférable de travailler avec des thèmes enfants lors de la modification d’un thème) ou si vous développez votre propre thème, créez un fichier image.php vide dans votre thème.
- Insérez le code ci-dessous dans votre fichier image.php
<?php
global $post;
if ( $post && $post->post_parent ) {
wp_redirect( esc_url( get_permalink( $post->post_parent ) ), 301 );
exit;
} else {
wp_redirect( esc_url( home_url( '/' ) ), 301 );
exit;
}
Maintenant, lorsque vous actualisez votre page de pièce jointe d’image, elle doit être redirigée vers le message d’origine où l’image a été téléchargée ou si elle a été téléchargée directement dans la médiathèque, elle sera redirigée vers la page d’accueil de votre site.