RSW | Référencement site-web et optimisation SEO  Audit et optimisation SEO  Référencement naturel  Référencement local  Campagne ADWORDS  Réseaux sociaux

On vient de vous confier un site internet aux pages nombreuses et vous voulez injecter sur chacune votre code Google Analytics sans avoir à les éditer une à une ; voici la solution d’injection via le fichier .htaccess

Le fichier .htaccess va nous permettre d’exécuter des directives Apache . Ces directives écrites dans le fichier .htaccess vont permettre de travailler sur le niveau du répertoire et sur tous les niveaux d’en dessous d’eux, jusqu’à ce qu’un autre . htaccess déclare quelque chose de différent.

Nous travaillerons travailler avec les directive AddHandler , php_value , auto_prepend_file et auto_append_file .

.htaccess

Options +Includes
AddHandler server-parsed .html
AddHandler application/x-httpd-php .html
php_value auto_prepend_file /home/userdir/public_html/ga-1.php
php_value auto_append_file /home/userdir/public_html/ga.php

Ces cinq lignes nous permettent d’insérer du code sans avoir à modifier aucun des fichiers

Options+ Includes

Active l’option INCLUDES coté serveur

AddHandler server-parsed .html

Permet de viser les fichiers ayant une certaines extension (ici HTML)

AddHandler application/x-httpd-php .html

Permet interpréter les fichiers HTML par le gestionnaire (handler) PHP (étape cruciale)

php_value auto_prepend_file /home/userdir/public_html/ga-1.php
php_value auto_append_file /home/userdir/public_html/ga.php

Cela doit être fait lorsque PHP est exécuté comme un module Apache

Passons maintenant à l’écriture du script Google analytics

ga-1.php

<?php
function google_analytics($buffer) {
 $ga = <<<END
 <script type="text/javascript">
 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js'; type='text/javascript'%3E%3C/script%3E"));
 </script>
 <script type="text/javascript">
 try {
 var pageTracker = _gat._getTracker("GOOGLE_TRACKING_CODE_GOES_HERE");
 pageTracker._trackPageview();
 } catch(err) {}</script>
 END;
return str_ireplace("</body>", "{$ga}</body>", $buffer);
}
 ob_start("google_analytics");
?>

ga.php

<?php
ob_end_flush();
?>

A ne pas négliger car la fonction ob_end_flush arrête les script et l’envoie au client

Librement traduit de Injecting Google Analytics Without Changing Files

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *