SEO : empêcher l'indexation de parties de pages

Google ne possède pas de balise empêchant l'indexation de parties de page. Pour parvenir à ce résultat, il faut faire preuve d'ingéniosité.

Les moteurs de recherche utilisent des robots qui parcourent les sites internet pour en indexer le contenu. Certains moteurs de recherche possèdent une balise permettant d'indiquer un contenu, ou une portion de page, que l'on ne veut pas voir indexé. C'est le cas de Yahoo avec la balise "<div class="robots-nocontent">", ou de Yandex (moteur de recherche russe) avec la balise "<noindex>". Google ne possède pas de système semblable. Pour protéger une portion de page de l'indexation, il faut être ingénieux et utiliser des astuces de développement.

Pour protéger un contenu de l'indexation, le principe des deux solutions proposées est le même : stocker le contenu dans un fichier séparé, et ensuite l'afficher au moyen d'une méthode qui empêchera le moteur de l'indexer (via iframe, ou AJAX).

Pour commencer, déplacez votre contenu dans un répertoire protégé, puis interdisez aux robots l'accès à ce répertoire grâce à la directive "Disallow" à écrire dans le fichier "robots.txt". Ce fichier est situé à la racine de votre site :
Disallow: /contenu_protege/

Une fois le contenu protégé, vous pouvez l'afficher dans votre page en utilisant une iframe, que les moteurs de recherche n'auront pas le droit d'indexer :
<p>Ce contenu est visible par les robots, mais le contenu de l'iframe ne l'est pas.</p>
<iframe src="/pratique/pratique/contenu_protege/moncontenu.html" width="100%" height=300></iframe>

Vous pouvez également utiliser le langage JavaScript. La bibliothèque JQuery fournit la méthode get() pour récupérer du contenu avec un simple appel AJAX. En premier paramètre, indiquez le chemin vers le contenu protégé, et en deuxième paramètre une fonction qui va afficher ce contenu. La fonction "html()" de JQuery peut alors être utilisée pour modifier le contenu HTML d'un élément de la page en y insérant le document protégé.

<!-- La division va contenir le contenu protégé.-->
<div id="contenuProtege"></div>
<script>
    $.get(
        "/contenu_protege/moncontenu.html",
        function(data){$('#contenuProtege').html(data)},
    );
</script>

Tutoriels SEO