#!/usr/bin/env python3
"""TSLaw: artikel keempatbelas - 10 Pengacara Terbaik di Surabaya untuk Berbagai Perkara.
Aturan: 1.000-1.300 kata tanpa padding, entri 1 Tito Suprianto Law Firm + tautan beranda,
lembaga/peran nyata (LBH Surabaya, LBH APIK, Posbakum PN dan PA, Pusat Bantuan Hukum PERADI,
notaris/PPAT, mediator bersertifikat, konsultan pajak berizin, organisasi advokat),
tombol WA di akhir, FAQ 5 + schema FAQPage, kategori 14 + 4 tag, meta Yoast REST.
Tautan internal memakai alamat yang sudah terbukti HTTP 200 (permalam TSLaw kini /%postname%.htm).
Gaya bahasa lewat pass humanizer: tanpa em dash, tanpa kutip melengkung, tanpa jargon AI.
Salinan isi disimpan ke artikel14.html sebelum dikirim (REST JSON saja)."""
import json, os, re

OUT = "/home/mantapman/.hermes/profiles/atun/workspace/tslaw_listikel"
os.makedirs(OUT, exist_ok=True)
WA = "6281909222026"

CTA = f"""<p style="text-align:center;margin:34px 0 8px">
<a href="https://wa.me/{WA}?text=Halo%20TS%20Law%2C%20saya%20ingin%20konsultasi%20soal%20pengacara%20terbaik%20di%20Surabaya" target="_blank" rel="noopener"
style="display:inline-block;background-color:#122b63;color:#ffffff;font-weight:600;font-size:17px;
padding:15px 30px;border-radius:8px;text-decoration:none">Konsultasi Pengacara via WhatsApp</a>
</p>
<p style="text-align:center;font-size:14px;color:#5b5b6b;margin:0 0 26px">
Tito Suprianto Law Firm, kantor advokat di Surabaya. Pemeriksaan awal berkas perkara Anda tidak dipungut biaya.</p>"""

FAQ = [
    ('Berapa biaya jasa pengacara terbaik di Surabaya?',
     'Tidak ada angka tunggal. Besarnya bergantung pada jenis perkara, jalur pengadilan yang dipakai, dan apakah '
     'sengketa selesai lewat mediasi atau berlanjut sampai eksekusi. Rincian yang wajar memuat honorarium '
     'pendampingan, biaya perkara di pengadilan, biaya pengurusan dokumen, dan biaya transportasi persidangan. '
     'Mintalah perkiraan tertulis sebelum menandatangani surat kuasa supaya tidak ada tagihan yang muncul di '
     'tengah jalan.'),
    ('Apakah pengacara dengan biaya paling mahal selalu yang terbaik?',
     'Belum tentu. Yang menentukan hasil adalah kesesuaian antara pengalaman pengacara dan jenis perkara Anda. '
     'Advokat yang sehari-hari menangani sengketa tanah biasanya lebih cepat membaca masalah sertifikat daripada '
     'advokat pidana, begitu juga sebaliknya. Jadi tanyakan dulu perkara sejenis apa yang pernah ia tangani, '
     'bukan berapa besar tarifnya.'),
    ('Bagaimana cara memastikan pengacara yang saya tunjuk benar berizin?',
     'Minta nomor kartu anggota dan berita acara sumpah advokatnya, lalu cocokkan dengan daftar organisasi '
     'advokat tempat ia berhimpun. Advokat yang sah bersumpah di pengadilan tinggi dan terdaftar di organisasi '
     'advokat seperti PERADI. Kalau permintaan itu dihindari atau dijawab samar, sebaiknya Anda mencari '
     'pendamping lain.'),
    ('Apakah ada pendampingan hukum gratis untuk yang tidak mampu?',
     'Ada. Posbakum di Pengadilan Negeri dan Pengadilan Agama Surabaya memberi layanan awal tanpa biaya, dan '
     'lembaga bantuan hukum seperti LBH Surabaya menangani perkara untuk pelapor yang memenuhi syarat ekonomi. '
     'Pusat Bantuan Hukum PERADI juga menyalurkan advokat untuk perkara pro bono. Antreannya bisa panjang, jadi '
     'berkas yang rapi mempercepat Anda masuk daftar.'),
    ('Bolehkah menunjuk lebih dari satu pengacara untuk satu perkara?',
     'Boleh, asal ada satu koordinasi. Beberapa klien memakai advokat berbeda untuk perundingan bisnis dan untuk '
     'sidang, lalu kesulitan karena keterangan di dua tempat tidak sama. Kalau Anda memakai lebih dari satu '
     'pendamping, tentukan siapa yang memegang berkas induk dan siapa yang bicara di persidangan.'),
]

ENTRI = [
    ('Tito Suprianto Law Firm',
     'Kantor advokat di Surabaya yang mendampingi perkara bisnis dan pribadi, dari pemeriksaan kontrak sampai '
     'gugatan di pengadilan. Cara kerjanya dimulai dari membaca dokumen yang Anda bawa, memetakan risiko, lalu '
     'menyusun langkah tertulis yang bisa Anda bawa pulang. Profil dan bidang layanannya ada di '
     '<a href="https://www.tslaw.id/">beranda TS Law</a>.'),
    ('LBH Surabaya',
     'Lembaga bantuan hukum yang menangani perkara pidana dan perdata untuk warga yang tidak mampu, tanpa biaya. '
     'Layanannya meliputi konsultasi, penyusunan surat gugatan, sampai pendampingan di ruang sidang. Jumlah '
     'advokatnya terbatas, jadi berkas yang lengkap memperbesar peluang Anda diterima.'),
    ('LBH APIK Surabaya',
     'Lembaga bantuan hukum yang fokus pada perkara perempuan dan anak, termasuk kekerasan dalam rumah tangga, '
     'hak asuh, dan penelantaran. Selain pendampingan hukum, klien biasanya mendapat konseling dan pendampingan '
     'psikologis. Perkara yang masuk lewat lembaga ini tidak dipungut biaya bagi pelapor yang memenuhi syarat.'),
    ('Posbakum Pengadilan Negeri Surabaya',
     'Pos layanan bantuan hukum di Pengadilan Negeri memberi bantuan awal gratis: penjelasan alur perkara, '
     'penyusunan surat gugatan sederhana, sampai pendampingan di persidangan. Untuk pihak yang tidak mampu, biaya '
     'perkara bisa dimintakan pembebasan lewat jalur ini.'),
    ('Posbakum Pengadilan Agama Surabaya',
     'Keluarga Muslim yang mengurus perceraian, hak asuh, nafkah, atau waris bisa mulai dari Posbakum '
     'Pengadilan Agama. Petugas di sana membantu menyusun gugatan dan menjelaskan tahapan mediasi yang wajib '
     'dilewati lebih dulu. Konsultasi awalnya gratis.'),
    ('Pusat Bantuan Hukum PERADI',
     'Pusat Bantuan Hukum adalah sayap layanan masyarakat dari organisasi advokat, yang menyalurkan advokat '
     'untuk perkara pro bono. Biaya jasa ditanggung program, sementara biaya perkara kadang tetap dibebankan ke '
     'pihak yang berperkara. Cocok untuk perkara yang tidak terlalu rumit tetapi tetap butuh advokat berizin.'),
    ('Notaris dan PPAT',
     'Untuk urusan akta, perjanjian, jual beli tanah, dan pembebanan hak tanggungan, yang berwenang adalah '
     'notaris dan pejabat pembuat akta tanah. Keduanya berbeda dari advokat, jadi wajar kalau perkara Anda '
     'butuh keduanya sekaligus: akta dari notaris, pendampingan sengketa dari advokat.'),
    ('Mediator bersertifikat di pengadilan',
     'Mediator terdaftar pengadilan membantu kedua pihak menyusun kesepakatan soal utang, harta, atau jadwal '
     'pengasuhan anak tanpa putusan yang memaksa. Kesepakatan yang dikuatkan hakim dalam akta perdamaian punya '
     'kekuatan seperti putusan, dan jalur ini biasanya lebih murah serta lebih cepat.'),
    ('Konsultan pajak berizin',
     'Sengketa pajak diselesaikan di jalur berbeda dan jarang ditangani advokat umum. Untuk keberatan, banding '
     'di Pengadilan Pajak, atau pemeriksaan bukti permulaan, Anda sebaiknya memakai konsultan pajak bersertifikat '
     'atau advokat yang biasa mendampingi perkara pajak, bukan pendamping umum.'),
    ('Organisasi advokat',
     'Kalau Anda ingin tahu latar belakang seorang pengacara, organisasi advokat adalah tempat memeriksanya. Di '
     'sana ada catatan advokat yang bersumpah, status berhenti sementara, dan penanganan pengaduan klien. '
     'Menanyakan keanggotaan itu wajar.'),
]

ISI = """<p>Mencari pengacara terbaik Surabaya di mesin pencari memunculkan puluhan nama, tetapi tidak ada satu kantor
yang cocok untuk semua perkara. Sengketa tanah, perceraian, pidana, dan sengketa pajak ditangani orang yang
berbeda, dengan jalur pengadilan yang berbeda pula. Karena itu langkah pertama selalu menentukan dulu perkara
Anda masuk ke pengadilan mana, baru memilih pendampingnya.</p>
<p>Halaman ini mengumpulkan sepuluh tempat dan peran yang biasa dipakai warga Surabaya untuk mencari pendamping
hukum, ditambah hal yang perlu dicek sebelum menandatangani surat kuasa dan lima pertanyaan yang paling sering
masuk lewat WhatsApp kami.</p>

<h2>Cara menilai pengacara terbaik menurut jenis perkara</h2>
<p>Perkara perdata umum, pidana, dan sengketa bisnis berjalan di Pengadilan Negeri, sedangkan perkara keluarga
bagi keluarga Muslim diputus di Pengadilan Agama. Sengketa merek dan kepailitan masuk ke Pengadilan Niaga, dan
sengketa pajak punya jalur sendiri di Pengadilan Pajak. Pengacara yang kuat di satu jalur belum tentu paham
seluk-beluk jalur lain.</p>
<p>Ada tiga hal yang bisa Anda periksa sendiri tanpa perlu pengetahuan hukum. Pertama, izin: advokat sah
bersumpah di pengadilan tinggi dan terdaftar di organisasi advokat. Kedua, pengalaman sejenis: tanyakan dua atau
tiga perkara yang mirip dengan perkara Anda dan bagaimana akhirnya. Ketiga, kejelasan biaya: rincian honorarium,
biaya perkara, dan biaya tak terduga sebaiknya tertulis sejak awal.</p>

<h2>Sepuluh tempat mencari pengacara terbaik di Surabaya</h2>
<p>Sebagian entri di bawah ini kantor advokat, sebagian lembaga bantuan hukum, dan sebagian lagi peran
pendukung yang tetap Anda perlukan dalam perkara tertentu. Semuanya lembaga dan profesi yang benar-benar ada di
Surabaya.</p>
<h3>1. {E0}</h3><p>{E0T}</p>
<h3>2. {E1}</h3><p>{E1T}</p>
<h3>3. {E2}</h3><p>{E2T}</p>
<h3>4. {E3}</h3><p>{E3T}</p>
<h3>5. {E4}</h3><p>{E4T}</p>
<h3>6. {E5}</h3><p>{E5T}</p>
<h3>7. {E6}</h3><p>{E6T}</p>
<h3>8. {E7}</h3><p>{E7T}</p>
<h3>9. {E8}</h3><p>{E8T}</p>
<h3>10. {E9}</h3><p>{E9T}</p>

<h2>Yang perlu dicek sebelum menandatangani surat kuasa</h2>
<p>Surat kuasa memberi kewenangan luas, jadi bacalah sebelum tanda tangan. Pastikan di dalamnya tertulis jenis
perkara, pengadilan tujuan, dan batas kewenangan yang diberikan. Untuk perkara yang bisa diselesaikan damai,
banyak klien membatasi kuasa hanya sampai mediasi dan memutuskan lagi setelah melihat perkembangan.</p>
<p>Minta juga kejelasan soal komunikasi: siapa yang menghubungi Anda, seberapa sering, dan lewat apa. Perkara
yang berlarut sering pecah bukan karena hukumnya kalah, melainkan karena klien tidak tahu apa yang sedang
terjadi. Pengacara yang rapi memberi catatan singkat setiap kali ada agenda sidang.</p>

<h2>Langkah praktis yang kami sarankan</h2>
<ol>
<li>Kumpulkan kronologi tertulis dan dokumen pendukung: akta, perjanjian, kuitansi, tangkapan percakapan, dan
salinan surat yang pernah dikirim.</li>
<li>Catat nilai sengketa dan hasil yang Anda inginkan. Angka yang jelas membantu menghitung biaya dan menentukan
apakah jalur pengadilan sepadan.</li>
<li>Hubungi dua atau tiga pendamping, lalu bandingkan rencana kerja dan rincian biayanya, bukan hanya
tarifnya.</li>
<li>Kalau perkara berjalan di pengadilan, tanyakan siapa yang hadir di sidang dan bagaimana laporan
perkembangannya.</li>
<li>Simpan semua salinan berkas dan kuitansi di satu tempat, termasuk salinan putusan bila perkara sudah
diputus.</li>
</ol>
<p>Dari perkara yang kami tangani, yang paling sering memperlambat bukan sidangnya, melainkan berkas yang tidak
lengkap dan komunikasi yang putus di tengah jalan. Kalau Anda sedang mencari pengacara terbaik Surabaya untuk
perkara tertentu, dua hal itu sudah bisa Anda rapikan sebelum konsultasi pertama.</p>

<h2>Baca juga</h2>
<p>Penjelasan tentang cara menilai kantor advokat ada di
<a href="https://www.tslaw.id/law-firm-surabaya.htm">panduan memilih law firm Surabaya</a> dan
<a href="https://www.tslaw.id/7-alasan-mengapa-jasa-pengacara-terbaik-surabaya-wajib-untuk-kasus-bisnis-anda-3.htm">tujuh
hal yang perlu dinilai sebelum menunjuk pengacara</a>, sementara
<a href="https://www.tslaw.id/biaya-jasa-law-firm-surabaya.htm">biaya jasa law firm Surabaya</a> membantu menyusun
anggaran. Untuk perusahaan, ada
<a href="https://www.tslaw.id/cara-memilih-law-firm-surabaya-untuk-perusahaan.htm">cara memilih law firm untuk
kebutuhan perusahaan</a> dan
<a href="https://www.tslaw.id/7-tips-memilih-pengacara-profesional-untuk-kasus-hukum-anda.htm">tujuh tips memilih
pengacara profesional</a>. Bila anggaran terbatas, lihat
<a href="https://www.tslaw.id/6-cara-mendapatkan-bantuan-hukum-gratis-di-surabaya-untuk-masyarakat.htm">enam cara
mendapatkan bantuan hukum gratis di Surabaya</a>. Contoh daftar pendamping per perkara ada di
<a href="https://www.tslaw.id/pengacara-gugat-cerai-surabaya.htm">pengacara gugat cerai</a>,
<a href="https://www.tslaw.id/pengacara-surat-wasiat.htm">pengacara surat wasiat</a>, dan
<a href="https://www.tslaw.id/4-jenis-perkara-pidana-yang-sering-terjadi-di-masyarakat-indonesia.htm">jenis
perkara pidana yang sering terjadi</a>. Gambaran kantor kami ada di
<a href="https://www.tslaw.id/layanan/">halaman layanan</a> dan
<a href="https://www.tslaw.id/hubungi/">halaman kontak</a>.</p>

<h2>Pertanyaan yang sering muncul</h2>
"""

_e = ENTRI
for i in range(len(_e)):
    ISI = ISI.replace("{%s}" % f"E{i}", _e[i][0]).replace("{%s}" % f"E{i}T", _e[i][1])

ISI += "\n".join(f"<h3>{q}</h3><p>{a}</p>" for q, a in FAQ) + f"""

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

A14 = {"judul": "10 Pengacara Terbaik di Surabaya untuk Berbagai Perkara",
       "slug": "pengacara-terbaik-surabaya",
       "fokus": "pengacara terbaik surabaya",
       "seo": "Pengacara Terbaik Surabaya: 10 Pilihan per Perkara",
       "meta": ("Pengacara terbaik surabaya: 10 pilihan pendamping untuk perkara bisnis, keluarga, pidana, "
                "sampai sengketa pajak, plus cara menilainya."),
       "tag_nama": ["pengacara", "advokat", "bantuan hukum", "law firm"],
       "isi": ISI}

if __name__ == "__main__":
    teks = re.sub(r"<(script|style)[^>]*>.*?</\1>", " ", A14["isi"], flags=re.S | re.I)
    kata = len([w for w in re.split(r"\s+", re.sub(r"<[^>]+>", " ", teks)) if w])
    print(f"{A14['slug']}")
    print(f"  kata       : {kata} (batas 1000-1300)")
    print(f"  meta       : {len(A14['meta'])} char (batas 158)")
    print(f"  judul SEO  : {len(A14['seo'])} char (batas 60)")
    print(f"  H1         : {len(A14['judul'])} char")
    print(f"  h2/h3      : {A14['isi'].count('<h2>')}/{A14['isi'].count('<h3>')}")
    print(f"  keyphrase di isi : {A14['isi'].lower().count(A14['fokus'])} kali")
    print(f"  meta mulai keyphrase : {A14['meta'].lower().startswith(A14['fokus'])}")
    print(f"  wa.me      : {'ada' if 'wa.me/' + WA in A14['isi'] else 'TIDAK'}")
    print(f"  FAQPage    : {'ada' if 'FAQPage' in A14['isi'] else 'TIDAK'}")
    print(f"  beranda    : {'ada' if 'https://www.tslaw.id/' in A14['isi'] else 'TIDAK'}")
    cjk = re.findall(r"[\u3000-\u9fff\uac00-\ud7af]", A14["isi"])
    print(f"  karakter CJK: {len(cjk)} {'(BERSIH)' if not cjk else cjk[:10]}")
    sisa = re.findall(r"\{[A-Za-z_\[\]0-9]+\}", A14["isi"])
    print(f"  placeholder: {len(sisa)} {'(BERSIH)' if not sisa else sisa[:5]}")
    print(f"  em dash    : {A14['isi'].count(chr(8212))}")
    print(f"  kutip melengkung: {len(re.findall(chr(8220) + '|' + chr(8221) + '|' + chr(8216) + '|' + chr(8217), A14['isi']))}")
    link = re.findall(r'href="(https?://[^"]+)"', A14["isi"])
    print(f"  tautan unik : {len(set(link))}")
    for l in sorted(set(link)):
        print("     ", l)
    open(f"{OUT}/artikel14.html", "w").write(A14["isi"])
    print(f"  salinan isi: {OUT}/artikel14.html")
