#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Artikel StudioSoft #2 (seri properti mendalam):
  1. seo-untuk-bisnis-properti        — SEO properti (struktur halaman, kata kunci, schema)
  2. insight-media-sosial-bisnis-properti — insight sosmed properti (metrik, format, kanal)

Tayang langsung (status publish). Tanpa gambar (aturan Bos 29 Sep 2026).
Jalankan: python3 ss_artikel_properti_seo_sosmed.py [--apply]
"""
import base64, html, json, re, sys, time, urllib.request, urllib.error
from datetime import datetime, timedelta, timezone

S = "https://studiosoft.id"
AUTH = base64.b64encode(b"bambangbot:q26r RePo BVy6 pwU2 F3z7 ouyl").decode()
WIB = timezone(timedelta(hours=7))

CTA = """<style>
.ss-cta-wa{display:inline-flex;align-items:center;gap:10px;background-color:#6878d6;color:#ffffff !important;
font-family:'Open Sans',sans-serif;font-weight:600;font-size:17px;padding:15px 30px;border-radius:8px;
text-decoration:none !important;line-height:1.2;box-shadow:0 2px 8px rgba(104,120,214,.35)}
.ss-cta-wa:hover{background-color:#4d61d6;color:#ffffff !important}
</style>
<p style="text-align:center;margin:34px 0 6px">
<a class="ss-cta-wa" href="https://wa.me/6281935000624?text=Halo%20StudioSoft%2C%20saya%20ingin%20konsultasi%20gratis%20untuk%20bisnis%20saya" target="_blank" rel="noopener" role="button">WhatsApp: Konsultasi Gratis</a>
</p>
<p style="text-align:center;font-size:14px;color:#5b5b6b;margin:0 0 26px">Dibalas langsung oleh tim StudioSoft, tanpa biaya dan tanpa komitmen.</p>"""


def schema(faq):
    data = {"@context": "https://schema.org", "@type": "FAQPage",
            "mainEntity": [{"@type": "Question", "name": q,
                            "acceptedAnswer": {"@type": "Answer", "text": a}} for q, a in faq]}
    return '<script type="application/ld+json">' + json.dumps(data, ensure_ascii=False) + "</script>"


A1 = {
    "judul": "SEO untuk Bisnis Properti: Cara Listing Anda Ditemukan Per Lokasi",
    "slug": "seo-untuk-bisnis-properti",
    "fokus": "seo properti",
    "seo_title": "SEO Properti: Struktur Halaman, Kata Kunci, Schema",
    "meta": ("SEO properti yang bekerja: satu halaman per lokasi dan per unit, kata kunci bertingkat, "
             "schema listing, dan Google Business Profile yang dirawat."),
    "kategori": [330, 26],
    "label": "SEO PROPERTI",
    "isi": """<p>Pencarian properti hampir selalu berbentuk "jenis properti + lokasi". Orang tidak mengetik "rumah dijual" lalu memilih dari seluruh Indonesia; mereka mengetik rumah dijual di daerah tertentu, apartemen sewa nama gedung, atau kontrakan dekat tempat kerja. Karena itu SEO untuk bisnis properti bukan soal memperbanyak kata kunci, tapi soal menyediakan halaman yang cocok untuk tiap kombinasi jenis dan lokasi yang dicari orang.</p>
<p>Situs yang punya satu halaman berjudul "Produk Kami" berisi dua puluh foto rumah tidak bisa muncul untuk pencarian itu, sebaik apa pun fotonya. Halaman tunggal hanya bisa relevan untuk satu hal, sementara pasar mencarinya lewat puluhan cara berbeda.</p>

<h2>Kenapa SEO properti berbeda dari SEO produk biasa</h2>
<p>Tiga hal membuatnya berbeda. Pertama, keputusannya panjang, jadi calon pembeli menelusuri banyak pertanyaan sebelum menghubungi siapa pun. Kedua, lokasinya sangat menentukan, sehingga pencarian selalu menyempit ke daerah, kecamatan, nama proyek, atau nama jalan. Ketiga, satu transaksi nilainya besar, jadi walaupun jumlah pencarian sebuah kata kunci kecil, satu prospek yang masuk bisa sepadan dengan biaya pemasaran berbulan-bulan.</p>
<p>Konsekuensinya: Anda tidak mengejar kata kunci dengan volume besar, tapi kata kunci spesifik dengan niat yang jelas. Kata kunci "rumah dijual Rungkut" jumlah pencariannya jauh lebih kecil daripada "rumah dijual", tapi orang yang mengetiknya sudah menetapkan lokasi, anggaran, dan waktu pindah.</p>

<h2>Struktur halaman yang layak dibangun</h2>
<p>Pola yang berulang di situs properti yang berhasil:</p>
<ul>
<li><strong>Halaman hub per jenis properti.</strong> Rumah, apartemen, ruko, tanah, kos, kontrakan. Fungsi halaman ini mengumpulkan tautan ke semua halaman di bawahnya, bukan menjual.</li>
<li><strong>Halaman per lokasi.</strong> Satu halaman per kecamatan atau area yang Anda layani, dengan penjelasan singkat tentang area itu, harga yang berlaku di sana, dan daftar unit yang tersedia.</li>
<li><strong>Halaman per unit atau per proyek.</strong> Ini halaman yang paling sering mendatangkan kontak. Isinya spesifikasi, harga, foto, dan satu tombol WhatsApp.</li>
<li><strong>Halaman pendukung.</strong> Simulasi cicilan, biaya jual beli, cara cek sertifikat, dan jawaban pertanyaan yang paling sering Anda terima.</li>
</ul>
<p>Tautkan halaman unit ke halaman lokasinya, dan halaman lokasi ke hub jenis properti. Struktur seperti ini membuat mesin pencari memahami mana halaman utama dan mana halaman detail.</p>

<h2>Anatomi halaman listing yang benar</h2>
<p>Judul halaman sebaiknya deskriptif, bukan memuji. "Rumah 2 Lantai 4 Kamar di Rungkut, Surabaya" mengalahkan "Rumah Mewah Strategis Siap Huni". Alasan sederhananya: judul deskriptif memuat kata yang orang ketik, sementara kata pujian tidak dicari siapa pun.</p>
<p>Setelah judul, susun urutan ini: satu paragraf pembuka yang menyebut lokasi, luas, jumlah kamar, dan harga; tabel spesifikasi (luas tanah, luas bangunan, kamar tidur, kamar mandi, daya listrik, hadap, status sertifikat, tahun bangun); foto dengan keterangan yang menyebut ruangan; peta lokasi; lalu tombol WhatsApp dengan pesan yang sudah terisi.</p>
<p>Jangan menyembunyikan harga. Halaman tanpa angka biasanya dilewati karena calon pembeli menganggap penjualnya tidak serius, dan Google pun kesulitan memahami rentang harga properti Anda.</p>

<h2>Kata kunci bertingkat: dari umum ke nama jalan</h2>
<p>Susun kata kunci dalam tiga lapis. Lapis pertama adalah jenis properti dengan kota, misalnya rumah dijual di Surabaya. Lapis kedua menambahkan kecamatan atau area, misalnya rumah dijual di Rungkut. Lapis ketiga menyebut nama proyek atau nama jalan, dan yang mencari lapis ini biasanya sudah sangat dekat dengan keputusan.</p>
<p>Selain itu, ada pencarian yang memakai atribut: rumah dijual 3 kamar di daerah tertentu, apartemen studio nama gedung, atau ruko 2 lantai dekat jalan utama. Atribut seperti ini layak dijadikan halaman tersendiri kalau stok Anda mencukupi, karena pesaingnya sedikit.</p>

<h2>Schema markup untuk halaman properti</h2>
<p>Data terstruktur membantu mesin pencari memahami bahwa halaman Anda memuat properti, harga, dan lokasi. Jenis yang relevan: Product atau RealEstateListing untuk unit, Offer dengan harga, Place dengan alamat dan koordinat, serta FAQPage untuk bagian pertanyaan. Efeknya bukan peringkat yang melompat dalam semalam, tapi halaman Anda lebih mudah diringkas di hasil pencarian dan lebih besar peluangnya muncul dengan informasi harga serta lokasi.</p>

<h2>Google Business Profile dan Maps</h2>
<p>Sebagian besar pencarian properti berujung pada pertanyaan "yang dekat sini mana". Kantor pemasaran, rumah contoh, dan lokasi proyek sebaiknya punya profil yang lengkap: kategori yang tepat, jam buka, nomor WhatsApp, foto proyek yang diperbarui, dan jawaban atas pertanyaan yang sering ditanyakan. Ulasan dari pembeli sebelumnya juga berpengaruh, dan cara paling sederhana mendapatkannya adalah meminta setelah serah terima, saat pengalaman mereka masih segar.</p>

<h2>Kecepatan halaman: masalah khas situs properti</h2>
<p>Situs properti hampir selalu berat karena galeri foto berukuran besar. Tiga perbaikannya mudah diukur: kompres foto sebelum diunggah (foto ponsel bisa 4 MB sementara halaman hanya butuh sekitar 200 KB), pakai format WebP, dan tunda pemuatan (lazy load) foto yang ada di bawah layar. Dampaknya terasa dua arah, karena halaman yang cepat lebih sering muncul di peringkat atas dan pengunjungnya lebih jarang menutup tab.</p>

<h2>Portal properti atau website sendiri?</h2>
<p>Situs seperti Rumah123, Lamudi, 99.co, atau OLX berguna untuk jangkauan cepat, dan banyak pembeli memang mulai dari sana. Yang perlu disadari: calon pembeli di portal dimiliki bersama dengan pesaing Anda, dan datanya bukan milik Anda. Website sendiri membuat Anda bisa muncul untuk pencarian dengan nama proyek atau nama jalan yang tidak diberitakan portal, mengumpulkan kontak sendiri, dan memasarkan ulang ke orang yang pernah melihat unit Anda tanpa membayar ulang.</p>
<p>Praktik yang paling masuk akal: tetap tayang di portal, tapi setiap listing di portal arahkan ke halaman unit di situs Anda untuk foto lengkap, denah, dan simulasi cicilan.</p>

<h2>Cara mengukur hasil SEO properti</h2>
<p>Empat ukuran yang paling berguna: jumlah halaman yang benar-benar terindeks, posisi rata-rata untuk kata kunci bertingkat lokasi, jumlah percakapan WhatsApp yang berasal dari pencarian organik, dan biaya per prospek dari kanal organik dibandingkan kanal berbayar. Angka-angka ini lebih jujur daripada jumlah kunjungan, karena satu rumah yang terjual dari tiga ratus kunjungan lebih menguntungkan daripada tiga ribu kunjungan tanpa satu pun kunjungan lokasi.</p>

<h2>Kesalahan yang paling sering kami temukan</h2>
<p>Halaman unit dihapus setelah terjual. Ini membuang riwayat peringkat yang sudah dibangun berbulan-bulan. Lebih baik ubah statusnya jadi "terjual" dan tawarkan unit serupa. Kesalahan lain: foto hasil terusan dari obrolan WhatsApp yang resolusinya kecil, judul yang seluruhnya huruf kapital, halaman lokasi yang isinya hanya daftar unit tanpa penjelasan area, serta tidak ada satu pun halaman yang menjawab pertanyaan calon pembeli seperti biaya notaris atau simulasi cicilan.</p>

<h2>Yang kami kerjakan</h2>
<p>Kami menyusun struktur halaman per lokasi dan per unit, meriset kata kunci bertingkat, memasang schema, merapikan kecepatan halaman, lalu menghubungkannya ke iklan dan kanal sosial supaya hasilnya bisa dilacak sampai ke percakapan WhatsApp. Untuk pembahasan pemasarannya secara menyeluruh, lihat <a href="https://studiosoft.id/digital-marketing-bisnis-properti/">panduan digital marketing bisnis properti</a> dan <a href="https://studiosoft.id/digital-marketing-bisnis-manufaktur/">panduan untuk sektor manufaktur</a>. Layanan utamanya ada di <a href="https://studiosoft.id/jasa-seo-professional/">halaman jasa SEO</a>.</p>

<h2>Pertanyaan yang sering muncul</h2>
<h3>Berapa lama SEO properti mulai menghasilkan?</h3><p>Untuk kata kunci nama proyek atau nama jalan, pergerakan biasanya terlihat dalam empat sampai delapan pekan karena persaingannya tipis. Untuk kata kunci area yang sudah dikuasai portal besar, butuh tiga sampai enam bulan dan biasanya perlu didampingi iklan agar prospek tetap masuk selama prosesnya.</p>
<h3>Perlu punya blog properti?</h3><p>Perlu, tapi bukan blog berisi berita umum. Yang berguna adalah halaman yang menjawab pertanyaan calon pembeli di daerah Anda: harga pasaran di satu kecamatan, biaya balik nama, cara cek sertifikat, atau perbandingan tinggal di dua area berdekatan.</p>
<h3>Apakah listing yang sudah terjual harus dihapus?</h3><p>Sebaiknya tidak. Ubah statusnya menjadi terjual atau tidak tersedia, lalu tambahkan tautan ke unit serupa. Halaman yang tetap hidup menjaga peringkat dan masih bisa mendatangkan calon pembeli untuk unit lain.</p>
<h3>Boleh memakai foto yang sama untuk banyak halaman?</h3><p>Boleh, tapi jangan menjadikannya satu-satunya pembeda. Setiap halaman tetap butuh judul, deskripsi, dan keterangan spesifikasi sendiri. Memakai satu teks identik di puluhan halaman akan membuat mesin pencari memilih satu halaman saja yang dianggap relevan.</p>
<h3>Apakah portal properti cukup, tanpa website sendiri?</h3><p>Cukup untuk memulai, kurang untuk bertumbuh. Portal memberi jangkauan, sementara website sendiri memberi data calon pembeli, merek yang bisa dicari langsung, dan kanal pemasaran ulang tanpa biaya per klik.</p>""",
}

A2 = {
    "judul": "Insight Media Sosial untuk Bisnis Properti: Metrik yang Layak Dibaca",
    "slug": "insight-media-sosial-bisnis-properti",
    "fokus": "media sosial properti",
    "seo_title": "Insight Media Sosial Properti: Metrik & Format Konten",
    "meta": ("Insight media sosial untuk bisnis properti: metrik yang layak dibaca, format konten yang "
             "menghasilkan percakapan, dan cara melacak lead dari tiap kanal."),
    "kategori": [51, 26],
    "label": "INSIGHT SOSMED PROPERTI",
    "isi": """<p>Akun properti biasanya ramai di jumlah tayangan dan sepi di percakapan. Penyebabnya bukan kontennya jelek, tapi karena yang diukur cuma jumlah suka. Untuk bisnis properti, tiga angka yang benar-benar berguna adalah jumlah percakapan yang masuk, jumlah orang yang menyimpan atau membagikan postingan, dan jumlah kunjungan ke halaman unit. Angka lain tetap berguna sebagai konteks, tapi tidak untuk dijadikan target utama.</p>

<h2>Metrik yang layak dibaca tiap pekan</h2>
<ul>
<li><strong>Percakapan masuk.</strong> Berapa orang mengirim DM atau mengklik WhatsApp dari akun sosial Anda. Ini angka paling dekat dengan uang.</li>
<li><strong>Simpan dan bagikan.</strong> Orang menyimpan postingan properti karena berniat kembali lagi nanti, biasanya calon pembeli yang belum siap. Angka ini sering lebih tinggi daripada komentar, dan itu wajar.</li>
<li><strong>Kunjungan profil dan klik tautan.</strong> Menunjukkan berapa orang yang tertarik setelah melihat konten, bukan sekadar lewat.</li>
<li><strong>Jangkauan lokal.</strong> Kalau audiens Anda 80 persen dari luar kota yang Anda layani, kontennya perlu diarahkan ulang ke daerah target.</li>
</ul>
<p>Angka like dan jumlah follower tetap dicatat, tapi jangan dijadikan dasar keputusan. Akun dengan dua ribu follower lokal jauh lebih berharga bagi agen di satu kota daripada akun dengan dua puluh ribu follower tersebar di seluruh negeri.</p>

<h2>Format konten yang bekerja di segmen properti</h2>
<p>Dari akun-akun properti yang kami amati, format yang berulang kali menghasilkan percakapan ada enam.</p>
<p><strong>Tur video singkat satu unit.</strong> Satu menit, mulai dari depan, urut ruang demi ruang, tanpa musik yang menutupi suara penjelasan. Video seperti ini menghemat banyak kunjungan yang sebenarnya tidak cocok.</p>
<p><strong>Progres pembangunan berkala.</strong> Untuk proyek baru, ini menjawab keraguan terbesar pembeli. Posting bulanan dengan sudut pengambilan yang sama membuat perubahannya terlihat jelas.</p>
<p><strong>Harga terbuka.</strong> Postingan yang menyebut harga dan spesifikasi cenderung mendapat lebih sedikit interaksi publik, tapi lebih banyak pesan serius. Itu pertukaran yang menguntungkan.</p>
<p><strong>Jawaban atas pertanyaan yang berulang.</strong> Biaya balik nama, syarat jual rumah yang masih kredit, cara menghitung cicilan, atau perbandingan harga dua area. Konten seperti ini mendapat simpan dan bagikan paling banyak.</p>
<p><strong>Sebelum dan sesudah.</strong> Untuk kontraktor, interior, dan renovasi, format ini masih yang paling kuat karena buktinya terlihat langsung.</p>
<p><strong>Testimoni dan momen serah terima.</strong> Dibuat sesederhana mungkin, tapi berpengaruh besar pada kepercayaan calon pembeli berikutnya.</p>

<h2>Kanal mana untuk segmen mana</h2>
<p><strong>Instagram dan Threads</strong> paling berguna untuk agen dan developer yang menyasar pembeli akhir, karena cepat dalam hal jangkauan visual dan percakapan. <strong>TikTok dan Reels</strong> memberi jangkauan terbesar untuk tur unit dan progres proyek, cocok ketika stok Anda banyak tetapi jangkauan masih sempit. <strong>Facebook</strong> masih menjadi tempat berkumpulnya komunitas lokal, grup jual beli per kecamatan, dan pasar sekunder, jadi jangan dilewatkan untuk properti menengah ke bawah. <strong>LinkedIn</strong> lebih relevan untuk properti komersial seperti ruko, gudang, dan kantor, karena pengambil keputusannya bekerja di perusahaan.</p>

<h2>Seberapa sering posting</h2>
<p>Agen perorangan biasanya cukup tiga sampai lima unggahan per pekan selama isinya bergantian antara unit baru, konten edukasi, dan bukti kerja. Developer yang punya beberapa proyek bisa lebih sering, tapi sebaiknya tiap proyek punya jadwal sendiri agar tidak saling menutupi. Yang perlu dihindari adalah mengunggah sepuluh unit dalam satu hari lalu menghilang sebulan, karena audiens tidak lagi tahu apa yang harus ditunggu.</p>

<h2>Jam tayang dan ritme percakapan</h2>
<p>Untuk segmen properti, pagi sebelum jam kerja dan malam setelah jam makan malam biasanya paling ramai, karena orang mencari rumah di waktu senggang. Yang lebih menentukan bukan jam tayang, tapi kecepatan membalas. Calon pembeli properti menghubungi beberapa penjual dalam waktu yang berdekatan, dan yang membalas dengan informasi lengkap lebih dulu biasanya yang mendapat kunjungan.</p>

<h2>Melacak lead sampai ke sumbernya</h2>
<p>Konten yang tidak dilacak akan berakhir sebagai perdebatan selera. Tiga cara sederhana yang bisa dijalankan sekarang: pakai tautan berbeda untuk setiap kanal (penanda UTM), minta satu pertanyaan kualifikasi di WhatsApp (misalnya area yang diinginkan), lalu catat sumbernya di satu lembar kerja. Dalam dua sampai tiga pekan Anda akan tahu kanal mana yang menghasilkan percakapan berkualitas, dan keputusan anggaran jadi lebih mudah.</p>

<h2>Retargeting: memanfaatkan orang yang sudah melihat</h2>
<p>Orang yang pernah melihat unit tertentu biasanya baru siap beberapa pekan kemudian. Iklan ulang ke pengunjung halaman unit, atau ke daftar kontak yang pernah bertanya, jauh lebih murah daripada iklan ke orang yang belum pernah mengenal Anda. Ini salah satu bagian yang paling sering dilewatkan padahal datanya sudah tersedia.</p>

<h2>Kesalahan yang sering terjadi</h2>
<p>Pertama, mengejar jumlah follower dengan konten hiburan yang tidak berhubungan dengan properti, sehingga audiensnya salah sasaran. Kedua, mengunggah foto indah tanpa satu pun informasi harga, luas, atau lokasi. Ketiga, membalas komentar tetapi tidak pernah menindaklanjuti percakapan yang masuk ke DM. Keempat, menghapus atau membiarkan akun tidak aktif selama berbulan-bulan, padahal calon pembeli memakai keaktifan sebagai tanda penjualnya masih beroperasi.</p>

<h2>Yang kami kerjakan</h2>
<p>Kami menyusun rencana konten per segmen, membuat aset visual untuk unit dan proyek, memasang pelacakan supaya setiap percakapan bisa dilacak sumbernya, lalu membaca hasilnya tiap bulan. Dasarnya ada di <a href="https://studiosoft.id/digital-marketing-bisnis-properti/">panduan digital marketing bisnis properti</a>, dan untuk sisi teknis pencarian ada di <a href="https://studiosoft.id/seo-untuk-bisnis-properti/">SEO untuk bisnis properti</a>.</p>

<h2>Pertanyaan yang sering muncul</h2>
<h3>Berapa jumlah follower yang ideal untuk akun properti?</h3><p>Tidak ada angka idealnya. Yang lebih penting komposisi audiens: berapa persen berada di kota yang Anda layani. Akun dengan lima ribu follower lokal biasanya memberi lebih banyak prospek daripada akun dengan lima puluh ribu follower tersebar.</p>
<h3>Apakah harga sebaiknya ditulis di caption?</h3><p>Untuk sewa, kos, dan rumah menengah ke bawah, sebaiknya ditulis karena menyaring pertanyaan yang tidak serius. Untuk proyek mewah, banyak yang memilih menulis rentang harga, dan itu masih jauh lebih baik daripada tidak mencantumkan apa pun.</p>
<h3>Perlu ikut tren atau lagu yang sedang viral?</h3><p>Hanya kalau masih nyambung dengan properti. Tren membuat orang berhenti sejenak, tetapi yang membuat mereka menghubungi adalah informasi yang jelas. Akun properti yang hanya mengejar tren biasanya punya banyak tayangan dan sedikit percakapan.</p>
<h3>Konten mana yang paling banyak mendatangkan DM?</h3><p>Tur video unit dengan harga dan lokasi yang disebut di awal, serta konten edukasi soal cicilan dan biaya. Yang pertama menarik orang yang sudah mencari, yang kedua menarik orang yang sedang menyiapkan diri.</p>
<h3>Bagaimana kalau stok unit sedikit?</h3><p>Ganti sebagian konten unit menjadi konten edukasi dan bukti kerja, lalu pakai ulang unit yang belum terjual dari sudut berbeda: keunggulan lingkungan, akses jalan, atau perbandingan harga. Stok sedikit bukan alasan berhenti membuat konten.</p>""",
}

ARTIKEL = [A1, A2]


def api(path, method="GET", data=None):
    h = {"Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0"}
    body = json.dumps(data).encode() if data is not None else None
    if data is not None:
        h["Content-Type"] = "application/json"
    r = urllib.request.Request(S + path, data=body, headers=h, method=method)
    for _ in range(3):
        try:
            with urllib.request.urlopen(r, timeout=180) as x:
                return x.status, json.loads(x.read())
        except urllib.error.HTTPError as e:
            return e.code, e.read().decode()[:300]
        except Exception:
            time.sleep(5)
    return 0, "gagal"


def jumlah_kata(h):
    return len([w for w in re.split(r"\s+", html.unescape(re.sub(r"<[^>]+>", " ", h))) if w])


for a in ARTIKEL:
    a["kata"] = jumlah_kata(a["isi"])
    print(f"  {a['slug']:<38} {a['kata']} kata")

if "--apply" not in sys.argv:
    print("\n(dry run — pakai --apply untuk tayang)")
    sys.exit(0)

now = datetime.now(WIB).replace(microsecond=0)
for i, a in enumerate(ARTIKEL):
    tayang = now + timedelta(minutes=2 * i)
    faq = [(html.unescape(re.sub(r"<[^>]+>", "", m.group(1))),
            html.unescape(re.sub(r"<[^>]+>", "", m.group(2))))
           for m in re.finditer(r"<h3>(.*?)</h3><p>(.*?)</p>", a["isi"], re.S)]
    isi = a["isi"] + "\n" + schema(faq) + "\n" + CTA
    payload = {"title": a["judul"], "slug": a["slug"], "content": isi, "status": "publish",
               "date": tayang.strftime("%Y-%m-%dT%H:%M:%S"), "categories": a["kategori"],
               "meta": {"_yoast_wpseo_focuskw": a["fokus"], "_yoast_wpseo_title": a["seo_title"],
                        "_yoast_wpseo_metadesc": a["meta"]}}
    st, p = api("/wp-json/wp/v2/posts", "POST", payload)
    if st not in (200, 201):
        print("   GAGAL:", st, str(p)[:250]); continue
    pid = p["id"]
    st, cek = api(f"/wp-json/wp/v2/posts/{pid}?context=edit&_fields=status,date,slug,link,meta,content")
    raw = cek.get("content", {}).get("raw", "")
    print(f"   #{pid} {cek.get('status')} {cek.get('date')} {cek.get('link')} | meta="
          f"{[k for k in ('_yoast_wpseo_focuskw','_yoast_wpseo_metadesc') if cek.get('meta',{}).get(k)]} "
          f"| FAQ={'ya' if 'FAQPage' in raw else 'TIDAK'} | CTA={'ya' if 'ss-cta-wa' in raw else 'TIDAK'} "
          f"| kata={jumlah_kata(raw)}")
