Lerne Coding
6 Wege Python für SEO Analysen einzusetzen
06.12.2021

6 Methoden, Python als SEO einzusetzen!

Inhaltsverzeichnis
[[TABLE OF CONTENTS]]
access_timeGeschätzte Lesezeit ca. Minuten

Python ist eine, dank ihrer simplen Syntax, Einsteiger freundliche Programmiersprache. Neben der Syntax, ist die große Community eine Stärke. Auch auf dem HelloCoding Discord Server findet man Pythonprogrammierer.

Mittels Python kann man in verschiedenen, auch in SEO relevanten, Bereichen arbeiten. Folgende Gebiete umfasst Python:

  • Automatisierung
  • Data Science (Daten Auswertung & Analyse)
  • Visualisierung
  • Machine Learning / Künstliche Intelligenz
  • Daten- / Web- Scraping

Um einen Einstieg in Python zu finden empfehle ich meinen Artikel "Python programmieren lernen - das Programmieren verstehen".

Search Console Daten automatisch auswerten

Die Google Search Console gibt eine Übersicht von Klicks, Impressionen, Keywords und weiteren Daten deiner Webseite. Allerdings sind die Keywords auf 1000 begrenzt, dabei hat Google eigentlich viel mehr Daten.

Search Console Übersicht
Search Console Übersicht

Diese können mittels der Google Search Console API abgefragt werden - für Python gibt es zudem auch einen sogenannten Wrapper für diese API.

Github Logojoshcarty/google-searchconsole
223 12 79

A wrapper for the Google Search Console API.

Der Wrapper vereinfach die Arbeit mit der API und die Auswertung der Daten in einem bestimmten Schema. Mit Django oder Flask lässt sich ein Interface zur visuellen Präsentation der Daten erstellen. Auch eigene Command Line Anwendungen sind mit Python umsetzbar. Dazu habe ich auch einen Artikel geschrieben, diesen findest du unter "Eigene CLI Befehle in Python erstellen!".

Alternativ kann auch mittels Jupyter Notebooks + Pandas + Pyplot eine Auswertung genereirt werden. Dies für Tests in kleineren Umgebungen, aber auch für eine anschauliche Auswertung und übersichtlichen Code interessant.

Gerade für die Daten, die Google nicht im Interface rausrücken will, ist das hilfreich. So ist es auch möglich Daten auszulesen und diese länger als, die von Google, vorgesehenen 16 Monate zu speichern.

Aus persönliche Erfahrung kann ich sagen, dass man so die Analyse von Daten erheblich vereinfachen kann.

Lighthouse Testing Tool

Das Lighthouse Tool von Google ermöglicht es, die wichtigsten Metriken zu prüfen. Diesen Prozess kann man mit dem NPM Paket "Lighthouse" automatisieren. NPM ist der Paketmanager für NodeJS und nicht für Python. Das Lighthouse Paket hat ein Command Line Interface, dieses können wir mit subprocess Ansteuern und so die Datenabfrage ausführen. Anschließend die Daten auswerten. Beispielsweise mit Hilfe des Pandas-Modul. Auch eine Überwachung der eigenen Webseite über einen längeren Zeitraum lässt sich so, mit einer eigens programmierten Automatisierung realisieren.

Erfahrenerer Programmiere können auch die Daten in eine InfluxDB schreiben und diese via Grafana auslesen lassen. Grafana ist ein Interface, speziell zum Erfassen von Daten und Statistiken. Es bieter große Freiheit in der Auswertung und erlaubt es verschiedene Übersichten zu erstellen. Der Kreativität sind kaum Grenzen gesetzt.

Grafana Dashboard
Grafana Dashboard

Robots.txt Parsen & Auswerten

Mit dem Robotparser-Modul aus der urllib, besteht auch die Möglichkeit Robot.txt Dateien auszulesen und zu parsen. Damit lässt sich jede Seite deiner Sitemap.xml in regelmäßigen Abständen prüfen oder auch in Erfahrung bringen ob spezifische User Agents spezifische Seiten aufrufen dürfen

In meinem Artikel "Wie du die Robots.txt in Python Parsen kannst?" findest du eine ausführliche Erklärung wie das ganze funktioniert.

Web Scraping - Auslesen von Meta Daten

Mit "Beautiful Soup 4" lassen sich Metadaten einzelner Unterseiten auslesen und auf bestimmte Kriterien prüfen. Mittels CSS-Selektoren kann man so Daten auswerten und speichern. Zum Beispiel, um Daten eines Artikels auszulesen und zu prüfen ob der Autor korrekt verknüpft wurde.

Mehr zu diesem Thema findet man in meinem Artikel "Beautiful Soup 4 - Web Scraping mit Python"

Mit Python und Selenium wird ein headless Browser gestartet, der einen Brwoser-Request im Hintergrund startet und Daten ausliest. Werden Daten auf der Seite via JavaScript geändert oder erst später initialisiert, ist das eine hervorragende Möglichkeit diese live auszulesen. Auch Tastatureingaben und Mausklicks können ausgeführt werden.

Mehr zu diesem Thema findest du im Artikel "Python Browser Automatisierung mit Selenium".

Interne Verlinkung Auswerten

Durch Selenium und Beautiful Soup 4 gibt es einige interessante Möglichkeiten zur Auswertung. Ein gutes Beispiel ist eine Neugestaltung eines Blogs. Du kannst interne Links auslesen und bekommst so eine Liste der Links und deren Status zurück. So lassen sich leicht alle toten Links, die ein 404 zurückgeben entfernen oder aktualisieren.

Automatisiertes Testing

Unittest als HTML Auswertung
Unittest als HTML Auswertung

Gerade die vorherigen Beiträge zeigen viele Möglichkeiten auf, was man alles automatisiert testen kann. Immer eigene Auswertungen zu schreiben ist mühselig. Abhilfe schaffen Tools, die traditionell für Unittests verwendet werden, um Daten auch automatisch auszuwerten. Mit dem HTML Test Runner kann man sehr detaillierte Auswertungen erstellen, ohne sich mit der Commandline herumzuärgern. Mein Kredo ist immer: "So lange es irgendwo Daten gibt, besteht eine Möglichkeit diese mit Python auszuwerten."

Zusätzlich kann ich dir als Tipp geben, falls dich das Thema Testen weiter interessiert, dir einmal mein Beitrag zu Unit-Testing in Python durchzulesen; dort erläutere ich genauer, wie das Testen in Python funktioniert.

Github Logooldani/HtmlTestRunner
296 51 172

A Test Runner in python, for Human Readable HTML Reports

Zusammenfassung

Sobald ich mal etwas mehr Zeit habe, werde ich mir ein größeres SEO Testing Tool bauen, um all diese Ideen, die hier genannt sind in einem Tool zu vereinen. In erster Linie um mir die Arbeit bei der Analyse von Webseite zu vereinfachen. Für einige Punkte gibt es sicherlich auch Möglichkeiten, die auf Ryte, Sistrix und Co. basieren. Aber gerade, wenn es kostengünstig sein solln und du selbst die komplette Freiheit in der Konfiguration willst, ist Python sicherlich eine gute Lösung.

Bildquelle - Vielen Dank an die Ersteller:innen für dieses Bild
Kommentare zum Artikel
Michél schreibt ... Kommentar vom 18.03.2023
Super!

Meine Güte Python ist wirklich ein Alleskönner. Ich brauche definitiv mehr Zeit. Würde mir wirklich gerne ein Eigenes kleines Tool schreiben.

Danke nochmals!

Antworten
Michél
Kommentar schreiben

Vom Autor Empfohlen
close