Abro, Dezember 2010

PHP 4 SEO: Eigenes Keyword-Tool mit der Analytics API

Wenn Ihr euch mit PHP ein wenig auskennt und die ständigen Excel-Eskapaden euch bei der SEO-Arbeit genau so auf den Zeiger gehen wie mir, dann ist für die nächste Analyse vielleicht folgendes etwas für euch.

Mir war heute danach zuverlässige Daten für eine kleine Keyword-Recherche zusammen zu tragen. Da die zu optimierende Website bereits ein ganz ansehnliches Besucheraufkommen aufweist, einige Themennahe Satellitenseiten hat und ich mich auf den Longtail konzentrieren wollte, lag nichts näher als erstmal Analytics für die Keyword-Recherche heran zu ziehen.

Nur wer will sich schon allen Ernstes durch 20 Analytics-Profile klicken, zu den Keywords navigieren, die Daten filtern, alles herunterladen und sich dann die Finger dabei brechen die Ergebnisse in Excel aufzuhübschen? Natürlich niemand – Glücklicherweise hat man mit dem “Google Analytics API PHP Interface” schon wesentlich elegantere Exportmöglichkeiten als über die Weboberfläche.

Nur als kleines Beispiel – Im folgenden Script authentifizieren wir uns bei Analytics, fordern die Übersicht der bestehenden Profile an und holen uns für jedes die Keywords der letzten drei Monate ab.

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
$ga = new gapi('analytics@user.de','analytics-passwort');
 
$ga->requestAccountData();
$arr_profiles = $ga->getResults();
 
foreach($arr_profiles as $profile)
{
  echo '<h2>'.$profile.'</h2>';
 
  $ga->requestReportData(
    $profile->getProfileId(),
    array('keyword'),
    array('visits'),
    array('-visits'),
    'keyword != "(not set)" && visits > 1',
    date('Y-m-d',$_SERVER['REQUEST_TIME']-3*30*86400), //3 months
    date('Y-m-d'),
    1,
    10000 //10k = max
  );
 
  $arr_keywords = $ga->getResults();
 
  foreach($arr_keywords as $keyword)
  {
    echo $keyword.': '.$keyword->getVisits().'x<br />'; //add htmlspecialchars() !
  }
}

Die Keywords kann man jetzt je nach Menge in eine Datenbank schreiben und nachher angenehm durchsuchen oder eben schon direkt nach Ausgabe via jQuery – Schon hat man ein eigenes Keyword-Tool ;o) Klar muss an dieser Stelle sein dass wir dadurch keine tollen oder allgemein gültigen Resultate erhalten, sondern nur Mindestsuchvolumina und Sets für Longtailkombinationen die wir auf unsere Website anwenden können.

Hinweise für Insider

PHP wirft mir bei der API v1.3 einige Notices, die werden per default zwar nicht angezeigt, aber der versierte Entwickler hat ja immer alles auf Strict geschaltet.

Darum rate ich zu folgender Anpassung in der gapi.php ca. ab Zeile 250:

257
258
259
260
261
262
263
264
265
266
protected function accountObjectMapper($xml_string)
{
  $error_reporting_tmp = error_reporting(E_ALL ^ E_NOTICE);
 
  //...
 
  error_reporting( $error_reporting_tmp );
 
  return $results;
}

Kommentare sind geschlossen.
Aufgrund interner Umstrukturierungsmaßnahmen ist es uns z.Zt. leider nicht
möglich auf neue Kommentare zu reagieren. Wir bitten dies zu entschuldigen.
Bei dringenden Rückfragen suchen Sie bitten den direkten Kontakt zu uns.
Das Unternehmen Lucido Media GbR wurde am 31.12.2013 stillgelegt. Diese Website existiert weiterhin zu Archivzwecken. Der Gesellschafter Daniel Abromeit führt seine Arbeit ab sofort unter dem Dach der Agentur Koch Essen fort. Für entsprechende Anfragen wenden Sie sich daher bitte an http://koch-essen.de/kontakt/