Bikin Internal Link Analyzer Sendiri Pakai Google Colab, Tanpa Screaming Frog, Tanpa Biaya

Bikin Internal Link Analyzer Sendiri Pakai Google Colab, Tanpa Screaming Frog, Tanpa Biaya


SEO Google Colab WordPress Automation

Bikin Internal Link Analyzer Sendiri Pakai Google Colab, Tanpa Screaming Frog, Tanpa Biaya

Sepengetahuan saya, ada dua tools yang biasa dipakai ketika melakukan audit internal link yakni melihat data Ahrefs dan scraping via Screaming Frog. Tetapi masalahnya;

  • Ahrefs / Semrush — bisa, tapi data-nya tidak real-time. Mereka crawl situs kamu berdasarkan jadwal mereka, bukan on-demand.
  • Screaming Frog — ini yang paling bagus untuk keperluan ini. Tapi harganya £259/tahun (~4 juta rupiah). Saat masih jadi full-time employee mungkin itu bisa pakai budget perusahaan. Tapi saat saya sudah jadi independent SEO specialist, angka itu terasa berat.

Jadi saya minta bantuan Claude untuk bikin tool-nya sendiri.


Konsep Dasarnya

Idenya sederhana:

  1. Ambil daftar URL yang mau dianalisis — saya buat fleksibel agar bisa ambil dari sitemap XML atau input manual
  2. Ambil konten artikel via WP REST API (bukan scraping, ini lebih ke preferensi pribadi karena saya juga akan buat program untuk fix internal link 301)
  3. Parse semua internal link dari konten tersebut beserta anchor text-nya
  4. Cek status code tiap internal link — apakah 200, 301, 404, atau lainnya
  5. Simpan hasilnya ke Excel dan Google Sheets

Yang menarik ada di poin 4. Kalau kamu punya 300 artikel, dan tiap artikel rata-rata punya 10 internal link, itu berarti ada 3.000 URL yang harus dicek. Kalau setiap run harus ping semua ulang, itu lambat dan boros.

Solusinya: URL Status Database.


URL Status Database — Si Cache Pintar

Setiap URL yang sudah dicek status code-nya akan disimpan ke sebuah file CSV (url_status_db.csv). Isinya sederhana:

urlstatus_codefinal_urlchecked_at
https://example.com/page-a200https://example.com/page-a2025-01-10 09:00:00
https://example.com/page-b301https://example.com/page-b-new2025-01-10 09:00:05

Setiap kali program mau cek sebuah URL, ia akan cek database dulu. Kalau sudah ada → langsung pakai hasilnya, tidak perlu ping lagi. Kalau belum ada → baru ping, lalu simpan hasilnya ke database.

Dengan cara ini, sesi crawl kedua, ketiga, dan seterusnya akan makin cepat karena cache-nya makin besar. URL yang sama tidak akan di-ping dua kali.


Kenapa Pakai WP REST API, Bukan Scraping?

Ini keputusan yang disengaja. Ada dua cara untuk ambil konten artikel:

Scraping — fetch halaman HTML, parse seluruh DOM. Ini berarti kamu ambil header, footer, sidebar, widget, dan segala macam elemen yang tidak relevan. Ada risiko kena rate limit juga karena kamu hit frontend server.

WP REST API — langsung minta content.rendered dari endpoint /wp-json/wp/v2/posts?slug=xxx. Yang kamu dapat murni konten artikel saja, sudah dalam bentuk HTML yang bersih. Lebih efisien, lebih akurat, dan karena ini website client sendiri, kredensialnya sudah ada.

Endpoint yang dipakai:

GET /wp-json/wp/v2/posts?slug={slug}&_fields=id,content

Program otomatis fallback ke /pages kalau slug tidak ketemu di /posts — berguna untuk halaman statis seperti About, Contact, dan sejenisnya.


Output yang Dihasilkan

Hasilnya mirip Screaming Frog, tapi lebih terfokus ke internal link:

post_urlpost_idinternal_linkanchor_textstatus_codefinal_urlis_redirectis_broken
/artikel-a1222/artikel-bbaca juga200/artikel-bfalsefalse
/artikel-a1222/artikel-lamatips ini301/artikel-barutruefalse
/artikel-c1589/halaman-dihapusklik di sini404falsetrue

Excel output-nya punya 5 sheet:

  • All Internal Links — semua data lengkap
  • Broken Links — filter 404/410/error saja
  • Redirects — filter 3xx saja
  • Status Summary — breakdown per status code
  • URL Status DB — snapshot database cache saat itu

Cara Pakai

Tool ini dibuat sebagai Google Colab notebook (.ipynb), jadi tidak perlu install apapun di komputer. Cukup buka di browser.

Yang perlu disiapkan:

  • WordPress Application Password (buat di WP Admin → Users → Profile → Application Passwords)
  • URL sitemap situs (atau daftar URL manual)
  • Service account JSON untuk export ke Google Sheets (opsional)

Flow-nya:

  1. Jalankan cell Install & Import
  2. Masukkan WP URL dan kredensial
  3. Pilih metode input: sitemap atau paste URL manual
  4. Jalankan cell crawling — program akan ambil konten via API, parse link, dan cek status
  5. Download hasil Excel + simpan url_status_db.csv untuk sesi berikutnya

Untuk sesi berikutnya, upload url_status_db.csv tadi — semua URL yang sudah pernah dicek tidak akan di-ping ulang.


Download

Notebook tersedia di GitHub Gist:

📥 Download Internal Link Analyzer v2.0 →

Ganti link di atas setelah upload ke Gist ya.


Penutup

Tool ini bukan pengganti Screaming Frog — fiturnya jauh lebih terbatas. Tapi untuk kebutuhan spesifik seperti audit internal link di WordPress secara on-demand, efisien, dan gratis, ini sudah lebih dari cukup.

Kalau kamu punya pertanyaan atau mau request fitur tambahan, drop di kolom komentar. Dan kalau kamu modifikasi notebook-nya untuk kebutuhan lain, saya penasaran juga hasilnya seperti apa.


Dibuat dengan bantuan Claude · Syahid Muhammad — SEO Specialist