Script php/mysql de contrôle des échanges de liens
2 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Script php/mysql de contrôle des échanges de liens
Bonjour à tous,
Actuellement en pleine campagne de netlinking, je me suis fendu d'un petit script de contrôle des échanges de liens. Parce que bon, ça a du arriver à tout le monde de mettre en place des échanges de liens qui comme par hasard disparaissent au bout de quelques semaines...
C'est du bon vieux php/mysql. Il faut une table ("liens") dans la BD avec les champs suivants :
reference : identifiant unique du lien
lien : page du site partenaire où est censé apparaitre le lien
pagerank : valeur de la petite barre verte de la google toolbar (à titre purement indicatif, bien sur
)
site : si vous gérez plusieurs sites, vous pouvez les différencier dans ce champ
Perso, je la remplis tranquillement à la main à chaque fois qu'un nouvel échange est en place.
Côté PHP :
La fonction PHP qui détecte si au moins un lien vers le site $site est présent sur la page $url.
IMPORTANT : la fonction renvoie l'anchor text du lien s'il est trouvé
IMPORTANT : vous avez besoin du framework PEAR (http://pear.php.net/)
Ensuite le script qui est lancé en CRON une fois par semaine :
Résultat : Un mail se dépose dans votre boite mail et vous affiche tous les liens OK. Pour les pages où il n'a pas trouvé le lien, il met le lien dans le mail pour que vous ayez juste à cliquer dessus pour aller vérifier si effectivement, vous avez disparu du site de votre "partenaire".
A savoir : L'expression régulière utilisée pour détecter le lien et ressortir l'anchor text n'est pas parfaite, il y a des sites où elle ne fonctionne pas, mais j'ai passé déjà trop de temps à la trouver... Si y'a un expert qui passe dans le coin, il est le bienvenu pour l'améliorer.
Voilà, j'espère que ça vous servira.
Actuellement en pleine campagne de netlinking, je me suis fendu d'un petit script de contrôle des échanges de liens. Parce que bon, ça a du arriver à tout le monde de mettre en place des échanges de liens qui comme par hasard disparaissent au bout de quelques semaines...
C'est du bon vieux php/mysql. Il faut une table ("liens") dans la BD avec les champs suivants :
reference : identifiant unique du lien
lien : page du site partenaire où est censé apparaitre le lien
pagerank : valeur de la petite barre verte de la google toolbar (à titre purement indicatif, bien sur
site : si vous gérez plusieurs sites, vous pouvez les différencier dans ce champ
Perso, je la remplis tranquillement à la main à chaque fois qu'un nouvel échange est en place.
Côté PHP :
La fonction PHP qui détecte si au moins un lien vers le site $site est présent sur la page $url.
IMPORTANT : la fonction renvoie l'anchor text du lien s'il est trouvé
IMPORTANT : vous avez besoin du framework PEAR (http://pear.php.net/)
- Code: Tout sélectionner
function controlUrl($url,$site){
require_once "HTTP/Request.php";
$req =& new HTTP_Request($url);
$req->addHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
$response = $req->sendRequest();
if (PEAR::isError($response)) {
return false;
} else {
$reponse = $req->getResponseBody();
// supprimer les retour à la ligne d'un texte
$reponse = str_replace(CHR(10)," ",$reponse);
// et celle là aussi :
$reponse = str_replace(CHR(13)," ",$reponse);
if(preg_match('$<[Aa](.*?)[href|HREF]=["|\']http://'.$site.'(.*?)["|\'](.*?)>(.*?)</[Aa]>$',$reponse,$tab) || preg_match('$<[Aa] [href|HREF]=["|\']http://'.$site.'(.*?)["|\'](.*?)>(.*?)</[Aa]>$',$reponse,$tab)){
$anchor = $tab[count($tab)-1];
//on test si c'est une image
if(preg_match('[img(.*?)alt="(.*?)"]',$anchor,$t) || preg_match("[img(.*?)alt='(.*?)']",$anchor,$t)){
$anchor = "Image : ".$t[count($t)-1];
}elseif(preg_match('[img]',$anchor)){
$anchor = "Image : pas d'attribut alt";
}
return $anchor;
}
//cas spéciaux de saut de page
else{
return false;
}
}
}
Ensuite le script qui est lancé en CRON une fois par semaine :
- Code: Tout sélectionner
set_time_limit(5000);
require ("fonctions.php");
/*dans le cas où vous gérez plusieurs sites, on passe le site qu'on souhaite tester en paramètres (cf champ "site" dans la table)*/
$site = $_GET['site'];
ConnectToDatabase();
$sql = "SELECT ref, lien FROM liens WHERE site = '$site'";
$resultats = mysql_query($sql, $_SESSION['connection']) or die(mysql_error());
$ligne = mysql_fetch_assoc($resultats);
$txt = '<html>';
while($ligne){
$trouve = controlUrl($ligne['lien'],$site);
if($trouve){
$txt .= "Lien trouvé sur : <i>".$ligne['lien']."</i> || référence : ".$ligne['ref']." || <u>$trouve</u><br>";
}else{
$txt .= "<strong>Pas de lien trouvé sur</strong> : <a href='".$ligne['lien']."'>".$ligne['lien']."</a> || référence : ".$ligne['ref']."<br>";
}
$ligne = mysql_fetch_assoc($resultats);
}
echo $txt;
EnvoiMailHTML('votreemail@ndd.com','','controlepartenariats@votresite.com', 'Contrôle des partenariats : '.$site, $txt."</html>");
Résultat : Un mail se dépose dans votre boite mail et vous affiche tous les liens OK. Pour les pages où il n'a pas trouvé le lien, il met le lien dans le mail pour que vous ayez juste à cliquer dessus pour aller vérifier si effectivement, vous avez disparu du site de votre "partenaire".
A savoir : L'expression régulière utilisée pour détecter le lien et ressortir l'anchor text n'est pas parfaite, il y a des sites où elle ne fonctionne pas, mais j'ai passé déjà trop de temps à la trouver... Si y'a un expert qui passe dans le coin, il est le bienvenu pour l'améliorer.
Voilà, j'espère que ça vous servira.
-

webmasterlamogere - WRInaute accro

- Messages: 1874
- Inscription: Dim Déc 17, 2006 21:08
si le lien est dans un commentaire html tu vas le détecter mais il ne sera pas valide.
- Code: Tout sélectionner
<!-- <a href="http://www.tonsite.fr">ton site</a> -->
2 messages • Page 1 sur 1
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 :
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- GoogleStats : analyse temps réel des visites de Google sur votre site
- Gestion des langues et des sessions en PHP / MySQL
- Les albums web Picasa passent à 1 Go de stockage
- Photos satellite des incendies en Grèce dans Google Earth
- Ajouter un Gadget Google sur son site
- Le WRInaute du moment
- Google Desktop pour Mac OS X
- Picasa Web Albums en français
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits
- [Sécurité] Script php / Serveur Mysql
- Script d'annuaire Php/MySql facilement customisable ?
- [script]Nouvel Annuaire PHP, MySQL Arfooo
- Script PHP pour MAJ table Mysql
- recherche script php maintenance table mysql
- Nouveau script php/mysql GreenSD : création d'annuaire
- Faire connaître un script php/MySQL Open Source
Consultez la description détaillée des produits ou services de Google suivants : Google Video Store
- Echanger des liens
Cet outil vous liste quelques sites qui font des liens vers des sites similaires au vôtre, pour vous aider à trouver des partenaires pour des échanges de liens. - Calculer le ratio de liens profonds
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. - Liste des backlinks
Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
Qui est en ligne
Utilisateurs parcourant ce forum: jcaron, meteo75 et 1 invité


le forum