#!/usr/bin/env python3
"""TSC: cek semua halaman pendaratan teratas dari GA4 — mana yang 404, mana yang hidup."""
import re, time, urllib.request, urllib.error

UA = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/124 Safari/537.36"}
BASE = "https://www.theskincodeclinic.com"

# halaman pendaratan teratas dari GA4 (90 hari) + jumlah sesi
HAL = [("/", 625), ("/jadwal-dokter/", 131), ("/menghilangkan-tahi-lalat-laser-eksisi-atau-elektrokauter/", 124),
       ("/dermatologi-anak/", 104), ("/profil/", 88), ("/5-klinik-dermatologi-terpercaya-di-surabaya-untuk-perawatan-kulit/", 80),
       ("/laser/", 52), ("/klinik-dni-krian-sidoarjo/", 101), ("/dokter-kulit-kelamin-sidoarjo/", 144),
       ("/kenapa-dr-avril-the-skin-code-clinic/", 168), ("/rekomendasi-6-klinik-kecantikan-di-krian-sidoarjo/", 131)]

print("=== status halaman pendaratan teratas (GA4 90 hari) ===")
for u, sesi in HAL:
    t0 = time.time()
    try:
        r = urllib.request.urlopen(urllib.request.Request(BASE + u, headers=UA), timeout=90)
        t = re.search(r"<title>(.*?)</title>", r.read().decode("utf-8", "replace"), re.S)
        print(f"   {r.status} | sesi {sesi:>4} | {u[:52]:<54} {t.group(1).strip()[:44] if t else ''}")
    except urllib.error.HTTPError as e:
        print(f"   {e.code} | sesi {sesi:>4} | {u[:52]:<54} ← MASALAH")
    except Exception as e:
        print(f"   ERR  | sesi {sesi:>4} | {u[:52]} ({str(e)[:30]})")

print("\n=== halaman apa yang mirip (jadwal / anak / dokter) masih hidup? ===")
try:
    r = urllib.request.urlopen(urllib.request.Request(BASE + "/sitemap_index.xml", headers=UA), timeout=90)
    idx = r.read().decode("utf-8", "replace")
    sm = re.findall(r"<loc>([^<]+)</loc>", idx)
    print(f"   sitemap index: {len(sm)} entri")
    semua = []
    for s in sm:
        if not s.endswith(".xml"):
            continue
        try:
            rr = urllib.request.urlopen(urllib.request.Request(s, headers=UA), timeout=90)
            semua += re.findall(r"<loc>([^<]+)</loc>", rr.read().decode("utf-8", "replace"))
        except Exception:
            pass
    print(f"   total URL di sitemap: {len(semua)}")
    for pola in ("jadwal", "anak", "dermatolog", "dokter", "profil", "laser"):
        cocok = [u for u in semua if re.search(pola, u, re.I)]
        print(f"\n   [{pola}] {len(cocok)} URL")
        for c in cocok[:6]:
            print(f"      {c.replace(BASE, '')}")
except Exception as e:
    print("   sitemap gagal:", str(e)[:80])

print("\n=== penanda analitik di beranda ===")
h = urllib.request.urlopen(urllib.request.Request(BASE + "/", headers=UA), timeout=90).read().decode("utf-8", "replace")
for pola, nama in ((r"googletagmanager\.com/gtag", "gtag.js"), (r"googletagmanager\.com/gtm", "Tag Manager"),
                   (r"G-[A-Z0-9]{8,}", "ID GA4"), (r"GTM-[A-Z0-9]{5,}", "ID GTM"),
                   (r"gtag\(", "fungsi gtag("), (r"site-kit|google-site-kit", "Site Kit"),
                   (r"analytics\.js", "analytics lama")):
    m = re.findall(pola, h)
    print(f"   {nama:<14}: {sorted(set(m))[:3] if m else 'tidak ada'}")
