web-dev-qa-db-fra.com

Masquer le contenu des araignées de recherche

J'ai l'obligation de mettre au défi un visiteur d'accepter les termes et conditions de la page qu'il visualise. Si un utilisateur n'a pas accepté les conditions, celles-ci seront affichées sur toutes les pages visitées. Elles se présenteront sous la forme d'une boîte de dialogue JavaScript modale, mais si js n'est pas disponible, il doit figurer en haut de la page. Quand ils accepteront, ils seront copiés et le code HTML du défi ne sera pas affiché sur la page.

Les moteurs de recherche n'accepteront jamais les termes et conditions. Ils verront donc la copie T & C sur chaque page, varieront vers le haut de la source HTML et l’indexeront probablement pour chaque page.

Existe-t-il un moyen de marquer un élément pour indiquer aux araignées que cet élément ne contient aucune information utile, ou "Veuillez ne pas indexer cet élément"?

J'imagine que c'est un peu comme une inversion de cape. Je veux que les SE ignorent ce jargon juridique pour pouvoir indexer le contenu intéressant des pages.

Alternativement, cela serait-il considéré comme une dissimulation, et encourirait-il une pénalité si je cachais cela aux SE basés sur user-agent?

1
Greg B

Existe-t-il un moyen de marquer un élément pour indiquer aux araignées que cet élément ne contient aucune information utile, ou "Veuillez ne pas indexer cet élément"?

<script type="text/javascript">
  document.write('search engines will ignore this content');
</script>

Cloaking implique de servir un contenu différent aux demandes que vous avez identifiées comme étant des araignées de moteurs de recherche; cette méthode sert simplement le même Javascript à toute personne qui demande la page.

Vous voudrez peut-être ajouter une vérification de cookie Javascript pour ignorer l'affichage du modal si l'utilisateur a déjà accepté votre T & CoS.

Serait-ce considéré comme une dissimulation et, en tant que tel, encourt-il une pénalité si je la cachais des SE en fonction de l'utilisateur-agent?

C’est l’implémentation la plus typique du cloaking.


Mise à jour:

Je déclare qu’il faut un repli HTML, js pur est sorti.

Désolé, je n'ai pas vu cela mentionné dans votre question. Voici une mise en œuvre approximative à prendre en compte:

Système de fichiers:

  • /robots.txt - include "Disallow:/iframe"
  • /iframe/terms.htm - contenu que vous souhaitez diffuser dans le modal

Exemple de document HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- ... -->
<style type="text/css">
div#iframeWrapper {
    position:absolute;
    top:0;
    left:0;
    height:100%;
    width:100%;
    background-color:#EFEFEF;
}
iframe#terms {
    position:absolute;
    top:50%;
    left:50%;
    height:600px;
    width:800px;
    margin-top:-300px;
    margin-left:-400px;
}
</style>
<!-- ... -->
</head>
<body>
<p>Some content.</p>
<!-- IF COOKIE NOT SET -->
<div id="iframeWrapper">
<iframe id="terms" src="/iframe/terms.htm" width="800" height="600"></iframe>
</div>
<!-- EOF IF COOKIE NOT SET -->
</body>
</html>

De plus, ma deuxième question ne concerne pas la façon de faire la dissimulation mais la météo serait préjudiciable au classement des sites.

Il se peut que Google ne le découvre jamais, mais il est toujours préférable de faire preuve de prudence: un humain peut voir que ce que vous faites est légitime, cependant, la détection dissimulée ( et l’affectation de pénalité) est plus susceptible d’être effectuée par un algorithme, alors pourquoi le risquer?

3
danlefree