Compteur de clic sur lien en dur

  • Auteur de la discussion Auteur de la discussion Helldream
  • Date de début Date de début
Bonjour,

J'aimerais compter les clics sur les liens sortants de mon site tout en gardant des liens en durs pour ne pas pénaliser leur référencement. Pour le moment j'utilisais une redirection en javascript de ce genre :
Code:
<a href="http://www.site.com" onclick="javascript:location.href='comptage.php?url="http://www.site.com"'; return false;">Lien</a>
Bien sûr la page comptage.php incrémentait un compteur et redirigeait le visiteur sur la page demandée. Cependant, je me suis rendu compte que Google suivait la redirection javascript, et indexait la page comptage.php au lieu de la cible du lien...

Existe-t'il d'autres techniques qui permettrait de faire ce comptage sans gêner le pénaliser le référencement des sites que je pointe ? Est-ce qu'en utilisant de l'Ajax, cela résoudrait le problème? Utiliser Google analytics ne m'intéresse pas puisque je voudrais afficher ces statistiques sur mon site afin qu'elles soient consultables par des membres.

Merci d'avance!
 
1-sponsor > Merci de ta réponse, mais je pense que tu n'as pas bien saisi le sens de ma questions : Je ne demande pas "comment faire un compteur de clic en javascript" (d'ailleurs mon message ne serait pas dans cette section dans ce cas), mais EST-CE QUE un compteur en Ajax permettrait de faire un compte sans gêner le référencement de mes liens sortants. Car comme manifestement Google suit les liens du genre "javascript:location.href=", je me demandais si le fait de faire un compteur en Ajax, utilisant donc du javascript, changerait quelque chose à mon problème ;)
 
Ha :-) effectivement j'avais compris que tu cherchais une autre technique...

Bah moi je te conseil de faire un fichier
Code:
monCompteur.js
inclus dans ta page avec une fonction
Code:
compterLeClic(lien) { ... }
, donc, bien dans un fichier externe... et dans ton lien mettre
Code:
<a href="http://dudule.com" onclick="compterLeClic(dudule);">dudule</a>
... c'est la technique qui me semble la plus sûr niveau référencement ;)

si tu ne vois pas comment procéder, la je te renvoi à mon lien précédent ;)
 
OK je vais essayer ça, pas de soucis pour la réalisation :)

Par contre est-il utile d'interdire l'accès au fichier .js à Google au niveau du robots.txt?
 
Ptite question complementaire :

j'ai ca dans mon code :

Code:
<a href="http://<?=$url?>" onclick="javascript:location.href='xxx_comptage_clic.php?url=http://<?=$url?>&amp;url_id=<?=$id?>'; return false;" target="_blank" title="<?=$tab_traduction[4]?>">

Sauf que mon target blank il en veux plus depuis que y a le on clic ...

Y a une syntaxe particuliere pour que le onclick soit en target blank ?

Pour info si ca aide, dans xxx-comptage, la page est appelée par un header ()
 
Bah ouai parce que tu fais location.href... qui veut dire "changer l'adresse de la page", regarde plutôt du coté de "window.open" qui signifie "ouvrir fenêtre" *

* bilingue ici ^^ 'tention !
 
heu ...

1 _ on le met ou ce window open ?

2 - mais du coup la page affichée va pas declencher les foudres anti pop up des navigateurs ?
 
Les anti-popup sont malins pour ce coup et détecter que l'action "open" est déclenchée par un clic "onclick" ;) mais c une bonne question ! :)
 
a la place du location.href ;)

Code:
<a href="http://<?=$url?>" onclick="javascript:window.open('http://




Helldream a dit:
Cependant, je me suis rendu compte que Google suivait la redirection javascript, et indexait la page comptage.php au lieu de la cible du lien...


>>> "à la place de..." ??? Pas du tout d'accord.
 
HawkEye a dit:
Bé... Testé avec succès depuis la nuit des temps (out.php sur idX) ;)
ben moi quand je lui fait ca le lien ne fait plus rien du tout, il va meme plus sur la page demandée ...

voila le code dans son integralité :

Code:
<a href="http://<?=$url?>" target="_blank" onclick="javascript:location.href='xxx_comptage_clic.php?url=http://<?=$url?>&amp;url_id=<?=$id?>'; return false;" title="<?=$tab_traduction[4]?>">

Il marche tres bien, execute bien comptage, execute bien le header de fin dans comptage mais pas de nouvelle page. Et quand je remplace, ben il fait plus rien du tout !
 
Voici la solution que j'utilise. Elle ne compte pas les clics que des robots pourraient générer puisqu'il n'y a aucun lien à suivre.
Code:
function clk(id)
{ 
	(new Image()).src="/includes/count.php?id="+id; return true; 
}
Code:
<a href="http://www.monsite.com/" title="" onclick="return clk('8');">ancre</a>

C'est juste un petit code en javascript qui va simuler la création d'une image mais en fait, va faire appel à un fichier php avec en paramètre l'id du lien en bdd.
 
Sur le site en question ,les bots ne sont pas un probleme (ils sont filtrés et identifiés comme tels en amont et donc leurs passages ne sont deja pas decomptés. Mon pb c'ets ce p.... de target blank :mrgreen:
 
J'utilise le target blank aussi, je le rajoute comme ça et ca fonctionne ^^

Code:
<a href="http://www.monsite.com/" target="blank_" title="" onclick="return clk('8');">ancre</a>
 
C'est a y rien piger ... voila un copier coller du source :

Code:
<a href="http://yagoort.org" target="blank_" onclick="javascript:location.href='xxx_comptage_clic.php?url=http://yagoort.org&amp;url_id=9'; return false;" title="Visiter le site">

et pas de target blank ... ou que soit le _
 
C'est normal avec ta technique. location ouvre le lien dans la page courrante, le target est pas pris en compte. Essaie la manière que j'utilise peut-être ?
 
j'ai trouvé ... en fait pour etre honnete j'ai pompé !

chez l'ami hawk ...

Code:
<a href="http://yagoort.org" target="blank_" onclick="javascript:window.open('xxx_comptage_clic.php?url=http://yagoort.org&amp;url_id=9'); return false;" title="Visiter le site">

et ca marche ... il manquait les ( ) apres window.open ... manifestement le = marche avec location mais pas avec window ...
 
voir plus haut ... bien sur que le target sert plus a rien c est un reliquat de avant le on click
 
YoyoS a dit:
Voici la solution que j'utilise. Elle ne compte pas les clics que des robots pourraient générer puisqu'il n'y a aucun lien à suivre.
Code:
function clk(id)
{ 
	(new Image()).src="/includes/count.php?id="+id; return true; 
}
Code:
<a href="http://www.monsite.com/" title="" onclick="return clk('8');">ancre</a>

C'est juste un petit code en javascript qui va simuler la création d'une image mais en fait, va faire appel à un fichier php avec en paramètre l'id du lien en bdd.

Ca m'plaît ton truc... vais creuser !
 
Technique que je connaissais et que j'avais vu pour le comptage sur le bon vieux dinosaure : Categorizator. :)
 
Et oue comme quoi faut pas réinventer la roue :P
En plus méthode fonctionnelle à 100% avec tous les navigateurs principaux :)
 
Waip mais c'est peut-être plus léger que le chargement d'un "out.php" + SQL + 301.
Vais tester et probablement t'en demander plus par MP (mais pas à 1h du matin)
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut