404Checkr – Links automatisch auf Gültigkeit testen

404checkr_logoDieser Artikel ist wieder einmal einer kleinen Eigenkreation gewidmet. Nachfolgend soll es um ein kleines Tool von mir gehen, welche ich, wie in den meisten Fällen, aus der Not heraus geschaffen habe. So war ich letztens auf der Suche nach einer Möglichkeit eine große Liste an Links zu überprüfen und tote Links möglichst einfach zu erkennen.

Die Problemstellung

Spätestens ab 20-30 Links macht das per Hand einfach keinen Spaß mehr und ist mehr als zeitintensiv. Deshalb habe ich ein kleines Programm in C# geschrieben, mit welchem beliebig viele Links auf ihre Gültigkeit überprüft werden können. Das Tool habe ich auf den Namen 404Checkr getauft, wobei sich 404 auf den HTTP-Statuscode 404 bezieht, welcher besagt, dass eine Seite/Datei nicht aufgefunden werden konnte.

Was bietet der 404Checkr

Der 404Checkr kann eine beliebig große Liste an Links verarbeiten. Diese kann entweder von Hand oder per Copy und Paste eingegeben werden. Danach kann ausgewählt werden, mit wie vielen Threads analysiert werden soll. Das heißt praktisch, wie viele Seiten parallel überprüft werden sollen. Der Idealwert hierfür steht immer in Abhängigkeit mit der Internetanbindung.

Weiter kann eingestellt werden, nach wie vielen Sekunden ein Timeout-Fehler erhoben wird. Dies kann nützlich sein, wenn man nur Seiten als “ok” eingestuft haben möchte, die innerhalb einer bestimmten Zeit Antworten. Je nach Anwendungszweck mag eine Seite zwar technisch erreichbar sein, jedoch praktisch unbrauchbar, wenn sie erst nach 15-20 Sekunden antwortet. Zudem lassen sich User-Agent und alternativer DNS-Dienst einstellen.

404Checkr - Start  404Checkr - Completed  404Checkr - Completed - Bad

Sind diese Einstellungen getroffen, kann die Analyse der Links mit einem Klick gestartet werden. Den aktuellen Fortschritt der Überprüfung hat man anhand eines Ladebalkens sowie einer textbasierten Ausgabe jederzeit im Überblick.

Wenn die Überprüfung abgeschlossen ist, können die Ergebnisse entweder als schlichtes .txt-Dokument oder als .csv-Datei exportiert werden. Dabei kann gewählt werden, ob alle Links oder nur die guten bzw. schlechten Links exportiert werden sollen.

Download und Hinweise

Natürlich könnt ihr die Software kostenlos downloaden und benutzen. Solltet ihr sie jedoch kommerziell (also zum Beispiel in eurer Firma), so würde ich mich über eine Kontaktaufnahme oder eine kleine Spende per Paypal freuen.

Download: 404Checkr (v. 1.7.5.0)

Screencast – 404Checkr in Aktion

Quellcode und Entwicklerinfos

Im Gegenteil zu manchen meiner anderen Projekte bin ich diesmal so frei, euch den Quellcode zur Verfügung zu stellen. Wer möchte, kann gerne neue Funktion schreiben oder noch ein bisschen an der Performance arbeiten. Solltet ihr tatsächlich etwas Neues aus dem Projekt aufbauen, würde ich mich über einen Kommentar oder eine Mail freuen. (Man sieht ja immer gerne, was andere noch so für Ideen haben, auf die man selbst nicht gekommen ist. Zudem entstehen manchmal auch wirklich spannende Diskussionen aus solchen Situationen heraus.)

Noch zwei Hinweise, bevor es den Downloadlink für das Visual Studio Projekt gibt.

  1. Ich sagte, ihr könnt gerne etwas Neues aus dem bestehenden Projekt schaffen. Was ich nicht so gerne sehe, ist, wenn ihr lediglich meinen Namen aus dem Projekt entfernt, euer Logo hinzufügt und das Programm dann als “eure Idee/Erfindung” verkauft. Ich sage das an dieser Stelle bewusst, da ich in letzter Zeit öfter mal derartige Anfragen bekomme.
  2. Erwartet nicht zu viel. Das Programm ist quasi zwischen zwei Kaffeetassen entstanden. Wenn ihr euch im Code verlauft, kann ich dafür nicht haftbar gemacht werden. ;)

Download: 404Checkr (v. 1.7.5.0) – Visual Studio Solution

17 Kommentare

  1. Roysays:

    Ein super Tool! Genau so etwas habe ich gesucht! Danke dafür!!

  2. Chrissays:

    Hallo, wie können https:// Links mit dem Tool überprüft werden?

  3. Vielen Dank,
    habe das Tool gefunden und setze es gerne ein, um die Redirects zu prüfen.

    Ganz großes Dankeschön für so ein kleines aber hilfreiches Tool.

  4. Hallo Raffi,
    eine Frage noch: leider ist es mir nicht immer möglich, ein .txt-Dokument oder eine .csv-Datei zu exportieren. Kann es an der Anzahl der URLs liegen? So ist es mir z.B. bei einer Anzahl unter 1.000 Urls gelungen die CSV zu ziehen (Buttons “save as …” waren grün), während es bei einer Anzahl von 2813 URLs plötzlich nicht mehr ging (Button waren ausgegraut und nicht klickbar)?
    Vielen Dank im Voraus,
    Nora

    • Hallo Nora,

      die Buttons sind nur solange ausgegraut, wie noch Daten geprüft werden. Kann es sein, dass noch nicht alle deiner Einträge geprüft waren, als du exportieren wolltest?

      Gruß,
      Raffael

      • Hallo Raffi,
        eigentlich nicht. Der grüne Balken unten war komplett und da stand auch “2813 of 2813 urls checked.” M.E. liegt es an der Anzahl der URLs, 1.000 nicht…
        Noch ein neuer Status, den ich gerade sehe ist “Timeout” – bedeutet das, dass die Seite zu lange braucht zum Laden?
        VG,
        Nora

        • ups.. da habe ich wohl einen Teil des Satzes geschluckt:
          Ich meinte natürlich:
          1.000 URLs nicht..

          • die größer und kleiner Zeichen scheinen hier nicht zu funktionieren, also ausgeschrieben:
            weniger als tausend urls: CSV-Datei kann exportiert werden
            mehr als tausend urls: csv-Datei kann nicht exportiert werden

            • Hallo Nora,

              ich habe die Tage noch mal mit über 2000 Links getestet und der Button war klickbar… Kam bei deinen versuchen mit über 1000 Einträgen denn das Pop-up (was am Ende eines Laufs mit der Laufzeit aufpoppt)?

              Wenn dies nicht kommt, dann ist auch irgendwo noch eine Abfrage an einen Server offen. Dementsprechend wären die Buttons dann auch noch ausgeblendet.

  5. Norasays:

    Hallo Raffi,
    Vielen Dank für diesen 404-Checker – sehr hilfreich und erspart einem eine Menge Zeit :)

  6. Jan Vandellsays:

    Die Übersichtlichkeit und Bedienbarkeit ist perfekt.

    Ist eine fehlerhafte Seite (404) jedoch auf eine vorhandene Seite weitergeleitet, kann man das im Tool nicht ablesen, richtig?

    • Hallo Jan,

      lass mir bitte mal 1-2 Beispiel-Urls für deinen Fall zukommen, dann schaue ich mal, ob ich das im Tool irgendwie abfangen kann. Gerne auch per Mail an webmaster[at]code-bude.net

      Gruß,
      Raffael

  7. Sehr cool, gefällt mir!

    Werde wohl selbst aus deinem Quellcode basteln, sondern dein Tool – wie es ist – auf die Festplatte packen. Wer weis schon, wann man das mal brauchen kann ;)

    Danke vielmals.

    • Immer wieder gerne. Wenn du Bugs entdecken solltest – weißt du ja – einfach Bescheid sagen. Neben der Sache, dass ich selbst so ein Tool brauchte, hab ich das gleich mal zum Anlass genommen, mich mit der Task-Library von .NET auseinanderzusetzen. Kann ja nicht ewig mit Threads und Backgroundworker arbeiten. ;)

Schreibe einen Kommentar zu Raffael Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Sie dient nur dem Spamschutz.