# 2026-09-17 (WIB)

## Cron `studiosoft-healthcare-carousel-harian` (f7e00ade8034) — hc38

Run 17 Sep 2026 02:08 WIB. Stok artikel healthcare BARU masih HABIS (WP REST 16 Sep: terbaru 13 Sep,
satu-satunya artikel healthcare di batch itu sudah dipakai hc36). Audit 3.490 jadwal →
satu-satunya topik healthcare yang belum pernah tayang di **Threads**: "5 Kesalahan Fatal Website RS &
Klinik" (hc21/hc35 — 2× error `media could not be fetched` pada file `ss_hc21_*`; album FB-nya justru
sukses). Mitigasi sama seperti hc37: **slide dibuat ulang dengan nama file baru** `ss_hc38_website_*`.

- **Threads SS — carousel/album** `6aaae94bfc107e4fe5a0564f` · **17 Sep 09:00 WIB** (`02:00Z`):
  5 slide urut 01–05, `status=pending`, 1080×1350, caption **497 char**, 0 mention, hashtag huruf
  kecil, link artikel + CTA diskusi di ekor caption, + 2 replies (link `02:01Z`, hashtag `02:02Z`).
- **LinkedIn SS — TEXT-only** `6aaae94b9aa606c3bd7cd208` · **9 Okt 20:00 WIB** (`2026-10-09T13:00Z`),
  `medias=0`, `replies=0`, 1.662 char, artikel `google-business-profile-klinik` (belum ada di antrean
  LI; slot LI bebas pertama = 9 Okt 20:00 WIB).
- **Facebook SS — TEXT-only tanpa gambar** `6aaae94bfc107e4fe5a05666` · **17 Sep 19:30 WIB**
  (`12:30Z`), `medias=0`, `replies=0`, 989 char, artikel `social-media-rumah-sakit-efektif`.
- IG SS tidak disentuh (0 jadwal media hc38 di FB/IG).
- Kepatuhan standar desain 16 Sep: engine `ss_carousel_lib.py`, bg **#122B63**, rata kiri, blok tengah
  vertikal, tanpa garis separator, bullet dot, Poppins Bold 85 / Regular 36 / sub 30, auto-fit.
- Pra-cek: PIL 5 JPEG 149–188 KB · media **200 di KEDUA ingress** · 3 link artikel 200 · idempoten.
- Arsip: state index → **34**, `studiosoft_healthcare_log.txt`, script `studiosoft_hc38_carousel_gen.py`,
  `studiosoft_healthcare_cron_run_hc38.py`, `verify_hc38.py`.
- ⚠️ Butuh keputusan Bos: semua topik healthcare sudah tayang di Threads. Opsi (a) artikel healthcare
  baru, (b) re-air topik lain dengan file slide baru, (c) topik healthcare-adjacent yang belum dipakai
  (`data-analytics-rumah-sakit-*`, `iklan-facebook-rumah-sakit`).

## Cron `threads-all-harian` — run 17 Sep 2026 04:00 WIB (16 Sep 21:00 UTC)

Status awal: `log_threads_harian.json` `last_date = 2026-09-16` (run 16 Sep sukses; run 15 Sep masih
tercatat gagal — tidak di-backfill sesuai aturan Bos).

- **Anti-redundant:** `scripts/scan_threads_used_links.py` dijalankan ulang → **3.491 jadwal Repliz**,
  URL terpakai per akun: **SS 193 · uky 142 · tslaw 36 · tsc 20 · das 54** (`/tmp/threads_used_all.json`).
  Dump lengkap: `/tmp/repliz_all_20260917.json`. Stok artikel di-cek ulang via WP REST:
  tslaw 54 artikel (29 belum dipakai) · tsc 60 (43) · das 60 (39).
- **Backlog SS 14–16 Sep SUDAH BASI:** `https://studiosoft.id/retainer-digital-marketing/` kini
  terpakai pipeline lain → dibuang. Pengganti: artikel **fresh** di set 3.491 jadwal →
  `https://studiosoft.id/jasa-seo-sidoarjo/` (479 char). Backlog uky
  (`konsultan-ai-surabaya`, 479 char) masih FREE → dipakai apa adanya.
- **Generator:** `gen_threads_20260917.py` — validasi keras (≤500 char, tepat 1 link, CTA di ekor
  caption, 0 `@mention`, tanpa elipsis/truncate, hashtag lowercase). Panjang final:
  SS 479 · uky 479 · tslaw 482 · tsc 466 · das 481. (Catatan: pakai `NL = chr(10)+chr(10)` supaya
  tidak salah escape `\n` saat menulis file.)
- **Link diverifikasi HTTP 200 sebelum create:** tslaw/tsc/das langsung dari host ini
  (`curl -sL --http1.1 --max-time 150`); studiosoft.id tetap wajib lewat `r.jina.ai`
  (host ini HTTPS hang). Semua judul artikel cocok dengan topik caption.
- **Hasil (verified fetch ulang dari API — `status=pending`, `replies=0`, 0 mention, link ada, medias=0):**
  - **Tslaw** `6aab0445fc107e4fe5a391d8` — 17 Sep 17:00 WIB (`2026-09-17T10:00Z`), 482 char,
    link `https://www.tslaw.id/8-langkah-penting-mengurus-somasi-hutang-agar-tagihan-cepat-dibayar/`.
  - **TSC** `6aab04459aa606c3bd7e5dc8` — 17 Sep 20:00 WIB (`2026-09-17T13:00Z`), 466 char,
    link `https://www.theskincodeclinic.com/dokter-spesialis-kulit-mojokerto-kapan-butuh-dokter/`.
  - **DAS** `6aab0445fc107e4fe5a391e4` — 17 Sep 23:00 WIB (`2026-09-17T16:00Z`), 481 char,
    link `https://dasindonesia.com/bengkel-mercy-surabaya/`.
  - **StudioSoft & @ukyhandoko `no_free_slot`** (pola kronis, hari ke-11 berturut-turut sejak 7 Sep):
    pending SS **115** jadwal, akun uky **117** jadwal — semua 7 slot (05/08/11/14/17/20/23 WIB)
    terisi s/d **8 Des 2026** (SS) dan **7 Okt 2026** (uky) oleh pipeline lain
    (share-artikel / storytelling / seri image). **Slot kosong pertama: SS 30 Sep 08:00 WIB,
    uky 3 Okt 05:00 WIB.** Aturan Bos = jangan paksa / jangan geser ke hari lain → draf kedua akun
    disimpan di `threads_backlog_ss_uky.json` (link free + 200) supaya otomatis terpasang begitu
    slot bebas.
- Log: `log_threads_harian.json` → `last_date = 2026-09-17`, `threads_used_links["2026-09-17"]`
  berisi 3 URL (tslaw/tsc/das).

### ⚠️ Pitfall: file catatan harian DIPAKAI BERSAMA beberapa cron job paralel
`catatan/2026-09-17.md` sudah ditulis lebih dulu oleh cron `studiosoft-healthcare-carousel-harian`
(hc38) pada run 02:08 WIB; tulis-paksa dari cron `threads-all-harian` **menghapus** bagian itu.
**Selalu `read_file` dulu** (write_file hanya memberi peringatan, tidak mencegah) lalu **tambahkan
section baru**, jangan tulis ulang seluruh file. Isi yang hilang bisa direkonstruksi dari
`cron/output/<jobid>/<tanggal>.md` + log pipeline masing-masing.

## Recon LEIT Surabaya (17 Sep 2026, 07:20 WIB) — Bos minta pindah ke LEIT

- **Web:** leitsurabaya.com → 301 ke **www** (200, 1,37s). WP REST 200, **41 artikel publish**,
  terakhir **11 Sep** (5 artikel harian 7–11 Sep: ID 4139/4141/4143/4145/4147) → jeda 6 hari.
- **Repliz (script `cek_leit_state.py` → `leit_state_20260917.json`):**
  - LEIT_IG **19 jadwal depan** s.d. 5 Okt (harian 10:00 WIB / 03:00Z) ✅
  - LEIT_TIKTOK **20 jadwal depan** s.d. 6 Okt ✅
  - LEIT_THREADS **0 jadwal depan** (70 sukses, 3 error) → antrean habis
  - LEIT_FB 51 + LEIT_LINKEDIN 2 jadwal "parkir" di `2099-01-01` (tidak akan tayang) → praktis 0
- **Cron:** tidak ada job LEIT aktif di profil atun (12 job aktif, semua non-LEIT). Scheduler lama
  (`leit_threads_scheduler.py`, `leit_fb_linkedin_scheduler.py`, `leit_threads_rutin.py`) idle;
  log terakhir 26 Agu 2026 dipenuhi **HTTP 402 Payment Required** (kuota/payment repliz saat itu).
- Rekonsiliasi jadwal LEIT terakhir: `leit_schedule_backup_20260826.json`.

## LEIT — featured image artikel 4147 (17 Sep 2026, 07:35 WIB)

Bos kirim foto Pexels 10638213 ("group of students reading a book") untuk dipakai di
`https://www.leitsurabaya.com/bahasa-inggris-untuk-anak-metode-seru/` (post 4147).

- **Media baru:** ID **4216** — `bahasa-inggris-untuk-anak-metode-seru-pexels-1000x567.webp`
  (1000×567 WebP, crop tengah 16:9 dari Pexels 2400px, 138 KB), alt =
  "Sekelompok anak membaca buku bersama saat belajar bahasa Inggris". Pengganti media lama 4146.
- **Verifikasi live:** `<img class="wp-post-image" ... alt="Sekelompok anak...">` + `og:image` keduanya
  sudah menunjuk file pexels-1000x567 ✅.
- **⚠️ Pitfall baru (masuk memory):** (1) REST POST ke `/wp/v2/media/<id>` & `/wp/v2/posts/<id>` **wajib**
  header `Content-Type: application/json` — tanpa itu balas HTTP 200 tapi perubahan TIDAK tersimpan
  (senyap). (2) **Yoast `og:image` tertinggal 1 save** — setelah set `featured_media`, og masih file lama;
  POST `featured_media` sekali lagi → og nyusul. Dibuktikan dengan uji balik media (4182 → og=pexels,
  4216 → og=traveling). `/wp-json/yoast/v1/indexing/posts` TIDAK memperbaiki ini.
- **Temuan SEO sampingan (perlu keputusan Bos):** dari **42 artikel publish LEIT**, **17 tanpa meta
  description** (termasuk SEMUA 5 artikel baru 7–11 Sep: 4139/4141/4143/4145/4147) dan focus keyphrase
  kosong. Cek cepat: `GET /wp-json/yoast/v1/bulk_editor/posts?content_type=post&per_page=100`.
- Script: `leit_pasang_featured_4147.py`, `leit_fix_featured_4147.py`, `leit_diag_og_4147.py`,
  `cek_leit_state.py` (+ `leit_state_20260917.json`).

## Audit YOAST LEIT (17 Sep 2026, 07:50 WIB)

Laporan: `laporan_yoast_leit_20260917.md` (data mentah `leit_yoast_audit_20260917.json`), generator
`leit_yoast_audit.py` + `leit_yoast_report.py`.

- Skor Yoast post: **SEO good 6 / ok 20 / bad 0 / notAnalyzed 16**; readability good 25 / ok 2 / notAnalyzed 15.
- **16 artikel tanpa meta description + focus keyphrase** (5 artikel Sep + #3825/3864/3865/3866/3902/3903/
  3904/3925/3928/4051/4059). Live: artikel 4147 nol tag `<meta name="description">` → Google nyomot sendiri.
- Dari 25 yang punya meta desc: #3827 **305 char** (kelebihan); keyphrase exact di awal cuma 2, exact di
  mana pun 9, sisanya kata-kata terpisah; duplikat 0.
- **Homepage (page 1390) paling parah:** title "Home | LEIT SURABAYA" (tanpa keyword), meta desc KOSONG,
  og:image portrait 1039×1300 (kepotong di preview share).
- Sehat: robots.txt + sitemap_index.xml 200, canonical apex→www 301, schema Organization/WebSite+SearchAction/
  WebPage/BreadcrumbList, semua 41 artikel punya og:image.
- Endpoint Yoast yang berguna (tanpa perlu admin): `GET /wp-json/yoast/v1/bulk_editor/posts?content_type=post`,
  `GET /wp-json/yoast/v1/seo_scores?contentType=post`, `GET /wp-json/yoast/v1/readability_scores?contentType=post`.
  `bulk_editor/update_social` hanya terima `social_title`/`social_description`/`focus_keyphrase` (bukan gambar).
- Menunggu keputusan Bos: urutan perbaikan (5 artikel Sep → 11 artikel lain → homepage → #3827 → og homepage).

## EKSEKUSI meta Yoast LEIT — semua artikel (17 Sep 2026, 08:20-08:45 WIB)

Perintah Bos: "pasang semua kecuali page, page aku kerjakan sendiri". **39 artikel di-update**, hasil akhir
**41/41 artikel punya meta description 120–158 char + focus keyphrase exact di awal**.

- **Batch A (`leit_meta_batch_a.py`)** — 17 artikel: 16 yang kosong (#4147, #4145, #4143, #4141, #4139,
  #4059, #4051, #3928, #3925, #3904, #3903, #3902, #3866, #3865, #3864, #3825) + perbaikan #3827
  (meta desc 305 → 146 char). Keyphrase diambil dari topik artikel; #3864-3866 pakai keyphrase yang
  tertulis di catatan draft yang kebocor di isi artikel.
- **Batch B (`leit_meta_batch_b.py`)** — 22 artikel lama (Jul 7–21) yang keyphrase-nya nggak exact di awal
  meta desc: copy meta ditulis ulang (makna/kata kunci dipertahankan), isi artikel TIDAK disentuh.
- **Verifikasi:** re-audit → `kosong 0 / <120: 0 / >158: 0 / fk kosong 0 / og kosong 0`; cek LIVE 5 URL
  (Sep + Jul, plain & `?nocache=1`) → tag `<meta name="description">` langsung muncul dengan teks baru
  (LEIT tidak menahan cache untuk meta). Skor `seo_scores` masih `notAnalyzed 16` (Yoast hitung skor
  saat save dari editor) — isi field-nya sudah benar.
- **Deliverable:** `laporan_meta_leit_setelah_20260917.md` (tabel 41 artikel + temuan terbuka),
  script `leit_meta_batch_a.py`, `leit_meta_batch_b.py`, `leit_verify_meta_live.py`, `leit_laporan_setelah.py`.
- **Arahan homepage untuk Bos** (halaman = porsi Bos): title `Kursus Bahasa Inggris Surabaya | LEIT - Mulai
  Rp620rb/Bulan` (59 char) + meta desc 151 char: "Kursus bahasa Inggris Surabaya dengan kurikulum CEFR dan
  metode leadership-based learning. 2 cabang: Surabaya Timur dan Barat, mulai Rp620rb per bulan."
  + og:image diganti landscape 1200×630 (sekarang portrait 1039×1300 → kepotong di preview share).
- **Temuan masih terbuka:** (a) #3864/#3865/#3866 isi artikelnya masih memuat teks bocor
  `SEO Focus Keyword: … Kategori: LEIT (ID 6) --- Draft Artikel ---` yang tampil di halaman publik;
  (b) #4059 cuma 228 kata & slug berakhiran `-2` → kandidat duplikat/redirect.
- **Pitfall script:** `flag = "OK "` (ada spasi) dibanding `flag == "OK"` bikin blok apply tidak pernah
  jalan padahal dry-run kelihatan sukses — selalu print konfirmasi per-item dari response API.

## Cek GA4 & GSC LEIT (17 Sep 2026, 09:00 WIB)

Laporan: `laporan_ga4_gsc_leit_20260917.md`. Script: `leit_gsc_audit.py`, `leit_ga4_check.py`, `leit_ga_probe.py`.

- **GSC: SA belum punya akses ke properti LEIT** — `sites().list()` cuma 8 properti (TSC, DAS, TSLaw,
  StudioSoft, Yasma, SSC, RSIA, EveryBe); leitsurabaya.com tidak ada. **GA4: juga tidak ada** properti LEIT
  di daftar SA (10 properti lain).
- **Bukti tag hidup (tanpa akses akun):** probe CDP headless → homepage & artikel mengirim `collect`
  `tid=G-6QCM14PN13` ✅. Jadi **measurement ID GA4 LEIT = G-6QCM14PN13** (dikirim via container GTM).
- **Double tagging:** `GT-PZX84R6P` (Site Kit, langsung di head) + `GTM-PT463QNW` (container GTM, yang
  beacon-nya jalan). Saran ke Bos: pakai satu, pertahankan GTM.
- **Langkah Bos:** (1) GSC → Settings → Users and permissions → add
  `bambang@gen-lang-client-0311995659.iam.gserviceaccount.com` = Full; (2) GA4 → Admin → Property access
  management → email sama = Viewer (properti dengan measurement ID G-6QCM14PN13).
- **Pitfall CDP:** `ga_tag_fire_test.py` gagal `tab create failed` saat dia launch Chromium sendiri —
  solusinya jalankan Chromium manual (background, port unik, user-data-dir unik) lalu attach dengan
  versi probe yang tidak men-spawn browser (`leit_ga_probe.py`).

## GSC + GA4 LEIT — akses MASUK, data pertama (17 Sep 2026, 09:20 WIB)

Bos menambahkan email SA. Sekarang: GSC `https://www.leitsurabaya.com/` (siteFullUser) + GA4
`properties/544217927` = **G-6QCM14PN13** (persis cocok dengan hasil probe CDP tadi).
Laporan: `laporan_gsc_ga4_leit_20260917.md`. Script: `leit_gsc_audit.py`, `leit_gsc_deep.py`,
`leit_gsc_querymap.py`, `leit_ga4_check.py`.

- **28d: 19 klik / 1.092 imp / CTR 1,74% / pos 6,5** (28d sebelumnya: 22 klik / 869 imp / CTR 2,53% /
  pos 11,3) → posisi & impresi NAIK, klik TURUN = masalah SERP/snippet, bukan ranking.
- **90d brand vs non-brand:** brand 11 query/223 imp/32 klik (CTR 14,3%); **non-brand 159 query/817 imp/
  7 klik (CTR 0,9%)**.
- **Homepage memegang 83% impresi** (912/1.092) dengan CTR 1,8% — judulnya literally `Home | LEIT SURABAYA`.
  Query `les bahasa inggris surabaya barat` = **pos 1,2 tapi 0 klik selama 90 hari** (bukti terkuat bahwa
  fix title+meta homepage = lever terbesar). 16 dari 34 URL cuma dapat 0–1 impresi.
- **Query uang dipegang homepage; artikelnya di pos 40–87** (mis. artikel Timur/Barat padahal query barat
  39 imp pos 1,2). Masalah = distribusi kekuatan (internal link/relevansi), bukan kekurangan artikel.
- **Klaster IELTS: 154 imp, 0 klik, pos 22,5** dan situs belum punya konten khusus IELTS (yang ada
  `toefl-vs-ielts-panduan-lengkap` di pos 43,8) → kandidat klaster baru. ⚠️ Tanya dulu ke Bos apakah LEIT
  buka kelas persiapan IELTS.
- **GA4 28d: 25 sesi / 19 user / 94 pageview**; channel Direct 12, Organic 7, Unassigned 3, **AI Assistant 2**.
- Rencana berikut (nunggu pilihan Bos): (1) homepage 👤, (2) baseline ulang 39 artikel 7–14 hari 🤖,
  (3) klaster IELTS 🤖, (4) dorong artikel Timur/Barat 🤖, (5) GBP map pack 👤, (6) pantau AI Assistant 🤖.

## EKSEKUSI LEIT no.4+: link internal + FAQPage (17 Sep 2026, 10:00–11:30 WIB)

Bos: lanjut no.3 & seterusnya; **IELTS dibatalkan** (LEIT tidak buka kelas persiapan IELTS) + target baru
4 keyword yang LEIT belum masuk 10 besar: kursus bahasa inggris surabaya, les inggris surabaya,
english course surabaya, leadership course surabaya.
Laporan: `laporan_eksekusi_leit_20260917.md`.

- **TEMUAN AKAR MASALAH:** URL Inspection 41 artikel → **28 indexed, 13 `URL is unknown to Google`**
  (semua 5 artikel Sep, #4059, #4051, 5 artikel uang 29 Jul, #3864). On-site sehat: robots index,follow,
  canonical OK, ada di post-sitemap.xml (41 URL), Googlebot 200 tanpa noindex. Sitemap disubmit 18 Jul,
  download terakhir 10 Sep, `errors: 2`, masih ada sisa sitemap Rank Math (`[rank_math_html_sitemap]`).
- **PENYEBAB:** seluruh situs **0 link internal** (41 artikel, tidak ada link antar artikel) → penemuan
  halaman oleh Google lambat. Sudah diperbaiki.
- **Link internal 3 pass (script `leit_internal_link_pass.py` / `pass2` / `pass3`):** 0 → **214 link**;
  13 URL "unknown" sekarang punya **4–36 penaut** (total 166). Insert blok `<h2>Baca Juga</h2><ul>…`
  sebelum `<h2>Kesimpulan`; idempoten (skip kalau sudah ada); batas 5 item/blok, pass 3 pakai baris
  `<p><strong>Baca juga:</strong>` untuk artikel yang masih minim.
- **FAQPage schema di 7 artikel uang** (`leit_faq_schema.py`): 4 artikel ambil Q&A dari konten (2 pola
  markup berbeda!), 3 artikel (#3825/#3827/#3903) ditambah FAQ visible 4 Q. Verifikasi live:
  `FAQPage: 1` di ketujuhnya. **Uji dulu apakah `<script ld+json>` selamat di konten post → YA**
  (`leit_uji_jsonld.py`), jadi schema bisa dipasang via REST tanpa plugin.
- ⚠️ **Klaim IELTS di konten bertentangan dengan Bos**: #3928 (tabel program + FAQ + testimoni skor 450→580),
  #3925, #3902, #3903 menyebut "TOEFL & IELTS Preparation" padahal LEIT tidak buka kelas persiapan IELTS.
  Q&A IELTS di #3928 **dikeluarkan dari schema** (belum diperbaiki di konten — nunggu keputusan Bos).
- Pitfall: parser FAQ LEIT harus handle 2 pola (`<h2>Q: …</h2><p><strong>A:</strong>…` DAN
  `<p><strong>N. Pertanyaan?</strong></p><p>jawaban</p>`); origin kadang 404 sesaat (retry cukup).

## DAS Bengkel — nilai keyword Alphard/Lexus + TEMUAN trafik ambruk (17 Sep 2026, 12:00 WIB)

Permintaan Bos: cek keyword "Bengkel Alphard Surabaya" & "Bengkel Lexus Surabaya", kasih nilai + mana yang
harus dikembangkan. Laporan: `laporan_keyword_das_20260917.md` + `das_keyword_score.json`.
Script: `das_keyword_check.py`, `das_keyword_score.py`, `das_kw_tren.py`, `das_vs_fleet.py`,
`das_cek_penurunan.py`, `das_prune_audit.py`, `das_inventaris_alphard_lexus.py`, `das_laporan_keyword.py`.

**Nilai (skala 0-100 = 40% permintaan + 40% klik hilang + 20% kesiapan posisi):**
- Alphard: klaster **30** (5 query, 41 imp, 2 klik, CTR 4,9%, pos 6,9). Terbaik `bengkel spesialis alphard`
  (nilai 31), `bengkel alphard terdekat` (29, pos 4,3).
- Lexus: klaster **31** (30 query, 240 imp, 6 klik, CTR 2,5%, pos 12,4). Terbaik `bengkel lexus terdekat`
  (nilai 39, 83 imp, 1 klik), `bengkel spesialis lexus` (33), `bengkel lexus surabaya` (32, pos 1,2, CTR 14,8%).
- Yang nilainya LEBIH BESAR: mercy surabaya **57** (208 imp pos 9,5 — 1 klik!), nissan surabaya 52,
  matic surabaya 51 (pos 3,7), bmw surabaya 50, toyota terdekat 48 (141 imp, 0 klik).
- Kanibalisasi: Alphard 3 halaman bersaing dari 10 artikel; Lexus 4 halaman dari 6 artikel — **#6774 salinan
  persis #6772** (slug & judul sama, beda `-2`).

**⚠️ TEMUAN KRITIS: trafik DAS ambruk −88% dan ini DAS-spesifik.** 28d kini 53 klik/1.796 imp vs 28d lalu
285 klik/15.135 imp. Pembanding: studiosoft −6%, TSC −6%, SSC −5%, RSIA +10%, TSLaw +90%, everybe +120%.
Impresi mingguan DAS: 4.183 (23 Jul) → 3.539 (13 Agu) → **692 (20 Agu) → 408 → 397 → 299**. Jatuh 19-20 Agu.
**Posisi malah MEMBAIK** (contoh `/hari-minggu-tetap-buka/` 7,9 → **1,0** tapi impresi 732 → 2) → halaman masih
terindeks (semua `Submitted and indexed`, crawl 9-16 Sep) tapi ruang tampil dipangkas. ⇒ bukan deindex, bukan
algoritma global. **Prioritas: cek Manual Actions/notifikasi spam di GSC sebelum nambah konten.**

**⚠️ Dua halaman uang terbaru 404 di mata Google:** `/bengkel-mercy-surabaya/` (#8296) dan
`/bengkel-spesialis-toyota-surabaya/` (#8294) — keduanya publish 12 Sep, live HTTP 200, tapi GSC
`Not found (404)` (Google crawl saat masih 404) → **butuh Request Indexing**. Keyword mercy = nilai tertinggi.

**Pendukung:** 45/192 artikel (23%) nol impresi 90 hari (batch 2 Agu & 19 Agu); 11 slug berakhiran angka
(jejak duplikat).

### EKSEKUSI no.2 & no.3 — kanibalisasi + meta DAS (17 Sep 2026, 12:45 WIB)

Laporan: `laporan_perbaikan_das_20260917.md`. Script: `das_fix_v2.py` (meta+link, tahan-retry),
`das_link_pass2.py` (link batch Alphard), `das_trash_dup_verify.py`, `das_diag_meta.py`, `das_audit_target.py`.

- **1 halaman utama per klaster** ditetapkan: Alphard, Lexus, Mercy, BMW, Toyota, Matic, Nissan.
  Pesaing diarahkan ulang dengan focus keyphrase berbeda + link "Baca Juga" ke halaman utama.
  `bengkel mercy surabaya` tadinya dipakai DUA halaman (#6711 & #8296) → sekarang satu.
- **7 meta description kelebihan panjang diperbaiki**: 619→133, 531→146, 464→136, 452→131, 417→138,
  388→135, 184→132. Semua 13 halaman sekarang 131–146 char, keyphrase exact di awal, **terverifikasi live**.
- **2 focus keyphrase salah arah diperbaiki**: halaman Toyota (#5552) ber-fk "das bengkel indonesia" (nama
  brand sendiri) padahal pencariannya "bengkel toyota terdekat"; halaman Matic (#5609) ber-fk
  "bengkel transmisi matic surabaya" padahal celah kliknya di "bengkel matic surabaya".
- **9 halaman batch Alphard ditambah link** ke halaman utama klaster (6929, 8051, 8057, 8059, 8065, 8067,
  8089, 8294, 8296).
- **Duplikat #6774** (salinan persis #6772, beda akhiran `-2`) → **dipindah ke Trash** (bisa dipulihkan).
- ⚠️ **Belum bisa dikerjakan tanpa Bos:** redirect 301 (REST WP tidak bisa bikin redirect — perlu plugin),
  GSC Manual Actions, Request Indexing Mercy/Toyota.
- ⚠️ **PITFALL BESAR (masuk skill):** helper `def api(path, data=None, method="GET")` yang dipanggil
  `api(path, {...})` mengirim **GET yang membawa body** → WordPress **mengabaikan body** dan tetap balas
  **200**. 13 penulisan meta "sukses" dua kali padahal nol tersimpan. Perbaikan: infer verb dari payload
  (`method or ("POST" if data is not None else "GET")`) + verifikasi selalu dengan **baca ulang**
  `?context=edit&_fields=meta` (balasan POST konteks "view" tidak memuat field meta → false negative).
  Tes tunggal 1 post dulu: kalau standalone berhasil dan batch tidak, bug-nya di helper, bukan di situs.

### Rencana naikkan traffic DAS dari data GSC+GA4 (17 Sep 2026, 13:30 WIB)

Laporan: `laporan_rencana_traffic_das_20260917.md`. Script: `das_ga4_gsc_deep.py`, `das_probe_teknis.py`.

- **Diagnosa kunci:** jumlah query tempat DAS muncul jatuh ~287 → **41/minggu** (−86%), halaman ber-impresi
  137 → **47**, sementara **posisi hampir tidak berubah** (7,3 → 8,0). Jadi Google berhenti menampilkan situs
  di sebagian besar query, bukan menurunkannya. GA4: sesi 241 → 61 (−75%), engagement 53,9% → 36,1%.
  **Direct masih 24/61 sesi** = merek masih dicari orang.
- **Dugaan penyebab (urut):** (1) sinyal konten massal/duplikat — 7 artikel Alphard terbit hari yang sama,
  11 slug ber-akhiran angka, 45/192 artikel nol impresi 90d; (2) bukti first-hand tipis (tanpa foto sendiri,
  nama teknisi, rincian biaya, studi kasus); (3) **cold-start 6,5–8 detik** (permintaan kedua 0,2s) yang
  menekan crawl budget. Bukan penyebab: robots/canonical/sitemap bersih, 9 halaman kunci `Submitted and indexed`,
  FAQPage schema sudah ADA di halaman uang.
- **Rencana prioritas:** P1 konsolidasi konten + stop terbit massal + cek Manual Actions (Bos) + redirect 301
  (Bos, butuh plugin); P2 perkuat 7 halaman uang dengan bukti yang tidak bisa ditiru; P3 audit latensi +
  preload cache + sitemap GSC + Request Indexing Mercy/Toyota; P4 GBP (post mingguan, ulasan, foto) karena
  query "terdekat"/"buka hari minggu" diselesaikan di map pack; P5 baru tambah artikel setelah pulih.
- Baseline tercatat: 53 klik / 1.796 impresi / 61 sesi. Target 4 minggu: >100 query & >30 klik per minggu.

### EKSEKUSI no.1 — konsolidasi konten DAS (17 Sep 2026, 14:30 WIB)

**Hasil: 192 artikel publish → 150 publish, 42 dipensiunkan (draft, bisa dipulihkan), 17 di antaranya isinya
digabung dulu ke halaman utama.** Laporan: `laporan_konsolidasi_das_20260917.md`, daftar redirect:
`das_url_pensiun.txt` (42 URL + target). Script: `das_peta_tumpang_tindih.py`, `das_konsolidasi.py`,
`das_konsolidasi2.py`, `das_verify_konsolidasi.py`, `das_verify_akhir.py`, `das_laporan_konsolidasi.py`.

- **Gelombang 1** (18 gabung + 17 pensiun): batch Alphard 2 Agu (8051/8055/8057/8059/8049/8065), Overhaul
  (8162/8166/8169 → 7810), Fortuner (8213/8214 → 5619), Honda overhaul (7969 → 8079), + artikel tipis
  dan generik (batch 28-29 Mei 2024, event HBBA, tips umum).
- **Gelombang 2** (6 gabung + 4 pensiun): Honda Brio (6571/6726/6931 → 6722), Honda umum (6730 → 6661),
  matic kembar (7626 → 7777), "bengkel buka hari minggu" (8298 → 6479), promo/servis lama (6411/6916/5449/6867).
- **Halaman utama menguat:** 5569 676→1.166 kata (live ≈2.950), 7810 996→1.733, 8051 1.259→1.828,
  8079 1.193→1.724, 6304 1.007→1.261, 5619 329→746, 5684 595→765, 7812 1.307→1.449, 6887 945→1.116.
- **Metode:** hanya bagian `<h2>` yang belum ada di halaman tujuan yang dipindah (maks 2 per artikel), blok
  FAQ/Kesimpulan tidak disentuh; tiap penulisan diverifikasi dengan baca-ulang API; semua reversibel (draft).
- ⚠️ Tetap nunggu Bos: **redirect 301 untuk 42 URL** (REST WP tak bisa), Request Indexing halaman utama
  gabungan, Manual Actions GSC.
- Belum diperiksa sedetail ini: klaster rem (20 artikel) & servis (28) untuk gelombang berikutnya.
