Toutes les clefs pour réussir dans le e-commerce

Mes modules Prestashop

Trouver les backlink dans une page

Un petit script pour vérifier la présence de vos liens dans une pages.

Il existe de nombreuses raisons de vouloir vérifier la présence de liens pointant vers votre site sur une page donnée. Vous pouvez par exemple vérifier que vos partenaires continue de jouer le jeu et n’ont pas retirer votre lien discrètement.

Voici un petit script qui vous donnera la base pour détecter la présence d’un lien dans une page donnée.



//retourne un tableau comprenant l'etat de la page (200,404,301,etc..)
//et le contenu de la page
function scanPage($url) {
$url = $url;
$useragent = "Mozilla/5.0";
//IL FAUT MODIFIER LE REFERER
$referer = $url;

//Initialise une session CURL
$ch = curl_init();
//on fournis l'url
curl_setopt($ch,CURLOPT_URL,$url);
//on recupere les header
curl_setopt($ch,CURLOPT_HEADER,1);
//on limite a 30 sec
curl_setopt($ch,CURLOPT_TIMEOUT,30);
//on donne un user agent bidon
curl_setopt($ch,CURLOPT_USERAGENT, $useragent);
//On passe un referrer ici on passe la même page $url
curl_setopt($ch,CURLOPT_REFERER, $referer);
//on récupère le contenu de la page dans une chaine
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//on execute le curl
$out['contentPage']=curl_exec($ch);
//on récupère le code http renvoye
$infoUrl=curl_getinfo($ch);
$out['etat']=$infoUrl['http_code'];
return $out;
}
//recherche le liens dans la page donnee
function recupLink($contentPage,$myUrl) {
$motif='`<a href="'.$myUrl.'"([^>]*)>([^<]*)</a>`i';
preg_match_all($motif,$contentPage,$linkResult);
return $linkResult[0];
}

//Url de la page à scanner
$urlToScan="http://www.reussir-mon-ecommerce.fr/";
//Url à trouver
$myUrl="http://www.reussir-mon-ecommerce.fr";

$scanPage=scanPage($urlToScan);
$allLink=recupLink($scanPage['contentPage'],$myUrl);
echo "<pre>";
print_r($allLink);
echo "</pre>";

/*
A vous de trouver quoi faire avec ce tableau :)
*/


Il suffit de modifier la variable $urlToScan par la page que vous désirez scanner et la variable $myUrl par l’url que vous recherchez. Vous obtiendrez au final un tableau qui vous indiquera la forme du ou des liens trouvez. Si jamais le tableau est vide c’est qu’aucun lien n’a été détecté, il ne vous reste plus qu’à sévir :).

Amélioration:

Après réflexion et grâce au commentaire de Damien je vous propose de remplacer le motif présent dans le code par celui-ci. Ca devrait mieux fonctionner avec :).



‘`<a(.*)href=(”|\’)’.$myUrl.’(”|\’)([^>]*)>([^<]*)</a>`i’;


Poster un Commentaire

4 Commentaires sur "Trouver les backlink dans une page"

Recevoir un email pour
avatar
Trier par:   plus récent | plus vieux | Plus de vote
Damien
Invité

Et si tu a href=’url’ ?
Et si tu a des paramètres avant le href ?
Et si c’est <A href … ?

Une regex prenant ces éléments en compte (mais qui ne se veut absolument pas infaillible) :
$regex = ‘##is’;

Damien
Invité

La même regex en escapé puisque tu ne le fait pas :
$regex = ‘#<[aA](.*?)(\s)*(href|HREF)(\s)*=(\s)*[\”|\’](.*?)[\”|\’](.*?)>#is’;

P.S. : pas de s à “page” avec la tournure avec laquelle tu a tourné ton titre.

Web Agency
Invité

Attention aussi au cloacking, certains petits malins s’en sortent tres bien avec ca. Il font disparaitre vos backlink suivant le user agent qui passe sur le site.

wpDiscuz