Es geht heute darum wie man mit PHP eine Backlink Struktur automatisch analysieren kann. Nach dem man zum Beispiel eine Backlink Auswertung gemacht hat, kann man die ermittelten Adressen, jede einzelne via Browser besuchen oder man macht dies automatisch über ein PHP Script. In diesem Beitrag möchte ich kurz und bündig erklären, wie man dies in PHP realisieren kann.
Beispil für CSV-Datei
Als erstes benötigen wir eine CSV Datei, wo in der ersten Spalte die gesamten URLs eines Backlink Netz enthalten sind. Diese Datei können Sie x-beliebig benennen. Zum automatischen analysieren der gesamten URLs verwende ich die Snoopy Class, da diese sehr einfach anzusprechen ist und für mich automatisch das einlesen von Http und Https-Adressen übernimmt.
Danach lese ich die erste Spalte mit einer foreach- Schleife aus der CSV Datei und besuche in der Schleife über die Snoopy Class alle einzelnen Seiten. Beim besuchen der einzelnen Seiten, wehrte ich über stripos() den zurückgegebenen Seitentext aus. Nachfolgend findet ihr den gesamten Sourcecode. Im unteren Abschnitt habe ich nochmal eine Zip Datei zum Download zur Verfügung gestellt.
Sourcecode:
<?php /** * Maximale Ausführungszeit erhöhen, * wenn unsere CSV Datei viele Adressen * enthält, sollte dieser Wert relativ * hoch sein */ ini_set('max_execution_time', 900); /** * einbinden der Snoopy Class */ include (dirname(__FILE__) . '/snoopy.class.php'); /** * Dateiname der CSV Datei */ $csv_datei = "backlinks.csv"; /** * Der Trenner zwischen den einzelnen Feldern */ $feler_trenner = ","; /** * Der Trenner einer neuen Zeile */ $zeilen_trenner = "n"; /** * Schlüsselwort was wir auf * den Webseiten suchen */ $keywort = 'Forum';
/** * Daten der CSV Datei einlesen und in * einer Variable speichern */ $datei_inhalt =file_get_contents($csv_datei); /** * Mit den Zeilen Trenner die Daten * in ein Array packen */ $zeilen = explode($zeilen_trenner, $datei_inhalt); /** * Anzahl der gesamten Zeilen ermitteln */ $anzahl_zeilen = count($zeilen);
echo 'Es wurden in der CSV Datei: ' . $csv_datei . '.' . ' insgesamt ' . ($anzahl_zeilen -1) . ' Zeilen' . ' gefunden.<br>';
/** * Das Array Zeile für Zeile durchlaufen */ foreach ($zeilen as $zeile) { /** * Die einzelnen Felder von der * CSV Datei in ein Array übergeben */ $felder = explode($feler_trenner, $zeile); /** * Deklaration des Spaltenzählers */ $spalte = 0; /** * Prüfen ob die Variable $felder * ein Array ist */ if (is_array($felder) == true) { /** * Die einzelnen Felder von rechts * nach links durchlaufen */ foreach ($felder as $felde) { /** * Da unser URLs in der ersten * Spalte stehen, müssen wir * keine weiteren Spalten * durchlaufen */ if ($spalte == 0) { /** * Sollte in ein Feld noch * doppeltes Anführungszeichen * enthalten sein, dann entfernen * wir dies mit str_replace() */ $url = trim(str_replace('"', '', $felde)); /** * prüfen ob im Feld ein * https:// vorkommt */ if (preg_match("/https:///", $url) != false) { /** * Ein Objekt von der Snoopy * Classe generieren */ $snoopy = new Snoopy; /** * Mit fetch() werden die Daten * von der übergebene Variable * (in unserem Fall) URL abgefragt */ $snoopy->fetch($url); /** * HTML Elemente entfernen */ $html = strip_tags($snoopy->results); /** * Ausgabe der ersten Spalte */ echo '<a href="' . $url . '" ' . 'target="_blank">' . $url . '</a>'; /** * Prüfen ob das Keywort * vorkommt */ if (stripos($html, $keywort) !== false) { echo ' -> Keywort "' . $keywort . '" gefunden'; } $spalte++; } } } } echo '<br>';
} ?>
Ausgabe:
Es wurden in der CSV Datei: backlinks.csv. insgesamt 3 Zeilen gefunden.
Fazit: Ihr seht mit diesen kleinen PHP-Script kann man ohne Probleme eine Backlink Struktur aufdecken und die Konkurrenz sehr gut analysieren. Natürlich muss man nicht unbedingt nach den Keywort "Forum" suchen, man könnte auch dies ersetzen mit zum Beispiel "Blog" oder anderen Keywörtern. Alternativ bietet sich auch an, nach gewissen URL-Strukturen auf der einzelnen Webseite zu suchen. Da viele PHP-Scripte identisch in der URL-Struktur aufgebaut sind.
Beispiel für ein Standard WordPress Script wo immer Domain/register/ vorkommt, danach könnte man mit preg_match() suchen. Die Suche nach einer URL-Struktur habe ich aber noch nicht eingebaut. Mal schauen ob ich in den nächsten paar Tagen dieses Projekt, noch ein wenig ausbaue. Ich werde erstmal mit meinen gesammelten Daten arbeiten. :-)
Hier könnt ihr das gesamte Projekt herunter laden mit einschließlich der CSV Datei und der Snoopy Class. Das Projekt habe ich auf meinen lokalen Rechner unter der PHP Version 5.3.5 programmiert und auf keinen Live-Server getestet.
Wenn euch der Artikel gefallen hat, würde ich mich echt über eine Erwähnung in euren Blog oder einen "Daumen hoch" bei Facebook freuen.