FAQ Référencement

Limiter le duplicate content dans les annuaires Freeglobes

Ecrit par BlackMelvyn le Jeudi 6 novembre 2008 à 0:21 - Catégorie Scripts PHP

Le duplicate content est l’une des raisons principales qui a mené à la chute vertigineuse de nombreux annuaires dans l’index de notre ami Google.

Peu de visiteurs fréquentent les annuaires, et si certains pensent que la fin des annuaires est arrivée, nous sommes également plusieurs à penser le contraire… Seuls les annuaires de qualité, différents des autres, peuvent apporter un peu de trafic, mais généralement, les répertoires ne servent qu’à obtenir des backlinks fondamentaux au positionnement dans les SERPs.
C’est pour cette raison qu’il est très important de soigner ses annuaires si l’on ne veut pas finir dans les tréfonds de l’index des moteurs.

Parmi les nombreux scripts d’annuaires gratuit et open source, je me suis intéressé à Freeglobes. En effet, son code est propre, clair et ouvert, un moteur de template Smarty permet de personnaliser facilement le design et une multitude de thèmes et de plugins (basés sur le moteur de Dotclear) sont disponibles. Bref, une des stars des scripts d’annuaire.

Revenons à nos moutons (noirs). L’une des meilleures façons de limiter le duplicate content est de le détecter automatiquement. Tiger, l’admin du blog, avait déjà publié cet article sur comment éviter le duplicate content dans les annuaires, et pour compléter cet excellent billet, je vous propose une adaptation de cette fonction en vue d’implémenter cette nouvelle fonctionnalité dans les scripts Freeglobes.

Pour cela il vous faut : un script Freeglobes et un éditeur de texte. Ensuite, suivez les instructions citées en commentaire dans le script.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
######  Fichier de langue
# Ajout de la ligne d'avertissement dans /language/french/main.php
#  Après la ligne 35, à adapter en fonction de "langue choisie"
/*  Added by BlackMelvyn  */
$lang['warn_dupe'] = 'La description de votre site est déjà utilisée un trop grand nombre de fois. Merci de la modifier';
 
######  Fichier des fonctions
# Ajout de la fonction dans /include/functions/basic.php
#  A la fin du fichier
/*
*  Checks if there are other descriptions like the one provided
*  @author Tiger (http://www.seoblackout.com)
*  @author adapted by BlackMelvyn (http://www.theblackmelvyn.com)
*  @param  string $description description provided by the visitor
*  @return bool TRUE if description exists FALSE if description is clean
*/
function checkDupe($description){
    $description = str_replace('"','',$description);
    $desc_cut=wordwrap(stripslashes($desc),100,"<br />",1);
    $cut = explode('<br />', $desc_cut);
    $cut = $cut[0] ;
 
    $url = 'http://www.google.fr/search?hl=fr&q="'. urlencode($cut).'"&filter=0';
    if (function_exists('curl_init')) {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL,$url);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
            $data=curl_exec ($ch);
            curl_close ($ch);
    } 
    else {
        $data= file_get_contents($url);
    }
    $page = $data ;
    $result = explode('environ ', $page);
    $result1 = $result[1] ;
    $result2 = explode('pour', $result1);
    $result3 = $result2[0] ;
    $result3 = trim(strip_tags(str_replace('&nbsp;', '', $result3)));
 
//  If more than 5 results found, stop the process
  if ($result3 > 5){
    return true;
  }
  else {
    return false;
  }
}
 
######  Implémentation de la fonction dans le process
#  Utilisation de la fonction dans /include/functions/basic.php
# Après la ligne 79, entre if et else
/*  Added by BlackMelvyn  */
elseif(checkDupe($description)){
  $message = $lang['warn_dupe'];
  $link_url = 'javascript:history.go(-1)';
  $link_name = $lang['return'];
}
?>

Vous voici maintenant équipé(e)s pour empêcher le duplicate dans vos annuaires Freeglobes !

Cette mod est actuellement active sur cet annuaire de sites sur la mode, fraîchement lancé, et visiblement, elle fonctionne très bien… :)

Le but premier de cette mod est de lancer une alerte en cas de duplicate content. A vous ensuite de choisir comment l’exploiter…
En effet, vous pouvez modifier ce script en fournissant une version « markovée » des descriptions qui ne passent pas le test par exemple. De là, vos webmasters sont contents car ils n’ont pas besoin de soumettre une nouvelle fois le formulaire, Google est content car il a des descriptions uniques et vous êtes content(e)s car vous gardez vos fidèles webmasters et restez à une place chaude et confortable de l’index Google. Tout le monde est gagnant !

J’ai plusieurs mods minimes pour les scripts Freeglobes, que je publierai dès que j’aurai un peu plus de temps. Restez à l’écoute ;)

Commentaires (35)

Catégorie: Scripts PHP

Extraire les urls des résultats de Google

Ecrit par admin le Dimanche 26 octobre 2008 à 15:12 - Catégorie Scraping, Scripts PHP

Comment extraire / parser les urls de résultats de recherche de Google ?

Cela fait plusieurs fois qu’on me demande comment extraire les urls de résultats de recherche de Google dans le but de les utiliser pour diverses raisons : recherche de pages de soumission d’annuaires, recherche des pages de blog avec commentaires, pages de forums, commande link ou site…

Voici donc un script php qui permet d’extraires ces urls de Google.

Différentes options sont proposées, comme le nombre de pages à extraire ou le moteur Google où se fera l’extraction ainsi que la langue du moteur.

Code source du script :

Voici le code du script php à copier/coller dans un fichier et à uploader sur votre serveur ou à utiliser en local :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<?php
//Script php : Extraction urls Résultats Google
// Copyrights 2008 Seoblackout.com
//http://www.seoblackout.com	
//Url script : http://www.seoblackout.com/2008/10/26/extraire-resultats-google/
 
@set_time_limit(0);
$useragent='Mozilla/5.0';
$regex='<h3 class=r>';
//extension et langue google
if ((isset($_POST['ext'])) && ($_POST['ext']!='')) 
{
	$ext=strip_tags($_POST['ext']);
	if ($ext=='fr') {
	$lang='fr';
	}
	else if ($ext=='com') {
	$lang='en';
	} 
	else if ($ext=='es') {
	$lang='es';
	}
	else if ($ext=='de') {
	$lang='de';
	}
	else if ($ext=='ca') {
	$lang='en';
	}
	else if ($ext=='ca2') {
	$ext='ca';
	$lang='fr';
	}
	else {
	$ext='fr';
	$lang='fr';
	}
}
else 
{
	// par défaut, on recherche sur google.fr et lang=fr
	$ext='fr';
	$lang='fr';
}
//nombre de page à extraire :
if ((is_numeric($_POST['pages'])) && ($_POST['pages']!='')) 
{
	$c=(strip_tags($_POST['pages'])-1);
}
else 
{
	//10 pages par défaut, on part de 0 donc 10 pages = 9
	$c=9;
}
 
if ((isset($_POST['kw'])) && ($_POST['kw']!='')) 
{
	$kw=trim(strip_tags($_POST['kw']));
	$pagenum = 0;			
	$googlefrurl = "http://www.google.".$ext."/search?hl=".$lang."&q=" . urlencode($kw) . "&start=$pagenum";
	$url_new = '';
 
	while($pagenum <= $c) 
	{
			if (function_exists('curl_init')) 
			{
				$ch = curl_init();
				curl_setopt($ch, CURLOPT_USERAGENT, $GLOBALS['useragent']);
				curl_setopt($ch, CURLOPT_URL,$googlefrurl);
				curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
				$result=curl_exec ($ch);
				curl_close ($ch);
			} 
			else 
			{
				$result= file_get_contents($googlefrurl);
			} 	
		preg_match_all('/'.$regex.'<a href="(.*?)"/si', $result, $matches);
			$i = 0;
			$n = count($matches[1]);
			$pagenum++;
			$pagenum2 = $pagenum.'0';
			$googlefrurl = "http://www.google.".$ext."/search?hl=".$lang."&q=" . urlencode($kw) . "&start=$pagenum2&safe=off&pwst=1&filter=0";
 
			while($i <= $n) 
			{
				$url_new1 = addslashes($matches[1][$i]);
				$url_new .= trim($matches[1][$i])."<br>";
				$i++;
				flush();
			}
	}
	$url_new .= '';				
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Extraction Urls résultats Google</title>
</head>
<body>
<h1>Extraction Urls résultats Google</h1>
<div>
<?php 
if ((isset($_POST['kw'])) && ($_POST['kw']!='')) {
	echo "<h3>Keyword : ",strip_tags($kw),"</h3>";
	echo "<h6>Google Results</h6>";
	echo str_replace('<br><br>','<br>',$url_new); 
}
?>
<form method="POST" action="<?php echo strip_tags($_SERVER['REQUEST_URI']) ;?>">
<p>Saisir vos mots-clés :</p>
<input name="kw" type="text" size="100" value="<?php if (isset($_POST['kw'])) {echo strip_tags($kw);} ?>">
<p>Nombre de pages à extraire (optionel => 10 pages par défaut):</p>
<input name="pages" type="text" size="3" maxlength="3" value="<?php if (isset($_POST['pages'])) {echo strip_tags($_POST['pages']);} else {echo '10';} ?>">
<p>Moteur :</p>
<select name="ext">
<option value="fr"<?php if (($_POST['ext'])=='fr') {echo ' selected';} ?>>Google.fr (hl=fr)</option>
<option value="com"<?php if (($_POST['ext'])=='com') {echo ' selected';} ?>>Google.com (hl=en)</option>
<option value="es"<?php if (($_POST['ext'])=='es') {echo ' selected';} ?>>Google.es (hl=es)</option>
<option value="de"<?php if (($_POST['ext'])=='de') {echo ' selected';} ?>>Google.de (hl=de)</option>
<option value="ca"<?php if (($_POST['ext'])=='ca') {echo ' selected';} ?>>Google.ca (hl=en)</option>
<option value="ca2"<?php if (($_POST['ext'])=='ca2') {echo ' selected';} ?>>Google.ca (hl=fr)</option>
</select>
<p><input type="submit" value="Go" name="go">
<input type='button' value='Annuler' onclick='location.href="<?php echo strip_tags($_SERVER['REQUEST_URI']) ;?>"'></p>
</form>
<br />
<small>Script proposé par SEO BlackOut : <a href="http://www.seoblackout.com/">référencement</a></small>
</div>
</body>
</html>

Démo :

Dans la démo, le nombre de résultats extraits est limité à 3 pages uniquement !

http://www.seoblackout.com/scripts/extraire-urls-google.php

Commentaires (17)

Catégorie: Scraping, Scripts PHP

Classement Pagerank Google (version internationale)

Ecrit par admin le Samedi 13 septembre 2008 à 1:41 - Catégorie Scripts PHP

Script PHP : Classement Google par Pagerank version internationale

Google
Google Logo

Voici une mise à jour du script PHP en libre téléchargement : Classement Google par pagerank et backlinks yahoo (à consulter en préambule), qui vous permet maintenant de chercher sur Google en choisissant la langue du moteur.

Les recherches peuvent se faire désormais sur :

Google.fr
Google.com,
Google.es,
Google.it,
Google.de,
Google.be,
Google.pt,
Google.cn,
Google.co.uk,
Google.co.jp,
Google.ch,
Google.ca,
Google.ru

Démonstration du script

http://www.seoblackout.com/scripts/classement-google-pr/classement-google-pagerank.php
Limite d’affichage à 30 résultats dans la démo.

Téléchargement et installation du script

Télécharger l’archive zippée ci-dessous :

http://www.seoblackout.com/scripts/classement-google-pr/classement-google-pagerank.zip

Décompressez dans un dossier puis uploadez le dossier sur votre ftp et appelez ensuite le script dans votre navigateur.
Exemple : http://www.votre-site-web.com/classement-google-pagerank/

Ce script a été mis à jour par Thomas Soudaz, webmaster d’un blog consacré au Webmarketing & Référencement dont je vous recommande la lecture.
Merci à lui pour avoir partagé sa version Google multilingue ici ;)

Commentaires (17)

Catégorie: Scripts PHP

Script php : calcul positionnement Google et Yahoo

Ecrit par admin le Lundi 21 avril 2008 à 4:05 - Catégorie Scripts PHP

Voici un script php en libre téléchargement permettant de calculer le positionnement de vos pages web sur Google et Yahoo.

J’ai écrit ce script en testant une classe php nommée htmlsql (une classe qui a de la classe… dont je vous reparlerai plus tard). Cette classe permet de scraper du contenu facilement à l’aide d’une syntaxe simple ressemblant à des requêtes mysql, ici je m’en sers pour scraper les liens.

Cette classe utilise aussi snoopy :
Snoopy est une classe PHP qui simule un navigateur web. Cette classe permet d’extraire le contenu de pages web et de soumettre automatiquement des formulaires.

Démonstration du script :

Vous pouvez voir une démonstration du script sur cette page : outil positionnement Google, Yahoo, Msn et Exalead.

Contenu de l’archive (3 fichiers) :

  • snoopy.php
  • htmlsql.php
  • calcul-positionnement-google-yahoo.php

Téléchargement du script :

» Lire la suite : Script php : calcul positionnement Google et Yahoo

Commentaires (47)

Catégorie: Scripts PHP

Soumission automatique de formulaires Curl et PHP

Ecrit par admin le Mercredi 13 février 2008 à 4:19 - Catégorie Outils référencement, Scripts PHP

Comment soumettre ou remplir des formulaires automatiquement avec Curl et PHP ?
Soumission automatique de formulaires Curl et PHP

Pour soumettre des données automatiquement à un formulaire, il faut dans un premier temps récupérer les informations obligatoires à saisir. Pour cela, on regarde le code source du formulaire et on extrait les champs à soumettre (on pourrait automatiser cette étape mais ce n’est pas l’objet de cet article).

On peut aussi utiliser l’extension webdeveloper pour Firefox, celle-ci permet de convertir un formulaire POST en GET et donc de voir les variables à passer directement dans l’url :

Convertir post en get avec web developer Firefox

Cliquez ici pour télécharger cette extension indispensable.

Comment procéder pour remplir un formulaire de façon automatique en lancant un simple script PHP ?

Nous allons utiliser la librairie Curl, supportée par PHP. Curl va nous permettre de soumettre des données de façon automatique tout type de formulaires, commentaires de blogs, annuaires, forums et tout site web ayant des formulaires permettant de laisser des commentaires, messages ou autre…

» Lire la suite : Soumission automatique de formulaires Curl et PHP

Commentaires (71)

Catégorie: Outils référencement, Scripts PHP

Script php générateur de fautes de frappe

Ecrit par admin le Vendredi 21 décembre 2007 à 2:33 - Catégorie Génération de contenu, Outils référencement, Scripts PHP

Ce script php génére des fautes de frappe pour un mot-clé donné.
Ce script php va vous permettre d’augmenter le trafic vers vos pages web en récupérant les visiteurs qui font des fautes lors de leur recherche sur les moteurs.

Télécharger le code du script :

» Cliquer ici pour télécharger le code source du script

» Lire la suite : Script php générateur de fautes de frappe

Commentaires (10)

Catégorie: Génération de contenu, Outils référencement, Scripts PHP

Autosubmit del.icio.us – Script Php Curl

Ecrit par admin le Samedi 17 novembre 2007 à 4:23 - Catégorie Backlinks, Outils de spam, Scripts PHP

Ce script PHP permet d’ajouter automatiquement une page web à vos favoris sur Del.icio.us à l’aide de Curl et en utilisant l’api de Del.icio.us.

» Lire la suite : Autosubmit del.icio.us – Script Php Curl

Commentaires (8)

Catégorie: Backlinks, Outils de spam, Scripts PHP

Eviter le duplicate content dans vos annuaires

Ecrit par admin le Vendredi 28 septembre 2007 à 1:43 - Catégorie Outils référencement, Scripts PHP

Comment éviter le duplicate content (contenu dupliqué) dans vos annuaires et autres sites de soumissions d’articles ?

Forcer les webmasters à saisir une description unique lors de la soumission de leur site dans votre annuaire pour éviter le risque de duplicate content (par exemple sur les fiches individuelles des sites inscrits dans vos annuaires).

Comment forcer les webmasters à saisir une description unique ?

En vérifiant sur Google que la description du site soumis dans l’annuaire n’est pas déjà présente plus de 10 fois dans les résultats de Google (modifier ce nombre à votre convenance).

Bien sûr, on peut utiliser d’autres moteurs, voir même des sites comme Copyscape pour contrôler la description en modifiant légèrement le script proposé.

Le script PHP à télécharger ci-dessous, permet donc de contrôler la description d’un site soumis dans votre annuaire et d’afficher un message d’alerte en cas de risque de duplicate content, vous devez adapter ce script à vos annuaires.

» Lire la suite : Eviter le duplicate content dans vos annuaires

Commentaires (5)

Catégorie: Outils référencement, Scripts PHP

Outil suggestion mots-clés

Ecrit par admin le Jeudi 30 août 2007 à 16:25 - Catégorie Outils référencement, Scripts PHP

Voici un nouvel outil de suggestion de mots-clés qui vous permettra de découvrir d’autres mots-clés à partir d’un mot-clé donné :
Outil suggestion de mots-clés

Cet outil de génération de mots-clés peut être complémentaire à Google AdWords Tool, il permet d’afficher sur une même page, les mots-clés issus de :

  1. Overture
  2. Wordtracker
  3. keyworddiscovery
  4. Google suggest
  5. Google recherches apparentées
  6. Exalead
  7. Ask
  8. Adlab.microsoft.com
  9. Yahoo

Pour obtenir un maximum de mots-clés dans les résultats, il faut éviter de saisir vos mots-clés avec des accents, si vous cherchez « référencement » par exemple, saisissez « referencement ».
J’attends vos remarques et suggestions au pied de cet article, afin d’améliorer l’outil qui est encore en phase de développement.

Commentaires (17)

Catégorie: Outils référencement, Scripts PHP

Spammer Twitter

Ecrit par admin le Mercredi 11 juillet 2007 à 19:30 - Catégorie Outils de spam, Scripts PHP

Twitter.com est un site web qui propose un service de micro-blogging couplé à un réseau social qui vous permet de dire à vos amis ce que vous êtes en train de faire et cela de plusieurs façons soit via l’interface web de Twitter, soit à l’aide de logiciels, soit en utilisant leur api, soit en passant par twittermail, par IM ou SMS …

Commencez par vous inscrire et tester www.twitter.com

Lorsqu’on poste un message, on peut ajouter des urls dans ce message, sachant que cette url sera présente sur la page d’accueil de twitter.com qui a un beau PR8 et sur d’autres pages comme la timeline… Ces liens ne sont pas mis en nofollow pour le moment et sont donc pris en compte par les moteurs.
Le souci, c’est que beaucoup de gens utilisent Twitter et donc que votre message apparaitra maximum une à deux secondes sur la page d’accueil de Twitter.

On va donc créer un script qui va permettre l’envoi automatique de messages à Twitter, on se loggue et on poste un message à l’aide de PHP et Curl. Il suffira ensuite de créer un tâche Cron ou de simuler une tâche Cron afin d’envoyer des messages aléatoires uniques à Twitter toutes les minutes par exemple et d’essayer ainsi d’obtenir un lien qui sera pris en compte par les moteurs.

EDITION : TWITTER étant passé en nofollow, cet article n’a plus qu’un intérêt pédagogique pour apprendre à faire de la soumission automatique de formulaire à l’aide de Curl

Voici la fonction :

<?php
function postToTwitter($username,$password,$message){
 
$host = "http://twitter.com/statuses/update.xml?status=".urlencode(stripslashes(urldecode($message)));
 
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $host);
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_POST, 1);
 
    $result = curl_exec($ch);
    $resultArray = curl_getinfo($ch);
 
    curl_close($ch);
 
 
    if($resultArray['http_code'] == "200"){
    echo "Message posté sur http://twitter.com/".$username."/";
    } else {
    echo "Erreur message non posté à Twitter";
    }
 
}
 
 
// Remplacer ci-dessous par vos codes d'accès à Twitter et votre message
postToTwitter("NomUtilisateur","MotdePasse","Message");
?>

A vous de continuer, là vous avez la fonction de base pour envoyer un message automatiquement, bref que du pur SEO white hat.

Reste à générer un texte aléatoire cohérent à chaque message posté incluant aléatoirement l’url que l’on souhaite promouvoir afin d’éviter de passer pour un spammeur, c’est là que l’on passe du côté obscur de la force du SEO Black Hat.

Qui s’en charge… et transmet ?

Commentaires (9)

Catégorie: Outils de spam, Scripts PHP



SEO BLACKOUT

Site web dédié aux techniques de référencement et de positionnement de sites web sur les moteurs de recherche Google, Yahoo, MSN.
Certaines parties du site sont en accès restreint, ces espaces sont réservés à la SEO Black Hat Team.


Don't Be Evil !