Starium Global Phase 5 Sprint โ 2026-05-09
์์ฝ
Phase 4 ํ์. ์ฌ์ฉ์ ๋ช
๋ น(์์๊ด๋ฆฌ์) ๊ธฐ๋ฐ 8 ํ๋ณด ์ค 5๊ฐ ์์จ ์งํ (Slack webhook URL / Plausible ์์ฒด ํธ์คํ
/ Critical CSS๋ SKIP). 6 task ๋ชจ๋ PASS โ MN(๋ชฝ๊ณจ์ด) LLM ์๋ ๋ฒ์ญ + 11 prerender / Web Vitals ๋์๋ณด๋ ์นด๋ / hero_copy_v1 A/B ๋ค์ค ์คํ / ๋ค๊ตญ์ด sitemap index / RSS feed + E2E ๊ฒ์ฆ.
E2E ๊ฒฐ๊ณผ (๋ชจ๋ PASS)
| ํญ๋ชฉ |
๊ฒฐ๊ณผ |
| MN LLM ๋ฒ์ญ |
xAI grok-3-mini, 11/11 ์ฌ๋ฌ๊ทธ โ
(75์ด ์์, $~0.005) |
| MN prerender ํ์ด์ง |
11/11 HTTP 200 (mn 11 ํ์ด์ง ์ ๊ท) |
| Web Vitals admin ์นด๋ |
/api/starium-global/web-vitals 200, admin ์นด๋ 3 ๋งค์นญ |
| A/B ๋ค์ค ์คํ |
hero_cta_v1 + hero_copy_v1 ๋์ ํ์ฑ, ab-assign ์ ์ |
| ๋ค๊ตญ์ด sitemap index |
5 sitemap (index + ko/zh/en/mn) ๋ชจ๋ 200 |
| robots.txt ๊ฐฑ์ |
mn allow + 5 sitemap ๋ช
์ |
| RSS feed |
4 ์ธ์ด (ko/zh/en/mn) ๋ชจ๋ 200 |
| ํ์ด์ง ์ดํฉ |
64 ํ์ด์ง (Phase 4 53 โ +11 mn) |
| ํธ๋ ์ด๋ฉ / ์๋น์ค |
๋ชจ๋ active |
์์
(Phase 5A โ 5B)
Phase 5A (๋ณ๋ ฌ 5๊ฐ, A-4 SKIP)
A-1 MN(๋ชฝ๊ณจ์ด) LLM ์๋ ๋ฒ์ญ
- xAI grok-3-mini API ํ์ฉ (
/etc/star365-worker.env XAI_API_KEY)
- 4-worker ThreadPoolExecutor ๋ณ๋ ฌ ํธ์ถ
- 11 ์ฌ๋ฌ๊ทธ ร (title + tagline + summary + 4-5 highlights) โ JSON ์๋ต โ mn ํค ์ถ๊ฐ
- 75.2์ด ์์ (ํ์ด์ง๋น ํ๊ท 7์ด)
- fallback: en (LLM ์คํจ ์ en ์ฝํ
์ธ ์ฌ์ฉ)
- ๋น๋:
programs-data-with-mn.json โ 11 mn HTML prerender (๊ฐ 11-13 KB)
- ๋ผ์ฐํธ:
/starium-global/mn/programs/<slug> (server.mjs (ko|zh|en) โ (ko|zh|en|mn))
๋ฒ์ญ ํ์ง ์ํ:
ko: "NAD+ MCT ๋ฉ๋์ปฌ ํ๋ก๊ทธ๋จ"
mn: "NAD+ MCT ัะผะฝัะปะณะธะนะฝ ั
ำฉัำฉะปะฑำฉั"
ko: "4 ์์ ยท 5 ๊ธฐ์ ยท ๊ฐ๊ฒฉ ๊ฐ์ด๋"
mn: "4 ัะผัะธะปะณัั ยท 5 ัะตั
ะฝะพะปะพะณะธ ยท าฏะฝะธะนะฝ ะณะฐััะฝ ะฐะฒะปะฐะณะฐ"
A-2 Web Vitals ๋์๋ณด๋ ์นด๋
- ์ ๊ท endpoint:
GET /api/starium-global/web-vitals?since=X (CEO ์ธ์ฆ)
- ์๋ต:
[{metric, rating, samples, avg_ms, p75, p95}] (PostgreSQL percentile_disc(0.75) WITHIN GROUP)
- admin/index.html ์ ๊ท ์นด๋: โก Core Web Vitals (7d) ํ
์ด๋ธ
- rating ์์: good=emerald / needs_improvement=amber / poor=red
A-3 ์ถ๊ฐ A/B ์คํ (hero_copy_v1)
STARIUM_VARIANTS = {} ๋ค์ค ์คํ ๋์ ์ถ์ ๊ฐ๋ฅ
- ๋ฉ์ธ ํ์ด์ง ์๋ ์์:
STARIUM_AB('hero_copy_v1') + variant B ์ hero ์๋จ์ ๊ฐ์กฐ ๋ฐฐ์ง ์ถ๊ฐ
- variant B ์นดํผ (locale๋ณ):
- ko: ๐ K-Medical ์์ ยท ๊ธ๋ก๋ฒ ์๋ฃ๊ด๊ด ์ธ์ฆ
- zh: ๐ K-Medical ่ทๅฅ ยท ๅ
จ็ๅป็ๆ
ๆธธ่ฎค่ฏ
- en: ๐ Award-winning K-Medical ยท Global Tourism Certified
- mn: ๐ ะจะฐะณะฝะฐะปั K-Medical ยท ะัะปั
ะธะนะฝ ะถััะปัะปะฐะป ะฑะฐัะฐะปะณะฐะฐะถัะฐะฝ
- 50 ํ์ด์ง v2 โ v3 client script ํตํฉ ์ ์ฉ (๋ค์ค ์คํ + Web Vitals + SW + ์ถ์ )
A-5 ๋ค๊ตญ์ด sitemap index
/starium-global/sitemap-index.xml (๋ฉํ) + 4 ์ธ์ด๋ณ sitemap (sitemap-{ko,zh,en,mn}.xml)
- ๊ฐ sitemap-{lang}.xml: ๋ฉ์ธ + 11 ํ๋ก๊ทธ๋จ = 12 URLs ร 4 ์ธ์ด hreflang
- robots.txt: ๋ชจ๋ 5 sitemap ๋ช
์ + mn allow ์ถ๊ฐ
A-6 RSS feed
GET /starium-global/rss.xml?lang={ko|zh|en|mn} (default ko)
- channel: title/link/description/language + atom:link self
- 11 items: ํ๋ก๊ทธ๋จ๋ณ title (locale๋ณ) + link + guid + pubDate
- application/rss+xml MIME
Phase 5B: E2E + cleanup
- 6 ํญ๋ชฉ ๋ชจ๋ PASS
- ํ
์คํธ ab-assignment ์ ๋ฆฌ
๋ณ๊ฒฝ ํ์ผ
์ ๊ท
/opt/star365-ceo/public/starium-global/mn/programs/{11 ์ฌ๋ฌ๊ทธ}.html
/tmp/sg-build/translate-mn.py (LLM ๋ฒ์ญ ์คํฌ๋ฆฝํธ)
/tmp/sg-build/programs-data-with-mn.json (mn ์ถ๊ฐ ๋ฉํ)
/tmp/sg-build/sg-client-v3.js (๋ค์ค A/B + ํตํฉ)
์์
/opt/star365-ceo/server.mjs:
- mn ๋ผ์ฐํธ ์ถ๊ฐ (programs)
/api/starium-global/web-vitals endpoint
/sitemap-index.xml + 4 /sitemap-{lang}.xml endpoints
/rss.xml?lang=X endpoint
- robots.txt 5 sitemap + mn allow
/opt/star365-ceo/public/starium-global/admin/index.html: โก Web Vitals ์นด๋ + loadWebVitals JS
- 50 HTML ํ์ด์ง: v3 client script (hero_copy_v1 + STARIUM_VARIANTS)
DB
- ๋ณ๊ฒฝ ์์ (Phase 3-4 ์ธํ๋ผ ๊ทธ๋๋ก ํ์ฉ)
์์ ์ ๊ฒ
- โ
ํธ๋ ์ด๋ฉ (gunja-pair-hedge / gunja-multi-tenant / gate-pair-hedge) active
- โ
DB DROP 0 / UFW 0 / nginx 0
- โ
MN ๋ฒ์ญ fallback en (LLM ์คํจ ์ ์๋ฌธ ํ์ โ ์ฌ์ฉ์ ๊ฒฝํ ๋ณด์กด)
- โ
A/B ๋ค์ค ์คํ: STARIUM_VARIANTS ๊ฐ์ฒด๋ก ๋ชจ๋ ์คํ ๋์ ์ถ์ , ์ด๋ฒคํธ meta์ ์๋ ์ฒจ๋ถ
- โ
sitemap index โ ๊ฒ์์์ง priority ๋ช
์ (๊ฐ lang sitemap ๋ถ๋ฆฌ)
- โ
Web Vitals percentile (p75/p95) Google ๊ถ์ฅ ์งํ ์ฌ์ฉ
CEO ์ฌ์ฉ ๊ฐ์ด๋ (Phase 5)
MN ํ์ด์ง ์ง์ ํ์ธ
https://ceo.star365.site/starium-global/mn/programs/nad-mct
Web Vitals ๋์๋ณด๋
https://ceo.star365.site/starium-global/admin
โ โก Core Web Vitals (7d) ํ
์ด๋ธ ์๋ ๊ฐฑ์
A/B ์คํ ๊ฒฐ๊ณผ ์กฐํ
CEO_KEY=$(cat /root/.ceo_access_key)
# hero_cta_v1 ๊ฒฐ๊ณผ
curl -sk -H "X-CEO-Key: $CEO_KEY" "https://ceo.star365.site/api/starium-global/ab-results?experiment_key=hero_cta_v1"
# hero_copy_v1 ๊ฒฐ๊ณผ
curl -sk -H "X-CEO-Key: $CEO_KEY" "https://ceo.star365.site/api/starium-global/ab-results?experiment_key=hero_copy_v1"
sitemap submission (๊ฒ์์์ง)
Google Search Console / Bing Webmaster:
Submit: https://ceo.star365.site/starium-global/sitemap-index.xml
RSS ๊ตฌ๋
https://ceo.star365.site/starium-global/rss.xml?lang=ko
https://ceo.star365.site/starium-global/rss.xml?lang=zh
https://ceo.star365.site/starium-global/rss.xml?lang=en
https://ceo.star365.site/starium-global/rss.xml?lang=mn
Phase 6 ํ๋ณด (๋จ์ ์์
)
์ฌ์ฉ์ ์ก์
ํ์ (๋ธ๋กํน)
- SMTP App Password (์๋ ๋ต์ฅ ํ์ฑ)
- Cloudflare DNS
- ์นด์นด์คยทWeChatยทLINE ๊ณต์ ์ฑ๋
- Case Study ํ์ ๋์ ์ฝํ
์ธ
- Slack webhook URL (์ง์ ๋ถ๊ธฐ ์ถ๊ฐ)
- Plausible ์์ฒด ํธ์คํ
๊ฒฐ์ (Docker ์ปจํ
์ด๋ ๋ฆฌ์์ค)
- Google Search Console / Bing Webmaster ๋ฑ๋ก
Claude ์์จ ๊ฐ๋ฅ (๊ณ์ ๊ฐ๋ฅ)
- Critical CSS ์ธ๋ผ์ธ (above-the-fold + tw.min.css async load)
- ์ด๋ฏธ์ง srcset ๋ค์ค ์ฌ์ด์ฆ (๋ฐ์ํ + retina)
- ์ถ๊ฐ A/B variant ์ฝํ
์ธ (CTA copy, ์์, ์์น ๋ค์ํ)
- inquiry โ Telegram ์ธ webhook ์ถ๊ฐ (Discord ์ธ ๋ค๋ฅธ ์ฑ๋)
- Schema.org ์ถ๊ฐ ํ์
(Course / EducationalOccupationalCredential / FAQPage)
- Open Graph image ์๋ ์์ฑ (page๋ณ ๋์ SVG โ PNG)
- AMP ํ์ด์ง (๋ชจ๋ฐ์ผ ๋น ๋ฅธ ๋ก๋)
- JSON-LD MedicalProcedure ์์ธ ์ถ๊ฐ (procedureType / preparation / followup)
- Partners ํ์ด์ง ๋ค๊ตญ์ด ํ ํฐ ๋ณ๊ฒฝ ๊ฐ์ด๋ + UI (admin์์ ํ ํฐ ๋ค์ค ๋ฐ๊ธ/ํ์)
- A/B ํต๊ณ ํตํฉ ๋์๋ณด๋ ์นด๋ (admin์ conversion funnel)
- ์ด๋ฏธ์ง ALT ํ
์คํธ ๋ค๊ตญ์ด ์๋ ์์ฑ (ํ์ฌ slug๋ง, ์ฝํ
์ธ ๊ธฐ๋ฐ + locale)
๋ฉ๋ชจ๋ฆฌ/๋ณด๊ณ ์
- ๋ณด๊ณ ์:
/opt/star365-hq/docs/04-report/starium-global-phase5-20260509.md (ํ ํ์ผ)
- ๋ฉ๋ชจ๋ฆฌ:
starium-global-phase5-20260509.md