WordPress pour AMP : Comment créer des liens internes au format AMP ?

Grâce au plugin AMP pour WordPress, vous avez implémenté la technologie Accelerated Mobile Page de Google dans votre blog WordPress.

WordPress : Rediriger tout lien interne des pages AMP vers leur version AMP

Jusque là, tout fonctionne correctement, sauf que vous cherchez comment convertir tous les liens du maillage de liens internes de vos articles en version AMP pour le contenu ciblé par ces liens internes, plutôt que de rediriger vos visiteurs vers la page non-AMP mobile normale du site.

Une solution WordPress existe et va consister à procéder à une petite modification dans le fichier “function.php” de votre thème.

Mais attention, ne le faîtes pas si vous n’avez pas une expérience du code PHP de WordPress. Et même si vous pensez pouvoir faire cette modification, pensez auparavant à sauvegarder votre base de données et les contenus de votre blog.

A part ces mises en garde, la modification qui est juste un ajout est facile à faire.

Pourquoi convertir les liens internes en version AMP ?


Le plugin AMP de WordPress ne convertit pas encore les liens insérés dans un contenu en liens AMP. Même si Google y travaille, notamment pour réécrire les URL AMP avec le propre nom de domaine des sites AMP, en lieu et place de Google.com.

Ainsi, lorsqu’un utilisateur visite votre page AMP, en provenance d’un résultat de recherche sur Google mobile, après avoir cliqué sur un lien interne de ce contenu AMP, il est automatiquement redirigé vers la version non-AMP du contenu ciblé.

Vous l’aurez compris, seul le lien affiché dans les résultats de Google mobile permet de visiter un contenu au format AMP, s'il existe. Ce qui n’est pas intéressant en termes d’expérience utilisateur. Celui-ci perdant immédiatement la satisfaction de naviguer dans un site ou blog dont les pages ne s’affichent plus aussi instantanément qu’il aurait voulu.

Et l’engagement sur votre deuxième contenu visité pourrait s’en ressentir.

Pour procéder à la conversion automatique de tous vos liens internes, après avoir pris les précautions d’usage mentionnées plus haut, vous allez à Apparence -> Éditeur -> functions.php, depuis le menu de navigation de gauche.

Vous copiez et collez ce fichier functions.php dans un éditeur sur votre ordinateur. Ensuite, vous copiez et collez le code ci-dessous à la fin de votre fichier functions.php actuel :
add_filter('the_content', 'replace_href_with_amp_url', 2);
function replace_href_with_amp_url($content ){

if (is_amp_endpoint() ){

$doc = new DOMDocument();
$doc->loadHTML( ''.$content );

$links = $doc->getElementsByTagName('a');

foreach ( $links as $item ) {

if( $item->hasAttribute('href') ){

// Remplacer /tag/ par le nom personnalisé que vous utilisez pour vos tags

if( strpos($item->getAttribute('href') , "/tag/" ) == false &&

// Remplacer /uploads/ par le nom personnalisé que vous utilisez pour vos téléchargements

strpos($item->getAttribute('href') , "/wp-content/uploads/" ) === false &&
// Remplacer VOTREDOMAINE.com par le nom de domaine de votre site

strpos($item->getAttribute('href') , "VOTREDOMAINE.com" ) !== false){

//get attribute value
$Url = $item->getAttribute('href').'amp/';

//removing current href value
$item->removeAttribute('href');

//Setting new href value;
$item->setAttribute('href', $Url);

}
}
}

$content = $doc->saveHTML();
}

return $content;
}
Vous enregistrez votre nouveau fichier en gardant le même nom "functions.php". Vous le copiez et le collez dans le fichier functions .php de votre thème WordPress.

Ce bout de code va remplacer tous les liens non-AMP présents dans vos contenus AMP par une version AMP, excepté pour les pages du répertoire /tag/ et vos fichiers media (images, photos, vidéos, etc).

Maintenant, lorsque vos lecteurs visiteront une page AMP de votre site WordPress via le mobile depuis les résultats de recherche de Google, toutes les autres pages internes visitées seront aussi en AMP et s’afficheront aussi instantanément que la première page AMP visitée via Google Search mobile.

Mais, sachez que Google va annoncer aux alentours du 10 Janvier 2017 que le HTTPS sera désormais exigé pour valider la version AMP de votre site.

Et, pour votre gouverne, sachez aussi que WordPress va aussi exiger l’installation du HTTPS pour pouvoir utiliser certaines de ces fonctionnalités.

C’est vous dire si la migration vers une version sécurisée via HTTPS de tout site ou blog sera le sujet SEO N°1 en début d’année, avant le mobile-first qui pourrait aussi officiellement être lancé à partir du 10 Janvier 2017.