Messages: 6

Enregistré le: 1 Sep 2005

Message le Jeu Sep 01, 2005 11:16

Bonjour à tous !

Je cherche un moyen simple de rendre certains mots invisible aux robots via une expression régulière (donc ni image ni utilisation de USER_AGENT)

$texte = eregi_replace ("(mot1|mot2|mot3)", "<script>document.write('\\0');</script>", $texte);

On peut compliquer un peu le truc en placant le document.write dans une fonction …

Mais le pb c’est que je suis pas sure que ça soit fiable à 100% (surtout sans passer par une fonction). Et ça m’ennuie d’utiliser le javascript pour les personnes qui ne l’ont pas actif sur le navigateur.

Si quelqu’un a une astuce.

A ma connaissance il n’y a pas balise html <noindex> pour cadrer des textes à ne pas indexer … dommage. Pourtant si j’indique sur mon site que je ne fait pas de planche à voile ça m’embête beaucoup que des utilisateurs qui tape « planche à voile » tombe sur mon site :)
Haut
9 Réponses
Messages: 151

Enregistré le: 18 Oct 2004

Message le Jeu Sep 01, 2005 11:21

Hello,

Deux constatations:
- Très peu de monde à le javascript désactivé
- Si de toute façon le texte n'est pas très "pertinent" (tu ne veux pas que les moteurs le voient) donc ce n'est pas très important qu'une petite partie de tes visiteurs ne voient pas certains textes.

Une suggestion:
- Utilise du flash
Haut
Messages: 15815

Enregistré le: 23 Déc 2003

Message le Jeu Sep 01, 2005 11:35

ah ben ca c'est nouveau. maintenant, on ne veut plus des visiteurs mdr :-)

dès que tu emploi le mot "javascript" tu ne peux pas associer l expression "fiable à 100%". mais si tu as "planche à voile" dans ton texte, c est bien que ton site en parle.

a part interdire l indexation de la page complete, je vois pas trop de moyen PROPRE et FIABLE
Haut
Messages: 6

Enregistré le: 1 Sep 2005

Message le Jeu Sep 01, 2005 11:38

Le javascript est souvent activé c’est vrai, mais une solution sans serais quand même mieux.

Si de toute façon le texte n'est pas très "pertinent" (tu ne veux pas que les moteurs le voient) donc ce n'est pas très important qu'une petite partie de tes visiteurs ne voient pas certains textes.


Je prend un autre exemple alors :
Je suis streap-teaser pro (je garde le string :). mais je reçoit souvent des propositions pour de l’escorting. J’indique donc : « Je ne suis pas escort ! ».
Ça m’embête d’apparaître pour escort …
Haut
Messages: 1206

Enregistré le: 2 Déc 2004

Message le Jeu Sep 01, 2005 11:42

tu mets le mot dans une image ?
Haut
Messages: 6

Enregistré le: 1 Sep 2005

Message le Jeu Sep 01, 2005 11:48

Oups désolé wri si des visiteurs arrivent sur ce forum à la recherche d’escortes :)
tu n’as plus qu’a faire comme moi :
Chercher un moyen d’empêcher les moteurs de lirent ce mot dans ton forum :)

tu mets le mot dans une image ?


T'image si je dois remplacer tout les mots d’un forum par une image… en plus cela ne serra pas esthétique chaque forum utilise sa propre feuille de style et sa propre police de caractères …
Haut
Messages: 18187

Enregistré le: 23 Fév 2004

Message le Jeu Sep 01, 2005 12:57

si tu définis
$escorte = 'esc<font class="hidden">fdsefsx</font>orte';

que tu définis "hidden" dans ton css,

et que ton contenu est

Je ne propose pas de service d' $escorte

Ou un truc dans le genre ?

-> Affichage à l'écran = "Je ne propose pas de service d'escorte"

-> Affichage au bot = "Je ne propose pas de service d'escfdsefsxorte".

Si quelqu'un qui s'y connait mieux en masquage de texte veut bien corriger, je pense que tu auras ta solution.

@+
Haut
Messages: 6

Enregistré le: 1 Sep 2005

Message le Jeu Sep 01, 2005 14:10

HawkEye_TpfH t'es trop fort !
c'est ce qui convient le mieu je pense.
je vais aisseyer.
Haut
Messages: 6

Enregistré le: 1 Sep 2005

Message le Jeu Sep 01, 2005 14:34

si ca interresse quelqu'un la fonction preg_replace_callback permet de recuperer le mot dans une fonction ... pratique


Code: Tout sélectionner
function noindex ($word) {
return ($word[0]);
}

echo preg_replace_callback('(mot1|mot2)', "noindex", $texte);
Haut
Messages: 6

Enregistré le: 1 Sep 2005

Message le Jeu Sep 01, 2005 14:52

voila le code complet :

Code: Tout sélectionner
<style>
.noindex { display: none; }
</style>

<?php

function noindex ($word) {
   $moitie = round(strlen($word[0])/2);
   $debut = substr($word[0],0,$moitie);
   $fin = substr($word[0],$moitie);
   return ($debut."<span class=\"noindex\">z</span>".$fin);
}

$texte = 'dqdqdsqsd escort qdsqdqdq porno sdsdds';

echo preg_replace_callback('(escort|porno)', "noindex", $texte);

?>
Haut