Catégories
Referencement

Virer les Bad Hosts dans LFE

Link Farm Evolution

Un des problèmes de LFE réside dans le fait de ne pas pouvoir virer les Hosts qui ont un success rate pourri ou bien de ne pas pouvoir filtrer ces hosts pour la création de splogs. Autant vous pouvez supprimer les « dead blogs », autant les actions sur les hosts sont assez limitées.
Votre liste de hosts commence à dater, ou bien vous ne bossez que sur la liste fournie par LFE (avec un taux de création avoisinant les 20% ;)), je vais vous donner deux astuces pour virer les hosts qui n’ont pas leur place dans votre liste.

I – Supprimer les hosts morts

C’est en fait la première étape que vous devez réaliser. Un host mort, c’est un host dont le HTTP status code n’est ni 200 ni 301 ni 302. Pour cela je vais vous expliquer comment procéder.

Export de la liste des hosts

Je fais une version accessible pour tout le monde, donc pas de ligne de commande 😉 (enfin pour l’instant).
– Vous allez sur votre frontend myslq préféré (dans cet exemple je vais prendre phpmyadmin, mais la marche à suivre reste la même pour les autres).
– Vous effectuez un SELECT juste sur les url

SELECT url FROM `hosts` ;

– Vous exportez le résultat au format CSV de cette manière.

Traitement de l’export

– Vous utilisez la ligne de commande de l’article sur les status code pour obtenir les codes de réponses de TOUS les hosts. Pour les fainéants :

awk '{printf "%s;", $1;system("lynx -dump -head " $1 "| grep -e HTTP")}' hosts.csv > hosts_headers.csv

Ou hosts.csv est votre précédent export et hosts_headers.csv le fichier de sortie.
– Interlude musicale caféinée
– Maintenant que l’on a notre fichier de sortie, il faut en faire quelque chose !!!
– Avant de l’ouvrir avec Openoffice ou Excel, il faut savoir que lorsque lynx ne peut trouver le host de destination (donc host mort de chez mort !!) il n’y aura pas de retour chariot et pas de séparateur. Pour palier à cela nous allons remplacer les « ;http(s):// » par des « \nhttp(s):// ».
Attention commande de la mort :

more hosts_headers.csv | sed 's/;http:\/\//\nhttp:\/\//g' | sed 's/;https:\/\//\nhttps:\/\//g' > hosts_headers-OK.csv

(Pour ceux qui ne sont pas sous Linux ou équivalent, cherchez un moyen de le faire, c’e n’est pas très sorcier).
Donc à partir de maintenant, on travail sur le fichier hosts_headers-OK.csv
– On ouvre notre fichier dans OpenOffice => séparateur semicolon (point virgule).
– On effectue un tri croissant sur la colonne A (url) pour virer les lignes de merde sur lequel le grep a matché, puis un tri décroissant pour effectuer la même chose 😉
– On effectue un tri décroissant sur la colonne B et on garde uniquement CE QUI NE CONTIENT PAS 3xx et 2xx, c’est très important puisque c’est la liste des hosts que l’on doit supprimer de notre base de données.
– On sauvegarde notre fichier. ATTENTION, lors de la sauvegarde de votre fichier, pensez à éditer les filtres en mettant le field separator à « ; » et le text delimiter vide.

Génération des commandes SQL à partir du fichier clean

L’idée ici, c’est de générer à la volée tous nos DELETE à partir de notre fichier de bad hosts. Allez hop, c’est parti :

awk -F ";" '{printf "DELETE FROM hosts WHERE url=\047%s\047;\n", $1}' hosts_header-OK.csv > dead_hosts.sql

Le \047 correspond au code ASCII du quote => ‘
Le -F « ; » correspond au délimiteur défini lors de la sauvegarde du CSV.
– Dernière étape, importez votre superbe fichier dead_hosts.sql dans phpmyadmin dans votre table hosts.

La première étape est terminée, dans mon exemple, je suis passé de 1385 hosts a 1160 uniquement avec cette étape (juste sur un export partiel).
Passons maintenant à la suite !!!

II – Comment repérer les « bad » hosts ?

Et bien en fait, c’est très simple. Dans la table hosts de votre base de données LFE, il y a 2 champs qui vont nous intéresser : « success » et « failure ».
Donc par définition, un « bad » host est un host qui a un success égal à 0 et un failure supérieur à 0.
Ce qui donne en requête SQL :

USE lfe;
DELETE FROM hosts WHERE success=0 AND failure>0;

Bien sur dans mon exemple, la base s’appelle lfe, mais pensez à mettre le nom de votre BDD que vous trouverez dans le menu « settings » de LFE et dans le cadre « Database » => « name ».

Voila, maintenant vous pourrez titiller les 100% de taux de création de splogs en cochant l’intégralité de votre liste de hosts (en supposant bien sur que vous ayez déjà essayer de créer des splogs sur l’ensemble de vos hosts !!!).

N.B. : Vous pouvez exporter la liste des hosts plutôt que de la supprimer afin de voir ce qui cloche. Ca c’est pour les courageux.
Vous pouvez également être moins drastique en remplaçant failure>1 dans votre requête SQL.
Et la petite note de la fin, après avoir réaliser tout cela, pensez à faire un export des hosts avec uniquement un failure>1 (sans la condition « success=0 » pour être plus clair).

10 réponses sur « Virer les Bad Hosts dans LFE »

Ah merci, j’attendais ça. Enfin débarrassé de bad hosts 🙂

Rhooo merci pour l’astuce. C’est toujours ch** d’avoir l’impression de posséder une belle liste pourrie de bad hosts.

Effectivement supprimé des « dead blogs » reste simple mais les hosts je savais les modifier mais pas les supprimé. Merci beaucoup pour ces conseils.
Bonne continuation

LFE, c’est bien Link Farm evolution. J’en avais entendu parler sur le site de Discodog. Savez vous si il existe une version d’évaluation ?

Tu a des versions pirates (pourrie) sur certains forums pour t’exercer. Sinon tu peux toujours prendre la version payante & si sa te plait pas jouir de l’option satisfait ou rembourser.

Pas mal du tout cet article 😉 mais malheureusement des hosts valide au bout de quelques temps il n’en reste pas des masses :s

Pour ça que j’ai lancé le service du réseau de Wpmu Creator http://www.wpmu-creator.com/

Avec ça vous avez 100% de succès avec LFE et autres softs!

Edit rdd : Qui a dis que je n’étais pas un mec cool ^^

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *