Tote Links in einem Blog oder einer Website finden

Tote Links sind ärgerlich und unprofessionell. Sogar der Überblogger schlägt vor, seine Blogs ab und zu zu entrümpeln. Um sie zu vermeiden gibt es ein paar Lösungen, zum Beispiel keine Links machen 😀 . Oder Online, wie die Google Webmaster Tools und Ähnliche. Als Kontrollfreak habe ich es gerne unter Kontrolle und möchte die Geschichte lokal auf meinem Rechner betreiben.

Eigentlich hätte ich nichts gegen klickibunti gehabt, aber leider kann zum Beispiel http://klinkstatus.kdewebdev.org/ (den es mittlerweile nimmer gibt) keine Einstellungen speichern. Nundenn, dann muss halt die gute alto Kommandozeile ran. Ich habe mich für LinkChecker entschieden, weil er vielfältige Einstellungsmöglichkeiten und Ausgabeformate anbietet. Ausserdem ist er für Windows und Lunix erhältlch und die Entwicklung ist aktiv. Ebenso beachtet er robots.txt, was sehr hilfreich ist.

Ich kenne mich, ich kann mir die Kommandozeilenoptionen keine 18 Minuten merken und darum sei wohlgemut eine Konfigurationsdatei geschrieben und auf den Namen blogcheck.conf getauft. Es kann auch heruntergeladen werden: Beispielkonfiguration für linkchecker um ein Blog zu checken.

html Ausgabe von Linkchecker CSV Auswertung in Openoffice (Excel kann das auch)

Zuerst die Ausgabe. Ich hätte gerne html und zur besseren Auswertung noch in csv. Während des Durchgangs hätte ich gerne ein Bisschen was an Rückmeldungen (habe ich schon erwähnt das ich ein Kontrollfreak bin?). Bei voller Lautstärke pustet mich linkchecker zu mit Info, status reicht also.

[output]
# print status output
status=1
# turn on/off --verbose
verbose=0
# turn on/off --warnings
warnings=0
# additional file output
fileoutput=html,csv

Nun noch die Logger konfigurieren:

#
# Loggers
#
[csv]
filename=linkchecker-out.csv
separator=,
quotechar="
parts=all

[html]
filename=linkchecker-out.html
# colors for the various parts
colorbackground=#fff7e5
colorurl=#dcd5cf
colorborder=#000000
colorlink=#191c83
colorwarning=#e0954e
colorerror=#db4930
colorok=#3ba557
parts=all

Noch ein Bisschen das Checkverhalten beeinflussen:

[checking]
# number of threads
threads=5
# connection timeout in seconds
timeout=60
# check anchors?
anchors=1

Und nun wirds interessant. Wir wollen folgendes vermeiden:

  • Der Linkchecker soll keine Ads anklicken.
  • Der Linkchecker soll uns nicht bei Partnerprogrammen eintragen.
  • Der Linkchecker soll uns nicht bei Social Bookmarkingdiensten eintragen.
  • Er soll uns keine Kommentare posten und auch das Blog nicht administrieren.

Das kann einfach so und mit Regular Expressions erreicht werden. Interessant ist, das der Syntax der URLs trotzdem geprüft wird.

[filtering]
ignore=
ignore=
# ignore google ads
 googlesyndication.com
 google # Just to get sure!
#ignore affiliates
 amazon\.com
 trigami\.com
 linklift
 zanox\.com
# ignore social bookmarking
 technorati\.com
 del\.icio\.us
 mister-wong\.com
 digg\.com
 stumbleupon\.com
 blogmarks\.net
 de\.lirio\.us
 furl\.net
 simpy\.com
 spurl\.net
 yahoo\.com
# ignore administrative links
 wp-comments-post\.php

Und nun: Starten *froi*:

linkchecker --config=blogcheck.conf https://blog.oncode.info

Nach dem Durchlauf kann linkchecker-out.csv in eine Tabellenkalkulation importiert oder linkchecker-out.html im Browser geöffnet werden.
Viele weitere Ausgabeformate wie SQL oder XML lassen andersweitige Auswertungen zu.

LinuxUser hat einen sehr schönen, einführenden Artikel zu linkchecker.

Nachtrag:
Bei Fehlern wie: had no anchor support oder url-anchor-not-found kann die Suche nach Anchors in der Konfigurationsdatei ausgeschaltet werden:

[checking]
...
# check anchors?
anchors=0

Wenn der Server überfordert ist und Timeoutet kann beim Aufruf der Parameter -P1 übergeben werden, welcher zwischen den Aufrufen eine Sekunde einschiebt. Wahlweise kann auch das Timeout in der Abteilung [checking] nach oben geschraubt werden.

Wenn der Fehler WARNING Could not start a new thread. Check that the current user is allowed to start new threads. auftreten sollte, dann könnte es sein dass der Parameter timeout im Config zu gross gefwählt wurde.

5 Gedanken zu “Tote Links in einem Blog oder einer Website finden

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.