More info
  • Home
  • >
  • Blog
  • >
  • Automation
  • >
  • Status-Checker Workflow mit n8n und Apify: Eine Schritt-für-Schritt-Anleitung

  Minuten Lesedauer verbleibend

Februar 9, 2025

n8n status Checker

0
(0)

Überblick

Der Website Status Code Crawler von Apify hilft dabei, den Statuscode von Webseiten zu überprüfen. Er crawlt alle angegebenen URLs und sammelt die HTTP-Statuscodes, die von den Servern zurückgegeben werden. Das Tool ist besonders nützlich, um fehlerhafte Seiten wie 404 (nicht gefunden) oder 500 (Serverfehler) zu erkennen.

Features

  • Crawlt Webseiten und gibt den HTTP-Statuscode zurück.
  • Unterstützt benutzerdefinierte URLs: Definiere deine Start-URLs und den maximalen Crawltiefe.
  • Ermittelt Statuscodes für jede URL: Die gesammelten Daten beinhalten den Statuscode jeder besuchten URL.
  • Erkennt Fehlerseiten: Du kannst Fehlerseiten wie 404, 500 usw. mit minimalem Aufwand identifizieren.

Nutzung des Status-Code Crawlers

Um den Website Status Code Crawler zu verwenden, folge diesen einfachen Schritten:

1. Apify Actor einrichten

  1. Besuche Apify und melde dich an.
  2. Gehe zum Apify Store und finde den HTTP Status Code Crawler.
  3. Klicke auf „Try for free“, um den Actor auszuführen.

2. Eingabeparameter definieren

Du kannst den Crawler mit den folgenden Eingaben steuern:

{
  "url": "https://example.com",
  "max_urls": 10,
  "follow_links": true,
  "mode": "auto"
}
  • start_urls: Eine Liste von URLs, die der Crawler besuchen soll.
  • max_depth: Dieser Parameter ist bisher nur ein Platzhalter. Es werden alle URLs einer Domain gecrawlt.
  • Crawler berücksichtigt die robots.txt und hat ein Crawl Delay von 1s pro URL.

3. Apify Actor ausführen

  1. Klicke auf den Button „Run“ in Apify, um den Actor zu starten.
  2. Die Ausgabe wird dir den HTTP-Statuscode für jede gecrawlte URL anzeigen.

4. Daten exportieren

Nach Abschluss der Ausführung kannst du die extrahierten Daten (URLs und Statuscodes) als JSON oder CSV herunterladen. So hast du einen Überblick über alle Seiten und deren Status.

Beispiel-Output

Details

Der Output des Crawlers sieht etwa so aus:

{
  "details": [
    { "url": "https://example.com", "status": 200 },
    { "url": "https://example.com/missing-page", "status": 404 }
  ]
}
  • url: Die besuchte URL.
  • status: Der HTTP-Statuscode der URL. Ein Wert von 200 bedeutet, dass die Seite erfolgreich geladen wurde, während Werte wie 404 und 500 Fehler anzeigen.

Zusammenfassung der Status Codes

Es gibt zusätzlich eine aggregierte Zusammenfassung der aktuellen Status Codes:

{
  "overview": [
    { "Status Code": 200, "Count": 10 },
    { "Status Code": 404, "Count": 2 }
  ]
}

5. Fehlerseiten erkennen

Ein wichtiger Anwendungsfall für diesen Crawler ist die Erkennung von fehlerhaften Webseiten. Seiten mit einem Statuscode größer als 200 (z.B. 404 oder 500) signalisieren Fehler und können für die weitere Analyse weiterverarbeitet werden.

6. Weitere Nutzungsmöglichkeiten

  • Integration mit n8n: Du kannst den Apify-Actor in n8n integrieren, um einen automatisierten Workflow zu erstellen, der regelmäßig nach fehlerhaften Seiten sucht und bei Fehlern eine Benachrichtigung auf Slack oder Telegram sendet.
    • Downloade hier die JSON Import Datei um diese bei n8n zum importieren
  • Monitoring von Webseiten: Der Crawler ist besonders nützlich für das Monitoring von Webseiten, die regelmäßig überprüft werden müssen, um sicherzustellen, dass keine fehlerhaften Seiten zurückgegeben werden.
n8n status Checker
Status Image
{
  "name": "HTTP Status Checker",
  "nodes": [
    {
      "parameters": {
        "url": "https://api.apify.com/v2/acts/antonio_espresso~website-status-code-crawler/run-sync-get-dataset-items",
        "sendQuery": true,
        "queryParameters": {
          "parameters": [
            {
              "name": "token",
              "value": ""
            }
          ]
        },
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"start_urls\": [\n    {\n      \"url\": \"{{ $json.url }}\" \n    }\n  ],\n  \"max_depth\": 1\n}\n",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        420,
        0
      ],
      "id": "9eb4e5b4-12df-40e3-99ed-c254101e31c3",
      "name": "HTTP Request",
      "notesInFlow": true
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "83dc4403-6b9e-4e59-94b4-cd8f76a0cc25",
              "name": "url",
              "value": "",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        220,
        0
      ],
      "id": "65fcae99-1fd4-4bce-8b9b-516024b516dd",
      "name": "Edit Fields"
    },
    {
      "parameters": {
        "rule": {
          "interval": [
            {
              "triggerAtHour": 1
            }
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        0,
        0
      ],
      "id": "bbc97cd7-36ff-460c-bc5d-0efc90ad4aae",
      "name": "Schedule Trigger"
    },
    {
      "parameters": {
        "chatId": "1225059959",
        "text": "={{ $json.message }}",
        "additionalFields": {}
      },
      "type": "n8n-nodes-base.telegram",
      "typeVersion": 1.2,
      "position": [
        840,
        0
      ],
      "id": "a9c3f06b-112d-4bc0-922d-a4be23feeeca",
      "name": "Telegram",
      "credentials": {
        "telegramApi": {
          "id": "ontelundkMZWezEG",
          "name": "Telegram account"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "// Extract data from input\nconst inputData = $input.first().json;\n\n// Start the message\nlet message = `🚀 *Website Status Code Report* 📊\\n\\n`;\n\n// Add details section\nmessage += `🔍 *Checked URLs:* \\n`;\ninputData.details.forEach(item => {\n    // Assign ✅ for 200, ❌ for 404, and ⚠️ for other status codes\n    let statusIcon = item.status === 200 ? \"✅\" : item.status === 404 ? \"❌\" : \"⚠️\";\n    message += `${statusIcon} [${item.url}](${item.url}) → *${item.status}*\\n`;\n});\n\n// Add summary section\nmessage += `\\n📊 *Status Code Summary:* \\n`;\ninputData.overview.forEach(item => {\n    let statusIcon = item[\"Status Code\"] === 200 ? \"✅\" : item[\"Status Code\"] === 404 ? \"❌\" : \"⚠️\";\n    message += `${statusIcon} *${item[\"Status Code\"]}:* ${item.Count} occurrences\\n`;\n});\n\n// Final message output\nreturn [{ json: { message } }];\n"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        620,
        0
      ],
      "id": "fb9d2b60-c652-4bb2-93ad-41b75af60577",
      "name": "Code"
    }
  ],
  "pinData": {},
  "connections": {
    "Edit Fields": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Code",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram": {
      "main": [
        []
      ]
    },
    "Code": {
      "main": [
        [
          {
            "node": "Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "8abc4e32-bf8e-4f80-89bf-b5c2c8d12060",
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": "8765f91253fa7ac79c96beaedfb54b4af7cb62e52733ce474c26d612f6e3136b"
  },
  "id": "wR9giX3QROdRaPfI",
  "tags": []
}

Fazit

Der Website Status Code Crawler von Apify ist ein einfach zu bedienendes Tool, das dir hilft, den Zustand deiner Webseiten zu überwachen. Egal, ob du Fehlerseiten identifizieren oder ein vollständiges Crawling durchführen möchtest, dieser Actor bietet eine schnelle und effiziente Lösung.

Du kannst das Tool weiter anpassen und erweitern, um deine Anforderungen zu erfüllen, oder es in Workflows wie n8n integrieren, um eine regelmäßige Überprüfung zu automatisieren.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Profile Picture Antonio Blago
Antonio Blago

📈🧠 Hi, ich bin Antonio. Als ehemaliger Datenanalyst und Webentwickler optimiere ich #SEO datengetrieben. Mit Verkaufspsychologie und dem fundierten Neuro-SEO System© verstehe ich Nutzerverhalten und entwickle zielgerichtete Maßnahmen für deine Marketing Strategie. Folge mir gerne auf Instagram oder Linkedin für tiefgehendes Know-how, smarte Tools und praxisnahe Tipps, die deine Online-Präsenz aufs nächste Level heben!

Über den Autor

📈🧠 Hi, ich bin Antonio. Als ehemaliger Datenanalyst und Webentwickler optimiere ich #SEO datengetrieben.
Mit Verkaufspsychologie und dem fundierten Neuro-SEO System© verstehe ich Nutzerverhalten und entwickle zielgerichtete Maßnahmen für deine Marketing Strategie. Folge mir gerne auf Instagram oder Linkedin für tiefgehendes Know-how, smarte Tools und praxisnahe Tipps, die deine Online-Präsenz aufs nächste Level heben!

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Nutze meinen SEO Fahrplan, wie du bei Google auf Seite 1 kommst!

Trage dich dafür in meinem Newsletter ein und erhalte Zugriff für kostenlose Anleitungen, Checklisten und Tools.

>