

## hc72 Healthcare StudioSoft (2026-10-26 06:29 WIB)
- Threads carousel (RE-AIR `jasa-digital-marketing-klinik`): 26 Oct 2026 09:00 WIB | album `6ade90fed008896a4a4c57a6` + 2 replies (`6ade90ffccafa6a1d719edfe`, `6ade90ffe9a40f2f97054af6`)
- LinkedIn TEXT `6ade90ffd008896a4a4c57c4` (26 Oct 2026 08:00 WIB) memakai artikel `riset-kompetitor-seo`
- FB TEXT `6ade90ffccafa6a1d719ee3d` (29 Oct 2026 19:30 WIB) memakai artikel `strategi-seo-terbaik-untuk-klinik-kecantikan-di-surabaya-...`
- Artikel Threads: https://studiosoft.id/jasa-digital-marketing-klinik/

## Artikel harian StudioSoft (2026-10-26 06:45 WIB)
- Cek jadwal: `ss_jadwal_cek.py` → persediaan hanya sampai 31 Okt (5 hari), hari kosong 1-5 Nov.
- Bank topik habis (13/13 bertanda dipakai), jadi calon baru disusun dan disaring lewat `ss_cek_topik.py`
  (375 artikel). Calon "website tidak muncul di google" BENTURAN dengan #3301 dan #4026, dibuang.
- Artikel dibuat: **#9994** "Google Analytics 4 untuk Pemilik Bisnis: Laporan yang Perlu Dibuka Tiap Bulan"
  · slug `google-analytics-4-untuk-pemilik-bisnis` · 1.229 kata · 8 h2 + 4 tanya-jawab + FAQPage
  · gambar unggulan media #9995 (1000x567 WebP, 27,8 KB) · kategori Digital Marketing (26)
  · draf dulu, lalu dijadwalkan `future` 2026-11-01 08:00 WIB (date_gmt 01:00).
- Tautan internal (semua 200): Search Console untuk pemula (#3121), laporan SEO bulanan (#9315),
  jasa SEO Surabaya (#9970).
- GSC tidak bisa dipakai: token OAuth `google_token_atun.json` → `invalid_grant`. Topik disusun dari
  pilar konten + peta artikel terbit, bukan dari kueri Search Console.
- Sisa persediaan setelah penambahan: sampai 1 Nov (6 hari). Hari kosong berikutnya 2-6 Nov.

## Artikel harian TSC (2026-10-26 06:35 WIB)
- `tsc_jadwal_cek.py` pagi ini: hanya 26 Okt terjadwal, 14 hari kosong (27 Okt s.d. 9 Nov), persediaan 0 hari.
- Bank topik entri pertama yang belum dipakai: "Gejala PMS yang Perlu Diperiksa ke Dokter".
  `tsc_cek_topik.py` → BENTURAN 0,40 dengan #10356 (pola judul "yang perlu diperiksa"), exit 1.
  Sudut digeser ke infeksi tanpa gejala: "PMS Tanpa Gejala: Kenapa Pemeriksaan Tetap Perlu Dilakukan"
  → aman, skor tertinggi 0,12.
- Artikel **#10382** · slug `pms-tanpa-gejala-pemeriksaan-tetap-perlu` · 1.087 kata · 6 h2 (5 isi + tanya-jawab) + 4 h3
  · fokus `gejala pms` · meta judul 48 char, meta desc 156 char · `cek_pola_ai.py` bersih
  (0 em dash, 0 kutip melengkung, 0 CJK).
- Gambar unggulan sendiri: media #10383 `tsc_feat_pms_tanpa_gejala.webp` 1000x567, 25 KB, alt terpasang, HTTP 200.
- Tautan internal 5, semua 200: tanda awal PMS (#8871), tahapan sifilis (#8879), dokter kulit dan kelamin Krian
  (#8388), panduan berobat Sidoarjo (#10134), cara mencegah penularan PMS (#8881).
- Alur: draf → meta Yoast via XML-RPC (3 field, tersimpan & dibaca balik) → `future` 2026-10-27T01:00:00
  (08:00 WIB, zona situs UTC). Baca balik: status future, slug utuh, tombol WA ada.
- Generator: `tsc_artikel_pms_tanpa_gejala.py`. Sisa persediaan setelah ini 1 hari (sampai 27 Okt);
  hari kosong berikutnya 28 Okt. Sisa bank: 2 topik ("Jerawat dari Dalam", "Obat Gatal Kulit Bebas").

## Audit "apa saja yang tidak tayang" (2026-10-26 06:40 WIB)
- **Akar masalah: host-nya mati, bukan Repliz.** `journalctl --list-boots` boot sebelumnya berakhir
  20 Okt 04:51 UTC (11:51 WIB), boot baru 25 Okt 23:23 UTC (26 Okt 06:23 WIB). Jadi ±5,5 hari mesin mati.
- Bukti pendukung: output cron berhenti di 20 Okt 04:00 UTC, log `atun-media-server` sama sekali tidak
  menerima request 21-24 Okt (yang ada hanya 20 Okt 51 request + 25 Okt 249 request sesudah hidup).
- Dampak: **85 jadwal Repliz gagal** 20-25 Okt (TSC 30, StudioSoft 26, TS Law 22, Uky 7; story 34,
  album 32, image 14, video 5). Pola error: `502 Video download failed`, "media could not be fetched",
  `getaddrinfo ENOTFOUND mantapserver.tail...` → semua karena media server tidak bisa dihubungi.
- Setelah hidup: funnel 200 (dicek dari luar lewat api.hackertarget.com), 185 URL media jadwal pending
  8 hari ke depan **semua 200**, jadi jadwal 26 Okt dst. aman tayang.
- Alat baru: `rekap_tayang_7hari.py` (rekap tayang/gagal per hari + `rekap_gagal_7hari.json`),
  `audit_pending_media.py` (cek semua URL media jadwal pending).
- Pelajaran: kalau gagal serentak lintas akun, cek hidupnya host dulu (`journalctl --list-boots`,
  output cron) sebelum menyalahkan platform.

## Pasang ulang 29 jadwal (2026-10-26 07:15 WIB)
- Bos: "reschedule ulang kalau gitu ya" + "yasma hold dulu karena sudah tidak bekerjasama lagi".
- Yasmanatura (FB `6a3b41e3c5ff4ce3a327544b`): 8 jadwal teks 26 Okt-2 Nov digeser ke 2099
  (`hold_schedules.py --run`), sisa pending 0. Cron `fb-yasma-harian` + `yasma-pexels-retry` sudah off.
- Yang dipasang ulang: 29 jadwal (`pasang_ulang_gagal_okt.py --run`, catatan `catatan/pasang_ulang_gagal_okt.json`):
  - IG SS 1-3 Nov: carousel + story mirror + reel tiap hari (3 topik tertinggal: automasi, branding agency, ai agent)
  - TSC carousel 17:00 empat kanal 1-3 Nov: Kutil kulit, Bekas jerawat Krian, 4 grade jerawat
  - TS Law carousel "7 anggapan soal proses hukum" 27 Okt (Threads + IG 09:00, FB 19:30)
  - Uky: album 10 Langkah 28 Okt, album 6 Cara 30 Okt, quote Feedback 27 Okt, quote Niche 31 Okt
  - StudioSoft quote "Kenapa Kami Pilih Jalan Berbeda" 28 Okt 08:00
- Dua album Uky (12 dan 8 media) sebabnya BUKAN server mati: `medias[].type` kosong →
  `The parameter image_url is required`. Waktu dipasang ulang type diisi `image`.
- Tidak dipasang ulang (cerita harian, sudah lewat): TS Law story 21 & 22 (IG+FB), TSC story 24 & 25,
  StudioSoft story FB hc43. Sisa 50 jadwal 20-23 Okt masih diparkir menunggu keputusan Bos.
- Verifikasi: 29/29 pending, jam sesuai; 249 URL media jadwal pending 8 hari semua 200;
  `jaga_1post_threads.py` dry-run → tidak ada yang perlu di-HOLD.

## Sisa 57 jadwal gagal dipasang ulang (2026-10-26 07:00 WIB)
- Bos: "kamu atur aja yang baik yang pasti harus tayang semua" → semua 86 jadwal gagal ditangani.
- Batch 2: 51 jadwal (`pasang_ulang_sisa_okt.py --run`, catatan `catatan/pasang_ulang_sisa_okt.json`)
  ditempatkan 4-6 Nov: IG SS 2 set carousel+story+reel, TSC carousel 3 topik (Facial Sidoarjo,
  Memilih klinik, Hapus tahi lalat), TS Law carousel 10 anggapan hukum + Mitos atau Fakta,
  Uky 2 album + 2 quote, StudioSoft 1 album + 9 story FB.
- Batch 3: 6 story yang tadinya kulewati (`rapikan_story_okt.py --run`): TS Law story 21 & 22
  (9 & 10 Nov), TSC story 24 & 25 (8 & 9 Nov 12:10). Sekalian urutan TS Law 13→22 dirapikan
  (13 pada 4 Nov, 17-20 pada 5-8 Nov) lewat PUT.
- TSC story lama sengaja 12:10 supaya story harian baru tetap 12:00 dan tidak menimpa jam yang sama.
- Verifikasi akhir: 86/86 id gagal punya pengganti, 85 jadwal 4-10 Nov semua pending,
  tidak ada slot bentrok, `jaga_1post_threads` bersih.
- Penjaga baru: job `cek-tayang-gagal` (`0a841216efa9`, `10 */3 * * *` UTC = tiap 3 jam WIB,
  script `cek_tayang_gagal.sh`). Memeriksa jadwal error 48 jam, kesehatan media server lokal +
  funnel dari luar, dan 20 URL media jadwal 24 jam ke depan. Senyap kalau sehat.
  Jadwal yang sudah dipasang ulang dibaca dari `catatan/pasang_ulang_*.json` supaya tidak diulang.



## Carousel feed IG StudioSoft 08:30 (job `ss-ig-carousel-feed`, 2026-10-26 06:50 WIB)
- Slot 26 Okt 2026 08:30 WIB **sudah terpasang** saat job jalan (hasil `kunci_car10_okt.py` 3 Okt):
  album `6ac1031c1733078385ccb12a` · topik retainer digital marketing · 10 media `ss_car10_retainer_01..10.jpg`
  · warna PUTIH dulu (tanggal genap), reel 11:00 BIRU → pola harian cocok. Tidak ada create baru (1 album/hari).
- **Cacat ditemukan & diperbaiki di slot yang sama**: OCR slide 1 → `lead` berisi sampah navigasi situs
  ("Skip to content Beranda Tentang Layanan Jasa SEO Professional ... WhatsApp"), karena intro artikel
  dibuka blok menu. Slide 2-10 bersih.
- Perbaikan slide 1: `perbaiki_slide1_retainer_26okt.py` — rakit ulang cover dari kalimat pembuka asli
  artikel, timpa JPEG **nama file sama** (URL tak berubah, tak perlu PUT media), gate 200 dua ingress, OCR ulang = BERSIH.
- Perbaikan caption: `perbaiki_caption_retainer_26okt.py` — caption lama dibuka "Model ini bukan sekadar..."
  (menggantung) + tanda kutip melengkung. Caption baru 780 char dibuka definisi dari artikel, kutip lurus,
  link + CTA + hashtag lowercase tetap. PUT payload utuh, baca balik identik, status tetap `pending`.
- Verifikasi akhir `verif_car10_slot.py 2026-10-26`: pending · 01:30Z (08:30 WIB) · album 10 media ·
  2 ingress 200 semua · CTA ✅ · CJK bersih · 0 mention. Link artikel 200.
- Rantai 26-31 Okt lengkap (album 08:30 + story 08:40 + reel 11:00 tiap hari). Catatan: slot reel 19:00
  dan story 07/14/20 belum ada sejak 7 Okt → feed efektif 3 slot/hari.
- Scan sampah navigasi semua deck pending (`_scan_nav_semua_deck.py`): JUNK hanya di 26 Okt (sudah dibetulkan),
  17 Okt & 18 Okt (sudah tayang, lewat). 10-16 Okt dan 19-31 Okt bersih.




## Artikel harian TSC, job kedua (2026-10-26 07:03 WIB)
- `tsc_jadwal_cek.py`: 2 artikel terjadwal (26 & 27 Okt), 13 hari kosong mulai 28 Okt, persediaan 1 hari → lanjut.
- Topik dari bank (entri pertama belum dipakai): "Jerawat dari Dalam: Faktor Tubuh yang Benar-benar Berpengaruh".
  `tsc_cek_topik.py` atas 188 halaman: aman, skor tertinggi 0,14 ke #8388 (ambang 0,30).
- Artikel **#10385** · slug `jerawat-dari-dalam-faktor-tubuh` · 1.172 kata · 6 h2 (5 isi + tanya-jawab) + 4 h3
  · fokus `jerawat dari dalam` · meta judul 49 char, meta desc 145 char · `cek_pola_ai.py` bersih
  (0 em dash, 0 kutip melengkung, 0 CJK, 0 `<strong>`), sebaran kalimat rata-rata 14,6 kata (20 pendek, 6 panjang).
- Sudut dibedakan dari #10243 (jerawat hormonal perempuan dewasa) dan #8863 (8 jenis jerawat):
  artikel ini membahas faktor sistemik (hormon, insulin, kortisol/tidur, whey & B12, obat steroid).
- Tautan internal 4, semuanya dicek `curl -4` 200 sebelum ditulis: 8 jenis jerawat (#8863),
  jerawat hormonal perempuan dewasa (#10243), perawatan jerawat Krian (#9065), praktik dokter kulit Krian (#10164).
- Gambar unggulan sendiri (Pexels mati): media #10386 `tsc_feat_jerawat-dari-dalam.webp` 1000x567 WebP 35 KB,
  alt terpasang, URL publik 200 `image/webp`.
- Alur: draf → meta Yoast via XML-RPC (3 field, tersimpan & dibaca balik) → `future` 2026-10-28T01:00:00
  (08:00 WIB, zona situs UTC). Baca balik: status future, slug utuh, isi 9.495 char, tombol WA ada, featured 10386.
- Generator: `tsc_artikel_jerawat_dari_dalam.py`. Persediaan setelah ini 2 hari (sampai 28 Okt);
  hari kosong berikutnya 29 Okt. Sisa bank: 1 topik ("Obat Gatal Kulit Bebas").


## Artikel harian StudioSoft (2026-10-26 07:00 WIB)
- `ss_jadwal_cek.py`: 7 artikel terjadwal (26 Okt-1 Nov), 5 hari kosong mulai 2 Nov, persediaan 6 hari -> lanjut.
- Topik dari bank (entri pertama belum dipakai): "Schema Markup untuk Bisnis Lokal: Yang Berguna dan Cara Memasangnya".
  `ss_cek_topik.py` atas 375 artikel: aman, skor tertinggi 0,17 ke #4525 (ambang 0,34).
- Artikel **#9997** - slug `schema-markup-untuk-bisnis-lokal` - 1.100 kata isi (1.296 termasuk blok FAQ-LD)
  - 8 h2 isi + 1 h2 tanya-jawab, 4 h3 - fokus `schema markup untuk bisnis lokal` - meta judul 52 char,
  meta desc 143 char diawali fokus kata kunci - `cek_pola_ai.py` bersih (0 em dash, 0 kutip melengkung,
  0 CJK, 0 `<strong>`), sebaran kalimat rata-rata 14,7 kata (29 pendek, 9 panjang).
- Semua klaim teknis diambil dari dokumentasi Google yang diambil langsung 26 Okt: halaman LocalBusiness
  (properti wajib name+address, priceRange <100 karakter, subtipe paling spesifik), pedoman review snippet
  (ulasan usaha sendiri tidak memenuhi syarat fitur bintang, termasuk widget GBP), halaman FAQPage yang
  sekarang dialihkan ke pembaruan penghapusan FAQ rich result, dan pedoman umum (JSON-LD direkomendasikan,
  dilarang menandai isi tersembunyi, pelanggaran -> tindakan manual).
- Bukti dari situs sendiri: dua halaman diperiksa (riset-kompetitor-seo, jasa-seo-surabaya) memancarkan
  Article, WebPage, ImageObject/BreadcrumbList/WebSite/Organization/Person + blok FAQPage; LocalBusiness
  belum ada di keduanya. Ini yang jadi sudut praktis artikel.
- Tautan internal 4 (5 kemunculan), semua diuji `curl -4` 200 sebelum ditulis: riset-kompetitor-seo,
  jasa-seo-surabaya, audit-seo-teknis-12-pemeriksaan, kata-kunci-lokal.
- Gambar unggulan sendiri: media #9998 `schema-markup-bisnis-lokal.webp` 1000x567 WebP 24,9 KB,
  alt terpasang, lebar baris judul 469 px dan 537 px (maks 840).
- Alur: draf -> meta Yoast via REST (3 field, terbaca balik) -> `future` 2026-11-02T08:00:00 zona situs
  Asia/Jakarta (date_gmt 01:00Z). Baca balik: status future, slug utuh, 1.296 kata, featured 9998.
- Generator: `ss_artikel_schema_bisnis_lokal.py`. Persediaan setelah ini 7 hari (sampai 2 Nov);
  hari kosong berikutnya 3 Nov. Sisa bank: 2 topik ("Halaman Layanan yang Mendatangkan Kontak",
  "Checklist Konten Sebelum Terbit").

## Artikel harian TSC, job profil bambang (2026-10-26 07:50 WIB)
- `tsc_jadwal_cek.py`: 3 artikel terjadwal (26-28 Okt), 12 hari kosong mulai 29 Okt, persediaan 2 hari
  → lanjut. Slot 29 Okt memang belum ada isinya, jadi aman dari aturan 1 artikel/hari.
- Topik dari bank (entri terakhir yang belum dipakai): "Obat Gatal Kulit Bebas: Batas Pemakaian yang Aman".
  `tsc_cek_topik.py` atas 188 halaman: aman, skor tertinggi 0,12 ke #8388 (ambang 0,30).
- Artikel **#10388** · slug `obat-gatal-kulit-bebas-batas-pemakaian-aman` · 1.144 kata · 6 h2 (5 isi +
  tanya-jawab) + 4 h3 · fokus `obat gatal kulit` · meta judul 49 char, meta desc 158 char ·
  `cek_pola_ai.py` bersih (0 em dash, 0 kutip melengkung, 0 CJK, 0 `<strong>`), rata-rata 13,8 kata/kalimat.
- Sudut: keamanan pemakaian produk bebas (hidrokortison 1%, antihistamin, krim penyejuk, antijamur),
  batas lama pakai, dan kesalahan pemakaian. Dibedakan dari #10368 yang membahas kapan gatal
  berkepanjangan perlu ke dokter.
- Tautan internal 4, semua diuji `curl -4` 200 sebelum ditulis: gatal berkepanjangan (#10368),
  eksim dan dermatitis (#8867), kulit kering bersisik (#8864), praktik dokter kulit Krian (#10164).
- Gambar unggulan sendiri: media #10389 `tsc_feat_obat-gatal-bebas.webp` 1000x567 WebP 35 KB,
  alt terpasang, URL publik 200 `image/webp`.
- Alur: draf → meta Yoast via XML-RPC (3 field, tersimpan dan dibaca balik) → `future`
  2026-10-29T01:00:00 (08:00 WIB, zona situs UTC). Baca balik: status future, slug utuh, isi 9.237 char,
  tombol WA ada, featured 10389.
- Generator: `tsc_artikel_obat_gatal_bebas.py`. Persediaan setelah ini 3 hari (sampai 29 Okt);
  hari kosong berikutnya 30 Okt.
- Bank sempat habis, lalu diisi 4 calon baru yang semuanya lolos `tsc_cek_topik.py`: panu atau kadas,
  biduran berulang, jerawat batu, dan kudis. `_tsc_peluang_info.py` menunjukkan dari 383 kueri GSC hanya 2
  yang belum punya halaman khusus ("dokter kulit", "skin specialist") dan keduanya terlalu umum, jadi calon
  disusun dari kondisi kulit yang belum dibahas di situs.
- Bank topik disalin ke workspace profil bambang, karena job TSC di profil itu membaca salinannya sendiri
  dan salinan lama tertinggal satu entri.
