Jawaban singkat: content audit otomatis = n8n pipeline: (1) Thin Content Detection (Word count, Depth, Engagement), (2) Cannibalization Detection (Keyword Overlap, SERP Conflict), (3) Decay Detection (Traffic Drop, Ranking Drop, Outdated Content), (4) Orphan Pages Detection (No Internal Link, No Sitemap, No Traffic). AI Analyzer → Fix Recommendation (Merge, Redirect, Update, Delete, Expand) → Weekly Report + Action Items. n8n + GSC API + Ahrefs/DataForSEO + Screaming Frog. Artikel ini 4 Audit Type + Implementasi n8n.
Mengapa Content Audit Manual Sudah Tidak Mungkin untuk Blog AI Volume Tinggi
| Aspek | Manual (Screaming Frog + GSC + Manual Review) | AI + n8n Otomatis |
|---|---|---|
| Waktu Audit 500 Artikel | 2-3 hari (crawl, export, pivot, review manual) | 15-20 menit (Parallel API + AI Analyzer) |
| Cannibalization Detection | Manual cek SERP per keyword | AI: Semantic Keyword Overlap + SERP Conflict Score |
| Decay Detection | Manual bandingkan traffic 6/12 bulan lalu | AI: Trend Analysis + Statistical Significance + Seasonal Adjustment |
| Orphan Pages | Manual cek internal link & sitemap | AI: Graph Analysis (Internal Link Graph) + Sitemap + Traffic Cross-ref |
| Fix Recommendation | Manual decide: Update/Merge/Redirect/Delete | AI: Fix Type Classification + Priority Scoring + Estimated Impact |
| Frequency | Kuartalan (terlalu jarang) | Mingguan Otomatis (Cron) |
| Actionable Output | Spreadsheet 500 baris butuh interpretasi | AI: Top 10 Action Items + Estimated Traffic Recovery + Effort Hours |
4 Jenis Audit Otomatis (n8n Pipeline)
→ GSC API: Search Analytics (Impressions, Clicks, CTR, Position, URL)
→ Ahrefs/DataForSEO: Organic Keywords, Top Pages, Backlinks
→ Screaming Frog CLI / Custom Crawler: Word Count, Title, H1, Meta, Internal Links, Status Code
→ GA4 API: Sessions, Engagement Rate, Conversions, Revenue per URL
→ Thin Content Detector → Cannibalization Detector → Decay Detector → Orphan Detector
Audit 1: Thin Content Detection (Konten Tipis / Low Value)
Definisi Thin Content (Multi-Criteria)
| Kriteria | Threshold Thin | Threshold Healthy | Weight |
|---|---|---|---|
| Word Count | < 300 kata | > 800 kata | 0.2 |
| Unique Sentences Ratio | > 80% duplicate (boilerplate) | < 30% duplicate | 0.2 |
| Internal Links Out | 0-1 link | > 3 link | 0.15 |
| Internal Links In | 0 link (orphan) | > 3 link | 0.15 |
| Impressions (90 hari) | < 10 | > 100 | 0.1 |
| CTR | < 0.5% | > 2% | 0.1 |
| Engagement Rate (GA4) | < 10% | > 50% | 0.05 |
| Content Depth Score (AI) | < 30/100 | > 70/100 | 0.15 |
AI Content Depth Scorer Prompt
Output: Sheets Tab “Thin_Content_Report”
| Kolom | Contoh |
|---|---|
| TC_ID | TC-20260115-001 |
| URL | https://domain.com/artikel-tipis |
| Word_Count | 180 |
| Depth_Score | 25 |
| Thin_Flags | [“word_count_low”, “no_data”, “no_internal_links”, “no_engagement”] |
| Impressions_90d | 5 |
| CTR | 0.2% |
| Fix_Type | EXPAND (Priority) / MERGE / DELETE |
| Fix_Detail | Expand jadi 1500 kata: Tambah data, case study, FAQ, internal links |
| Estimated_Effort_Hours | 4 |
| Estimated_Traffic_Gain | 500/bln (jika expand ke 1500 kata + SEO) |
| Priority | HIGH |
Audit 2: Cannibalization Detection (Keyword Conflict)
Definisi: ≥2 URL Anda Rank untuk Keyword Sama (Top 20) → Google Bingung Mana yang Relevan
Detection Logic (n8n + AI)
- Fetch Keyword Rankings: GSC API / Ahrefs: Semua URL + Keyword + Position (Top 20)
- Group by Keyword: Untuk setiap Keyword → List URL yang Rank (Position 1-20)
- Conflict Detection: Keyword dengan ≥2 URL Anda → Flag Cannibalization
- AI Conflict Analyzer: Per Keyword Conflict → Analisis:
- Intent Match: Apakah 2 URL target intent sama? (Semantic Similarity > 0.8)
- Content Overlap: Semantic Similarity konten 2 URL (> 0.7 = High Overlap)
- Position Spread: Posisi URL 1 vs URL 2 (Jika dekat < 5 posisi = Competitive)
- Traffic Split: Traffic tersebar ke 2 URL (bukan konsolidasi ke 1)
- Cannibalization Score: Score = (Intent Match × 0.3) + (Content Overlap × 0.3) + (Position Proximity × 0.2) + (Traffic Split × 0.2)
Output: Sheets Tab “Cannibalization_Report”
| Kolom | Contoh |
|---|---|
| CB_ID | CB-20260115-001 |
| Keyword | bot WhatsApp AI harga |
| URL_1 | https://domain.com/harga-bot-whatsapp |
| URL_2 | https://domain.com/bot-whatsapp-ai-harga |
| Pos_URL_1 | 5 |
| Pos_URL_2 | 8 |
| Intent_Match | 0.95 (Sama: Commercial – Harga) |
| Content_Overlap | 0.82 (High) |
| Cannibalization_Score | 87.5 |
| Fix_Type | MERGE (Priority) / REDIRECT / CANONICAL / NOINDEX |
| Fix_Detail | Merge 2 artikel → 1 Comprehensive Guide (Canonical ke URL_1, Redirect URL_2) |
| Priority | HIGH |
Audit 3: Content Decay Detection (Traffic & Ranking Drop)
Definisi: Artikel yang Pernah High Traffic/Rank → Sekarang Drop Signifikan
Detection Logic (Statistical + AI)
- Time Series Data: GSC API: 16 Bulan History (Impressions, Clicks, Position per URL per Bulan)
- Baseline vs Current: Peak 3 Bulan (Best 3 bulan dari 12 bulan lalu) vs 3 Bulan Terakhir
- Decay Metrics:
- Traffic Drop %: (Peak_3m_Avg – Current_3m_Avg) / Peak_3m_Avg × 100
- Position Drop: Current_Avg_Pos – Peak_Avg_Pos (Positif = Drop)
- Impression Drop %: Same Formula
- CTR Drop: Current_CTR – Peak_CTR
- Statistical Significance: Mann-Whitney U Test / T-Test (Peak vs Current) → p-value < 0.05 = Significant
- Seasonal Adjustment: AI Seasonal Model (Google Trends + Historical) → Expected Drop vs Actual Drop → Real Decay = Actual – Expected
- Decay Classification:
- SUDDEN: Drop > 50% dalam < 30 hari (Algorithm Update / Technical Issue)
- GRADUAL: Drop 20-50% dalam 3-12 bulan (Content Aging / Competitor)
- SEASONAL: Drop Expected (Musiman) → Bukan Decay
- RECOVERED: Drop lalu Naik Lagi (Fix Berhasil)
Output: Sheets Tab “Decay_Report”
| Kolom | Contoh |
|---|---|
| DC_ID | DC-20260115-001 |
| URL | https://domain.com/cara-bikin-bot-whatsapp-2024 |
| Peak_Traffic_3m | 5.000/bln |
| Current_Traffic_3m | 1.200/bln |
| Traffic_Drop_Pct | 76% |
| Peak_Position | 3 |
| Current_Position | 12 |
| Decay_Type | GRADUAL (Content Aging – Tahun 2024 vs 2026) |
| Statistical_Significance | p < 0.001 |
| Root_Cause_AI | Outdated: Tahun 2024 di Judul, Step n8n v0.x, Harga Lama, Screenshot Lama |
| Fix_Type | UPDATE (Priority) / MERGE / REDIRECT |
| Fix_Detail | Update: Tahun 2026, n8n v1.23, Harga 2026, Screenshot Baru, FAQ Baru |
| Estimated_Traffic_Recovery | 3.500/bln (jika update ke 2026 + SEO) |
| Priority | HIGH |
Audit 4: Orphan Pages Detection (Halaman Terisolasi)
Definisi: Halaman Tanpa Internal Link Masuk (Orphan) → Google Sulit Temukan, User Tidak Bisa Navigasi
Detection Logic (Graph Analysis)
- Build Internal Link Graph: Crawl (Screaming Frog / Custom) → Nodes = URL, Edges = Internal Link (a href)
- Identify Orphans: Nodes dengan In-Degree = 0 (Tidak ada internal link masuk) DAN Status 200 DAN Indexable (Noindex = False)
- Cross-Reference Data:
- Sitemap: Ada di sitemap.xml? (Ya = Sitemap Orphan, Tidak = Hidden Orphan)
- GSC: Impressions > 0? (Ya = Discovered tapi Orphan, Tidak = True Orphan)
- GA4: Sessions > 0? (Ya = Traffic tapi Orphan, Tidak = Dead Orphan)
- Backlink: Ahrefs Referring Domains > 0? (Ya = External Authority tapi Internal Orphan)
- Orphan Classification:
- TRUE ORPHAN: No Internal Link In + No Sitemap + No Impressions + No Sessions
- SITEMAP ORPHAN: No Internal Link In + In Sitemap + No Impressions
- DISCOVERED ORPHAN: No Internal Link In + Has Impressions (Google temukan via Sitemap/External)
- TRAFFIC ORPHAN: No Internal Link In + Has Sessions (User datang tapi stuck)
- Orphan Priority Score: Score = (Has Sessions × 0.3) + (Has Backlinks × 0.3) + (In Sitemap × 0.2) + (Content Quality × 0.2)
Output: Sheets Tab “Orphan_Pages_Report”
| Kolom | Contoh |
|---|---|
| OP_ID | OP-20260115-001 |
| URL | https://domain.com/artikel-terisolasi |
| Orphan_Type | TRUE_ORPHAN |
| Internal_Links_In | 0 |
| In_Sitemap | FALSE |
| Impressions_90d | 0 |
| Sessions_90d | 0 |
| Backlinks_Count | 0 |
| Priority_Score | 15 (Low – No Value) |
| Fix_Type | DELETE / NOINDEX / ADD_INTERNAL_LINKS |
| Fix_Detail | Konten Low Quality (Depth Score 20), Hapus saja. Atau Redirect ke Pillar. |
| Priority | LOW |
Unified Content Audit Dashboard (Sheets Tab “Content_Audit_Dashboard”)
- Audit Summary: Total URL: 500, Thin: 45 (9%), Cannibalization: 23 Pairs, Decay: 67 URLs, Orphan: 89 URLs
- Priority Matrix: Critical (Fix Minggu Ini): 12, High (Fix Bulan Ini): 45, Medium (Fix Kuartal): 120, Low (Backlog): 200
- Fix Type Distribution: UPDATE: 89, MERGE: 23, REDIRECT: 34, DELETE: 12, EXPAND: 45, CANONICAL: 18, NOINDEX: 7
- Estimated Impact: Traffic Recovery Potential: 15.000/bln, Effort Required: 340 Hours, ROI: 44x
- Weekly Trend: New Issues vs Fixed Issues (Target: Fixed > New)
- Top 10 Action Items (Cross-Audit): Consolidated, Deduped, Prioritized by (Impact × Ease × Urgency)
n8n Workflow: Content_Audit_Engine (Cron Weekly Senin 06:00)
- Trigger: Cron Weekly + Manual Trigger
- Parallel Data Ingestion: GSC API (16 Bulan), Ahrefs/DataForSEO (Keywords, Backlinks), Screaming Frog CLI (Crawl 500 URL), GA4 API
- Parallel Audit Engines (4 AI Nodes): Thin Detector, Cannibalization Detector, Decay Detector, Orphan Detector
- AI Fix Recommendation (4 AI Nodes): Per Audit Type → Fix Type, Detail, Effort, Impact, Priority
- Cross-Audit Consolidation: Merge 4 Reports → Dedupe (URL yang muncul di multiple audit) → Unified Fix Plan
- Top 10 Action Items: Cross-Audit Priority Scoring (Impact × Ease × Urgency × Cross-Audit Count)
- Output: 4 Audit Sheets + Dashboard + Top 10 Actions + Telegram Alert + Email Summary
- Integration ke Content_Pipeline: Audit Actions → Planned Articles (UPDATE/EXPAND) / Redirect Plan (MERGE/REDIRECT) / Delete List
Checklist Launch Content Audit Minggu Ini
🔧 SETUP API & CRAWLER:
- [ ] GSC API: Search Analytics + URL Inspection + Sitemaps (Service Account)
- [ ] Ahrefs/DataForSEO API: Organic Keywords, Site Audit (Sample)
- [ ] GA4 API: Engagement, Conversions per URL
- [ ] Screaming Frog CLI / Custom Crawler (Node.js + Cheerio / Python + Scrapy) → Schedule Daily Incremental + Weekly Full
🤖 BANGUN 4 AUDIT ENGINES:
- [ ] Thin Detector: Multi-Criteria Scoring + AI Depth Scorer → Fix Recommendation
- [ ] Cannibalization Detector: Keyword Grouping → AI Conflict Analyzer → Fix Type
- [ ] Decay Detector: Time Series + Statistical Test + Seasonal Adjustment → Root Cause AI
- [ ] Orphan Detector: Link Graph + Cross-Reference (Sitemap, GSC, GA4, Backlinks) → Classification
🤖 AI FIX RECOMMENDATION PROMPTS:
- [ ] Thin: EXPAND vs MERGE vs DELETE (based on Depth Score, Traffic Potential, Effort)
- [ ] Cannibalization: MERGE vs REDIRECT vs CANONICAL vs NOINDEX (based on Overlap, Authority)
- [ ] Decay: UPDATE vs MERGE vs REDIRECT (based on Decay Type, Root Cause, Content Age)
- [ ] Orphan: ADD_LINKS vs REDIRECT vs DELETE vs NOINDEX (based on Type, Value, Backlinks)
📊 DASHBOARD & INTEGRATION:
- [ ] Setup 5 Audit Sheets + Dashboard (PIVOT)
- [ ] Setup Telegram Alert: Weekly Summary + Critical Alert (New Critical Issue)
- [ ] Setup Cron Weekly (Senin 06:00) + Manual Trigger
- [ ] Integrasi ke Content_Pipeline: Audit Actions → Planned Articles / Redirect Plan / Delete List
- [ ] Setup Action Tracker: Status (PLANNED/IN_PROGRESS/DONE), Assigned, Deadline, Result
🧪 TEST & LAUNCH:
- [ ] Test: Crawl 100 URL → 4 Audit → Verify Fix Recommendations Quality
- [ ] Benchmark: Compare dengan Manual Audit 20 URL Sample → Accuracy Target > 90%
- [ ] Launch: Weekly Cron → 4 Minggu Review → Optimize Thresholds & Prompts
FAQ: Content Audit Otomatis
Apakah Screaming Frog CLI wajib (bisa pakai custom crawler)?
Screaming Frog CLI paling robust & standard (Java-based, handle JS rendering, hreflang, pagination, canonical, redirect chain). Custom crawler (Node.js Cheerio / Python Scrapy) bisa untuk basic tapi miss: JS rendering, complex redirect, hreflang, canonical chain. Rekomendasi: Screaming Frog CLI (Gratis untuk ≤500 URL, £149/tahun unlimited). Setup di VPS + Cron.
Bagaimana handle false positive cannibalization (misal: Brand keyword rank homepage + artikel)?
AI Conflict Analyzer rules: (1) Brand Keyword (nama brand/domain) → Exclude dari cannibalization (Homepage hak rank #1). (2) Navigational Intent → Exclude. (3) Same Domain Different Subfolder (blog/ vs category/) → Check Intent Match. (4) Canonical URL Same → Exclude. Filter ini di AI Prompt + Pre-filter di n8n.
Bagaimana handle content decay musiman (Seasonal) yang bukan decay real?
AI Seasonal Model: (1) Google Trends API 5 Tahun Data → Identifikasi Pola Musiman per Keyword/Topic. (2) Expected Drop = Seasonal Average Drop untuk bulan ini. (3) Real Decay = Actual Drop – Expected Drop. (4) Jika Real Decay < 10% → Bukan Decay, Label SEASONAL. (5) Training Data: 3 Tahun GSC + Google Trends. Model update bulanan.
Apakah butuh programmer untuk setup crawler & graph analysis?
Screaming Frog CLI: Tidak butuh programmer (CLI standard, output CSV/JSON, n8n Execute Command / HTTP Request ke SF API). Graph Analysis: n8n Function Node (JavaScript) handle In-Degree Calculation, Cross-Reference. Bisa copy-paste function. Programmer butuh kalau: Custom JS Rendering Crawler, Distributed Crawl, Real-time Graph DB (Neo4j).
Template Content Audit lengkap sudah jadi di mana?
Ebook + Template n8n — include: 4 Audit Engine Workflow, 4 AI Prompt (Thin, Cannibalization, Decay, Orphan), Screaming Frog CLI Integration, Graph Analysis Function, Sheets Template 4 Report + Dashboard, Weekly Cron, Cross-Audit Consolidation Logic, Top 10 Action Items Prioritization, Integration ke Content_Pipeline, Fix Tracking System, ROI Calculator, Accuracy Benchmark Guide.