Starium Global Phase 6 Sprint โ 2026-05-09
์์ฝ
Phase 5 ํ์. ์ฌ์ฉ์ ๋ช
๋ น(์์๊ด๋ฆฌ์) ๊ธฐ๋ฐ 7 task ๋ชจ๋ PASS โ Critical CSS ์ธ๋ผ์ธ / srcset ๋ค์ค ์ฌ์ด์ฆ / Schema.org ํ์ฅ / OG image ๋์ ์์ฑ / A/B Funnel ๋์๋ณด๋ / ALT ๋ค๊ตญ์ด LLM ์๋ + E2E ๊ฒ์ฆ.
E2E ๊ฒฐ๊ณผ (๋ชจ๋ PASS)
| ํญ๋ชฉ |
๊ฒฐ๊ณผ |
| Critical CSS ์ธ๋ผ์ธ |
64 ํ์ด์ง above-the-fold ์คํ์ผ ์ธ๋ผ์ธ + tw.min.css preload(๋น์ฐจ๋จ) |
| srcset ๋ค์ค ์ฌ์ด์ฆ |
63์ฅ ร 3 ์ฌ์ด์ฆ ร 2 ํฌ๋งท = 378 ๋ณํ๋ณธ ์ถ๊ฐ (320/640/1280w ร webp+avif). 478 picture ์๋ ์ ์ฉ |
| Schema.org ํ์ฅ |
๋ฉ์ธ ํ์ด์ง FAQPage(5 Q&A) + Course(Diploma Master Class) JSON-LD ์ถ๊ฐ |
| OG image ๋์ SVG |
12 endpoint (๋ฉ์ธ + 11 ์ฌ๋ฌ๊ทธ), 1.8KB SVG, page๋ณ ์์/์ ๋ชฉ |
| A/B Funnel ๋์๋ณด๋ |
/api/ab-funnel (CEO) + admin ์นด๋ (variant๋ณ page_view โ cta_click โ inquiry conversion %) |
| ALT ๋ค๊ตญ์ด LLM |
xAI grok-3-mini 1 ํธ์ถ 87์ด, 63 ์ด๋ฏธ์ง ร 4 lang = 252 ALT, 59 ํ์ด์ง ์ ์ฉ (data-alt-{lang}) |
| ํธ๋ ์ด๋ฉ / ์๋น์ค |
๋ชจ๋ active |
์์
(Phase 6A โ 6B)
Phase 6A (๋ณ๋ ฌ 6๊ฐ)
A-1 Critical CSS ์ธ๋ผ์ธ
- 64 ํ์ด์ง (๋ฉ์ธ + 11 ๋์ + 4 ๋ฉ์ธ prerender + 44 ์ธ์ด๋ณ + 4 partner) head์ critical CSS ์ธ๋ผ์ธ:
- body / nav.sticky / hero-mesh / lang-content ํ ๊ธ / ํฐํธ
<link rel="preload" href="tw.min.css" as="style" onload="...rel='stylesheet'"> + <noscript> fallback
- FOUC ํํผ + above-the-fold ์ฆ์ ๋ ๋ + ๋๋จธ์ง CSS ๋น์ฐจ๋จ ๋ก๋
A-2 srcset ๋ค์ค ์ฌ์ด์ฆ (๋ฐ์ํ)
- 63 jpg ร 3 ์ฌ์ด์ฆ (320w / 640w / 1280w) ร 2 ํฌ๋งท (webp + avif) = 378 ์ ๊ท ์ด๋ฏธ์ง
- WebP: cwebp
-resize $w 0 -q 80 ๋ณ๋ ฌ 8 worker
- AVIF: convert (resize) + avifenc
-q 60 -s 6 ๋ณ๋ ฌ 6 worker
- HTML picture 478๊ฑด ์๋ ๊ฐฑ์ :
<picture>
<source type="image/avif" srcset=".../X-320w.avif 320w, .../X-640w.avif 640w, .../X-1280w.avif 1280w" sizes="(max-width:640px) 100vw, (max-width:1024px) 50vw, 25vw">
<source type="image/webp" srcset=".../X-320w.webp 320w, ..." sizes="...">
<img src=".../X.jpg" alt="..." loading="lazy">
</picture>
- ๋ชจ๋ฐ์ผ 320w webp: ~5.5KB (1280w 1/4 size) โ ๋ฐ์ดํฐ ์ ๊ฐ ~75% (๋ชจ๋ฐ์ผ)
A-3 Schema.org ํ์ฅ
- ๋ฉ์ธ ํ์ด์ง +FAQPage (5 Q&A): "์ด๋ค ์๋ฃ ํ๋ก๊ทธ๋จ?" / "Diploma๋?" / "VIP 6๋ฐ7์ผ ํฌํจ?" / "Shangrila Bio ๊ด๊ณ?" / "๊ธ๋ก๋ฒ ํํธ๋์ญ ๋ฌธ์?"
- ๋ฉ์ธ ํ์ด์ง +Course: STARIUM Edition Diploma Master Class (4๋ฐ5์ผ + 3๋ฐ4์ผ instances)
- Google Rich Results ๋
ธ์ถ ๊ฐ๋ฅ (์๋ฃ๊ด๊ด ๊ฒ์ ๊ฒฐ๊ณผ ํ๋ถ ํ์)
A-4 OG image ๋์ SVG ์์ฑ
/starium-global/og/{slug}.svg endpoint (๋ฉ์ธ + 11 ์ฌ๋ฌ๊ทธ)
- 1200ร630 ํ์ค SVG, ํ์ด์ง๋ณ ์์ + ์ ๋ชฉ + STARIUM ๋ก๊ณ
- linearGradient + radialGradient + Inter ํฐํธ + Cache-Control max-age=86400
- ๋ชจ๋ ํ์ด์ง og:image + twitter:image ๊ฐฑ์
- ํ์ด์ง๋ง๋ค ๋ค๋ฅธ ๋ฏธ๋ฆฌ๋ณด๊ธฐ (WhatsApp/Facebook/Twitter ๊ณต์ ์)
A-5 A/B Conversion Funnel
GET /api/starium-global/ab-funnel?experiment_key=X (CEO ์ธ์ฆ)
- variant๋ณ funnel: visitors_assigned โ page_views โ cta_clicks โ inquiry_submits + cta_rate_pct + inquiry_rate_pct
- admin/index.html ์นด๋: 2 ์คํ ํ ๊ธ (hero_cta_v1 / hero_copy_v1)
- ํด๋ผ์ด์ธํธ v3 client script๊ฐ STARIUM_VARIANTS ๊ฐ์ฒด๋ก ๋ชจ๋ ์คํ variant๋ฅผ ์ด๋ฒคํธ meta์ ์๋ ์ฒจ๋ถ
A-6 ALT ๋ค๊ตญ์ด LLM ์๋
- xAI grok-3-mini 1 ํธ์ถ 87์ด โ 63 ์ด๋ฏธ์ง ร 4 ์ธ์ด ์ผ๊ด ์์ฑ (๋จ์ผ prompt + JSON ์๋ต)
- ํ์ผ๋ช
prefix ๊ธฐ๋ฐ ์๋ฏธ ์ถ๋ก (01-12 facility / 13 FPMU / 14 marketing / 18 covers / 19 leaflets)
- 252 ALT ๋งคํ โ HTML img alt + data-alt-{ko/zh/en/mn} ์์ฑ ์ถ๊ฐ (59 ํ์ด์ง)
- ํ์ด์ง lang ๋ฐ๋ผ alt ๋์ (ko/zh/en/mn ํ์ด์ง๋ง๋ค ํด๋น ์ธ์ด alt ์ฐ์ )
- SEO + ์ ๊ทผ์ฑ(์คํฌ๋ฆฐ ๋ฆฌ๋) ๋์ ๊ฐ์
์ํ:
01-clinic-exterior.jpg: ko=์คํ๋ฅจ ํด๋ฆฌ๋ ์ธ๋ถ / zh=STARIUM่ฏๆๅค้จ / en=STARIUM clinic exterior / mn=STARIUM ะบะปะธะฝะธะบ ะณะฐะดะฝะฐ
Phase 6B: E2E + cleanup
- 6 ํญ๋ชฉ ๋ชจ๋ PASS
- ์ถ๊ฐ cleanup ์์ (ํ
์คํธ ๋ฐ์ดํฐ ๋ฏธ์์ฑ)
๋ณ๊ฒฝ ํ์ผ
์ ๊ท (~380๊ฑด)
/starium-global/assets/gallery/*-{320,640,1280}w.{webp,avif} (378 ์ด๋ฏธ์ง)
/tmp/sg-build/translate-alt.py (LLM ALT ์์ฑ)
/tmp/sg-build/alt-multilingual.json (252 ALT ๋งคํ)
์์
/opt/star365-ceo/server.mjs: +OG image SVG endpoint + A/B funnel endpoint (~120 LOC)
- 64 HTML ํ์ด์ง: Critical CSS + preload tw.min.css
- 478 picture: srcset ๋ค์ค ์ฌ์ด์ฆ (3 ์ฌ์ด์ฆ ร 2 ํฌ๋งท)
- ๋ฉ์ธ ํ์ด์ง: FAQPage + Course JSON-LD
- ๋ชจ๋ ํ์ด์ง og:image: gallery ์ด๋ฏธ์ง โ ๋์ SVG
- 59 ํ์ด์ง img alt: ๋ค๊ตญ์ด alt + data-alt-{lang}
- admin/index.html: A/B Funnel ์นด๋ + loadFunnel JS
DB
- ๋ณ๊ฒฝ ์์ (Phase 3-5 ํ
์ด๋ธ ๊ทธ๋๋ก ํ์ฉ)
์์ ์ ๊ฒ
- โ
ํธ๋ ์ด๋ฉ (gunja-pair-hedge / gunja-multi-tenant / gate-pair-hedge) active
- โ
DB DROP 0 / UFW 0 / nginx 0
- โ
Critical CSS preload pattern: noscript fallback ํฌํจ (JS ๋นํ์ฑ ์ฌ์ฉ์๋ ์ ์)
- โ
srcset sizes ์ ํ (๋ชจ๋ฐ์ผ 100vw / tablet 50vw / desktop 25vw)
- โ
OG SVG: ๊ฒ์์์ง + SNS ๋ชจ๋ SVG ์ง์, ์บ์ 1์ผ
- โ
ALT LLM ์๋ต fallback (์คํจ ์ ์๋ฌธ alt ๋ณด์กด)
- โ
A/B Funnel SQL: variant๋ณ ๊ทธ๋ฃนํ + percentile ์ ํ
CEO ์ฌ์ฉ ๊ฐ์ด๋ (Phase 6)
A/B Funnel ์กฐํ
CEO_KEY=$(cat /root/.ceo_access_key)
curl -sk -H "X-CEO-Key: $CEO_KEY" "https://ceo.star365.site/api/starium-global/ab-funnel?experiment_key=hero_cta_v1" | python3 -m json.tool
curl -sk -H "X-CEO-Key: $CEO_KEY" "https://ceo.star365.site/api/starium-global/ab-funnel?experiment_key=hero_copy_v1" | python3 -m json.tool
OG image ๋ฏธ๋ฆฌ๋ณด๊ธฐ (์์
๊ณต์ ํ
์คํธ)
https://ceo.star365.site/starium-global/og/starium-global.svg
https://ceo.star365.site/starium-global/og/nad-mct.svg
https://ceo.star365.site/starium-global/og/vip-tour.svg
์ฌ์ฉ์ ๊ฒ์ฆ ๋๊ตฌ
Phase 7 ํ๋ณด
์ฌ์ฉ์ ์ก์
ํ์ (๋ธ๋กํน)
- SMTP App Password (Phase 4 ํ์)
- Cloudflare DNS
- ์นด์นด์คยทWeChatยทLINE ๊ณต์ ์ฑ๋
- Case Study ํ์ ๋์ ์ฝํ
์ธ
- Slack webhook URL
- Plausible ์์ฒด ํธ์คํ
- Google Search Console / Bing Webmaster ๋ฑ๋ก
Claude ์์จ ๊ฐ๋ฅ
- OG image PNG ๋ณํ (ํ SVG โ PNG 1200ร630 fallback, ์ผ๋ถ SNS๋ SVG ๋ฏธ์ง์)
- ์ด๋ฏธ์ง ์ฐ์ ์์ hint (
fetchpriority="high" ์ฒซ ์ด๋ฏธ์ง + decoding="async")
- Resource Hints (
<link rel="preconnect" href="//fonts.googleapis.com">)
- HTTP/3 ์ง์ ํ์ธ (nginx)
- ์ถ๊ฐ A/B ์คํ (price displayed/hidden, hero image variants)
- Inquiry ํ์ ํ์ฅ (drag&drop ์ฒจ๋ถํ์ผ)
- Content-Security-Policy ํค๋ ๊ฐํ
- Multi-CDN fallback (cdnjs / unpkg backup)
- Booking widget (Calendar ํตํฉ)
- Pricing comparison table (์์ ๋ณ)
- Video embed (์์ ์์ฐ/๋ณ์ ํฌ์ด)
๋ฉ๋ชจ๋ฆฌ/๋ณด๊ณ ์
- ๋ณด๊ณ ์:
/opt/star365-hq/docs/04-report/starium-global-phase6-20260509.md (ํ ํ์ผ)
- ๋ฉ๋ชจ๋ฆฌ:
starium-global-phase6-20260509.md