#!/usr/bin/env python3
"""
Publish 1 Artikel StudioSoft — SEO Tools & AI Agent untuk Fintech & E-commerce
Listikel format, SEO Playbook, Yoast hijau + WA Button
"""
import json, os, base64, urllib.request, time, re, io, sys

# === CREDENTIALS ===
DOMAIN = "https://studiosoft.id"
WP_USER = "bambangbot"
WP_APP_PASS = "q26r RePo BVy6 pwU2 F3z7 ouyl"

AUTH = base64.b64encode(f"{WP_USER}:{WP_APP_PASS}".encode()).decode()
HEADERS = {
    "Authorization": f"Basic {AUTH}",
    "Content-Type": "application/json",
    "User-Agent": "AtunBot/1.0"
}

# === WA BUTTON ===
WA_NUMBER = "6281935000624"
WA_TEXT = "Halo StudioSoft! Saya ingin konsultasi tentang strategi SEO & AI Agent untuk bisnis saya."
WA_LINK = f"https://wa.me/{WA_NUMBER}?text={urllib.parse.quote(WA_TEXT) if hasattr(urllib, 'parse') else WA_TEXT}"
CTA_TEXT = "💰 Gratis Konsultasi — Hubungi Kami via WhatsApp"

# Fallback manual encode
WA_LINK = f"https://wa.me/{WA_NUMBER}?text=Halo%20StudioSoft!%20Saya%20ingin%20konsultasi%20tentang%20strategi%20SEO%20%26%20AI%20Agent%20untuk%20bisnis%20saya."

# === KATEGORI ===
CAT_DIGITAL_MARKETING = 329  # Digital Marketing
CAT_SEO = 330                # SEO
CAT_AI = 1049                # AI / Kecerdasan Buatan (asumsi, fallback)

# === TAG ===
TAG_AI_AGENT = None
TAG_SEO_TOOLS = None
TAG_FINTECH = None
TAG_E_COMMERCE = None
TAG_AHREFS = None
TAG_SEMRUSH = None

def wp_request(endpoint, method="GET", data=None):
    """Make WordPress REST API request"""
    url = f"{DOMAIN}/wp-json/wp/v2/{endpoint}"
    body = json.dumps(data).encode() if data else None
    h = dict(HEADERS)
    req = urllib.request.Request(url, data=body, headers=h, method=method)
    try:
        with urllib.request.urlopen(req, timeout=30) as r:
            return json.loads(r.read())
    except urllib.error.HTTPError as e:
        print(f"  ⚠️ HTTP {e.code}: {e.read().decode()[:200]}")
        return None
    except Exception as e:
        print(f"  ⚠️ Error: {e}")
        return None

def ensure_tags():
    """Ensure all needed tags exist"""
    global TAG_AI_AGENT, TAG_SEO_TOOLS, TAG_FINTECH, TAG_E_COMMERCE, TAG_AHREFS, TAG_SEMRUSH
    
    # Get existing tags
    existing = json.loads(urllib.request.urlopen(
        f"{DOMAIN}/wp-json/wp/v2/tags?per_page=100&orderby=name"
    ).read())
    tag_map = {t["name"].lower(): t for t in existing}
    
    needed = {
        "AI Agent SEO": None,
        "SEO Tools": None,
        "Fintech SEO": None,
        "E-commerce SEO": None,
        "Ahrefs": None,
        "Semrush": None,
        "Open SEO": None,
    }
    
    for name in needed:
        key = name.lower()
        if key in tag_map:
            needed[name] = tag_map[key]["id"]
            print(f"   ✓ Tag '{name}' ditemukan (ID: {needed[name]})")
    
    # Create missing tags
    for name, tid in needed.items():
        if tid is None:
            print(f"   ➕ Membuat tag '{name}'...")
            data = {"name": name}
            result = wp_request("tags", method="POST", data=data)
            if result and "id" in result:
                needed[name] = result["id"]
                print(f"   ✓ Tag '{name}' created (ID: {result['id']})")
            else:
                print(f"   ⚠️ Gagal membuat tag '{name}'")
    
    TAG_AI_AGENT = needed["AI Agent SEO"]
    TAG_SEO_TOOLS = needed["SEO Tools"]
    TAG_FINTECH = needed["Fintech SEO"]
    TAG_E_COMMERCE = needed["E-commerce SEO"]
    TAG_AHREFS = needed["Ahrefs"]
    TAG_SEMRUSH = needed["Semrush"]
    
    return needed

# === ARTIKEL ===
ARTIKEL = {
    "judul": "7 SEO Tools & AI Agent Terbaik untuk Fintech dan E-commerce di 2026",
    "slug": "seo-tools-ai-agent-terbaik-fintech-ecommerce-2026",
    "meta_desc": "Panduan lengkap SEO tools (Ahrefs, Semrush, Open SEO) dan AI Agent untuk optimasi fintech & e-commerce. Strategi SEO modern dengan pendekatan AI di 2026.",
    "focus_keyword": "SEO tools AI Agent fintech e-commerce",
    "image_prompt": "Modern digital workspace showing SEO dashboard with Ahrefs, Semrush interfaces and AI agent visualization, fintech and e-commerce icons, blue gradient professional style",
    "konten": [
        {"type": "paragraf", "teks": "Dunia SEO berubah cepat di tahun 2026. Yang dulu cukup dengan riset keyword dan backlink, sekarang butuh pendekatan yang lebih cerdas — terutama untuk dua sektor yang sedang tumbuh pesat: <strong>fintech dan e-commerce</strong>. Persaingan di kedua industri ini sangat ketat, dan strategi SEO konvensional saja tidak lagi cukup untuk memenangkan pertarungan di halaman pertama Google."},

        {"type": "paragraf", "teks": "Artikel ini akan membahas <strong>7 tools SEO terbaik</strong> — mulai dari Ahrefs, Semrush, hingga Open SEO — dan bagaimana <strong>AI Agent</strong> bisa menjadi game-changer dalam strategi SEO Anda. Khusus untuk bisnis fintech dan e-commerce, kami akan mengupas cara memaksimalkan setiap tools untuk hasil yang terukur."},

        {"type": "subjudul", "teks": "1. Ahrefs — Raja Analisis Backlink dan Konten"},

        {"type": "paragraf", "teks": "Ahrefs tetap menjadi <strong>primadona tools SEO</strong> di 2026, terutama untuk fintech dan e-commerce yang membutuhkan riset kompetitor mendalam. Fitur Site Explorer Ahrefs memungkinkan Anda melihat profil backlink kompetitor secara detail — siapa yang me-link mereka, bagaimana kualitas backlink tersebut, dan strategi link building apa yang mereka gunakan."},

        {"type": "paragraf", "teks": "Untuk fintech, fitur <strong>Content Gap</strong> Ahrefs sangat berguna untuk menemukan kata kunci yang di-rank kompetitor tapi belum Anda bidik. Sedangkan untuk e-commerce, fitur <strong>Top Pages</strong> bisa mengungkap halaman produk atau kategori mana yang mendatangkan trafik organik terbanyak. Ahrefs juga memiliki Keyword Explorer dengan data volume pencarian yang akurat untuk pasar Indonesia."},

        {"type": "list_poin", "poin": [
            "Site Explorer: Analisis backlink fintech & e-commerce competitor",
            "Content Gap: Temukan keyword peluang yang belum Anda targetkan",
            "Keyword Explorer: Volume pencarian akurat untuk keyword Bahasa Indonesia",
            "Rank Tracker: Pantau posisi keyword secara real-time",
            "Web Audit: Audit teknis SEO untuk website fintech dengan ribuan halaman"
        ]},

        {"type": "subjudul", "teks": "2. Semrush — Komandan Strategi SEO All-in-One"},

        {"type": "paragraf", "teks": "Semrush bukan sekadar tools SEO — ini adalah <strong>platform marketing all-in-one</strong> yang mencakup SEO, iklan berbayar, social media, dan content marketing. Di tahun 2026, Semrush semakin canggih dengan integrasi AI yang memungkinkan analisis lebih cepat dan rekomendasi yang lebih personal."},

        {"type": "paragraf", "teks": "Untuk fintech, fitur <strong>Position Tracking</strong> Semrush sangat penting untuk memantau kata kunci sensitif seperti 'pinjaman online', 'investasi reksadana', atau 'aplikasi keuangan digital' — yang biasanya sangat kompetitif. Untuk e-commerce, fitur <strong>Market Explorer</strong> memberikan gambaran pangsa pasar dan tren pencarian produk."},

        {"type": "list_poin", "poin": [
            "Position Tracking: Monitoring keyword fintech dengan update harian",
            "Market Explorer: Analisis pangsa pasar e-commerce Indonesia",
            "SEO Content Template: Rekomendasi konten optimal berbasis AI",
            "Site Audit: Audit teknis dengan 140+ indikator kesehatan SEO",
            "Keyword Magic Tool: Database 25 miliar keyword dengan filter intent"
        ]},

        {"type": "subjudul", "teks": "3. Open SEO — Tools SEO Open Source yang Fleksibel"},

        {"type": "paragraf", "teks": "Open SEO hadir sebagai alternatif <strong>open source</strong> yang semakin populer di kalangan praktisi SEO Indonesia. Berbeda dengan Ahrefs dan Semrush yang berbayar, Open SEO menawarkan fitur-fitur esensial dengan model yang lebih fleksibel — bisa diinstal di server sendiri atau digunakan sebagai platform SaaS."},

        {"type": "paragraf", "teks": "Kekuatan utama Open SEO ada pada <strong>kustomisasi dan transparansi data</strong>. Untuk fintech, ini penting karena data pencarian bisa disesuaikan dengan regulasi dan kebutuhan spesifik industri keuangan. Untuk e-commerce, fitur batch analysis memungkinkan audit ribuan halaman produk dalam satu waktu — sesuatu yang sangat mahal jika dilakukan di tools berbayar."},

        {"type": "list_poin", "poin": [
            "Self-hosted: Data tetap aman di server sendiri — cocok untuk fintech dengan regulasi ketat",
            "No-code automation: Integrasi dengan Google Search Console, Analytics, dan API",
            "Batch analysis: Audit ribuan URL sekaligus tanpa batasan kuota",
            "Transparent pricing: Tanpa biaya tersembunyi — bayar sesuai pemakaian",
            "API terbuka: Integrasi dengan sistem internal perusahaan fintech dan e-commerce"
        ]},

        {"type": "subjudul", "teks": "4. Google Search Console — Tools Gratis yang Wajib Dioptimasi"},

        {"type": "paragraf", "teks": "Jangan pernah remehkan <strong>Google Search Console (GSC)</strong>. Tools gratis dari Google ini adalah sumber data paling otoritatif untuk performa website Anda di pencarian Google. Untuk fintech dan e-commerce, GSC memberikan insight langsung tentang bagaimana Google melihat dan mengindeks halaman Anda."},

        {"type": "paragraf", "teks": "Fitur <strong>Performance Report</strong> di GSC menunjukkan kata kunci mana yang mengirim trafik, posisi rata-rata, dan click-through rate. Data ini sangat berharga untuk menentukan prioritas optimasi. Untuk e-commerce, fitur <strong>Index Coverage</strong> membantu mengidentifikasi halaman produk yang tidak terindeks — masalah umum pada toko online dengan ribuan produk."},

        {"type": "list_poin", "poin": [
            "Performance Report: Data klik, impresi, dan posisi dari Google langsung",
            "Index Coverage: Pantau status indeksasi semua halaman fintech/e-commerce Anda",
            "Core Web Vitals: Metrics kecepatan dan user experience untuk ranking",
            "Sitemap Submission: Kirim dan pantau sitemap untuk crawling optimal",
            "Manual Actions: Peringatan jika website terkena penalty Google"
        ]},

        {"type": "subjudul", "teks": "5. Strategi SEO Khusus Fintech — EAT, Regulasi, dan Trust"},

        {"type": "paragraf", "teks": "SEO untuk fintech memiliki tantangan unik yang tidak ditemukan di industri lain. Google sangat ketat dalam menilai <strong>E-EAT (Experience, Expertise, Authoritativeness, Trustworthiness)</strong> untuk website di industri keuangan. Kesalahan kecil bisa berakibat fatal — dari penalti hingga hilangnya kepercayaan pengguna."},

        {"type": "paragraf", "teks": "Beberapa hal yang wajib dioptimasi untuk SEO fintech: <strong>halaman 'Tentang Kami'</strong> yang mencantumkan izin OJK, <strong>halaman kebijakan privasi</strong> yang komprehensif, <strong>sertifikat SSL</strong> dan keamanan data, serta <strong>konten edukasi keuangan</strong> yang menunjukkan keahlian. Google juga memperhatikan otoritas penulis — pastikan artikel fintech ditulis oleh atau direview oleh ahli keuangan yang kredibel."},

        {"type": "list_poin", "poin": [
            "Optimasi halaman legal: Izin OJK, kebijakan privasi, syarat & ketentuan",
            "Konten edukasi keuangan: Artikel, kalkulator, dan tools interaktif",
            "Author E-EAT: Profil penulis dengan kredensial di bidang keuangan",
            "Trust signals: Testimoni, sertifikasi keamanan, logo partner resmi",
            "Schema markup: Gunakan schema Organization, Product, FAQ, dan Review"
        ]},

        {"type": "subjudul", "teks": "6. Strategi SEO Khusus E-commerce — Product Page, Category & Review"},

        {"type": "paragraf", "teks": "E-commerce memiliki dinamika SEO yang berbeda. Tantangan utamanya adalah <strong>skalabilitas</strong> — bagaimana mengoptimasi ribuan halaman produk tanpa melanggar aturan duplicate content. Tools seperti Ahrefs dan Semrush sangat membantu untuk audit massal, tapi strategi yang tepat adalah kunci utamanya."},

        {"type": "paragraf", "teks": "Prioritas utama SEO e-commerce di 2026: <strong>optimasi halaman kategori</strong> dengan konten unik, <strong>halaman produk</strong> dengan deskripsi original dan user-generated content (review), <strong>breadcrumb schema</strong> untuk navigasi, serta <strong>structured data</strong> untuk product, price, dan availability. Jangan lupa optimasi <strong>mobile experience</strong> — lebih dari 80% pengguna e-commerce Indonesia mengakses melalui smartphone."},

        {"type": "list_poin", "poin": [
            "Kategori pages: Konten unik, subkategori, dan internal linking yang strategis",
            "Product pages: Deskripsi original, review pelanggan, FAQ produk",
            "Structured data: Product schema, Review schema, BreadcrumbList, FAQPage",
            "Mobile optimization: AMP atau mobile-first indexing, Core Web Vitals hijau",
            "Technical SEO: Canonical tags, pagination, thin content detection"
        ]},

        {"type": "subjudul", "teks": "7. AI Agent untuk SEO — Masa Depan Optimasi Mesin Pencari"},

        {"type": "paragraf", "teks": "Inilah bagian paling menarik: <strong>AI Agent untuk SEO</strong>. Di 2026, AI tidak lagi sekadar tools pembantu — ia menjadi agen otonom yang bisa merencanakan, mengeksekusi, dan mengevaluasi strategi SEO secara mandiri. AI Agent mampu menganalisis ribuan data poin dalam hitungan detik, memberikan rekomendasi yang lebih akurat daripada manusia."},

        {"type": "paragraf", "teks": "Beberapa implementasi AI Agent untuk SEO yang sudah terbukti efektif: <strong>riset keyword otomatis</strong> dengan analisis intent yang lebih dalam, <strong>content gap analysis</strong> yang membandingkan ribuan artikel kompetitor, <strong>pembuatan konten cluster</strong> yang terstruktur untuk top authority, <strong>monitoring algoritma</strong> yang mendeteksi perubahan Google secara real-time, dan <strong>link building outreach</strong> yang dipersonalisasi dengan AI."},

        {"type": "subjudul", "teks": "Bagaimana AI Agent Bekerja untuk SEO?"},

        {"type": "paragraf", "teks": "AI Agent untuk SEO bekerja dengan prinsip <strong>autonomous planning — execution — evaluation</strong>. Agent ini pertama-tama menganalisis kondisi SEO website Anda saat ini, lalu membuat rencana optimasi berdasarkan data, mengeksekusi rekomendasi (seperti menulis meta deskripsi atau membuat konten baru), dan mengevaluasi hasilnya untuk iterasi berikutnya."},

        {"type": "list_poin", "poin": [
            "Planning: Analisis website, riset keyword, audit teknis, identifikasi peluang",
            "Execution: Pembuatan konten, optimasi on-page, internal linking, struktur data",
            "Evaluation: Monitoring ranking, trafik, konversi, dan metrik bisnis",
            "Iteration: Penyesuaian strategi berdasarkan data performa terbaru",
            "Scalability: Mampu menangani ribuan halaman sekaligus untuk enterprise"
        ]},

        {"type": "subjudul", "teks": "AI Agent vs Tools SEO Tradisional: Perbandingan"},

        {"type": "paragraf", "teks": "Pertanyaan yang sering muncul: apakah AI Agent akan menggantikan tools SEO tradisional seperti Ahrefs dan Semrush? Jawabannya: <strong>tidak menggantikan, tapi melengkapi</strong>. Ahrefs dan Semrush adalah sumber data dan analisis, sedangkan AI Agent adalah eksekutor dan pengambil keputusan."},

        {"type": "paragraf", "teks": "Kombinasi ideal di 2026 adalah: <strong>Ahrefs/Semrush untuk data dan wawasan</strong>, <strong>Open SEO/GSC untuk monitoring</strong>, dan <strong>AI Agent untuk eksekusi otomatis</strong>. Dengan pendekatan ini, strategi SEO fintech dan e-commerce Anda bisa berjalan 24/7 tanpa henti — sementara tim Anda fokus pada strategi bisnis dan kreativitas."},

        {"type": "list_poin", "poin": [
            "Tools (Ahrefs, Semrush): Data akurat, analisis mendalam, riset kompetitor",
            "Monitoring (GSC, Open SEO): Performa real-time, indeksasi, technical health",
            "AI Agent: Eksekusi otomatis, adaptasi cepat, skala besar, pembelajaran berkelanjutan"
        ]},

        {"type": "subjudul", "teks": "Kesimpulan: Integrasi Tools + AI Agent untuk Kemenangan SEO"},

        {"type": "paragraf", "teks": "Fintech dan e-commerce adalah dua sektor dengan persaingan SEO paling sengit di Indonesia. Untuk menang, Anda tidak bisa hanya mengandalkan satu tools atau satu strategi. Dibutuhkan <strong>ekosistem SEO yang terintegrasi</strong>: tools analisis seperti Ahrefs dan Semrush untuk wawasan, platform monitoring seperti Google Search Console dan Open SEO untuk tracking, dan AI Agent untuk eksekusi cerdas."},

        {"type": "paragraf", "teks": "StudioSoft — Partner Pertumbuhan Bisnis Berbasis Data — siap membantu Anda membangun dan mengelola ekosistem SEO ini. Dari pemilihan tools yang tepat, implementasi AI Agent, hingga strategi konten yang terukur. Karena di era digital ini, yang tidak bergerak cepat akan tertinggal."},
    ]
}

# ─────────────────────────────────────────────────────────────
# HTML BUILDER
# ─────────────────────────────────────────────────────────────
def build_html_content(artikel):
    """Build full HTML content from structured konten"""
    parts = []
    
    for section in artikel["konten"]:
        if section["type"] == "paragraf":
            parts.append(f'<p>{section["teks"]}</p>')
        elif section["type"] == "subjudul":
            parts.append(f'<h2 class="wp-block-heading">{section["teks"]}</h2>')
        elif section["type"] == "list_poin":
            items = []
            for p in section["poin"]:
                items.append(f'<li>{p}</li>')
            parts.append('<ul>' + "".join(items) + '</ul>')
    
    # Add CTA + WA Button
    cta_html = f'''
<!-- wp:separator -->
<hr class="wp-block-separator has-alpha-channel-opacity"/>
<!-- /wp:separator -->

<!-- wp:heading {{"textAlign":"center"}} -->
<h2 class="wp-block-heading has-text-align-center">Siap Optimasi SEO Fintech & E-commerce Anda?</h2>
<!-- /wp:heading -->

<!-- wp:paragraph {{"align":"center"}} -->
<p class="has-text-align-center">StudioSoft — Partner Pertumbuhan Bisnis Berbasis Data, siap membantu bisnis fintech dan e-commerce Anda membangun strategi SEO yang terukur dengan tools terbaik dan AI Agent canggih. Dapatkan konsultasi gratis tanpa biaya.</p>
<!-- /wp:paragraph -->

<!-- wp:buttons {{"layout":{{"type":"flex","justifyContent":"center"}}}} -->
<div class="wp-block-buttons">
<!-- wp:button {{"backgroundColor":"#1E40AF","textColor":"white","className":"is-style-fill"}} -->
<div class="wp-block-button is-style-fill"><a class="wp-block-button__link has-white-color has-text-color has-background has-link-decoration wp-element-button" href="{WA_LINK}" style="background-color:#1E40AF;" target="_blank" rel="noreferrer noopener"><strong>💬 {CTA_TEXT}</strong></a></div>
<!-- /wp:button -->
</div>
<!-- /wp:buttons -->

<!-- wp:paragraph {{"align":"center"}} -->
<p class="has-text-align-center">Atau kunjungi <strong><a href="https://studiosoft.id">studiosoft.id</a></strong> untuk informasi lebih lanjut</p>
<!-- /wp:paragraph -->
'''
    parts.append(cta_html)
    
    return "\n".join(parts)


# ─────────────────────────────────────────────────────────────
# IMAGE HANDLER — Cari & upload dari Pexels
# ─────────────────────────────────────────────────────────────
ASSET_DIR = "/home/mantapman/.hermes/profiles/atun/workspace/artikel_seo_ai_images"
os.makedirs(ASSET_DIR, exist_ok=True)

import urllib.parse as urlparse

def search_pexels_image(query="SEO tools dashboard AI"):
    """Search Pexels for a relevant image"""
    # Use a reliable Pexels image for SEO/marketing concept
    # Pexels has a great free API but we can use direct URLs
    pexels_options = [
        "https://images.pexels.com/photos/8386437/pexels-photo-8386437.jpeg",  # Laptop with analytics
        "https://images.pexels.com/photos/3861964/pexels-photo-3861964.jpeg",  # SEO concept
        "https://images.pexels.com/photos/669615/pexels-photo-669615.jpeg",    # Laptop coffee
    ]
    return pexels_options[0]

def upload_image_to_wp(image_url, filename="seo_tools_featured.jpg"):
    """Download image from URL and upload to WP media library"""
    print(f"   Downloading image: {image_url}")
    try:
        req = urllib.request.Request(image_url, headers={"User-Agent": "Mozilla/5.0"})
        with urllib.request.urlopen(req, timeout=30) as r:
            img_data = r.read()
        
        local_path = os.path.join(ASSET_DIR, filename)
        with open(local_path, "wb") as f:
            f.write(img_data)
        file_size = len(img_data)
        print(f"   Image downloaded: {file_size/1024:.0f} KB")
        
        # Upload to WP
        upload_url = f"{DOMAIN}/wp-json/wp/v2/media"
        h = {"Authorization": f"Basic {AUTH}", "Content-Disposition": f'attachment; filename="{filename}"', "Content-Type": "image/jpeg"}
        
        req2 = urllib.request.Request(upload_url, data=img_data, headers=h, method="POST")
        with urllib.request.urlopen(req2, timeout=60) as r2:
            result = json.loads(r2.read())
            print(f"   ✅ Image uploaded (ID: {result['id']})")
            return result["id"], result["source_url"]
    except Exception as e:
        print(f"   ⚠️ Image upload failed: {e}")
        return None, None

# ─────────────────────────────────────────────────────────────
# PUBLISHER
# ─────────────────────────────────────────────────────────────
def publish_article(artikel, tags_dict):
    """Publish article to WordPress"""
    print(f"\n{'='*60}")
    print(f"📝 ARTIKEL: {artikel['judul']}")
    print(f"{'='*60}")
    
    # 1. Get/upload image
    print("\n1️⃣ Mencari & mengupload gambar...")
    img_id, img_url = upload_image_to_wp(
        search_pexels_image(),
        "seo-tools-ai-agent-fintech-ecommerce.jpg"
    )
    
    # 2. Build content
    print("\n2️⃣ Membangun konten HTML...")
    content = build_html_content(artikel)
    
    # 3. Count words
    word_count = len(re.sub(r'<[^>]+>', '', content).split())
    print(f"   📊 Perkiraan kata: {word_count}")
    
    # 4. Prepare post data
    tag_ids = [v for v in tags_dict.values() if v is not None]
    categories = [CAT_SEO, CAT_DIGITAL_MARKETING]
    
    post_data = {
        "title": artikel["judul"],
        "slug": artikel["slug"],
        "content": content,
        "status": "publish",
        "categories": categories,
        "tags": tag_ids,
        "meta": {
            "_yoast_wpseo_title": f"{artikel['judul']} | StudioSoft Surabaya",
            "_yoast_wpseo_metadesc": artikel["meta_desc"],
            "_yoast_wpseo_focuskw": artikel["focus_keyword"],
            "_yoast_wpseo_meta-robots-noindex": "0",
            "_yoast_wpseo_meta-robots-nofollow": "0",
            "_yoast_wpseo_opengraph-title": artikel["judul"],
            "_yoast_wpseo_opengraph-description": artikel["meta_desc"],
        }
    }
    
    if img_id:
        post_data["featured_media"] = img_id
    
    # 5. Publish
    print("\n3️⃣ Mempublikasikan artikel...")
    result = wp_request("posts", method="POST", data=post_data)
    
    if result and "id" in result:
        print(f"\n   ✅ ✅ ✅ BERHASIL!")
        print(f"   ID: {result['id']}")
        print(f"   Judul: {result['title']['rendered']}")
        print(f"   Link: {result['link']}")
        return result
    else:
        print(f"\n   ❌ GAGAL publish!")
        return None


def main():
    print("🚀 STUDIOSOFT — SEO Tools & AI Agent untuk Fintech & E-commerce")
    print("="*60)
    
    # Step 1: Ensure tags
    print("\n📌 Step 1: Creating/Ensuring tags...")
    tags_dict = ensure_tags()
    
    # Step 2: Publish article
    result = publish_article(ARTIKEL, tags_dict)
    
    # Step 3: Summary
    print(f"\n{'='*60}")
    print(f"📊 SUMMARY")
    print(f"{'='*60}")
    if result:
        print(f"✅ Artikel berhasil dipublish!")
        print(f"   {result['link']}")
    else:
        print(f"❌ Artikel gagal dipublish")
    
    # Check word count
    content_clean = re.sub(r'<[^>]+>', '', build_html_content(ARTIKEL))
    final_count = len(content_clean.split())
    print(f"   📊 Total kata: ~{final_count}")


if __name__ == "__main__":
    main()
