
Tester automatiquement la validité de vos liens d'affiliation
Si vous gérez un site monétisé par de l’affiliation, vous savez que les liens que proposent les brokers ou les plateformes d’affiliation ne sont pas valides éternellement pour 2 principales raisons :
- Le site affilié change d’url ou ferme
- Le programme d’affiliation sur la plateforme tierce est fermé ou mis en pause
Si vous n’avez que deux ou trois programmes d’affiliation ça peut se gérer manuellement, mais si vous avez comme c’est mon cas sur Sites2rencontre.fr 630 programmes avec 95 régies, ça peut vite devenir un enfer de vérifier chaque lien quotidiennement.
Au final vous risquez un jour ou l’autre de vous rendre compte que l’un de vos produits en affiliation n’est plus correctement redirigé … plusieurs mois après l’incident.
La solution que je vous propose n’est pas parfaite mais elle vous permettra de débroussailler le travail automatiquement.
Principe du script de test
Le principe du script est le suivant :
- nous allons dans un premier temps tenter de récupérer la cible de notre url affilié pour la comparer à l’url classique du site
- si les 2 url sont différentes c’est sans doute que le lien affilié n’est plus valide
- dans ce cas nous enverrons un mail à l’administrateur pour le tenir informé
Pour ne pas surcharger le serveur nous ne déclencherons ce script que lors de l’affichage d’une page contenant un lien affilié.
Bien évidemment vous êtes libre de stocker ces informations en base de donnée ou sous forme de fichier plat afin de créer un tableau de bord, mais je ne suis pas allé jusque là …
Stockage des informations
Partons du principe que vous stockez les informations suivantes sur votre site :
- direct_url : l’adresse réelle du site
- affilate_url : votre lien d’affiliation
Nous allons créer 2 champs complémentaires pour stocker les résultats de nos tests à venir :
- test_redirect_date : la date à laquelle le dernier test a été effectué
- test_redirect_validity : un drapeau permettant de savoir si le dernier test a été concluant
Comparer les racines des domaines
Afin d’éviter des sanctions de Google (qui lutte contre l’affiliation) certaines régies qui font des redirections 301 ou 302 sont allées un cran plus loin en proposant une page de vente affilié avec un nom de domaine différent de celui du site affilié.
Concrètement ça se traduit ainsi :
- direct_url = nom-de-domaine.com
- affilate_url = nomdedomaine.com ou nom-de-domaine.co
Nous allons donc comparer par la suite les racines des 2 liens, soit ici nom-de-domaine
Concrêtement : get_root_name(www1.nom-de-domaine.com) renverra nom-de-domaine
Retrouver le lien cible
Supposons que le site auquel vous êtes affilié soit direct_url = siteaffilie.fr et que la régie d’affiliation par laquelle vous passez soit affilate_url = regie.fr
Vos liens affiliés ont la plupart du temps 2 formes possibles :
- affilate_url = siteaffilie.fr?aff=votre_ID_affilie
- affilate_url = regie.fr?aff=votre_ID_affilie&site=siteaffilie
Lorsque le lien est de la forme regie.fr?quelque_chose 3 mécanismes différents sont généralement utilisés pour rediriger l’utilisateur vers le site affilié :
- Une redirection 301 ou 302
- Une redirection javascript
- Une redirection via un contrôle coté serveur sur le site de la régie
A moins d’émuler un navigateur avec Javascript il n’est pas possible simplement de tester le 2ème type de redirection, et pour le 3ème type j’avoue ne pas savoir non plus comment faire.
Vos idées sur la question son les bienvenues dans les commentaires
Nous allons donc tester uniquement le 1er type de redirection.
Tester les liens et envoyer un mail en cas d’erreur
Passons maintenant à la fonction que nous intégrerons sur les pages contenant nos liens affiliés.
Mes sites étant sous WordPress vous devrez adapter le code si vous n’utilisez pas ce CMS.
Il ne vous reste plus qu’à insérer la fonction test_redirect_validity() avec les bons paramètres dans votre template single.php ou à rajouter dans function.php :
Et voilà : dès qu’un test ne fonctionnera pas vous recevrez un mail de rappel.
Le système n’est certes pas parfait mais il m’a déjà fait gagner du temps et surtout de l’argent. Si vous avez des idées pour améliorer ce mécanisme n’hésitez pas à régir dans les commentaires.
Pensez bien aussi à mettre en place des décrochages pour désactiver les mails sur les redirections non détectées.