URLs canoniques dans vos thèmes

Rédigé par GC-nomade Aucun commentaire
smiley clin d'oeil

Si vous souhaitez mettre en places les balises "canonical" sur votre site PluXml, cela est possible à partir de votre fichier header.php de votre thème.

Un plugin est maintenant disponible pour effectuer l'ajout des url canoniques sans éditer vos fichiers de thèmes disponible sur github à : Plugin url canoniques.
Dans le cas de la mise en place de L’URL-rewriting, c'est L’URL réécrite qui est utilisée et indiquée comme canonique, si vous utilisez aussi le plugin plxMyBetterUrls, c'est cette url produite qui sera utilisée sans que vous n'ayez à vous en soucier.

Attention, avant de vous lancer dans l’édition de votre thème , il y a plusieurs chose à savoir pour ne pas éditer votre thème.

  1. le plugin myCannonical fait le job pour vous.
  2. Si vous utiliser le plugin extra_SEO , cette option est incluse, éditer ou installer myCannonical ne sert à rien !
  3. Si vous utilisez une version de PluXml 5.9 ou supérieur, les urls canoniques sont natives et vous n'avez rien à faire.

Comment faire ?

Pour cela , il faut éditer le fichier de votre thème (header.php pour le thèmes par défaut) et y insérer ces quelques lignes juste après l'affichage des balises meta.

Ces balises sont au nombre de trois, en début de fichier dans la balise <header> , trouvez les :

	$plxShow->meta('description');
	$plxShow->meta('keywords');
	$plxShow->meta('author');	

ajouter ces quelques lignes juste à la suite:

# URL canonique
# Author Gcyrillus @ re7net.com
# genere l'url canonique de votre page , d'acceuil, categorie, statique ou article  sous la forme <link rel="canonical" href="URL" />
# conformémént à votre configuration urlrewriting, compatible avec le plugin MyBetterUrl
# indique le numero de page : page1
# identifie les plugins generant une page
$pagination='';
$reqUri=   $plxShow->plxMotor->get;
preg_match('/(/?page[0-9]+)$/', $reqUri, $matches);
if( $matches) $pagination =$reqUri;
if($plxShow->catId(true) AND intval($plxShow->catId()) =='0') echo '	<link rel="canonical" href="'.$plxShow->plxMotor->urlRewrite().$pagination.'" />'.PHP_EOL  ;
if($plxShow->plxMotor->mode=='categorie' AND $plxShow->catId(true) AND intval($plxShow->catId()) !='0') echo '	<link rel="canonical" href="'.$plxShow->plxMotor->urlRewrite('?categorie'. intval($plxShow->catId()).'/'.$plxShow->plxMotor->aCats[$plxShow->catId()]['url']).$pagination.'" />'.PHP_EOL  ;
if($plxShow->plxMotor->mode=='article'  AND $plxShow->plxMotor->plxRecord_arts->f('numero')) echo '	<link rel="canonical" href="'.$plxShow->plxMotor->urlRewrite('?article' . intval($plxShow->plxMotor->plxRecord_arts->f('numero')) . '/' . $plxShow->plxMotor->plxRecord_arts->f('url')).'" />'.PHP_EOL  ;
if( $plxShow->plxMotor->mode=='static'  ) { 
	echo '	<link rel="canonical" href="'.$plxShow->plxMotor->urlRewrite('?static'. intval($plxShow->staticId()).'/'.$plxShow->plxMotor->aStats[str_pad($plxShow->staticId(),3,0,STR_PAD_LEFT)]['url']).'" />'.PHP_EOL ;
}
else{
	# enfin on regarde si il s'agit de la page d'un plugin	
	foreach($plxShow->plxMotor->plxPlugins->aPlugins as $plug){				
		if($plug->getParam('url') == $plxShow->plxMotor->mode)  echo '	ef="'.$plxShow->plxMotor->urlRewrite('?'.$_SERVER['QUERY_STRING']).'"/>'.PHP_EOL;
			}
}		

Ces quelques lignes vont tester le mode d'affichage et rechercher L’URL de la page correspondante à celle affichée.

Cela semble plutôt idiot de remettre dans le code l'URL de la page qui s'affiche mais certains moteur de recherche peuvent avoir ou décider d'indexer une autre URL et de voir une page comme une copie.
Si votre site a été indexer dans le passer et que vous modifier les url de vos pages (avec une redirection via URL Rewriting par exemple , ou en activant le plugin MyBetterUrl) les moteurs de recherches garderons en mémoire les anciennes URL devenues obsolètes sans indexer les nouvelles, comme ce ne sont que des scripts dans une machine, autant leur clarifier la chose.

C'est aussi, par exemple, pour clarifier que les pages de www.votreSite.fr sont systématiquement redirigées vers votreSite.fr et que les www peuvent et doivent être ignorer et remplacer par votreSite.fr.

4 notes / moyenne 9.5

Hébergeur bénévole de ressources pour le CMS PluXml, un CMS en flat file propulsé à l'XML.

Mon site PluXml perso : re7net.com.

Écrire un commentaire

Quelle est le premier caractère du mot pj56ga1 ?

Fil RSS des commentaires de cet article