[
  {
    "name": "home",
    "path": "/",
    "category": "public",
    "url": "https://sj88ai.com/",
    "status": 200,
    "ok": true,
    "errors": [
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "warnings": [],
    "load_time_ms": 2382.5,
    "size_bytes": 24399,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/home-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/home.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\" data-theme=\"light\"><head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1, viewport-fit=cover\">\n<title>SJ88 · คอร์สออนไลน์ · Shopee · TikTok · VibeCode</title>\n<meta name=\"description\" content=\"SJ88 — คอร์สออนไลน์ Shopee Affiliate, TikTok AI 2026, TikTok สุลาต่าน 2026, VibeCode 101 — เรียนบนเว็บ Tools ฟรี\">\n<meta name=\"theme-color\" content=\"#FFFBF7\">\n\n<link rel=\"icon\" href=\"/icon.svg\" type=\"image/svg+xml\" sizes=\"any\">\n<link",
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 252775,
    "all_shots": [
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/home-top.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/home-shot2.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/home-shot3.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/home-shot4.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/home-shot5.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/home-shot6.png"
    ],
    "mobile_screenshot_size": 101682,
    "html_size": 19758,
    "has_thai": true,
    "has_vibe": true
  },
  {
    "name": "shopee-salepage",
    "path": "/courses/shopee-affiliate/",
    "category": "public",
    "url": "https://sj88ai.com/courses/shopee-affiliate/",
    "status": 200,
    "ok": true,
    "errors": [],
    "warnings": [],
    "load_time_ms": 958.3,
    "size_bytes": 32441,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-salepage-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/shopee-salepage.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>สร้างรายได้จากนายหน้า Shopee Affiliate ด้วยวิดีโอ AI บน SJ88 Studio | SJ88</title>\n<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\"><link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin=\"\"><link href=\"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&amp;family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&amp;fa",
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 626866,
    "all_shots": [
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-salepage-top.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-salepage-shot2.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-salepage-shot3.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-salepage-shot4.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-salepage-shot5.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-salepage-shot6.png"
    ],
    "mobile_screenshot_size": 280259,
    "html_size": 27262,
    "has_thai": true,
    "has_vibe": true
  },
  {
    "name": "shopee-lessons",
    "path": "/courses/shopee-affiliate/lessons.html",
    "category": "public",
    "url": "https://sj88ai.com/courses/shopee-affiliate/lessons.html",
    "status": 200,
    "ok": true,
    "errors": [],
    "warnings": [],
    "load_time_ms": 1098.6,
    "size_bytes": 15485,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-lessons-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/shopee-lessons.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>Shopee Affiliate + AI Tools — 19 บทเรียนเต็ม | SJ88</title>\n<meta name=\"description\" content=\"คอร์ส Shopee Affiliate + AI Tools เรียนรู้ทำคลิปขายสินค้า 19 บทเรียน 296 ตอน 1,809 key points + 4 เครื่องมือ AI ฟรี\">\n<meta name=\"theme-color\" content=\"#ec4899\">\n<link rel=\"icon\" href=\"/icon.svg\" type=\"image/svg+xml\">\n<link rel=\"preconnect\" href=\"https://fonts.googlea",
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 103069,
    "all_shots": [
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-lessons-top.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-lessons-shot2.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-lessons-shot3.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-lessons-shot4.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-lessons-shot5.png"
    ],
    "mobile_screenshot_size": 90256,
    "html_size": 27630,
    "has_thai": true,
    "has_vibe": true
  },
  {
    "name": "shopee-checkout",
    "path": "/courses/shopee-affiliate/checkout.html",
    "category": "public",
    "url": "https://sj88ai.com/courses/shopee-affiliate/checkout.html",
    "status": 200,
    "ok": true,
    "errors": [
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "warnings": [],
    "load_time_ms": 1134.1,
    "size_bytes": 21788,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-checkout-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/shopee-checkout.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>สมัครเรียน Shopee Affiliate + AI Tools | SJ88</title>\n<meta name=\"description\" content=\"สมัครเรียน Shopee Affiliate 19 บทเรียน + 4 เครื่องมือ AI ฟรี ราคา 999 บาท พร้อมเข้าถึงเนื้อหาทั้งหมดทันทีหลังชำระเงิน\">\n<meta name=\"theme-color\" content=\"#ec4899\">\n<link rel=\"icon\" href=\"/icon.svg\" type=\"image/svg+xml\">\n<link rel=\"preconnect\" href=\"https://fonts.googleapis.",
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 74773,
    "all_shots": [
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-checkout-top.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-checkout-shot2.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-checkout-shot3.png"
    ],
    "mobile_screenshot_size": 39129,
    "html_size": 20141,
    "has_thai": true,
    "has_vibe": true
  },
  {
    "name": "tiktok-ai-lessons",
    "path": "/courses/tiktok-ai-2026/lessons.html",
    "category": "public",
    "url": "https://sj88ai.com/courses/tiktok-ai-2026/lessons.html",
    "status": 200,
    "ok": true,
    "errors": [
      "pageerror: Cannot set properties of null (setting 'innerHTML')"
    ],
    "warnings": [],
    "load_time_ms": 1090.2,
    "size_bytes": 14999,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/tiktok-ai-lessons-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/tiktok-ai-lessons.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>TikTok AI 2026 — บทเรียนเต็ม | SJ88</title>\n<meta name=\"description\" content=\"คอร์ส TikTok AI 2026 — ทำคลิป TikTok ด้วย AI · ใช้เครื่องมือ AI ตัดต่อ 2026 · ไม่ต้องออกหน้ากล้อง\">\n<meta name=\"theme-color\" content=\"#ec4899\">\n<link rel=\"icon\" href=\"/icon.svg\" type=\"image/svg+xml\">\n<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n<link rel=\"preconnect\" h",
    "console_errors": [
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 73215,
    "all_shots": [
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/tiktok-ai-lessons-top.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/tiktok-ai-lessons-shot2.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/tiktok-ai-lessons-shot3.png"
    ],
    "mobile_screenshot_size": 61766,
    "html_size": 19525,
    "has_thai": true,
    "has_vibe": true
  },
  {
    "name": "tiktok-sulatan-lessons",
    "path": "/courses/tiktok-sulatan-2026/lessons.html",
    "category": "public",
    "url": "https://sj88ai.com/courses/tiktok-sulatan-2026/lessons.html",
    "status": 200,
    "ok": true,
    "errors": [
      "pageerror: Cannot set properties of null (setting 'innerHTML')"
    ],
    "warnings": [],
    "load_time_ms": 1088.0,
    "size_bytes": 14996,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/tiktok-sulatan-lessons-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/tiktok-sulatan-lessons.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>TikTok สุลาต่าน 2026 — บทเรียนเต็ม | SJ88</title>\n<meta name=\"description\" content=\"คอร์ส TikTok สุลาต่าน 2026 — กลยุทธ์คลิปไวรัล + เนื้อหาที่คนดูจบ · เทคนิคจากคลิปจริงที่ปัง\">\n<meta name=\"theme-color\" content=\"#ec4899\">\n<link rel=\"icon\" href=\"/icon.svg\" type=\"image/svg+xml\">\n<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n<link rel=\"preconnect\" hr",
    "console_errors": [
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 71988,
    "all_shots": [
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/tiktok-sulatan-lessons-top.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/tiktok-sulatan-lessons-shot2.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/tiktok-sulatan-lessons-shot3.png"
    ],
    "mobile_screenshot_size": 61896,
    "html_size": 18528,
    "has_thai": true,
    "has_vibe": true
  },
  {
    "name": "vibecode-lessons",
    "path": "/courses/vibecode-101/lessons.html",
    "category": "public",
    "url": "https://sj88ai.com/courses/vibecode-101/lessons.html",
    "status": 200,
    "ok": true,
    "errors": [
      "pageerror: Cannot set properties of null (setting 'innerHTML')"
    ],
    "warnings": [],
    "load_time_ms": 1087.7,
    "size_bytes": 14806,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/vibecode-lessons-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/vibecode-lessons.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>VibeCode 101 — บทเรียนเต็ม | SJ88</title>\n<meta name=\"description\" content=\"คอร์ส VibeCode 101 — เขียนโค้ดด้วย AI โดยไม่ต้องเรียนโปรแกรมเมอร์ · ฟรี · vibe.sj88ai.com\">\n<meta name=\"theme-color\" content=\"#ec4899\">\n<link rel=\"icon\" href=\"/icon.svg\" type=\"image/svg+xml\">\n<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https",
    "console_errors": [
      "pageerror: Cannot set properties of null (setting 'innerHTML')",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 73002,
    "all_shots": [
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/vibecode-lessons-top.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/vibecode-lessons-shot2.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/vibecode-lessons-shot3.png"
    ],
    "mobile_screenshot_size": 62283,
    "html_size": 17273,
    "has_thai": true,
    "has_vibe": true
  },
  {
    "name": "shopee-ep0-full",
    "path": "/shopee-affiliate/ep0.html",
    "category": "public",
    "url": "https://sj88ai.com/shopee-affiliate/ep0.html",
    "status": 200,
    "ok": true,
    "errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()"
    ],
    "warnings": [],
    "load_time_ms": 1177.1,
    "size_bytes": 34848,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-ep0-full-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/shopee-ep0-full.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>Shopee Affiliate Ep0 — บททดลองเรียนฟรี | SJ88</title>\n<meta name=\"description\" content=\"ทดลองเรียน Ep0 ฟรี — Shopee Affiliate Ep01: เริ่มต้นทำคอนเทนต์นายหน้า Shopee สำหรับมือใหม่ เรียนรู้พื้นฐานก่อนลงทุน\">\n<meta name=\"author\" content=\"sj88-migrator-1783845087@sj88ai.com\">\n<meta name=\"keywords\" content=\"shopee, affiliate, ep0, free-preview\">\n<meta name=\"article",
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 86058,
    "all_shots": [
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-ep0-full-top.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-ep0-full-shot2.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-ep0-full-shot3.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-ep0-full-shot4.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-ep0-full-shot5.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-ep0-full-shot6.png"
    ],
    "mobile_screenshot_size": 67117,
    "html_size": 22391,
    "has_thai": true,
    "has_vibe": true
  },
  {
    "name": "shopee-lesson-3",
    "path": "/shopee-affiliate/lesson-3.html",
    "category": "public",
    "url": "https://sj88ai.com/shopee-affiliate/lesson-3.html",
    "status": 200,
    "ok": true,
    "errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()"
    ],
    "warnings": [],
    "load_time_ms": 1169.4,
    "size_bytes": 12625,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-lesson-3-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/shopee-lesson-3.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>Shopee Affiliate: ไม่ต้องดัง ก็ทำได้จริงไหม ขายได้จริงไหม | SJ88</title>\n<meta name=\"description\" content=\"ไม่ต้องดัง ก็ทำได้จริงไหม ขายได้จริงไหม — 12 ch ของคอร์ส Shopee Affiliate\">\n<meta name=\"author\" content=\"sj88-migrator-1783845087@sj88ai.com\">\n<meta name=\"keywords\" content=\"shopee, affiliate, lesson-3\">\n<meta name=\"article:published_time\" content=\"2026-0",
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 77082,
    "all_shots": [
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-lesson-3-top.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-lesson-3-shot2.png"
    ],
    "mobile_screenshot_size": 65139,
    "html_size": 10899,
    "has_thai": true,
    "has_vibe": true
  },
  {
    "name": "shopee-tool-1",
    "path": "/shopee-affiliate/tool-1.html",
    "category": "public",
    "url": "https://sj88ai.com/shopee-affiliate/tool-1.html",
    "status": 200,
    "ok": true,
    "errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()"
    ],
    "warnings": [],
    "load_time_ms": 1170.5,
    "size_bytes": 11340,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-tool-1-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/shopee-tool-1.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>AutoMixSJ88 — เครื่องมือฟรีสำหรับคอร์ส Shopee Affiliate | SJ88</title>\n<meta name=\"description\" content=\"ตัดคลิปขายสินค้าแบบง่ายสุด\">\n<meta name=\"author\" content=\"sj88-migrator-1783845087@sj88ai.com\">\n<meta name=\"keywords\" content=\"shopee, tool, free, lv0\">\n<meta name=\"article:published_time\" content=\"2026-07-12 15:31:42\">\n<meta name=\"article:modified_time\" co",
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 55291,
    "all_shots": [
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-tool-1-top.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/shopee-tool-1-shot2.png"
    ],
    "mobile_screenshot_size": 50757,
    "html_size": 10301,
    "has_thai": true,
    "has_vibe": true
  },
  {
    "name": "tiktok-ai-intro",
    "path": "/tiktok-ai-2026/intro.html",
    "category": "public",
    "url": "https://sj88ai.com/tiktok-ai-2026/intro.html",
    "status": 200,
    "ok": true,
    "errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()"
    ],
    "warnings": [],
    "load_time_ms": 1179.7,
    "size_bytes": 11518,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/tiktok-ai-intro-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/tiktok-ai-intro.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>TikTok AI 2026 | SJ88</title>\n<meta name=\"description\" content=\"ทำคลิป TikTok ด้วย AI · เครื่องมือ AI ตัดต่อ 2026\">\n<meta name=\"author\" content=\"sj88-migrator2-1783847827@sj88ai.com\">\n<meta name=\"keywords\" content=\"tiktok, intro\">\n<meta name=\"article:published_time\" content=\"2026-07-12 16:17:11\">\n<meta name=\"article:modified_time\" content=\"2026-07-12 16:17:11\"",
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 65174,
    "all_shots": [
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/tiktok-ai-intro-top.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/tiktok-ai-intro-shot2.png"
    ],
    "mobile_screenshot_size": 57309,
    "html_size": 10442,
    "has_thai": true,
    "has_vibe": true
  },
  {
    "name": "tiktok-sulatan-ep0",
    "path": "/tiktok-sulatan-2026/ep0.html",
    "category": "public",
    "url": "https://sj88ai.com/tiktok-sulatan-2026/ep0.html",
    "status": 200,
    "ok": true,
    "errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()"
    ],
    "warnings": [],
    "load_time_ms": 1174.6,
    "size_bytes": 11974,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/tiktok-sulatan-ep0-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/tiktok-sulatan-ep0.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>เปิดคอร์ส TikTok สุลาต่าน | TikTok สุลาต่าน 2026 | SJ88</title>\n<meta name=\"description\" content=\"ทำไม 'สุลาต่าน' ถึงเป็นกลยุทธ์ที่ใช้ได้ — คอร์ส TikTok สุลาต่าน 2026\">\n<meta name=\"author\" content=\"sj88-migrator2-1783847827@sj88ai.com\">\n<meta name=\"keywords\" content=\"tiktok, course, ep0\">\n<meta name=\"article:published_time\" content=\"2026-07-12 16:17:19\">\n<meta",
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 66400,
    "all_shots": [
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/tiktok-sulatan-ep0-top.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/tiktok-sulatan-ep0-shot2.png"
    ],
    "mobile_screenshot_size": 59892,
    "html_size": 10528,
    "has_thai": true,
    "has_vibe": true
  },
  {
    "name": "vibecode-ep1",
    "path": "/vibecode-101/ep1.html",
    "category": "public",
    "url": "https://sj88ai.com/vibecode-101/ep1.html",
    "status": 200,
    "ok": true,
    "errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()"
    ],
    "warnings": [],
    "load_time_ms": 1175.2,
    "size_bytes": 11430,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/vibecode-ep1-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/vibecode-ep1.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>ตั้งโจทย์ให้ AI | VibeCode 101 | SJ88</title>\n<meta name=\"description\" content=\"วิธีเขียน prompt ให้ AI เขียนโค้ดที่ใช้ได้ — คอร์ส VibeCode 101\">\n<meta name=\"author\" content=\"sj88-migrator2-1783847827@sj88ai.com\">\n<meta name=\"keywords\" content=\"vibecode, course, ep1\">\n<meta name=\"article:published_time\" content=\"2026-07-12 16:17:24\">\n<meta name=\"article:modifi",
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 67003,
    "all_shots": [
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/vibecode-ep1-top.png",
      "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/vibecode-ep1-shot2.png"
    ],
    "mobile_screenshot_size": 58648,
    "html_size": 10348,
    "has_thai": true,
    "has_vibe": true
  },
  {
    "name": "signup",
    "path": "/signup.html",
    "category": "public",
    "url": "https://sj88ai.com/signup.html",
    "status": 200,
    "ok": true,
    "errors": [],
    "warnings": [],
    "load_time_ms": 841.0,
    "size_bytes": 8590,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/signup-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/signup.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>สมัครสมาชิก — SJ88 Account</title>\n<meta name=\"description\" content=\"สมัคร SJ88 Account · เข้าถึงคอร์สออนไลน์ · เรียนบนเว็บ\">\n<meta name=\"theme-color\" content=\"#ec4899\">\n<link rel=\"icon\" href=\"/icon.svg\" type=\"image/svg+xml\">\n<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin=\"\">\n<lin",
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 325734,
    "mobile_screenshot_size": 140100,
    "html_size": 8167,
    "has_thai": true,
    "has_vibe": true
  },
  {
    "name": "login",
    "path": "/login.html",
    "category": "public",
    "url": "https://sj88ai.com/login.html",
    "status": 200,
    "ok": true,
    "errors": [],
    "warnings": [],
    "load_time_ms": 831.6,
    "size_bytes": 7870,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/login-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/login.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>เข้าสู่ระบบ — SJ88 Account</title>\n<meta name=\"description\" content=\"เข้าสู่ระบบ SJ88 Account · เข้าถึงคอร์สออนไลน์\">\n<meta name=\"theme-color\" content=\"#ec4899\">\n<link rel=\"icon\" href=\"/icon.svg\" type=\"image/svg+xml\">\n<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"",
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 317689,
    "mobile_screenshot_size": 134599,
    "html_size": 7632,
    "has_thai": true,
    "has_vibe": true
  },
  {
    "name": "account",
    "path": "/account.html",
    "category": "auth",
    "url": "https://sj88ai.com/account.html",
    "status": 200,
    "ok": true,
    "errors": [
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "warnings": [],
    "load_time_ms": 1381.0,
    "size_bytes": 15481,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/account-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/account.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>โปรไฟล์ของฉัน — SJ88 Account</title>\n<meta name=\"description\" content=\"จัดการบัญชี SJ88 · ดูคอร์สที่มี · เปลี่ยนรหัสผ่าน\">\n<meta name=\"theme-color\" content=\"#ec4899\">\n<link rel=\"icon\" href=\"/icon.svg\" type=\"image/svg+xml\">\n<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin=\"\">\n<link h",
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 223958,
    "mobile_screenshot_size": 89394,
    "html_size": 14564
  },
  {
    "name": "editor",
    "path": "/editor.html",
    "category": "auth",
    "url": "https://sj88ai.com/editor.html",
    "status": 200,
    "ok": true,
    "errors": [
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "warnings": [],
    "load_time_ms": 1429.9,
    "size_bytes": null,
    "screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/screenshots/editor-top.png",
    "mobile_screenshot": "/workspace/sj88auth/reports/2026-07-12-block-cms/mobile-screenshots/editor.png",
    "html_excerpt": "<!DOCTYPE html><html lang=\"th\"><head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1.0\">\n<title>เข้าสู่ระบบ — SJ88 Account</title>\n<meta name=\"description\" content=\"เข้าสู่ระบบ SJ88 Account · เข้าถึงคอร์สออนไลน์\">\n<meta name=\"theme-color\" content=\"#ec4899\">\n<link rel=\"icon\" href=\"/icon.svg\" type=\"image/svg+xml\">\n<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"",
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ],
    "screenshot_size": 317689,
    "mobile_screenshot_size": 134599,
    "html_size": 7632
  },
  {
    "name": "api-health",
    "path": "/auth/health",
    "ok": true,
    "status": 200,
    "size": 69,
    "sample": "{\"ok\":true,\"service\":\"sj88auth\",\"version\":\"1.1.0\",\"ts\":1783849113712}"
  },
  {
    "name": "api-list-shopee",
    "path": "/content/list?course=shopee-affiliate&status=published",
    "ok": true,
    "status": 200,
    "size": 15769,
    "sample": "{\"content\":[{\"id\":7,\"slug\":\"shopee-affiliate/lesson-3\",\"course_slug\":\"shopee-affiliate\",\"title\":\"Shopee Affiliate: ไม่ต้องดัง ก็ทำได้จริงไหม ขายได้จริงไหม\",\"meta_title\":\"Shopee Affiliate: ไม่ต้องดัง ก็ทำได้จริงไหม ขายได้จริงไหม | SJ88\",\"meta_description\":\"ไม่ต้องดัง ก็ทำได้จริงไหม ขายได้จริงไหม — 12 ch ของคอร์ส Shopee Affiliate\",\"meta_image\":\"/og-tutorials/shopee-lesson-3.jpg\",\"cover_image\":\"/og-tutorials/shopee-lesson-3.jpg\",\"excerpt\":\"ไม่ต้องดัง ก็ทำได้จริงไหม ขายได้จริงไหม\",\"status\":\"publishe"
  },
  {
    "name": "api-list-tiktok-ai",
    "path": "/content/list?course=tiktok-ai-2026&status=published",
    "ok": true,
    "status": 200,
    "size": 6833,
    "sample": "{\"content\":[{\"id\":40,\"slug\":\"tiktok-ai-2026/ep9\",\"course_slug\":\"tiktok-ai-2026\",\"title\":\"TikTok AI 2026: เคล็ดลับ + สรุป\",\"meta_title\":\"เคล็ดลับ + สรุป | TikTok AI 2026 | SJ88\",\"meta_description\":\"สรุปเครื่องมือ + workflow ที่ใช้ได้จริง — คอร์ส TikTok AI 2026\",\"meta_image\":\"/og-tutorials/tiktok-ai-2026.jpg\",\"cover_image\":\"/og-tutorials/tiktok-ai-2026.jpg\",\"excerpt\":\"สรุปเครื่องมือ + workflow ที่ใช้ได้จริง\",\"status\":\"published\",\"author\":\"sj88-migrator2-1783847827@sj88ai.com\",\"published_at\":\"2026-"
  },
  {
    "name": "api-list-tiktok-sulatan",
    "path": "/content/list?course=tiktok-sulatan-2026&status=published",
    "ok": true,
    "status": 200,
    "size": 5839,
    "sample": "{\"content\":[{\"id\":48,\"slug\":\"tiktok-sulatan-2026/ep7\",\"course_slug\":\"tiktok-sulatan-2026\",\"title\":\"TikTok สุลาต่าน 2026: ปรับกลยุทธ์ตามผล\",\"meta_title\":\"ปรับกลยุทธ์ตามผล | TikTok สุลาต่าน 2026 | SJ88\",\"meta_description\":\"วัดผล + ปรับ + ทำซ้ำ — คอร์ส TikTok สุลาต่าน 2026\",\"meta_image\":\"/og-tutorials/tiktok-sulatan-2026.jpg\",\"cover_image\":\"/og-tutorials/tiktok-sulatan-2026.jpg\",\"excerpt\":\"วัดผล + ปรับ + ทำซ้ำ\",\"status\":\"published\",\"author\":\"sj88-migrator2-1783847827@sj88ai.com\",\"published_at\":\"202"
  },
  {
    "name": "api-list-vibecode",
    "path": "/content/list?course=vibecode-101&status=published",
    "ok": true,
    "status": 200,
    "size": 4203,
    "sample": "{\"content\":[{\"id\":53,\"slug\":\"vibecode-101/ep4\",\"course_slug\":\"vibecode-101\",\"title\":\"VibeCode 101: Deploy เว็บฟรี\",\"meta_title\":\"Deploy เว็บฟรี | VibeCode 101 | SJ88\",\"meta_description\":\"Vercel + GitHub Pages ใช้ฟรี — คอร์ส VibeCode 101\",\"meta_image\":\"/og-tutorials/vibecode-101.jpg\",\"cover_image\":\"/og-tutorials/vibecode-101.jpg\",\"excerpt\":\"Vercel + GitHub Pages ใช้ฟรี\",\"status\":\"published\",\"author\":\"sj88-migrator2-1783847827@sj88ai.com\",\"published_at\":\"2026-07-12 16:17:36\",\"created_at\":\"2026-07-"
  },
  {
    "name": "old-curriculum",
    "path": "/courses/shopee-affiliate/curriculum.html",
    "category": "expected_404",
    "url": "https://sj88ai.com/courses/shopee-affiliate/curriculum.html",
    "status": 404,
    "ok": true,
    "errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()"
    ],
    "warnings": [],
    "load_time_ms": 815.9,
    "size_bytes": 1052,
    "screenshot": null,
    "mobile_screenshot": null,
    "html_excerpt": null,
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ]
  },
  {
    "name": "old-preview",
    "path": "/courses/shopee-affiliate/preview.html",
    "category": "expected_404",
    "url": "https://sj88ai.com/courses/shopee-affiliate/preview.html",
    "status": 404,
    "ok": true,
    "errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()"
    ],
    "warnings": [],
    "load_time_ms": 810.0,
    "size_bytes": 1052,
    "screenshot": null,
    "mobile_screenshot": null,
    "html_excerpt": null,
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ]
  },
  {
    "name": "old-tools",
    "path": "/courses/shopee-affiliate/tools.html",
    "category": "expected_404",
    "url": "https://sj88ai.com/courses/shopee-affiliate/tools.html",
    "status": 404,
    "ok": true,
    "errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()"
    ],
    "warnings": [],
    "load_time_ms": 808.5,
    "size_bytes": 1052,
    "screenshot": null,
    "mobile_screenshot": null,
    "html_excerpt": null,
    "console_errors": [
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()",
      "error: Failed to load resource: the server responded with a status of 404 ()",
      "error: Failed to load resource: the server responded with a status of 401 ()"
    ]
  },
  {
    "name": "interaction-home-to-shopee",
    "category": "interaction",
    "ok": false,
    "error": "Timeout 10000ms exceeded.\n=========================== logs ===========================\nwaiting for navigation to \"**/courses/shopee-affiliate/**\" until 'load'\n============================================================"
  },
  {
    "name": "interaction-salepage-to-lessons",
    "category": "interaction",
    "ok": true,
    "path": "https://sj88ai.com/courses/shopee-affiliate/lessons.html",
    "cards_loaded": 19
  },
  {
    "name": "interaction-lessons-to-ep0",
    "category": "interaction",
    "ok": true,
    "path": "https://sj88ai.com/shopee-affiliate/ep0.html",
    "h1": "Shopee Affiliate Ep0: เริ่มต้นทำคอนเทนต์นายหน้า Shopee สำหรับมือใหม่"
  },
  {
    "name": "interaction-editor-redirects",
    "category": "interaction",
    "ok": true,
    "redirected_to": "https://sj88ai.com/login.html?return_to=/editor.html"
  },
  {
    "name": "interaction-editor-with-content",
    "category": "interaction",
    "ok": true,
    "path": "https://sj88ai.com/editor.html",
    "content_items": 50
  },
  {
    "name": "interaction-checkout-pay-toggle",
    "category": "interaction",
    "ok": true,
    "bank_hidden": true
  }
]