#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""StudioSoft — klaster turunan artikel #3535 (konten digital marketing rumah sakit).

Beberapa artikel breakdown, disusun semantik (klaster), humanis, dengan tautan balik ke #3535.
Gambar unggulan dibuat sendiri 1000x567 WebP.

Jalur:
  python3 ss_klaster_rs_konten.py            (dry run: hitung + cek)
  python3 ss_klaster_rs_konten.py --draft    (buat DRAFT + gambar + meta + tag)
"""
import base64, io, json, os, re, sys, time, urllib.error, urllib.request

WS = "/home/mantapman/.hermes/profiles/atun/workspace"
DOM = "studiosoft.id"
S = f"https://{DOM}"
AUTH = base64.b64encode(b"bambangbot:q26r RePo BVy6 pwU2 F3z7 ouyl").decode()
H = {"Authorization": f"Basic {AUTH}", "User-Agent": "Mozilla/5.0"}
HJ = {**H, "Content-Type": "application/json"}

INDUK = "https://studiosoft.id/9-contoh-konten-digital-marketing-rumah-sakit-yang-edukatif-dan-tetap-etis/"
WA = ("https://wa.me/6281935000624?text=Halo%20StudioSoft%2C%20saya%20ingin%20konsultasi%20"
      "konten%20digital%20marketing%20rumah%20sakit")
TOMBOL = ('<p style="text-align:center;margin:32px 0 8px"><a href="' + WA +
          '" target="_blank" rel="noopener" style="display:inline-block;background-color:#0f2557;'
          'color:#ffffff;padding:15px 34px;font-size:18px;font-weight:bold;text-decoration:none;'
          'border-radius:6px;">Konsultasi Gratis</a></p>')

# tujuan tautan internal yang sudah terbukti hidup
T_IND = {
    "induk": (INDUK, "contoh konten digital marketing rumah sakit"),
    "indikator": ("https://studiosoft.id/digital-marketing-rumah-sakit-indikator/",
                  "indikator digital marketing rumah sakit"),
    "seo_rs": ("https://studiosoft.id/seo-rumah-sakit/", "SEO rumah sakit"),
    "panduan": ("https://studiosoft.id/panduan-seo-klinik-rumah-sakit/", "panduan SEO klinik dan rumah sakit"),
    "gbp": ("https://studiosoft.id/google-business-profile-klinik/", "Google Business Profile untuk klinik"),
    "website_rs": ("https://studiosoft.id/pembuatan-website-rumah-sakit/", "pembuatan website rumah sakit"),
    "panduan_dm": ("https://studiosoft.id/rs-klinik-digital-marketing-2026/",
                   "panduan digital marketing rumah sakit dan klinik"),
    "home": ("https://studiosoft.id/", "StudioSoft"),
}


def l(kunci, teks=None):
    u, t = T_IND[kunci]
    return f'<a href="{u}">{teks or t}</a>'


# ============================== ARTIKEL ==============================
ARTIKEL = []

ARTIKEL.append({
    "judul": "Konten Tanya Dokter untuk Rumah Sakit: Format Q&A yang Tetap Etis",
    "slug": "konten-tanya-dokter-rumah-sakit",
    "fokus": "konten tanya dokter rumah sakit",
    "meta_judul": "Konten Tanya Dokter Rumah Sakit: Format Q&A Etis",
    "meta_desc": ("Konten tanya dokter rumah sakit berjalan baik kalau pertanyaannya disaring, "
                  "jawabannya diverifikasi dokter, dan tidak pernah memuat diagnosis pribadi."),
    "tag": [634, 653, 659, 654],
    "gambar_judul": ["Tanya Dokter", "Format tanya jawab yang tetap etis"],
    "isi": """
<p>Pesan masuk ke akun rumah sakit biasanya bertumpuk di dua tempat: kotak masuk media sosial dan nomor
WhatsApp layanan. Isinya berulang. Ada yang bertanya jadwal dokter, ada yang mengirim foto kulit dan
berharap jawaban, ada pula yang menanyakan apakah keluhan tertentu berbahaya. Menjawab satu per satu
memakan waktu, sementara membiarkannya membuat rumah sakit terlihat tidak menanggapi.</p>

<p>Format tanya jawab menawarkan jalan tengah. Pertanyaan yang sering muncul dijawab sekali secara terbuka,
lalu jawaban itu bisa dipakai berulang. Yang membuat format ini bekerja bukan kecepatan menjawab, melainkan
disiplin menyaring pertanyaan dan memastikan setiap jawaban lewat pemeriksaan dokter.</p>

<h2>Kenapa format tanya jawab cocok untuk rumah sakit</h2>
<p>Orang mencari informasi kesehatan lewat pencarian sebelum menghubungi fasilitas kesehatan. Pertanyaan
mereka biasanya sederhana dan berulang: apakah nyeri ini wajar, kapan sebaiknya ke dokter, apa yang
disiapkan sebelum pemeriksaan. Halaman tanya jawab menjawab hal seperti itu tanpa harus membuka data
pribadi siapa pun.</p>

<p>Manfaat lain, format ini memberi bahan mentah untuk kanal lain. Satu jawaban bisa dipakai sebagai
unggahan media sosial, potongan tanya jawab di situs, sampai pengingat singkat di layar ruang tunggu.
Rumah sakit cukup bekerja sekali untuk satu pertanyaan.</p>

<h2>Siapa yang menjawab</h2>
<p>Bagian ini sering diabaikan, padahal penentu kredibilitas. Susunan yang paling aman ada tiga lapis:
</p>
<ul>
<li><strong>Penyaring.</strong> Tim komunikasi mengumpulkan pertanyaan masuk, menandai mana yang layak
dibahas, dan membuang yang memuat data pribadi.</li>
<li><strong>Penjawab.</strong> Dokter atau tenaga medis yang berkompeten menjawab sesuai bidangnya, bukan
satu orang yang menguasai semua topik.</li>
<li><strong>Pemeriksa akhir.</strong> Satu orang memastikan kalimatnya tidak mengandung janji, tidak
menyebut dosis, dan tidak menyinggung pasien lain.</li>
</ul>
<p>Kalau rumah sakit hanya punya satu dokter dan satu admin, susunan ini tetap bisa dipakai. Yang penting
perannya jelas, bukan jumlah orangnya.</p>

<h2>Cara mengumpulkan pertanyaan yang layak dibahas</h2>
<p>Pertanyaan terbaik datang dari tempat yang sudah menampung keluhan nyata. Beberapa sumber yang biasanya
paling produktif:</p>
<ul>
<li>Pesan yang datang ke akun resmi, dikelompokkan berdasarkan kemiripan isi.</li>
<li>Catatan petugas pendaftaran tentang pertanyaan yang paling sering ditanyakan di loket.</li>
<li>Pertanyaan yang diucapkan pasien saat pemeriksaan, tentu tanpa menuliskan identitasnya.</li>
<li>Kata kunci yang sudah memunculkan situs rumah sakit di hasil pencarian.</li>
</ul>
<p>Cara terakhir sering terlupakan, padahal paling mudah diukur. Kalau halaman rumah sakit sudah muncul
untuk sebuah pertanyaan tetapi belum ada yang menjawabnya secara utuh, itu tanda halaman tanya jawab
dibutuhkan.</p>

<h2>Pertanyaan yang tidak boleh naik ke ruang publik</h2>
<p>Ada pertanyaan yang wajib dijawab di jalur pribadi, tidak lewat konten terbuka. Yang termasuk:</p>
<ul>
<li>Pertanyaan soal kondisi satu pasien tertentu, walau tanpa nama sekalipun, kalau cirinya bisa
menunjuk ke orang itu.</li>
<li>Keluhan atau komplain atas layanan. Ini masuk jalur penanganan keluhan, bukan menerbitkan konten.</li>
<li>Permintaan diagnosis dari foto, rekaman, atau hasil laboratorium.</li>
<li>Kasus yang sedang berjalan atau berpotensi jadi sengketa.</li>
</ul>
<p>Kalau pertanyaan seperti ini sering datang, artinya rumah sakit perlu menaruh keterangan jelas di
bio akun dan halaman kontak: ke mana pesan seperti itu diarahkan.</p>

<h2>Susunan jawaban yang enak dibaca</h2>
<p>Jawaban yang baik punya alur tetap. Empat bagian ini cukup untuk hampir semua pertanyaan:</p>
<ul>
<li><strong>Pertanyaan asli</strong> yang sudah dirapikan kalimatnya, tanpa mengubah maksudnya.</li>
<li><strong>Jawaban singkat</strong> dua sampai tiga baris. Banyak orang berhenti membaca di sini dan
mereka tetap mendapat jawabannya.</li>
<li><strong>Penjelasan</strong> soal alasan dan konteksnya, ditulis mengalir tanpa istilah teknis.</li>
<li><strong>Kapan harus diperiksa</strong>, berisi tanda yang menuntut pasien datang, bukan sekadar
daftar gejala.</li>
</ul>
<p>Panjang satu jawaban sebaiknya di kisaran 150 sampai 250 kata. Lebih dari itu, jawabannya cenderung
melebar dan pertanyaan aslinya justru tenggelam.</p>

<h2>Etika yang tidak boleh dilanggar</h2>
<p>Beberapa batas ini berlaku di semua kanal, termasuk yang terlihat santai seperti media sosial:</p>
<ul>
<li>Tidak mendiagnosis dari jauh. Sebut apa yang perlu diperiksa, bukan apa yang sedang diderita.</li>
<li>Tidak menjanjikan hasil. Kalimat seperti "pasti sembuh setelah satu tindakan" tidak punya tempat.</li>
<li>Tidak menyebut merek obat tertentu sebagai anjuran umum.</li>
<li>Tidak membahas pasien lain sebagai contoh, walau tanpa nama.</li>
<li>Tidak memakai foto pasien tanpa izin tertulis, termasuk foto yang sudah ada di internet.</li>
</ul>
<p>Panduan promosi rumah sakit di Indonesia pada dasarnya menuntut informasi yang benar, tidak menyesatkan,
dan tidak menjanjikan kesembuhan. Menulis dengan batas-batas di atas membuat konten tanya jawab tetap
aman sekaligus tetap berguna.</p>

<h2>Mengemas dan menjadwalkan</h2>
<p>Format tanya jawab bertahan lama kalau terbit teratur dan mudah ditemukan. Beberapa kebiasaan yang
membantu:</p>
<ul>
<li>Terbitkan tiga sampai empat pertanyaan sekaligus, bukan satu per hari. Pola ini membuat halaman
punya bobot dan lebih mudah dirangkum mesin pencari.</li>
<li>Simpan semua tanya jawab dalam satu alamat tetap di situs, lalu tautkan dari halaman layanan
terkait.</li>
<li>Pakai potongan jawaban untuk media sosial, tetapi arahkan pembaca ke halaman lengkapnya.</li>
<li>Perbarui jawaban lama ketika panduan atau jadwal berubah, jangan biarkan tulisan lama menyesatkan.</li>
</ul>
<p>Kalau rumah sakit juga mengelola kanal lain, isi tanya jawab bisa saling menopang dengan
""" + l("gbp") + """ dan """ + l("seo_rs") + """. Yang penting, pesan di semua kanal tetap sama.</p>

<h2>Mengukur apakah format ini bekerja</h2>
<p>Empat tanda ini cukup untuk menilai dalam dua sampai tiga bulan:</p>
<ul>
<li>Jumlah pesan yang menanyakan hal yang sudah dijawab di situs menurun.</li>
<li>Halaman tanya jawab mendapat kunjungan dari pencarian, bukan hanya dari media sosial.</li>
<li>Pertanyaan baru yang masuk jadi lebih spesifik, tanda pembaca sudah memahami penjelasan dasar.</li>
<li>Waktu tim menjawab pesan serupa berkurang karena jawabannya bisa ditautkan.</li>
</ul>

<h2>Kesalahan yang paling sering terjadi</h2>
<p>Dua kesalahan mendominasi. Pertama, menjadikan tanya jawab sebagai kanal jualan, sehingga setiap jawaban
diakhiri ajakan mendaftar. Pembaca merasakannya dan berhenti mempercayai isinya. Kedua, menjawab tanpa
verifikasi dokter sehingga muncul kalimat yang sebenarnya berisiko, misalnya saran menghentikan obat atau
anjuran menunggu padahal gejalanya menuntut pemeriksaan segera.</p>

<p>Cara menghindarinya sederhana: pisahkan pekerjaan menjawab dari pekerjaan menawarkan, dan pastikan
tidak ada satu jawaban pun terbit tanpa dibaca tenaga medis.</p>

<h2>Pertanyaan yang sering muncul</h2>

<h3>Siapa yang sebaiknya menjawab pertanyaan di kanal rumah sakit?</h3>
<p>Tenaga medis yang berkompeten di bidangnya, dengan tim komunikasi sebagai penyaring dan pemeriksa akhir.
Kalau sumber daya terbatas, satu dokter tetap cukup selama alurnya jelas.</p>

<h3>Bolehkah menjawab pertanyaan dari foto yang dikirim pasien?</h3>
<p>Tidak untuk memberi diagnosis. Yang bisa dilakukan adalah menjelaskan kemungkinan umum, lalu mengarahkan
pasien datang untuk pemeriksaan langsung.</p>

<h3>Berapa panjang ideal satu jawaban?</h3>
<p>Sekitar 150 sampai 250 kata. Cukup untuk menjelaskan tanpa membuat pembaca kehilangan intinya.</p>

<h3>Apakah perlu meminta izin untuk memakai pertanyaan pasien?</h3>
<p>Perlu, walau pertanyaannya dirapikan. Cara paling aman adalah menulis ulang pertanyaan berdasarkan pola
yang sering muncul, bukan menyalin pesan asli.</p>

<h3>Seberapa sering halaman tanya jawab perlu diperbarui?</h3>
<p>Periksa setiap tiga bulan. Perbarui jawaban yang menyebut jadwal, prosedur, atau panduan yang bisa
berubah.</p>

<h2>Baca juga</h2>
<p>Kalau rumah sakit baru mulai menata kontennya, sembilan bentuk konten yang bisa dipakai langsung sudah
dirangkum di """ + l("induk") + """. Untuk melihat apakah pekerjaan konten berdampak pada kunjungan,
ukurannya ada di """ + l("indikator") + """, dan alur lengkap dari pencarian sampai pendaftaran pasien
dibahas di """ + l("panduan_dm") + """.</p>

""" + TOMBOL + """
""",
})

ARTIKEL.append({
    "judul": "Testimoni Pasien di Media Sosial Rumah Sakit: Aturan dan Cara Minta Izin",
    "slug": "testimoni-pasien-media-sosial-rumah-sakit",
    "fokus": "testimoni pasien rumah sakit",
    "meta_judul": "Testimoni Pasien Rumah Sakit: Aturan dan Izin",
    "meta_desc": ("Testimoni pasien rumah sakit menarik, tetapi harus lewat izin tertulis dan bebas "
                  "klaim. Ini alur meminta izin dan menyaringnya."),
    "tag": [634, 659, 656, 639],
    "gambar_judul": ["Testimoni Pasien", "Izin tertulis sebelum tayang"],
    "isi": """
<p>Testimoni termasuk konten yang paling banyak dibaca di kanal rumah sakit. Cerita pasien terasa lebih
dekat daripada penjelasan prosedur. Masalahnya, cerita itu milik orang lain, dan menyiarkannya tanpa
kehati-hatian bisa merugikan pasien maupun rumah sakit.</p>

<p>Bagian tersulit biasanya bukan mengumpulkan testimoni, melainkan memutuskan mana yang layak tayang.
Halaman ini membahas alur meminta izin, cara menyaring isi, dan kalimat yang sebaiknya tidak pernah
muncul di testimoni rumah sakit.</p>

<h2>Kenapa testimoni perlu penanganan khusus</h2>
<p>Data kesehatan termasuk data pribadi yang bersifat khusus. Artinya, informasi bahwa seseorang pernah
dirawat di fasilitas tertentu dan tindakan apa yang dijalaninya tidak bisa dibuka tanpa persetujuan.
Mengunggah cerita pasien tanpa izin bukan sekadar kurang sopan, tetapi berisiko dari sisi hukum dan
mudah berubah menjadi keluhan.</p>

<p>Ada juga risiko kedua yang jarang disadari: janji tersirat. Ketika satu testimoni berbunyi "sembuh
total dalam sebulan", pembaca lain menyimpannya sebagai standar, padahal kondisi setiap pasien berbeda.
Ketika hasilnya tidak sama, kekecewaannya mengarah ke rumah sakit.</p>

<h2>Jenis testimoni dan tingkat risikonya</h2>
<ul>
<li><strong>Ulasan tanpa identitas</strong> di halaman penilaian publik. Risiko rendah, tetapi tetap perlu
dijawab dan tidak boleh dikutip sembarangan ke materi promosi.</li>
<li><strong>Cerita bertulis</strong> yang dikirim pasien lewat pesan. Butuh izin tertulis sebelum dipakai
di kanal resmi.</li>
<li><strong>Video atau foto</strong> pasien saat dirawat. Butuh izin tertulis, dan sebaiknya tanpa latar
yang bisa menunjuk ruangan atau nomor kamar.</li>
<li><strong>Kasus sensitif</strong> seperti kesehatan reproduksi, penyakit menular, atau kejiwaan. Paling
baik tidak dijadikan bahan publikasi sama sekali, walau sudah ada izin.</li>
</ul>

<h2>Cara meminta izin yang benar</h2>
<p>Persetujuan lisan sering dianggap cukup. Sebaiknya tidak, karena sulit dibuktikan dan mudah berubah
pikiran. Alur yang aman:</p>
<ul>
<li>Jelaskan dulu akan dipakai di mana, dalam bentuk apa, dan kira-kira kapan tayang.</li>
<li>Sampaikan bahwa pasien boleh memilih bagian mana yang boleh disebut dan mana yang tidak.</li>
<li>Minta persetujuan tertulis, bisa lewat formulir singkat atau pesan yang dibalas pasien.</li>
<li>Simpan bukti persetujuan itu selama kontennya masih tayang.</li>
<li>Pastikan pasien tahu bisa menarik izin kapan saja, dan jelaskan cara memintanya.</li>
</ul>
<p>Untuk pasien di bawah umur, izin diminta dari orang tua atau wali. Untuk pasien dengan kondisi yang
mempengaruhi kemampuan mengambil keputusan, izin mengikuti ketentuan yang berlaku di fasilitas kesehatan.</p>

<h2>Menyaring isi sebelum tayang</h2>
<p>Setelah izin didapat, isi testimoni masih perlu disaring. Empat hal yang harus diperiksa:</p>
<ul>
<li><strong>Klaim hasil.</strong> Ubah kalimat yang menjanjikan kesembuhan menjadi cerita pengalaman,
misalnya "keluhan saya membaik setelah menjalani pemeriksaan dan tindakan yang disarankan dokter".</li>
<li><strong>Sebutan merek obat atau alat.</strong> Sebaiknya dihapus, kecuali memang sedang menjelaskan
layanan yang tersedia.</li>
<li><strong>Perbandingan dengan fasilitas lain.</strong> Kalimat yang merendahkan tempat lain sebaiknya
tidak dipakai, walau pasien sendiri yang mengucapkannya.</li>
<li><strong>Data yang bisa menunjuk identitas.</strong> Nomor kamar, tanggal perawatan, nama petugas
tertentu, atau lokasi rumah pasien perlu dibuang.</li>
</ul>

<h2>Menulis ulang tanpa mengubah makna</h2>
<p>Kalau cerita pasien perlu dirapikan, rapikan pada susunannya, bukan pada intinya. Pola yang paling
aman: tuliskan kondisi awal yang dirasakan pasien, langkah yang diambil, dan perubahan yang dia rasakan.
Tanpa angka hasil, tanpa janji waktu, tanpa membandingkan dengan fasilitas lain.</p>

<p>Contoh arah penulisan: pasien datang dengan keluhan yang sudah lama mengganggu, ragu karena pernah
mencoba penanganan lain, lalu memutuskan memeriksakan diri. Dari pemeriksaan itu keluar penjelasan dan
rencana penanganan yang akhirnya dijalani. Cerita seperti ini jujur, tidak menjanjikan apa pun, dan
tetap menggambarkan mutu layanan.</p>

<h2>Testimoni palsu dan dampaknya</h2>
<p>Menulis sendiri testimoni, walau dengan nama samaran, adalah jalan pintas yang mahal. Pembaca cukup
tajam mengenali cerita yang seragam, dan begitu satu cerita terbukti karangan, seluruh kanal kehilangan
kepercayaan. Selain itu, ulasan palsu bertentangan dengan aturan platform penilaian yang bisa memberi
sanksi pada akun.</p>

<p>Kalau rumah sakit belum punya cukup testimoni asli, lebih baik menunggu. Konten lain seperti penjelasan
prosedur dan tanya jawab tetap bisa mengisi jadwal terbit sementara testimoni terkumpul secara alami.</p>

<h2>Membalas testimoni, termasuk yang negatif</h2>
<p>Testimoni bukan hanya soal mengunggah. Ulasan publik menuntut balasan, dan ulasan negatif sering lebih
menentukan citra daripada ulasan positifnya. Tiga hal yang perlu dipegang saat membalas:</p>
<ul>
<li>Balas cepat, tetapi jangan membahas detail medis di ruang publik.</li>
<li>Ucapkan terima kasih atas masukannya, lalu pindahkan pembicaraan ke jalur pribadi.</li>
<li>Jangan berdebat. Kalau ada kekeliruan, sampaikan koreksinya tanpa menyinggung pasien.</li>
</ul>
<p>Pola balasan yang tenang justru bekerja sebagai testimoni tersendiri, karena calon pasien menilai
caranya menghadapi keluhan, bukan hanya cerita keberhasilannya.</p>

<h2>Mengatur jadwal dan penempatan</h2>
<p>Testimoni sebaiknya tidak menumpuk di satu waktu. Sebar merata, misalnya satu sampai dua unggahan
per bulan, lalu simpan versi lengkapnya di situs. Halaman layanan bisa memuat kutipan singkat, sedangkan
cerita utuhnya diletakkan di satu halaman khusus agar tidak mengganggu penjelasan medis.</p>

<p>Tempat lain yang efektif adalah profil bisnis di mesin pencari, karena pembaca biasanya melihat
""" + l("gbp") + """ sebelum menghubungi. Isi yang konsisten antara situs dan profil bisnis membuat calon
pasien menemukan cerita yang sama di dua tempat.</p>

<p>Satu hal yang mudah terlewat: ceritakan juga proses di balik layanan, bukan hanya hasilnya. Pasien
yang bercerita tentang penjelasan dokter yang tenang, ruang tunggu yang tertib, atau proses pendaftaran
yang cepat memberi gambaran yang lebih jujur daripada kalimat pujian umum.</p>

<h2>Pertanyaan yang sering muncul</h2>

<h3>Apakah testimoni pasien boleh dipakai untuk iklan berbayar?</h3>
<p>Boleh selama ada izin tertulis yang mencakup pemakaian untuk iklan, dan selama isinya tidak memuat
klaim hasil. Izin terpisah diperlukan karena cakupannya lebih luas daripada unggahan biasa.</p>

<h3>Bolehkah menampilkan foto sebelum dan sesudah tindakan?</h3>
<p>Sebaiknya tidak untuk tindakan medis. Foto seperti itu mudah dibaca sebagai janji hasil dan sulit
dipertanggungjawabkan.</p>

<h3>Bagaimana kalau pasien menarik izin setelah konten tayang?</h3>
<p>Kontennya harus ditarik dari semua kanal, termasuk arsip media sosial. Karena itu, bukti izin dan
catatan tanggal tayang sebaiknya disimpan rapi sejak awal.</p>

<h3>Bolehkah memakai ulasan publik dari internet?</h3>
<p>Ulasan yang memang ditujukan untuk rumah sakit bisa dibalas di tempatnya. Untuk dipindahkan ke materi
promosi, tetap perlu izin dari penulisnya.</p>

<h3>Siapa yang sebaiknya menangani izin testimoni?</h3>
<p>Tim yang berhubungan langsung dengan pasien, dengan pemeriksaan akhir oleh bagian hukum atau manajemen.
Yang penting, tidak ada konten tayang sebelum izinnya tersimpan.</p>

<h2>Baca juga</h2>
<p>Testimoni hanya satu dari sembilan bentuk konten yang bisa dipakai rumah sakit. Bentuk lainnya, termasuk
edukasi gejala dan penjelasan prosedur, dirangkum di """ + l("induk") + """. Kalau rumah sakit ingin
tampil lebih sering di jawaban pencarian, langkahnya ada di """ + l("panduan") + """, dan pengaruh konten
terhadap kunjungan pasien dibahas di """ + l("indikator") + """.</p>

""" + TOMBOL + """
""",
})


ARTIKEL.append({
    "judul": "Menulis Konten Prosedur Medis dengan Bahasa yang Dipahami Pasien",
    "slug": "konten-prosedur-medis-bahasa-sederhana",
    "fokus": "konten prosedur medis",
    "meta_judul": "Konten Prosedur Medis: Bahasa yang Dipahami Pasien",
    "meta_desc": ("Konten prosedur medis berguna kalau ditulis dengan bahasa sehari-hari, menyebut apa "
                  "yang dirasakan pasien, dan tidak menakut-nakuti."),
    "tag": [634, 653, 660, 654],
    "gambar_judul": ["Prosedur Medis", "Menjelaskan tanpa membuat takut"],
    "isi": """
<p>Ketika dokter menyarankan sebuah tindakan, pasien biasanya pulang dengan dua hal: jadwal dan
kebingungan. Penjelasan di ruang periksa cepat dan padat, sementara istilah yang dipakai terdengar asing.
Tidak heran kalau banyak pasien mencari sendiri di internet, lalu berhenti di penjelasan yang lebih
menakutkan daripada kenyataannya.</p>

<p>Halaman prosedur di situs rumah sakit bisa menutup jarak itu. Yang membuatnya berguna bukan kelengkapan
istilah, melainkan kemampuan menjelaskan apa yang akan terjadi pada pasien dengan bahasa yang dia pakai
sehari-hari.</p>

<h2>Kenapa penjelasan prosedur sering membingungkan</h2>
<p>Ada tiga sebab yang paling sering. Pertama, penulisnya tenaga medis yang terbiasa berbicara dengan
rekan sejawat, sehingga istilah teknis keluar tanpa disadari. Kedua, halaman ditulis mengikuti urutan
prosedur rumah sakit, bukan urutan pertanyaan pasien. Ketiga, bagian yang paling dicari pasien, yaitu
apa yang akan dia rasakan dan berapa lama, justru ditulis paling singkat.</p>

<h2>Mulai dari pertanyaan yang benar-benar ditanyakan</h2>
<p>Sebelum menulis, kumpulkan pertanyaan yang muncul di ruang tunggu. Beberapa yang hampir selalu ada:
apakah tindakannya sakit, berapa lama, apakah perlu puasa, boleh pulang hari itu juga, dan apakah bisa
bekerja esok hari. Susun halaman mengikuti urutan pertanyaan ini, bukan urutan buku teks.</p>

<h2>Susunan penjelasan yang bekerja</h2>
<p>Enam bagian ini cukup untuk hampir semua tindakan:</p>
<ul>
<li><strong>Apa tindakan itu</strong> dalam satu sampai dua kalimat.</li>
<li><strong>Kenapa perlu dilakukan</strong>, dikaitkan dengan keluhan yang sedang dialami pasien.</li>
<li><strong>Apa yang akan dirasakan</strong>, termasuk rasa tidak nyaman yang wajar.</li>
<li><strong>Berapa lama</strong>, dari mulai persiapan sampai pasien boleh pulang.</li>
<li><strong>Persiapan sebelum datang</strong>, misalnya tidak makan beberapa jam sebelumnya.</li>
<li><strong>Setelah tindakan</strong>, apa yang boleh dan tidak boleh dilakukan, serta tanda yang perlu
dihubungi.</li>
</ul>
<p>Kalau enam bagian ini ada, halaman sudah menjawab sebagian besar pertanyaan tanpa perlu panjang.</p>

<h2>Mengganti istilah teknis tanpa kehilangan ketepatan</h2>
<p>Istilah medis tidak perlu dihapus seluruhnya, tetapi wajib dijelaskan saat pertama muncul. Pola yang
paling mudah: sebut istilahnya, lalu terjemahkan dalam tanda kurung, lalu pakai istilah itu lagi setelah
pembaca paham.</p>

<p>Contoh arah penulisannya: jaringan yang dicurigai diambil sedikit untuk diperiksa di laboratorium
(pengambilan sampel jaringan). Kalau hasil pemeriksaan itu menunjukkan jaringan yang tidak normal,
dokter akan menjelaskan pilihan penanganannya. Pembaca mengerti prosesnya tanpa harus menghafal istilah.</p>

<h2>Menjelaskan risiko tanpa menakut-nakuti</h2>
<p>Bagian risiko sering ditulis dengan daftar panjang yang membuat pembaca membatalkan tindakan. Cara yang
lebih jujur: pisahkan risiko yang sering terjadi dan ringan dari risiko yang jarang tetapi serius, lalu
jelaskan bagaimana rumah sakit menanganinya.</p>

<p>Kalimat seperti "tindakan ini aman" atau "tanpa risiko" sebaiknya dihindari, karena tidak benar.
Sebaliknya, kalimat seperti "rasa tidak nyaman setelah tindakan umum terjadi dan biasanya membaik dalam
beberapa hari" menyampaikan hal yang sama tanpa menakut-nakuti.</p>

<h2>Panjang, format, dan keterbacaan</h2>
<p>Panjang satu halaman prosedur tidak perlu melebihi seribu kata. Paragraf sebaiknya tiga sampai empat
baris, dengan sub-judul yang bisa dipindai. Kalau ada urutan, pakai daftar bernomor, bukan kalimat
bersambung. Untuk waktu dan jeda, sebut rentang, bukan angka pasti yang mengikat rumah sakit.</p>

<p>Satu hal yang membantu pembaca awam: letakkan kesimpulan di bagian awal. Satu paragraf pembuka yang
menjawab "ini tentang apa dan berapa lama" membuat pembaca tahu apakah halaman ini yang dicarinya.</p>

<p>Perhatikan juga cara pembaca membuka halaman ini. Sebagian besar datang dari ponsel, sering sambil
menunggu atau di perjalanan. Karena itu, kalimat panjang dengan banyak anak kalimat lebih baik dipecah.
Tabel juga sebaiknya dihindari untuk isi yang bisa ditulis sebagai daftar, karena tabel sempit di layar
ponsel dan memaksa pembaca menggulir ke samping.</p>

<h2>Siapa yang memeriksa tulisan</h2>
<p>Dua pemeriksaan yang sebaiknya selalu ada:</p>
<ul>
<li><strong>Pemeriksaan dokter.</strong> Memastikan isinya benar dan tidak melenceng dari standar layanan
rumah sakit.</li>
<li><strong>Uji pemahaman.</strong> Minta satu atau dua orang di luar tim medis membaca halaman itu, lalu
minta mereka menceritakan ulang isinya. Kalau ada bagian yang salah dipahami, di situlah tulisan perlu
diperbaiki.</li>
</ul>

<h2>Menyediakan jalur bertanya</h2>
<p>Sebagus apa pun tulisan, selalu ada pertanyaan yang tidak terjawab karena kondisinya berbeda. Karena
itu, setiap halaman prosedur sebaiknya diakhiri dengan cara bertanya: nomor layanan, jam operasional,
dan halaman tanya jawab. Yang perlu dipastikan, pesan yang masuk dijawab, bukan hanya dipasang nomornya.</p>

<h2>Menyesuaikan penjelasan dengan pembaca</h2>
<p>Satu halaman prosedur biasanya dibaca beberapa kelompok sekaligus: pasien yang akan menjalani
tindakannya, keluarganya yang menemani, dan kadang rekan tenaga medis di fasilitas lain. Halaman tidak
perlu dipecah menjadi beberapa versi, tetapi bagian awalnya sebaiknya ramah untuk pembaca yang paling
gugup, yaitu pasien dan keluarganya.</p>

<p>Cara praktisnya, hindari membuka halaman dengan daftar istilah. Mulai dari keadaan yang dikenali
pembaca, misalnya keluhan yang biasanya membawa orang ke tindakan tersebut. Istilah medis menyusul setelah
pembaca tahu konteksnya. Pembaca yang mencari versi lebih teknis bisa diarahkan ke halaman lain yang
memang ditulis untuk itu.</p>

<h2>Kesalahan yang paling sering terjadi</h2>
<ul>
<li>Menyalin brosur lama sehingga latar belakang prosedur sudah berubah.</li>
<li>Menyebut nama merek alat atau obat secara berlebihan.</li>
<li>Menulis terlalu panjang tanpa sub-judul, sehingga pembaca ponsel berhenti di tengah.</li>
<li>Memakai foto tindakan yang belum tentu nyaman dilihat calon pasien.</li>
<li>Tidak memperbarui jadwal, sehingga pasien datang di luar jam layanan.</li>
</ul>

<h2>Pertanyaan yang sering muncul</h2>

<h3>Apakah halaman prosedur boleh memuat foto tindakan?</h3>
<p>Boleh dengan kehati-hatian. Hindari foto yang memperlihatkan bagian tubuh pasien atau alat sampai detail
yang bisa mengganggu. Foto ruangan dan tim medis biasanya lebih aman dan tetap informatif.</p>

<h3>Berapa panjang ideal satu halaman prosedur?</h3>
<p>Sekitar enam ratus sampai seribu kata, dengan enam bagian utama di atas. Lebih panjang boleh selama
sub-judulnya jelas dan bagian penting tetap di awal.</p>

<h3>Apakah boleh menyebut rentang biaya?</h3>
<p>Sebagian rumah sakit memilih tidak mencantumkan angka karena bisa berubah. Yang lebih aman adalah
menjelaskan komponen apa saja yang masuk perhitungan, dan mengarahkan pasien bertanya melalui kanal resmi.</p>

<h3>Bagaimana menjelaskan risiko yang jarang terjadi?</h3>
<p>Sebut apa adanya, tempatkan bersama bagian penanganan, dan hindari menumpuk semuanya dalam satu daftar
panjang tanpa konteks.</p>

<h3>Siapa yang sebaiknya menulis drafnya?</h3>
<p>Tim komunikasi bisa menyusun draf dari penjelasan dokter, lalu dokternya memeriksa. Cara ini biasanya
menghasilkan bahasa yang lebih mudah dipahami dengan isi yang tetap akurat.</p>

<h2>Baca juga</h2>
<p>Halaman prosedur adalah satu dari sembilan bentuk konten yang bisa dipakai rumah sakit, semuanya
dirangkum di """ + l("induk") + """. Kalau rumah sakit sedang membenahi situsnya, urutan pekerjaan yang
masuk akal ada di """ + l("website_rs") + """, dan cara mengukur apakah halaman seperti ini benar-benar
mendatangkan pasien dibahas di """ + l("indikator") + """.</p>

""" + TOMBOL + """
""",
})

ARTIKEL.append({
    "judul": "Konten Edukasi Gejala Penyakit: Cara Menyusun agar Dicari Pasien",
    "slug": "konten-edukasi-gejala-penyakit-rumah-sakit",
    "fokus": "konten edukasi gejala penyakit",
    "meta_judul": "Konten Edukasi Gejala Penyakit untuk Rumah Sakit",
    "meta_desc": ("Konten edukasi gejala penyakit paling dicari pasien, tetapi harus menyertakan tanda "
                  "bahaya dan kapan sebaiknya segera diperiksa."),
    "tag": [634, 653, 659, 654],
    "gambar_judul": ["Edukasi Gejala", "Menyusun agar ditemukan pasien"],
    "isi": """
<p>Dari semua jenis konten kesehatan, yang paling sering dicari adalah gejala. Orang mengetik keluhan yang
sedang dirasakan, bukan nama penyakit. Mereka ingin tahu apakah keadaan ini wajar, apakah perlu ke dokter,
dan seberapa cepat. Halaman yang menjawab tiga hal itu punya peluang besar ditemukan.</p>

<p>Masalahnya, konten gejala juga yang paling mudah melenceng. Tanpa kehati-hatian, halaman berubah menjadi
sumber diagnosis mandiri, atau sebaliknya terlalu umum sehingga tidak menolong siapa pun. Bagian berikut
membahas cara menyusunnya agar berguna dan tetap aman.</p>

<h2>Kenapa konten gejala layak digarap lebih dulu</h2>
<p>Kueri gejala biasanya panjang dan spesifik, misalnya berisi bagian tubuh, durasi, atau keadaan seperti
"nyeri perut kanan bawah saat ditekan". Kueri seperti ini lebih mudah dimenangkan daripada kueri umum
seperti "rumah sakit terbaik", yang sudah dikuasai situs besar dan direktori.</p>

<p>Selain itu, kueri gejala datang dari orang yang sedang mencari pertolongan. Kalau halaman rumah sakit
menjawab jelas dan menenangkan, pembaca punya alasan untuk menghubungi fasilitas itu, bukan fasilitas
lain yang informasinya lebih membingungkan.</p>

<h2>Peta pertanyaan yang perlu dijawab</h2>
<p>Satu halaman gejala sebaiknya menjawab empat kelompok pertanyaan berikut:</p>
<ul>
<li><strong>Gejala itu seperti apa</strong>, termasuk variasi yang normal dan yang tidak.</li>
<li><strong>Apa yang biasanya menyebabkannya</strong>, disebut sebagai kemungkinan, bukan kesimpulan.</li>
<li><strong>Kapan harus diperiksa</strong>, dibagi menjadi segera dan bisa dijadwalkan.</li>
<li><strong>Apa yang bisa dilakukan sementara</strong>, berupa langkah aman yang tidak menggantikan
pemeriksaan.</li>
</ul>
<p>Kalau satu aspek terlalu luas, pecah menjadi halaman terpisah. Dua halaman yang masing-masing tuntas
lebih berguna daripada satu halaman raksasa yang menyinggung banyak hal.</p>

<p>Urutan bagiannya juga berpengaruh. Pembaca yang sedang merasakan keluhan biasanya ingin lebih dulu tahu
apakah keadaannya berbahaya. Kalau bagian tanda bahaya diletakkan paling bawah, sebagian pembaca sudah
berhenti sebelum sampai ke sana. Meletakkannya di paruh awal halaman membuat pembaca mendapat informasi
terpenting lebih cepat, sementara penjelasan panjang tetap tersedia di bawahnya.</p>

<h2>Bagian yang paling sering dilupakan: tanda bahaya</h2>
<p>Hampir semua halaman gejala menyebut penyebab, tetapi sedikit yang menuliskan batas kapan seseorang
harus berhenti mencari jawaban di internet dan segera mencari pertolongan. Bagian ini yang membuat halaman
bertanggung jawab.</p>

<p>Susunannya sederhana. Buat satu bagian berjudul jelas, misalnya "Kapan harus segera ke fasilitas
kesehatan", lalu sebut keadaan yang menuntut tindakan cepat, seperti nyeri hebat yang muncul mendadak,
sesak, perdarahan yang tidak berhenti, atau penurunan kesadaran. Sebut dengan bahasa yang bisa dikenali
orang awam, bukan istilah klinis.</p>

<h2>Menulis tanpa mendiagnosis</h2>
<p>Tiga kalimat ini menentukan apakah halaman tetap aman:</p>
<ul>
<li>Gunakan bentuk kemungkinan: "bisa disebabkan oleh".</li>
<li>Hindari menyimpulkan: "jika Anda mengalami ini, berarti Anda menderita".</li>
<li>Arahkan ke pemeriksaan: "penyebabnya perlu dipastikan lewat pemeriksaan langsung".</li>
</ul>
<p>Hindari juga menyarankan obat tertentu, terutama yang butuh resep, dan jangan mencantumkan dosis.
Kalau ingin menyebut pilihan penanganan, sebut jenis tindakannya dan serahkan keputusannya pada dokter.</p>

<h2>Menyambungkan gejala dengan layanan yang tersedia</h2>
<p>Halaman gejala yang baik tidak berhenti pada penjelasan. Setelah pembaca memahami keadaannya, dia
butuh tahu langkah berikutnya: ke poliklinik mana, kapan jam praktiknya, apakah perlu rujukan, dan
bagaimana cara mendaftar.</p>

<p>Bagian ini yang membedakan halaman rumah sakit dari artikel kesehatan umum. Situs besar bisa menjelaskan
gejala, tetapi hanya rumah sakit yang bisa menyebut layanan, jadwal, dan alur pendaftarannya sendiri.</p>

<h2>Judul dan penamaan yang mudah ditemukan</h2>
<p>Judul sebaiknya memakai bahasa yang dipakai pencari, bukan istilah resmi. Kalau pasien mengetik "nyeri
ulu hati", istilah "dispepsia" sebaiknya diletakkan di dalam isi sebagai penjelasan, bukan dijadikan judul
satu-satunya. Sertakan juga keterangan wilayah pada halaman layanan, karena pencari lokal sering
menambahkan nama kota.</p>

<p>Untuk urusan teknis, halaman seperti ini cocok diperkuat dengan """ + l("seo_rs") + """, terutama bagian
tentang pencarian pasien yang paling sering muncul.</p>

<h2>Menghindari halaman yang saling berebut</h2>
<p>Setelah punya banyak halaman gejala, muncul risiko baru: dua halaman membahas hal yang hampir sama
sehingga tidak ada yang menang. Cara mencegahnya:</p>
<ul>
<li>Catat satu kata kunci utama untuk setiap halaman, dan jangan pakai ulang.</li>
<li>Kalau dua halaman bersinggungan, gabungkan, lalu alihkan alamat halaman yang lebih lemah ke halaman
gabungan.</li>
<li>Bedakan sudut pembahasan: satu halaman untuk gejala, halaman lain untuk pemeriksaan atau
penanganannya.</li>
</ul>

<h2>Menjaga nada agar tidak menakut-nakuti</h2>
<p>Pembaca halaman gejala biasanya sedang cemas. Karena itu, susunan kalimat menentukan apakah dia merasa
dituntun atau merasa dihakimi. Kalimat yang menyalahkan kebiasaan pembaca, misalnya menyebut kelalaian
sebagai penyebab utama, cenderung membuat dia berhenti membaca justru di bagian yang paling menolong.</p>

<p>Nada yang bekerja adalah nada yang menjelaskan. Sebut apa yang terjadi pada tubuh, apa yang bisa
dilakukan hari itu, dan kapan sebaiknya memeriksakan diri. Hindari melebihkan bahaya untuk menakut-nakuti
maupun meremehkan keluhan untuk menenangkan. Keduanya sama-sama membuat pembaca salah menilai
keadaannya.</p>

<h2>Merawat halaman setelah terbit</h2>
<p>Halaman gejala cenderung menua cepat karena panduan penanganan bisa berubah. Beberapa kebiasaan
perawatan yang menolong:</p>
<ul>
<li>Catat tanggal pemeriksaan terakhir di bagian bawah halaman.</li>
<li>Periksa setiap enam bulan, terutama bagian tanda bahaya dan alur rujukan.</li>
<li>Perbarui nomor layanan dan jam praktik begitu ada perubahan, karena dua hal ini paling sering
menyebabkan pasien datang ke alamat yang salah.</li>
<li>Simpan daftar pertanyaan yang belum terjawab dari pesan masuk, lalu jadikan bahan halaman berikutnya.</li>
</ul>

<h2>Mengukur hasilnya</h2>
<p>Halaman gejala bisa dinilai dengan beberapa angka sederhana: jumlah kueri yang memunculkannya, posisi
rata-rata, jumlah klik, dan berapa pembaca yang melanjutkan ke halaman layanan atau menghubungi nomor
resmi. Kalau tayangan naik tetapi tidak ada yang melanjutkan, biasanya bagian "kapan harus diperiksa"
belum cukup jelas.</p>

<h2>Pertanyaan yang sering muncul</h2>

<h3>Apakah boleh menyebut nama penyakit tertentu?</h3>
<p>Boleh untuk menjelaskan, selama tidak dipakai untuk menyimpulkan kondisi pembaca. Sertakan kalimat
bahwa kepastian hanya didapat lewat pemeriksaan.</p>

<h3>Seberapa sering halaman gejala perlu diperbarui?</h3>
<p>Periksa setiap enam bulan, dan segera perbarui kalau ada perubahan panduan penanganan, jadwal layanan,
atau alur rujukan.</p>

<h3>Bolehkah memakai foto pasien sebagai ilustrasi?</h3>
<p>Sebaiknya tidak tanpa izin tertulis. Ilustrasi ruangan, alat, atau tim medis biasanya cukup dan lebih
aman.</p>

<h3>Apakah halaman gejala perlu memuat tanya jawab?</h3>
<p>Perlu. Tiga sampai lima pertanyaan yang paling sering muncul akan menutup sisa kebingungan pembaca
sekaligus membantu halaman tampil di pencarian.</p>

<h3>Bagaimana kalau rumah sakit belum punya tim penulis?</h3>
<p>Mulai dari lima halaman gejala yang paling sering ditanyakan di loket pendaftaran. Lima halaman yang
selesai lebih berguna daripada dua puluh halaman yang setengah jadi.</p>

<h2>Baca juga</h2>
<p>Edukasi gejala adalah satu dari """ + l("induk") + """, bersama tanya jawab dokter dan penjelasan
prosedur. Untuk melihat bagaimana konten seperti ini masuk ke keseluruhan rencana pemasaran rumah sakit,
lihat """ + l("panduan_dm") + """; dan kalau yang dibutuhkan adalah kehadiran di pencarian lokal,
mulailah dari """ + l("gbp") + """.</p>

""" + TOMBOL + """
""",
})

ARTIKEL.append({
    "judul": "FAQ Layanan Rumah Sakit: Cara Menyusun Pertanyaan yang Benar-benar Dicari",
    "slug": "faq-layanan-rumah-sakit",
    "fokus": "faq layanan rumah sakit",
    "meta_judul": "FAQ Layanan Rumah Sakit: Menyusun dari Pertanyaan Nyata",
    "meta_desc": ("FAQ layanan rumah sakit sebaiknya disusun dari pertanyaan yang benar-benar masuk, "
                  "dijawab singkat, dan diperbarui berkala."),
    "tag": [634, 659, 654, 639],
    "gambar_judul": ["FAQ Layanan", "Disusun dari pertanyaan nyata"],
    "isi": """
<p>Halaman pertanyaan yang sering diajukan sering dianggap pekerjaan tambahan: dibuat sekali di awal,
lalu dibiarkan bertahun-tahun. Padahal halaman ini termasuk yang paling sering dibuka calon pasien,
karena di situlah mereka mencari jawaban sebelum memutuskan datang.</p>

<p>Kalau isinya tidak diperbarui, halaman FAQ berubah menjadi sumber keluhan. Jam praktik yang berubah,
alur pendaftaran yang diganti, atau syarat yang sudah tidak berlaku akan membuat pasien datang dengan
harapan yang salah. Bagian berikut membahas cara menyusun dan merawat halaman ini supaya tetap berguna.</p>

<h2>Ambil pertanyaan dari tempat yang benar</h2>
<p>FAQ yang baik bukan karangan tim pemasaran. Sumbernya ada di tempat-tempat ini, dan semuanya gratis:
</p>
<ul>
<li>Catatan petugas pendaftaran tentang pertanyaan yang paling sering diulang setiap hari.</li>
<li>Pesan masuk ke nomor layanan dan akun media sosial, dikelompokkan berdasarkan kemiripan.</li>
<li>Pertanyaan yang disampaikan lewat telepon, terutama soal jadwal, syarat, dan alur rujukan.</li>
<li>Kata kunci pencarian yang sudah memunculkan situs rumah sakit.</li>
<li>Ulasan publik, terutama yang berisi keluhan tentang informasi yang kurang jelas.</li>
</ul>
<p>Setelah terkumpul, kelompokkan menjadi beberapa tema: jadwal dan pendaftaran, syarat dan dokumen,
asuransi dan pembiayaan, layanan tertentu, serta hasil dan tindak lanjut.</p>

<h2>Pisahkan pertanyaan administratif dari pertanyaan medis</h2>
<p>Dua jenis ini butuh penanganan berbeda. Pertanyaan administratif seperti jam buka, cara mendaftar, dan
dokumen yang dibawa bisa dijawab lengkap di halaman publik.</p>

<p>Pertanyaan medis seperti keluhan pribadi, hasil pemeriksaan, atau saran pengobatan tidak bisa dijawab
di halaman terbuka. Yang bisa dilakukan adalah menjelaskan alur umumnya, lalu mengarahkan pasien ke jalur
yang tepat, misalnya pendaftaran poli atau layanan konsultasi.</p>

<h2>Cara menulis jawaban FAQ</h2>
<p>Tiga aturan ini membuat FAQ enak dibaca:</p>
<ul>
<li><strong>Jawaban langsung di kalimat pertama.</strong> Pembaca tidak perlu membaca tiga paragraf untuk
tahu jam buka layanan.</li>
<li><strong>Satu jawaban untuk satu pertanyaan.</strong> Kalau satu jawaban bercabang ke banyak hal,
pecah menjadi beberapa pertanyaan.</li>
<li><strong>Tanpa janji dan tanpa angka yang bisa berubah sembarangan.</strong> Sebut rentang waktu kalau
memang bervariasi, dan arahkan ke kanal resmi untuk hal yang khusus.</li>
</ul>
<p>Panjang jawaban yang nyaman sekitar lima puluh sampai seratus lima puluh kata. Kalau butuh penjelasan
lebih panjang, tautkan ke halaman layanan yang memang membahasnya.</p>

<h2>Struktur halaman dan penempatannya</h2>
<p>Halaman FAQ sebaiknya berdiri sendiri, dengan alamat tetap, dan dipecah memakai sub-judul sesuai tema.
Dari halaman layanan, tautkan langsung ke bagian yang relevan, bukan hanya ke halaman utamanya.</p>

<p>Letakkan juga tautan ke halaman ini di beberapa tempat yang mudah ditemukan: menu utama, halaman
kontak, dan balasan otomatis pesan masuk. Calon pasien yang menghubungi di luar jam kerja biasanya
menemukan jawabannya sendiri kalau halaman ini mudah diakses.</p>

<p>Untuk halaman yang isinya panjang, pertimbangkan memecahnya menjadi beberapa bagian dengan sub-judul
yang jelas dan daftar isi singkat di atas. Pembaca yang mencari satu hal tertentu bisa langsung melompat
ke bagiannya, sementara pembaca yang baru pertama kali datang tetap bisa membaca dari awal. Cara ini juga
membantu petugas yang ingin menautkan satu bagian saja ketika menjawab pesan.</p>

<h2>Membantu mesin pencari memahami halaman</h2>
<p>Pertanyaan dan jawaban yang disusun rapi bisa dibaca mesin pencari sebagai pasangan tanya jawab. Kalau
rumah sakit memakai data terstruktur untuk halaman ini, pastikan isinya sama dengan yang terlihat pembaca,
dan jangan menambahkan pertanyaan yang tidak benar-benar ada di halaman.</p>

<p>Untuk kehadiran lokal, halaman FAQ juga bekerja berdampingan dengan """ + l("gbp") + """, karena
pertanyaan seperti jam buka dan layanan yang tersedia muncul di kedua tempat.</p>

<h2>Menjaga FAQ tetap akurat</h2>
<p>Halaman ini hanya berguna kalau isinya benar. Beberapa kebiasaan perawatan yang perlu dijalankan:</p>
<ul>
<li>Tetapkan satu orang sebagai penanggung jawab halaman.</li>
<li>Periksa isi setiap tiga bulan, dan segera setelah ada perubahan jadwal, tarif layanan, atau alur
pendaftaran.</li>
<li>Catat tanggal pembaruan terakhir supaya pembaca tahu isinya masih relevan.</li>
<li>Simpan daftar pertanyaan yang belum dijawab, lalu jadwalkan untuk dibahas.</li>
</ul>

<h2>Memanfaatkan isi yang sama di kanal lain</h2>
<p>Satu jawaban bisa dipakai berulang. Potongan jawaban tentang jam praktik cocok menjadi unggahan singkat.
Penjelasan alur rujukan bisa menjadi balasan siap pakai bagi petugas yang menjawab pesan. Untuk layar
ruang tunggu, tiga pertanyaan teratas biasanya cukup mengisi satu tampilan.</p>

<p>Yang penting, arahkan pembaca ke satu sumber utama. Kalau jawaban di media sosial berbeda dengan yang
ada di situs, kepercayaan justru berkurang.</p>

<p>Sebelum dipakai di kanal lain, rapikan kalimatnya sesuai kebiasaan pembaca di sana. Di media sosial,
jawaban bisa lebih pendek dan memakai sapaan yang lebih santai, tetapi isinya harus tetap sama. Bagian
terakhir yang sering terlupa: perbarui juga versi yang sudah tersebar, atau setidaknya catat tanggal
berlakunya supaya petugas tidak mengutip informasi lama.</p>

<h2>Pertanyaan yang sebaiknya tidak dimasukkan</h2>
<p>Tidak semua pertanyaan cocok diletakkan di halaman terbuka. Beberapa yang sebaiknya dijawab lewat jalur
pribadi: pertanyaan tentang kondisi satu pasien tertentu, keluhan atas layanan yang pernah diterima,
permintaan saran pengobatan dari hasil pemeriksaan, dan hal-hal yang menyangkut perkiraan hasil tindakan
pada kasus pribadi.</p>

<p>Kalau pertanyaan seperti itu sering muncul, artinya rumah sakit perlu memastikan jalur penanganannya
jelas. Cukup cantumkan di halaman kontak: keluhan layanan lewat jalur mana, pertanyaan medis lewat jalur
mana, dan berapa lama biasanya dijawab. Kejelasan ini mengurangi pesan yang salah alamat sekaligus menjaga
halaman FAQ tetap berisi hal yang berguna untuk semua pembaca.</p>

<h2>Mengukur apakah FAQ bekerja</h2>
<ul>
<li>Jumlah pesan yang menanyakan hal yang sudah tertulis di halaman menurun.</li>
<li>Halaman FAQ mulai mendapat kunjungan dari pencarian.</li>
<li>Pertanyaan yang masuk bergeser ke hal yang lebih spesifik.</li>
<li>Waktu petugas menjawab pesan berulang berkurang karena bisa menautkan halaman.</li>
</ul>

<h2>Pertanyaan yang sering muncul</h2>

<h3>Berapa banyak pertanyaan yang ideal di halaman FAQ?</h3>
<p>Mulai dari sepuluh sampai lima belas pertanyaan yang paling sering masuk. Jumlah bisa bertambah seiring
waktu, asalkan setiap pertanyaan masih sering ditanyakan.</p>

<h3>Apakah FAQ perlu dipisah per layanan?</h3>
<p>Kalau satu layanan punya banyak pertanyaan khusus, pisahkan ke halaman layanan itu. Halaman FAQ utama
tetap memuat pertanyaan umum.</p>

<h3>Bolehkah memuat pertanyaan tentang biaya?</h3>
<p>Boleh, selama jawabannya menjelaskan komponen dan cara menanyakan rinciannya, bukan mencantumkan angka
yang bisa berubah.</p>

<h3>Bagaimana menangani pertanyaan yang tidak menyenangkan?</h3>
<p>Jawab dengan tenang dan tanpa membela diri berlebihan. Kalau menyangkut kasus pribadi, arahkan ke jalur
penanganan keluhan.</p>

<h3>Seberapa sering halaman FAQ perlu diperbarui?</h3>
<p>Periksa setiap tiga bulan, dan setiap kali ada perubahan layanan. Cantumkan tanggal pembaruan terakhir.</p>

<h2>Baca juga</h2>
<p>FAQ melengkapi delapan bentuk konten lain yang dirangkum di """ + l("induk") + """. Supaya halaman
layanan mudah ditemukan lebih dulu, urutannya dibahas di """ + l("panduan") + """; dan kalau rumah sakit
ingin melihat pengaruh semua halaman ini terhadap jumlah kunjungan pasien, ukurannya ada di
""" + l("indikator") + """.</p>

""" + TOMBOL + """
""",
})


def rest(path, method="GET", data=None):
    body = json.dumps(data).encode() if data is not None else None
    r = urllib.request.Request(S + path, data=body, headers=HJ, 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 as e:
            terakhir = str(e)[:120]
            time.sleep(4)
    return 0, terakhir


def polos(html):
    t = re.sub(r"<script.*?</script>|<style.*?</style>", " ", html, flags=re.S | re.I)
    t = re.sub("<[^>]+>", " ", t)
    return re.sub(r"\s+", " ", t).strip()


def buat_gambar(judul_baris, sub, nama_berkas):
    """Gambar unggulan 1000x567 WebP, gaya StudioSoft."""
    from PIL import Image, ImageDraw, ImageFont
    FONTS = os.path.expanduser("~/.fonts")
    f = lambda n, s: ImageFont.truetype(os.path.join(FONTS, n), s)
    NAVY, BIRU, ABU, PUTIH = (11, 31, 58), (37, 99, 235), (100, 116, 139), (255, 255, 255)
    W, H, PAD = 1000, 567, 62

    def bungkus(t, font, maks):
        baris, kini = [], ""
        for k in t.split():
            c = (kini + " " + k).strip()
            if font.getlength(c) <= maks:
                kini = c
            else:
                if kini:
                    baris.append(kini)
                kini = k
        if kini:
            baris.append(kini)
        return baris

    img = Image.new("RGB", (W, H), PUTIH)
    dr = ImageDraw.Draw(img)
    dr.rectangle([0, 0, W, 12], fill=BIRU)
    dr.rectangle([W - 300, H - 300, W, H], fill=(240, 245, 255))
    for i in range(3):
        dr.ellipse([W - 230 + i * 26, H - 210 + i * 26, W - 60, H - 40], outline=BIRU, width=2)
    maks = W - 360
    y = 168
    for b in bungkus(judul_baris, f("Poppins-Bold.ttf", 56), maks):
        dr.text((PAD, y), b, font=f("Poppins-Bold.ttf", 56), fill=NAVY)
        y += 68
    y += 6
    for b in bungkus(sub, f("Poppins-Regular.ttf", 26), maks):
        dr.text((PAD, y), b, font=f("Poppins-Regular.ttf", 26), fill=ABU)
        y += 36
    dr.text((PAD, 62), "STUDIOSOFT", font=f("Poppins-SemiBold.ttf", 24), fill=BIRU)
    dr.text((PAD, 96), "Digital marketing rumah sakit", font=f("Poppins-Regular.ttf", 20), fill=ABU)
    dr.rectangle([PAD, H - 96, PAD + 74, H - 92], fill=BIRU)
    dr.text((PAD, H - 78), "studiosoft.id", font=f("Poppins-SemiBold.ttf", 23), fill=NAVY)
    dr.text((PAD, H - 46), "Konsultasi lewat WhatsApp · 0819-3500-0624",
            font=f("Poppins-Regular.ttf", 20), fill=ABU)
    img.save(nama_berkas, "WEBP", quality=92, method=6)
    return nama_berkas


def skema_faq(isi):
    """Bangun JSON-LD FAQPage dari pasangan <h3>pertanyaan</h3><p>jawaban</p> di dalam isi."""
    pasangan = []
    for mo in re.finditer(r"<h3>(.*?)</h3>\s*<p>(.*?)</p>", isi, re.S):
        tanya = re.sub(r"\s+", " ", re.sub("<[^>]+>", "", mo.group(1))).strip()
        jawab = re.sub(r"\s+", " ", re.sub("<[^>]+>", "", mo.group(2))).strip()
        if tanya and jawab:
            pasangan.append({"@type": "Question", "name": tanya,
                             "acceptedAnswer": {"@type": "Answer", "text": jawab}})
    if not pasangan:
        return ""
    data = {"@context": "https://schema.org", "@type": "FAQPage", "mainEntity": pasangan}
    return ('\n<script type="application/ld+json">'
            + json.dumps(data, ensure_ascii=False) + "</script>\n")


PAKAI_GAMBAR = "--gambar" in sys.argv or "--draft" in sys.argv

if __name__ == "__main__":
    print(f"klaster turunan #{'3535'} — {len(ARTIKEL)} artikel\n")
    for a in ARTIKEL:
        teks = polos(a["isi"])
        kata = len(teks.split())
        internal = re.findall(r'href="(https://studiosoft\.id/[^"]+)"', a["isi"])
        faq = len(re.findall(r"<h3>", a["isi"]))
        print(f"■ {a['judul']}")
        print(f"   slug {a['slug']} · {kata} kata · h2 {a['isi'].count('<h2>')} · h3 {faq}")
        print(f"   meta judul {len(a['meta_judul'])} char · meta desc {len(a['meta_desc'])} char "
              f"(mulai dgn fokus: {a['meta_desc'].lower().startswith(a['fokus'])}")
        print(f"   tombol WA: {'ada' if 'wa.me/6281935000624' in a['isi'] else 'TIDAK'} · "
              f"FAQPage: {'ada' if 'FAQPage' in a['isi'] else 'TIDAK'}")
        print(f"   tautan internal: {len(internal)}")
        for u in internal:
            print(f"        {u.replace('https://studiosoft.id', '')}")
        print(f"   tautan balik ke induk: {'ADA' if a['slug'] != 'x' and '9-contoh-konten' in a['isi'] else 'TIDAK'}")
        print()

    if "--draft" not in sys.argv:
        print("(dry run — pakai --draft untuk membuat draf)")
        sys.exit(0)

    for a in ARTIKEL:
        st, cek = rest(f"/wp-json/wp/v2/posts?slug={a['slug']}&status=any&_fields=id,status")
        if isinstance(cek, list) and cek:
            print(f"\n■ {a['slug']} sudah ada #{cek[0]['id']} status={cek[0]['status']} — dilewati")
            continue
        st, d = rest("/wp-json/wp/v2/posts", "POST", {
            "title": a["judul"], "slug": a["slug"], "content": a["isi"] + skema_faq(a["isi"]),
            "status": "draft", "comment_status": "closed", "categories": [1042, 26], "tags": a["tag"],
            "excerpt": a["meta_desc"]})
        if not isinstance(d, dict) or "id" not in d:
            print(f"   X gagal: http={st} {str(d)[:200]}")
            continue
        pid = d["id"]
        print(f"\n■ DRAFT #{pid} · {a['slug']} · {d.get('link')}")
        st2, _ = rest(f"/wp-json/wp/v2/posts/{pid}", "POST", {"meta": {
            "_yoast_wpseo_title": a["meta_judul"], "_yoast_wpseo_metadesc": a["meta_desc"],
            "_yoast_wpseo_focuskw": a["fokus"]}})
        print(f"   meta: http={st2}")

        # gambar unggulan
        berkas = f"{WS}/ss_feat_{a['slug']}.webp"
        try:
            buat_gambar(a["gambar_judul"][0], a["gambar_judul"][1], berkas)
            data = open(berkas, "rb").read()
            hh = {**H, "Content-Type": "image/webp",
                  "Content-Disposition": f'attachment; filename="{os.path.basename(berkas)}"'}
            r = urllib.request.Request(f"{S}/wp-json/wp/v2/media", data=data, headers=hh, method="POST")
            with urllib.request.urlopen(r, timeout=300) as x:
                med = json.loads(x.read())
            rest(f"/wp-json/wp/v2/media/{med['id']}", "POST",
                 {"alt_text": a["judul"], "title": f"Gambar unggulan: {a['judul'][:60]}"})
            rest(f"/wp-json/wp/v2/posts/{pid}", "POST", {"featured_media": med["id"]})
            print(f"   gambar: media #{med['id']} 1000x567 webp · {os.path.getsize(berkas)//1024} KB")
        except Exception as e:
            print(f"   gambar GAGAL: {str(e)[:120]}")

        st3, v = rest(f"/wp-json/wp/v2/posts/{pid}?context=edit&_fields=id,status,title,slug,categories,tags,featured_media,content,meta")
        if isinstance(v, dict):
            m = v.get("meta") or {}
            print(f"   baca balik: status={v['status']} · kategori={v['categories']} · tag={v['tags']} · "
                  f"gambar={v['featured_media']}")
            print(f"   meta: fokus='{m.get('_yoast_wpseo_focuskw')}' judul={len(m.get('_yoast_wpseo_title') or '')} char "
                  f"desc={len(m.get('_yoast_wpseo_metadesc') or '')} char")
            print(f"   isi: {len(polos(v['content']['raw']).split())} kata · "
                  f"WA={'ya' if 'wa.me/6281935000624' in v['content']['raw'] else 'TIDAK'}")
