Cacher un lien d'ajout au panier

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

Xophe
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 147
Inscription: Mer Mar 23, 2005 11:20

Cacher un lien d'ajout au panier

Message le Mar Juin 24, 2008 10:11

Bonjour,

Quelle est la meilleure manière de coder un lien "ajouter au panier" sachant que je ne souhaite pas qu'un robot provoque des ajouts au panier en parcourant ma boutique ? En effet, le panier est stocké en BDD et non pas en session.

Aujourd'hui, j'utilise une petite fonction js qui "écrit" la balise <a href= etc mais je suppose qu'il existe une méthode plus classe.

Avez-vous des suggestions ?
Merci


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 5189
Inscription: Mer Nov 23, 2005 10:38

Re: Cacher un lien d'ajout au panier

Message le Mar Juin 24, 2008 10:14

Xophe a écrit:Bonjour,

Quelle est la meilleure manière de coder un lien "ajouter au panier" sachant que je ne souhaite pas qu'un robot provoque des ajouts au panier en parcourant ma boutique ? En effet, le panier est stocké en BDD et non pas en session.

Aujourd'hui, j'utilise une petite fonction js qui "écrit" la balise <a href= etc mais je suppose qu'il existe une méthode plus classe.

Avez-vous des suggestions ?
Merci


Le faire en javascript via une fonction OnClick.

Xophe
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 147
Inscription: Mer Mar 23, 2005 11:20

Message le Mar Juin 24, 2008 10:42

Le onClick présente l'inconvénient de laisser l'URL en clair dans le code. Un robot peut découvrir cette url et faire une requête sur celle-ci.

J'ai donc décidé d'utiliser la méthode suivante.
En PHP :
Code: Tout sélectionner
function hide_link($url, $content, $title=false, $target='_blank')
   {      
      $output1 = '<script language="javascript">' ;
      $output2 = '' ;
      
      $j = 0 ;
      for ($i=0; $i<strlen($url); $i=$i+2)
      {
         $output1 .= 'var a'.$j.'=\''.substr($url, $i, 2).'\';' ;
         $output2 .= '+a'.$j ;
         $j++ ;
      }
      
      $output1 .= 'document.write(\'<a href="\''.$output2.'+\'"'.($title ? ' title="'.$title.'"' : '').($target ? ' target="'.$target.'"' : '').'>'.$content.'</a>\');</script>' ;
            
      return  $output1 ;
   }


Cette fonction PHP va "découper" l'URL en blocs de 2 lettres puis la réassembler pour créer la balise a.

Code: Tout sélectionner
echo hide_link('http://www.example.com/panier/ajouter/1', 'Ajouter au panier', false, false) ;


produit le HTML suivant

Code: Tout sélectionner
<script language="javascript">var a0='ht';var a1='tp';var a2=':/';var a3='/w';var a4='ww';var a5='.e';var a6='xa';var a7='mp';var a8='le';var a9='.c';var a10='om';var a11='/p';var a12='an';var a13='ie';var a14='r/';var a15='aj';var a16='ou';var a17='te';var a18='r/';var a19='1';document.write('<a href="'+a0+a1+a2+a3+a4+a5+a6+a7+a8+a9+a10+a11+a12+a13+a14+a15+a16+a17+a18+a19+'">Ajouter au panier</a>');</script>


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 5189
Inscription: Mer Nov 23, 2005 10:38

Message le Mar Juin 24, 2008 10:46

En fait je n'envoie pas vers une page spécifique d'ajout au panier qui se charge, après mise à jour du dit panier, de faire la redirection vers la page d'origine.

Au OnClick, je soumet un formulaire sur la page en cours et c'est là que va se passer l'ajout au panier, lors du submit du formulaire, pas dans une page dédiée. Il y a aussi la solution de faire ça en Ajax.


blman
WRInaute accro
WRInaute accro
 
Messages: 2915
Inscription: Ven Sep 05, 2003 10:46

Message le Mar Juin 24, 2008 10:49

De mon expérience, je pense que le mieux reste un formulaire :

<form action="pagedajoutaupanier.php" ...>
<input type="submit" value="Ajouter au panier"/>
</form>

Xophe
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 147
Inscription: Mer Mar 23, 2005 11:20

Message le Mar Juin 24, 2008 10:50

Dans le cas de ma boutique, il va être très rare qu'un utilisateur ajoute plusieurs produits dans son panier. Je préfère donc l'envoyer directement sur la page "panier"


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 5189
Inscription: Mer Nov 23, 2005 10:38

Message le Mar Juin 24, 2008 10:56

Xophe a écrit:Dans le cas de ma boutique, il va être très rare qu'un utilisateur ajoute plusieurs produits dans son panier. Je préfère donc l'envoyer directement sur la page "panier"


Tu peux faire ca avec un header php après le traitement.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

  • Test de lien (type de redirection)
    Cet outil vous permet de tester la validité d'un lien pour le référencement. Il vous indique la nature du lien (lien en dur, redirection bien gérée par les moteurs ou redirection mal gérée par les moteurs).
  • Calcul du taux de liens vers des pages internes
    Cet outil vous permet de calculer le taux de liens profonds vers un site web. Un lien profond est un lien qui ne pointe pas vers la page d'accueil mais au contraire vers une page interne du site. Les sites dont l'essentiel du référencement vient de leurs inscriptions dans des annuaires ont un taux de liens profonds faible ; à l'inverse, les sites de référence ont souvent un taux de liens profonds plus important, signe que leur contenu a suscité de nombreux liens spontanés.
  • Recherche de citations d'un site en texte brut
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités