Otomatisasi Pendeteksian dan Perbaikan Broken Links di Website dengan n8n + AI
· 5 menit baca
Otomatisasi Pendeteksian dan Perbaikan Broken Links di Website dengan n8n + AI
Broken links (tautan rusak) dapat menurunkan pengalaman pengguna, SEO, dan konversi. Di artikel ini, kita akan membahas cara membangun pipeline otomatis dengan n8n dan AI untuk mendeteksi, mengklasifikasikan, dan — jika memungkinkan — memperbaiki broken links secara terukur.
Mengapa otomatisasi deteksi broken links penting?
- Memperbaiki UX dan mengurangi bounce rate.
- Meningkatkan SEO karena mesin pencari menghargai situs yang sehat.
- Menghemat waktu tim QA dan konten dengan deteksi proaktif.
- Memungkinkan perbaikan cepat (auto-suggest atau auto-fix) menggunakan AI.
Arsitektur solusi (high-level)
Solusi ini terdiri dari beberapa komponen:
- Crawler: Mengunjungi halaman-halaman situs dan mengumpulkan semua URL internal dan eksternal.
- Checker: Memeriksa status HTTP setiap tautan (200, 3xx, 4xx, 5xx, timeout).
- AI Enrichment: Mengkategorikan penyebab (mis-typo, domain mati, redirect yang salah) dan menyusun saran perbaikan.
- Store & Dashboard: Menyimpan hasil ke database / Google Sheet / Airtable dan tampilkan di dashboard.
- Automated Actions: Buat issue di GitHub, kirim notifikasi Slack, atau panggil CMS API (WordPress/Headless CMS) untuk auto-fix.
Komponen n8n workflow — node-by-node
Berikut contoh workflow n8n yang praktis:
1. Trigger — Cron
Jalankan harian atau mingguan: gunakan Cron node untuk memulai proses crawling.
2. Sitemap / URL Source
Ambil daftar URL dari /sitemap.xml, database, atau Google Search Console. Gunakan node HTTP Request untuk fetch sitemap lalu XML parse atau gunakan Google Search Console node untuk ambil halaman terindeks.
3. Page Fetch & Link Extractor
Gunakan HTTP Request untuk setiap halaman dan node Function (JavaScript) untuk mengekstrak semua <a href="..."> dan <img src="...">. Contoh kecil di bawah ini:
// Contoh fungsi ekstraksi sederhana di n8n Function node
const html = item.html; // asumsi html diambil oleh node sebelumnya
const hrefs = [];
const regex = /href=\"(.*?)\"|href='(.*?)'/g;
let m;
while ((m = regex.exec(html)) !== null) {
hrefs.push(m[1] || m[2]);
}
return hrefs.map(u => ({ json: { url: u, source: item.url }}));
Catatan: gunakan parser HTML seperti cheerio (jika memungkinkan di environment) untuk parsing lebih andal.
4. Normalisasi & Filter
Normalisasi URL: ubah relatif → absolut, hapus fragment (#), dan hanya proses internal + trusted eksternal. Filter out mailto:, tel:, javascript:.
5. Link Status Checker (Throttled)
Gunakan HTTP Request node untuk memanggil tiap URL dan baca statusCode. Penting: jangan mengirim terlalu banyak permintaan ke domain eksternal — terapkan throttling, concurrency limit, dan retry. n8n memiliki opsi concurrency di node or gunakan queueing pattern.
6. Classifier menggunakan AI
Untuk tautan dengan status 4xx/5xx atau timeout, panggil LLM (OpenAI/Hugging Face/local LLM) untuk memberi label dan saran perbaikan. Contoh prompt singkat:
"Anda adalah asisten teknis. URL: {url}. Source page: {source}. HTTP status: {status}. Berikan 1) diagnosis singkat (mis-typo, domain expired, path changed, redirect loops), 2) prioritas (high/medium/low), 3) saran perbaikan konkret (redirect suggestion, replace with alternative URL, atau hapus link)."
LLM dapat mengembalikan JSON terstruktur sehingga mudah di-parse untuk tindakan otomatis.
7. Store Results
Simpan hasil cek ke Airtable / Google Sheets / Postgres untuk historis, report, dan tracking. Simpan fields: source page, link, http status, AI diagnosis, suggested fix, timestamp.
8. Automated Actions
- Jika AI menyarankan redirect lokal: panggil CMS API (WordPress REST / Strapi) untuk membuat redirect rule atau update konten.
- Jika perlu review manual: buat issue di GitHub atau tiket di Jira, sertakan diagnosis dan lokasi; kirim notifikasi ke Slack/email.
- Jika link eksternal high-priority yang down: coba cari cached/alternate URL otomatis via AI (search query API) dan tawarkan replace suggestion.
Contoh Prompt Template untuk AI
Diagnose broken link
Input:
- url: https://example.com/old-page
- source: https://mywebsite.com/blog/post-a
- http_status: 404
Output (JSON):
{
"diagnosis": "404 — kemungkinan path berubah setelah redesign",
"priority": "high",
"suggested_fix": "Replace with https://example.com/new-page or create 301 redirect from /old-page",
"confidence": 0.87
}
Strategi Auto-Fix yang Aman
Auto-fix bisa powerful tapi berisiko. Rekomendasi:
- Untuk perubahan konten (internal CMS), gunakan dry-run mode pertama — simpan perubahan yang disarankan ke checklist, jangan langsung publish.
- Untuk redirect 301, lebih aman untuk membuat entry di redirect table (ataupun plugin) dan tunggu review human.
- Untuk tautan eksternal, jangan langsung mengganti tanpa verifikasi; minta AI mencari alternatif terbaik kemudian review manual.
Monitoring, Alerting & KPIs
Beberapa KPI yang harus dipantau:
- Jumlah broken links per hari/minggu.
- Waktu rata-rata perbaikan (MTTR)
- Persentase auto-fixed vs manual review.
- Pengaruh pada traffic organik (setelah deploy fixes).
Tambahkan alerting untuk lonjakan broken link (misal setelah deploy besar) via Slack/Email dan kirim runbook otomatis untuk tim dev.
Praktik Keamanan & Kepatuhan
- Amankan kredensial CMS / GitHub / Google Sheets di n8n Credentials atau Secret Manager (misal HashiCorp Vault).
- Batasi scope API tokens yang digunakan untuk auto-fix.
- Log semua aksi auto-fix dan simpan audit trail untuk rollback.
Tips Pengoptimalan Biaya & Performansi
- Jadwalkan crawl incremental (hanya halaman yang berubah) menggunakan webhook dari CMS atau change feed.
- Gunakan cache TTL untuk domain yang sering diakses.
- Batch HTTP requests dan batasi concurrency per domain.
- Gunakan LLM size lebih kecil untuk diagnosis yang sederhana, dan panggil model kuat hanya untuk kasus ambigu.
Contoh Use Case Real
Sebuah e-commerce menemukan peningkatan 404 setelah migrasi kategori. Pipeline n8n mendeteksi 3.500 link 404, AI mengkategorikan 70% sebagai predictable (category slugs berubah), menyarankan 301 mass-redirect, tim melakukan review cepat dan menurunkan broken links sebesar 92% dalam 48 jam — sekaligus memulihkan traffic organik kategori penting.
Kode & Template Workflow (Ringkasan)
Flow ringkas:
- Cron → Ambil sitemap → For Each URL
- HTTP Request (get page) → Function (extract hrefs)
- Normalize → HTTP Request (head/get tiap link) dengan concurrency limit
- Filter error → LLM node (diagnose) → Save to DB
- Create Issue / Call CMS API / Notify via Slack
Kesimpulan
Membangun otomatisasi deteksi dan perbaikan broken links menggunakan n8n + AI meningkatkan kualitas situs, SEO, dan operasional tim. Dengan arsitektur modular (crawler → checker → AI → action) Anda dapat memulai dengan mode read-only, lalu bertahap menambah auto-fix ketika confidence dan governance sudah memadai.
Butuh template n8n workflow (.json) atau contoh prompt siap pakai untuk LLM yang bisa langsung Anda masukkan ke project? Beritahu saya domain dan CMS Anda—saya bantu buatkan contoh terpersonalisasi.