De la bonne gestion des proxys en développement SEO

Il y a quelques mois, j’ai commencé le développement de plusieurs outils SEO.
Qui dit développement SEO, dit gestion de proxys.

Voici mon retour d’expérience.

Le cas ScrapeBox

Imaginons une liste de 50 proxys avec 100 sites à analyser.

Scrapebox va alors allouer les 50 proxys aux 50 premiers sites, puis va refaire une boucle avec les 50 proxys et les autres 50 sites.

… Avec des proxys gratuits

Si le proxy numéro 25 est défectueux, il ne donnera pas l’information au site numéro 25 et il y a très peu de chances pour qu’il l’a donne au site 75. Je devrais donc relancer l’analyse une deuxième fois, en espérant que les deux sites tombes sur un proxy valide.

Si ce n’est pas le cas, je devrais relancer l’analyse encore et encore, jusqu’à avoir la bonne information.

… Avec des proxys payants

Vous obtiendrez très probablement l’information puisque vous avez payés pour le service.

Cependant, il arrive que même des proxys payants ne réagissent pas ou se fassent bloquer par Google (ou autre). Dans ces cas là, vous retomberez dans la situation des proxys gratuits.

Ce que vous apporterait une meilleure gestion des proxys

Avec une meilleure gestion des proxys, ScrapeBox pourrait vous éviter d’avoir des proxys bannis, mieux, il pourrait accélérer les traitements en prenant en compte le temps de réponse des proxys ainsi que l’utilisation qu’il en fait.

 

Concrètement

Voici mes conseils pour bien gérer vos proxys dans vos applications SEO.

Première étape : stocker les proxys

Il est très important de stocker les proxys quelque part, puisque vous aurez besoin de noter les informations suivantes :

  • Date et heure de la dernière utilisation
  • Date et heure de la dernière erreur mineure (timeout, banissement)
  • Temps de réponse pour obtenir le résultat
  • Nombre de fois où le proxy a rencontré un problème majeur (inexistant, interdit)

Petit plus :

  • Type d’utilisation (Google, Bing, Yahoo)

Voici les cinq éléments qui vous permettront de sélectionner les meilleurs proxys dans vos applications.

Notez bien que le temps de réponse correspond, non pas au « ping » du proxy, mais au temps qu’il a mis à vous fournir la réponse complète de votre requête.

Le type utilisation permet d’obtenir rapidement un proxy qui a fonctionné pour un outil spécifique.

Avec tous ces paramètres, je vous conseille de faire votre stockage de proxys dans une base de données, ainsi vous pourrez sélectionner plus rapidement ce dont vous avez besoin grâce à une requête

 

Deuxième étape : Sélectionner les bons proxys

Voici la requête en langage humain pour sélectionner les bons proxys :

Donne moi tous les proxys qui n’ont pas été utilisés depuis 15 secondes et tri les par ordre croissant d’erreurs majeures, d’erreurs mineures et de rapidité.

Si vous avez pris en compte le « type d’utilisation » il vous faudra faire 2 requêtes, une pour le type souhaité et l’autre pour tous les types.

 

Troisième étape : Gérer vos proxys mieux que ScrapeBox

Vous avez désormais une liste de bons proxys, il va maintenant falloir les noter !

Pour cela il suffira de remplir les champs que nous avons préparés dans les points de la première étape.

D’abord, quel code HTTP avez-vous eu en retour ?

  • 404 ou 503 ? c’est une erreur majeure
  • 302 ? vous avez été banni, c’est erreur temporaire, donc mineure

Ensuite, testez le résultat retourné, exemple :

  • Vous interrogez une page de Google, vous devriez avoir au minimum 10 résultats. Si ce n’est pas le cas, inscrivez une erreur mineure sur le proxy actuel et relancez votre demande.

Si tout c’est bien passé, vous pouvez inscrire la date actuelle dans « Date et heure de la dernière utilisation » et le temps de réponse grâce à un chronometre que vous aurez lancé avant la demande au proxy.

Évidemment, si vous avez implémenté le type d’utilisation des proxys, inscrivez l’utilisation que vous venez de faire avec le proxy qui a fonctionné.

Grâce à ces bases, vous gérerez mieux vos proxys que ScrapeBox ;)

 

Pour aller plus loin

Je vous ai décrit les aspects les plus importants de cette gestion de proxys de manière théorique.

Pour les développemeurs avancés, vous pourrez aussi réfléchir au fait de nettoyer automatiquement les proxys qui n’ont pas servis depuis un mois ou encore l’intégration / le test de nouveaux proxys sans altérer les performances des réponses.

Si l’article vous a plus, faites le moi savoir et dans le prochain je vous donnerai la définition de la classe que vous pourrez implémenter directement dans n’importe quel langage de programmation.

by Xavier BOËT Posted in Développement, Techniques avancées

Qui est Xavier BOËT

Ingénieur en architecture logiciel, je suis devenu entrepreneur dans le référencement à travers Force-Référencement. Aujourd'hui j'aide nos clients à être plus visible dans les moteurs de recherche tout en continuant à développer des outils pour le référencement via Stateo



Add a Comment