PHP - Backlinks und indexierte Seiten abfragen - Sebamueller.net

Für mein aktuelles Projekt, dass mit PHP programmiert wird, brauchte ich Daten wie Backlinks und indexierte Seiten, um Websites einen Sitescore zuzuordnen. Diese wollte ich jedoch nicht für jede Seite selber checken und eingeben.

Yahoo Developer Network

Yahoo bietet dafür nette APIs um Backlinks und indexierte Seiten abzufragen. Heute möchte ich meine programmierte Methode vorstellen.

Die Yahoo API

Yahoo bietet einen menge Daten aus der Datenbank. Suchergebnisse mit allen Details können ausgelesen werden.
Jedoch ist es doch nicht so schön wie gedacht, da die Abfragen für eine IP auf 5000 pro Tag begrenzt sind. Hat man nun große Seiten mit sehr vielen gespeicherten Websites, kommt man um eine mehrtägige Aktualisierung nicht herum.

Backlinks abfragen

Die Ergebnisse von Yahoo Abfragen werden immer in XML ausgegeben. Meine Methode greift jedoch nicht auf die XML Parser von PHP zurück. Jedoch funktioniert die Sache und das zählt für mich ;) Wer einen sauberen Weg findet, kann ihn mir gerne Mitteilen.

  1. $OpenFile = fopen("http://search.yahooapis.com/SiteExplorerService/V1/
  2. inlinkData?appid=x&query=x", r);
  3.  
  4. $RetrieveFile = fread($OpenFile, 200000);
  5.  
  6. preg_match(‘/totalResultsAvailable=("(.*)"?)/’, $RetrieveFile, $treffer);
  7.  
  8. $explode = explode(‘"’,$treffer[0]);
  9.  
  10. $backlinks = $explode[1];

Erklärung

Zuerst wird auf die Seite von Yahoo mit fopen zugegriffen. Bei dem Zugriff sind 2 Variablen anzugeben:

  1. die “appid” ist die Erkennung deiner Seite um Zugriffe einzuordnen. Du kannst dir was passendes zu deinem Projekt einfallen lassen.
  2. query: Da du ja die Anzahl der Backlinks zurückbekommen möchtest, musst du hier eine URL angeben (z.B. www.sebamueller.net).

Anzeige:

Nach dem Zugriff und Erhalt der Daten von Yahoo muss auf eine ganz bestimmte Stelle im XML Quellcode zugegriffen werden. Dies habe ich mit preg_match gebastelt. Der zurückgelieferte String wird mit explode getrennt, da ich ja nur den Inhalt in den Anführungszeichen erhalten möchte. Explode liefert ein Array zurück. Die Backlinks finden wir im unter $explode[1], da davor die Variable ‘TotalResultsAvailable=”‘ im Array enthalten ist.

Indexierte Seiten abfragen

Da ich mit Google bisher noch keine Lösung gefunden habe, musste ich wieder auf Yahoo zurückgreifen. Dies funktioniert sehr ähnlich wie mit der Backlink Abfrage. Das Einzige was verändert werden muss ist der “Modus” von der Yahoo Abfrage:

  1. $OpenFile = fopen("http://search.yahooapis.com/SiteExplorerService/V1/
  2. inlinkData?appid=XXX&query=XXX", r);

wird ersetzt durch:

  1. $OpenFile = fopen("http://search.yahooapis.com/SiteExplorerService/V1/
  2. pageData?appid=XXX&query=XXX&results=1", r);

Fazit

Es ist garnicht schwer von Suchmaschinen wichtige Anhaltspunkte für gute Seiten zu bekommen. Jedoch ist bei Yahoo der Service auf 5000 Anfragen pro IP an einem Tag begrenzt. Für kleinere Projekte sollte dieser Service trotzdem gut zu gebrauchen sein. Auch der Zugriff und Speicherung der erhaltenen Daten war im Test immer sehr schnell abgelaufen. Ich hoffe, ich konnte euch ein Wenig weiterhelfen.


del.icio.us:PHP - Backlinks und indexierte Seiten abfragen digg:PHP - Backlinks und indexierte Seiten abfragen blinklist:PHP - Backlinks und indexierte Seiten abfragen reddit:PHP - Backlinks und indexierte Seiten abfragen

Kommentar schreiben

XHTML: Folgende Tags sind erlaubt: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Über den Blogger

Sebastian Müller bloggt über alles, was ihn im Internet interessiert. Darunter fallen Web 2.0, Online-Marketing, Branchennews, SEO, Tipps & Tricks und vieles mehr...

Werbung



My status XING
Blogverzeichnis - Blog Verzeichnis bloggerei.de
Deutsches Blog Verzeichnis