Google Keywords Rank API en PHP
Posté par CERDAN Yohann dans
Voici une classe PHP vous permettant de savoir à quel rang se trouve votre site sur Google pour un mot clef donné. Vous allez pouvoir très facilement savoir si les internautes sont susceptibles de trouver votre site simplement ou si vous êtes beaucoup trop mal placé. Cela peut être utile pour savoir si vous avez besoin d’améliorer ou non votre référencement sur des mots clefs bien définis. De plus, il peut être intéressant de combiner les résultats fournis par cette classe avec les résultats renvoyés par la Google Analytics API.
On peut facilement obtenir des rendus de ce style :
* Pour le keyword "autocompletion jquery" vous n'êtes pas placé dans les 10 premiers.
* Pour le keyword "cerdan yohann" vous êtes placé : 1.
* Pour le keyword "cron typo3" vous êtes placé : 1.
* Pour le keyword "cv développeur typo3" vous êtes placé : 4.
Pour en savoir plus, consulter la Google Keywords Rank API.
Je suis ouvert à toutes remarques éventuelles pour l’amélioration du script.
Article(s) sur le même sujet :
- Google Analytics API en PHP
- Google Weather API en PHP
- Google Maps API en PHP
- Google Maps API v3 en PHP
- Google Maps v3 : plus facile & rapide
Aucun trackback pour l'instant
5 octobre 2010 - 8 h 31 min
Tags: PHP, TYPO3
Posté dans PHP, TYPO3 | 1 commentaire
Pour une fois cet article TYPO3 sort un peu de l’ordinaire car il s’agit d’une extension que j’ai développée pour des besoins personnels. Cette extension vient ajouter de nouveaux modules au module « reports » existant (depuis la version 4.3.0 de TYPO3). Cette extension peut être très utile pour prendre en main un projet ou vérifier des [...]
19 septembre 2010 - 21 h 09 min
Tags: PHP, TYPO3
Posté dans PHP, TYPO3 | 6 commentaires
Pour la énième fois, j’ai dû récement convertir du contenu HTML en PDF dans un développement TYPO3. Toujours ouvert à de nouveaux outils j’ai donc recherché une librairie un peu plus récente que ce bon vieux FPDF (plus maintenu). C’est alors que je suis tombé sur HTML2PDF, une librairie s’appuyant sur TCPDF qui est [...]
2 septembre 2010 - 8 h 52 min
Tags: PHP, TYPO3
Posté dans PHP, TYPO3 | 7 commentaires
Avec l’arrivée de extBase et Fluid, j’ai souvent entendu la question suivante : comment profiter de Fluid dans un plugin classique (n’étendant pas extBase)? Voici donc la démarche à adopter et un exemple de fonction. Vous pourrez alors profiter de la puissance du système de templating Fluid dans tous vos plugins. Instanciations des objets Spécifications [...]
11 août 2010 - 13 h 18 min
Tags: Google, PHP
Posté dans Google, PHP | 4 commentaires
Et voilà, enfin! On me la suffisamment demandé pour que je m’y penche. Voici donc l’implémentation de l’API Google Maps en v3. Concrètement, il y a pas mal de choses qui changent : Plus besoin de clef Optimisation du JS et donc de la génération de la map Optimisation pour les mobiles (android et iOs) [...]
21 avril 2010 - 13 h 41 min
Tags: PHP, TYPO3
Posté dans PHP, TYPO3 | 3 commentaires
Après une expertise récente d’un code source, j’ai eu envie de publier un article de rappel sur les injections SQL en PHP et TYPO3. Les injections SQL sont les failles les plus répandues et les plus dangereuses en PHP. Si on ne protège pas correctement son code, il est possible pour le « pirate » d’accéder à [...]
26 janvier 2010 - 14 h 55 min
Tags: MySQL, PHP, TYPO3
Posté dans MySQL, PHP, TYPO3 | Aucun commentaire
Juste un petit billet rapide pour vous informer d’une nouvelle section appelée « ressources ». Dans celle-ci, vous y retrouverez pas mal d’éléments (essentiellement des liens) essentiels à un développeur TYPO3 (ou plus généralement PHP). On pourra par exemple y retrouver un lien vers les « must have » de la documentation TYPO3. Je vais essayer au maximum de [...]
11 décembre 2009 - 12 h 21 min
Tags: PHP, TYPO3, Typoscript
Posté dans PHP, TYPO3, Typoscript | 1 commentaire
Lorsqu’un contenu est créer sur une page son rendu est affiché en frontend automatiquement, c’est le principe même de la gestion de contenu. On peut parfois avoir besoin de récupérer le contenu d’un objet de type « tt_content » en typoscript ou dans un plugin PHP. Par exemple, lors du mapping sous templavoila, il est possible d’insérer [...]
30 novembre 2009 - 22 h 01 min
Tags: PHP, TYPO3, Typoscript
Posté dans PHP, TYPO3, Typoscript | Aucun commentaire
Sans forcément refaire un article en repartant de zéro pour vous expliquer comment mettre en place realurl, je vous propose ici un exemple de fichier de configuration de realurl que vous pouvez mettre en place. Cette exemple se présente sous la forme du PHP à placer dans le fichier de configuration de realurl. Dans ce [...]
19 novembre 2009 - 7 h 59 min
Tags: PHP, TYPO3
Posté dans PHP, TYPO3 | Aucun commentaire
Lorsque l’on développe une extension, il peut être intéressant de prendre en charge la réécriture des paramètres passés en $_GET. Pour cela, sous TYPO3, on utilise généralement l’extension realurl. Cette extension fonctionne à l’aide d’une configuration particulière (sous forme de tableau) que l’on fait dans un fichier PHP. Ce fichier peut devenir vite volumineux si [...]
28 septembre 2009 - 19 h 20 min
Tags: PHP, TYPO3
Posté dans PHP, TYPO3 | 1 commentaire
Suite à l’article que j’ai fait ici sur la manière dont on utilise le framework TYPO3 pour effectuer des requêtes, je me suis qu’il serait intéressant de montrer comment on peut requêter une autre base MySQL tout en utilisant le framework TYPO3 (et sans utiliser AdoDB). Pour cela le code à mettre en place est [...]
11 août 2009 - 2 h 37 min
Pas mal du tout ça.
Il me semble que cela ne marche pas si ce n’est pas dans les 10 premiers résultats en revanche. Même en mettant $gRank->setMaxPages(10);
Il me renvoi que je ne suis pas dans les 100 premiers résultats alors que pour le mot clé donné je suis dans 30… à moins d’une astuce que je n’ai pas vu
11 août 2009 - 9 h 04 min
Effectivement, je jette un coup d’œil la dessus. C’est ma boucle de sortie qui est trop restrictive.
Dès que c’est corrigé, je mettrais à jour.
11 août 2009 - 9 h 14 min
Voila, c’est corrigé.
J’en ai profité pour rajouter 2/3 warnings si Google renvoie un 302 (au bout d’un moment cela peut arriver) ou si on ne trouve pas les résultats à parser.
11 août 2009 - 9 h 41 min
Oui c’est mieux comme ça ^^ je l’ai corrigé de mon côté aussi du coup
différemment mais d’une façon qui me convient mieux ^^
J’ai rajouté quelques trucs dans le constructeur aussi :
public function __construct($url, $maxPages = 1, $extension = ‘fr’){
$this->url = str_replace(‘http://www.','',$url);
$this->maxPages = $maxPages * 10;
$this->extension = $extension;
}
l’extension apparait ici :
$base_url = ‘http://www.google.'.$this->extension.'/search?hl=fr&q='.urlencode($keywords).'&start=';
car les résultats sont différents sur google.com et google.fr par exemple
11 août 2009 - 9 h 53 min
Bonne idée, j’ai inclus ta modif sur le domaine.
11 août 2009 - 10 h 00 min
Bonne idée de vérifier que $maxPages soit > 0. il faudrait aussi vérifier que l’extension marche peut-être ? Du genre avec un array(‘fr’,'com’,'net’,…);
En tout cas c’est du bon boulot
11 août 2009 - 10 h 07 min
Merci
Je note pour les extensions de domaine, il doit bien y avoir une liste des domaines Google.
17 août 2009 - 14 h 22 min
Salut,
Je n’ai pas prit le temps d’analyser le code de ta class mais j’ai une petite question:
Comment gères tu le black list de google ? Car si j’ai 300 mots clés et que je cherche chacun sur 10 pages, mon ip va être black lister par google même avec 5 secondes entre chaque requêtes.
As tu trouvé une combine pour ne pas avoir ce problème ?
17 août 2009 - 18 h 06 min
Effectivement, pour 300 requetes sur plusieurs pages cela ne passera pas… Tu peux toujours contacter google pour leur expliquer ton besoin
pas de solution magique.
19 août 2009 - 11 h 26 min
Si il existe bien une solution en passant par des proxies ect mais c’est super complexe à mettre en place et si tu l’avais fait, j’avoue que j’aurai adoré ma ta classe est déjà niquel
19 août 2009 - 17 h 44 min
Cela doit pouvoir s’envisager avec une liste de proxy qui fonctionne car curl permet la mise en place de proxy. A voir, pour une évolution future.