Compare commits
No commits in common. "main" and "feature/discovery-url-cta" have entirely different histories.
main
...
feature/di
10
.gitignore
vendored
10
.gitignore
vendored
@ -11,13 +11,3 @@ doc/
|
||||
|
||||
# Auto-generated: Supabase DB snapshots (vite-plugin-supabase-sync)
|
||||
src/data/db/
|
||||
|
||||
# Word 잠금 파일
|
||||
~$*
|
||||
|
||||
# 파이썬 캐시
|
||||
__pycache__/
|
||||
|
||||
# 개인 업무 문서 (주간보고 등). 저장소에 올리지 않는다
|
||||
docs/*주간보고*
|
||||
docs/*weekly_report*
|
||||
|
||||
@ -1,34 +0,0 @@
|
||||
{
|
||||
"_comment": "AI 검색 유입 분류 기준(단일 원본). GA4 세션 출처(sessionSource)·리퍼러·utm_source 를 이 표로 AI 채널에 묶는다. measurable 은 리포트의 '측정 가능 범위' 표에 그대로 나간다. 수정하면 scripts/ga4_ai_traffic.py 와 리포트 빌더가 같이 바뀐다.",
|
||||
"version": "2026-09-08",
|
||||
"channels": [
|
||||
{ "id": "chatgpt", "label": "ChatGPT", "sources": ["chatgpt.com", "chat.openai.com", "openai.com"], "utm_sources": ["chatgpt.com", "chatgpt", "openai"],
|
||||
"measurable": "yes", "note": "링크에 utm_source=chatgpt.com 을 붙여 보내므로 리퍼러가 비어도 잡힌다." },
|
||||
{ "id": "perplexity", "label": "Perplexity", "sources": ["perplexity.ai", "www.perplexity.ai"], "utm_sources": ["perplexity", "perplexity.ai"],
|
||||
"measurable": "partial", "note": "리퍼러를 자주 비운다. 잡히는 건수는 실제 유입의 일부다. 실측 언급률과 함께 읽는다." },
|
||||
{ "id": "gemini", "label": "Gemini", "sources": ["gemini.google.com", "bard.google.com"], "utm_sources": ["gemini"],
|
||||
"measurable": "yes", "note": "gemini.google.com 리퍼러로 분리된다." },
|
||||
{ "id": "copilot", "label": "Copilot", "sources": ["copilot.microsoft.com", "bing.com/chat", "edgeservices.bing.com"], "utm_sources": ["copilot"],
|
||||
"measurable": "partial", "note": "Bing 검색과 리퍼러가 섞이는 경우가 있다." },
|
||||
{ "id": "claude", "label": "Claude", "sources": ["claude.ai"], "utm_sources": ["claude"],
|
||||
"measurable": "yes", "note": "claude.ai 리퍼러." },
|
||||
{ "id": "google_aio", "label": "Google AI Overview · AI Mode", "sources": [], "utm_sources": [],
|
||||
"measurable": "no", "note": "구글 자연검색(google / organic)과 같은 리퍼러라 GA4로는 구분되지 않는다. 타사 도구의 'AI Overview 유입'도 추정치다. 가시성은 답변엔진 실측으로만 잰다." },
|
||||
{ "id": "naver_ai", "label": "네이버 AI 브리핑", "sources": [], "utm_sources": [],
|
||||
"measurable": "no", "note": "네이버 검색 리퍼러(search.naver.com)와 구분되지 않는다. 네이버 서치어드바이저 유입 키워드로 간접 확인만 가능." },
|
||||
{ "id": "other_ai", "label": "기타 AI 검색", "sources": ["you.com", "search.brave.com", "phind.com", "deepseek.com", "chat.deepseek.com", "grok.com", "x.ai", "meta.ai", "kagi.com", "liner.com", "getliner.com", "wrtn.ai"], "utm_sources": ["deepseek", "grok", "you.com", "wrtn"],
|
||||
"measurable": "partial", "note": "리퍼러가 있을 때만 잡힌다." }
|
||||
],
|
||||
"not_measurable_by_ga4": [
|
||||
"AI 답변에 병원이 언급됐지만 사용자가 링크를 누르지 않은 경우(노출만 된 경우). 이건 답변엔진 실측(질문 뱅크)으로 잰다.",
|
||||
"AI 크롤러(GPTBot·PerplexityBot·ClaudeBot·Google-Extended)의 방문. 사람 방문이 아니라 GA4에 잡히지 않는다. 서버 로그로 잰다.",
|
||||
"리퍼러를 비운 채 넘어온 AI 유입. GA4에는 direct 로 들어간다.",
|
||||
"전화 통화·오프라인 방문으로 이어진 전환. 사이트의 전화 탭·예약 클릭까지만 잰다."
|
||||
],
|
||||
"conversion_events": [
|
||||
{ "name": "click_tel", "label": "전화 탭", "match": "a[href^='tel:']" },
|
||||
{ "name": "click_reservation", "label": "상담 예약 클릭", "match": "a.cta, a[data-ga='reservation']" },
|
||||
{ "name": "click_clinic_site", "label": "병원 홈페이지 이동", "match": "a[data-ga='clinic-site']" },
|
||||
{ "name": "click_map", "label": "지도·길찾기 클릭", "match": "a[data-ga='map']" }
|
||||
]
|
||||
}
|
||||
@ -1,882 +0,0 @@
|
||||
{
|
||||
"바노바기성형외과": {
|
||||
"facebook": [
|
||||
"https://facebook.com/BanobagiPlasticSurgery?_rdr",
|
||||
"https://www.facebook.com/BanobagiPlasticSurgery"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/banobagips",
|
||||
"https://blog.naver.com/banobagiprs"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/c/banobagips"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/banobagi15886508",
|
||||
"https://www.instagram.com/banobagi_ps/"
|
||||
]
|
||||
},
|
||||
"뷰성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/viewps1/"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/viewclinicps"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCQqqH3Klj2HQSHNNSVug-CQ",
|
||||
"https://www.youtube.com/@ViewclinicKR/shorts"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/viewplastic/"
|
||||
],
|
||||
"cafe": [
|
||||
"https://cafe.naver.com/bluectcom2"
|
||||
]
|
||||
},
|
||||
"아이디병원": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/idhospital0050"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/player_api?enablejsapi=1",
|
||||
"https://www.youtube.com/user/IDhospital/featured"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/idhospital"
|
||||
]
|
||||
},
|
||||
"그랜드성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/grandps.korea",
|
||||
"https://facebook.com/grandps.korea"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/grandprs"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCU2o_aHqsNFuqwtdzVM3xbQ"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/grand_korea",
|
||||
"https://www.instagram.com/grand_korea/"
|
||||
]
|
||||
},
|
||||
"원진성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/KwonjinPS"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/popokpop"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCNBaQBCok5xIViCnrGdisoQ",
|
||||
"https://www.youtube.com/@wjwonjin",
|
||||
"https://www.youtube.com/channel/UC-EBM4e0VST1W_PQ0NzFMQg"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/wonjin_official/",
|
||||
"https://www.instagram.com/wonjin_ps/",
|
||||
"https://www.instagram.com/wj_cosmetic/"
|
||||
]
|
||||
},
|
||||
"마인드성형외과": {
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCzM5tIgkC8Es10YmLI55R_w"
|
||||
]
|
||||
},
|
||||
"브라운성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/braunps"
|
||||
],
|
||||
"youtube": [
|
||||
"https://youtu.be/rtDaps_Ztlo?si=21DTQ2g8IkgRo4AW",
|
||||
"https://youtu.be/P7t_Q1s6FKw?si=zotjNYKOgxEPIv6k",
|
||||
"https://youtu.be/1TzG7l3vJH0?si=nyxUQhNle_xEh3nP",
|
||||
"https://www.youtube.com/@10ricebone_braun",
|
||||
"https://youtu.be/kZP1TxOSszQ?si=QYzJ-o7f9djliZ-8",
|
||||
"https://youtu.be/nUeyQVTkA-A?si=dgbOKXBCJo7fhD2T",
|
||||
"https://youtu.be/gRb-Pj0K4Nk?si=zcblxytyL7vLBxKL",
|
||||
"https://youtu.be/JAlQhrvfd6E?si=ALygwB4qmWLpYFKp",
|
||||
"https://youtu.be/9TGup2iLGXo?si=-ORV8WN0QpWERwO3",
|
||||
"https://youtu.be/gA-ZEWoZQQk?si=y7icwpFlaFadEp_R",
|
||||
"https://youtu.be/Z--rM9HhOcg?si=kad21Sd0KDgkLj10",
|
||||
"https://www.youtube.com/@braunps_kr"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/braunps_official/"
|
||||
]
|
||||
},
|
||||
"오메가성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/%EC%98%A4%EB%A9%94%EA%B0%80%EC%84%B1%ED%98%95%EC%99%B8%EA%B3%BC-1682577712065719/"
|
||||
]
|
||||
},
|
||||
"나나성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/nanaprs2",
|
||||
"https://www.facebook.com/profile.php?id=100083037025459"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/nanaprs1"
|
||||
],
|
||||
"youtube": [
|
||||
"https://youtube.com/@Nanaprstv?si=fLyqXsfJcLEhTmcH",
|
||||
"https://www.youtube.com/나나성형외과",
|
||||
"https://youtu.be/:id",
|
||||
"https://www.youtube.com/@Nanaprstv"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/nana_afters/",
|
||||
"https://www.instagram.com/nanaprs",
|
||||
"https://www.instagram.com/nanaprs/"
|
||||
],
|
||||
"cafe": [
|
||||
"http://cafe.naver.com/bestcarbon"
|
||||
]
|
||||
},
|
||||
"노트성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/noteprs2/?eid=ARChdUaMnfPx5Xok2tDTXWr5IbgeQIlbLHKhDP2AfBXBPvRAY8mwZlVG4JdxderLMdBNRcVqXVVbaM4P"
|
||||
],
|
||||
"youtube": [
|
||||
"https://youtu.be/I06kpsK0IZI",
|
||||
"https://youtu.be/a7tU62mZvGE",
|
||||
"https://youtu.be/-Y_UT3G5WoA",
|
||||
"https://youtu.be/mAgui9wOowA",
|
||||
"https://youtu.be/o-PBXufp9oA",
|
||||
"https://youtu.be/9b4MWwxhVgE",
|
||||
"https://youtu.be/Mev2OvcDvO4",
|
||||
"https://youtu.be/HZjQJ-rcjoM",
|
||||
"https://youtu.be/avQXLEoR7Gg",
|
||||
"https://youtu.be/7wB3nCoxd-E",
|
||||
"https://youtu.be/WpiKrNE68ns",
|
||||
"https://youtu.be/ggCQD3eD_pc",
|
||||
"https://youtu.be/lRHge9NFxWE",
|
||||
"https://youtu.be/cZF4BRyIABM",
|
||||
"https://youtu.be/Z0_lrBarjWA"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/note.prs/?hl=ko"
|
||||
]
|
||||
},
|
||||
"디에이성형외과": {
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UC0wlA-w5JIt0G0EeWQf65AQ"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/da_plastic_surgery"
|
||||
]
|
||||
},
|
||||
"에이비성형외과": {},
|
||||
"비아이오성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/biopskorea"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/bioplastics20"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/bio_dr.hongsungpyo"
|
||||
]
|
||||
},
|
||||
"제이준성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/jayjunps"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/gusrlf00"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UC1p4msJnetDKeOW-B4nlwZA/videos"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/jayjunps/"
|
||||
]
|
||||
},
|
||||
"마블성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/hashtag/",
|
||||
"https://www.facebook.com/marbleps/"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/marbleplastic"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/@marbleps"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/marble__ps/"
|
||||
]
|
||||
},
|
||||
"쥬얼리성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/juelyps"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/prsshin2"
|
||||
],
|
||||
"youtube": [
|
||||
"http://www.youtube.com/jewelrypsKr1",
|
||||
"https://www.youtube.com/JewelrypsKr1/videos"
|
||||
],
|
||||
"instagram": [
|
||||
"https://instagram.com/jewelryps_kr"
|
||||
]
|
||||
},
|
||||
"티에스성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/tsprs"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/tsprs"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCgnizu8p7lbCnfIs76O8J-A"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/tsprs_official/"
|
||||
],
|
||||
"cafe": [
|
||||
"https://cafe.naver.com/yeuntalk"
|
||||
]
|
||||
},
|
||||
"유노성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/doctor.yuno/"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/yuno_blog"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/@yunotube_yunoprs",
|
||||
"https://www.youtube.com/channel/UCrEe-LfBLXA1-bTGS4bWmtg/featured"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/doctor.yuno/"
|
||||
]
|
||||
},
|
||||
"리팅성형외과": {
|
||||
"blog": [
|
||||
"https://blog.naver.com/night140160"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UC1xWD4jMLNtRjrXPtr468mA"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/liting_psps/"
|
||||
]
|
||||
},
|
||||
"앤써성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/answerps4881",
|
||||
"https://www.facebook.com/answerps4881/?ref=bookmarks"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/answerps"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCo7efud2JIGvGjKSkMpdQbA",
|
||||
"https://www.youtube.com/@TV-gf8ms/featured"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/answerps",
|
||||
"https://www.instagram.com/answerps/"
|
||||
],
|
||||
"cafe": [
|
||||
"https://cafe.naver.com/answerps"
|
||||
]
|
||||
},
|
||||
"더픽스성형외과": {
|
||||
"youtube": [
|
||||
"https://youtu.be/1xSyeNHkBRg?si=BXdIg5YLP0_5rSAx"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/thefixps/"
|
||||
],
|
||||
"cafe": [
|
||||
"https://cafe.naver.com/bluegrayewefn"
|
||||
]
|
||||
},
|
||||
"기린성형외과": {
|
||||
"blog": [
|
||||
"https://blog.naver.com/girinlife"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/@girin_official",
|
||||
"https://www.youtube.com/@girin_official/videos",
|
||||
"https://www.youtube.com/@girin_official/shorts"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/girin_ps_official/"
|
||||
]
|
||||
},
|
||||
"압구정서울성형외과": {
|
||||
"youtube": [
|
||||
"https://www.youtube.com/player_api",
|
||||
"https://www.youtube.com/channel/UCqNtVCL2u5Xvx74ymboxDyg",
|
||||
"https://www.youtube.com/@aspsno1",
|
||||
"https://youtu.be/WENjXjsyBTY?t=738",
|
||||
"https://youtu.be/9Z0anr2o0SI"
|
||||
]
|
||||
},
|
||||
"리젠메디컬그룹": {
|
||||
"blog": [
|
||||
"https://blog.naver.com/shinygn1",
|
||||
"https://blog.naver.com/shinygn1/221607462891"
|
||||
],
|
||||
"instagram": [
|
||||
"http://instagram.com/regenskin"
|
||||
]
|
||||
},
|
||||
"코코성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/kokodoctor/"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/koko_plastic_surgery"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCc19LE6Elp0OTNo9gDizJMw",
|
||||
"https://www.youtube.com/channel/UCtoEbWkvprRpGfTtgLf-cIQ",
|
||||
"https://www.youtube.com/channel/UCvGhy-kpyXlXR4SwtLh1q5w"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/koko_ps_official/"
|
||||
]
|
||||
},
|
||||
"오브제성형외과": {
|
||||
"blog": [
|
||||
"https://blog.naver.com/objetps"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UC2QrFhj-S8oUrbfOp1NXKZA?view_as=subscriber"
|
||||
]
|
||||
},
|
||||
"리상성형외과": {
|
||||
"blog": [
|
||||
"https://blog.naver.com/theps_kor"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/@theregen_ps"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/theregen_ps"
|
||||
]
|
||||
},
|
||||
"에이트성형외과": {
|
||||
"blog": [
|
||||
"https://blog.naver.com/eightplasticsurgery"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/@eighteffect",
|
||||
"https://www.youtube.com/channel/UCpTmm84yJLgIBwBcBhjie4Q"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/eightps8",
|
||||
"https://www.instagram.com/eightps8/"
|
||||
]
|
||||
},
|
||||
"오페라성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/operasurgery/"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/fasolt2"
|
||||
],
|
||||
"youtube": [
|
||||
"http://youtu.be/DujfpXOKUp8?t=13m8s",
|
||||
"https://www.youtube.com/channel/UC2R_jfmmn0zE-dkButFS_ZA"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/opera_ps/"
|
||||
]
|
||||
},
|
||||
"리엔장성형외과": {
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCxyiPTH9xHqhPVfwyyosXMQ"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/lienjang_official/"
|
||||
]
|
||||
},
|
||||
"루호성형외과": {
|
||||
"instagram": [
|
||||
"https://www.instagram.com/dr.park1.luho/"
|
||||
]
|
||||
},
|
||||
"쏘울성형외과": {},
|
||||
"에이탑성형외과": {
|
||||
"blog": [
|
||||
"http://blog.naver.com/josoblue",
|
||||
"https://blog.naver.com/aspect11706/"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCPBCTxCX1hyRnXejA8QfFEQ"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/atop_instalog/"
|
||||
]
|
||||
},
|
||||
"유캔비성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/ucanbps"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/ucanb2338"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCegLA3CpLkDOe5h_DnhUpFA"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/ucanb_plastic_surgery/"
|
||||
]
|
||||
},
|
||||
"스타성형외과": {
|
||||
"cafe": [
|
||||
"https://cafe.naver.com/starclinic",
|
||||
"http://cafe.naver.com/starclinic"
|
||||
]
|
||||
},
|
||||
"아이템성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/%EC%9E%87%ED%85%9C%EC%84%B1%ED%98%95%EC%99%B8%EA%B3%BC-101634361973942"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/ittem_ps"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCXmZn2rvsl3S-tB901MjZxA"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/ittem_ps"
|
||||
],
|
||||
"cafe": [
|
||||
"https://cafe.naver.com/gkrry652",
|
||||
"http://cafe.daum.net/plasticsurg"
|
||||
]
|
||||
},
|
||||
"리코성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/licotop"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/licops"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UC3T_EiEpQr1xE16o69XCqjQ"
|
||||
]
|
||||
},
|
||||
"플레저성형외과": {
|
||||
"blog": [
|
||||
"https://blog.naver.com/2amsomething"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCAkB7Oj9cIG4gJNPsnFedRg",
|
||||
"https://www.youtube.com/c/PSPS_korea"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/pleasure_ps/"
|
||||
]
|
||||
},
|
||||
"아이웰성형외과": {},
|
||||
"글로비성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/glovips"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/glovips",
|
||||
"https://blog.naver.com/tla92435"
|
||||
],
|
||||
"youtube": [
|
||||
"https://youtu.be/wIZE-fQCFCs",
|
||||
"https://www.youtube.com/channel/UCH4Orbmc3cFqajWx1I6Xs2w"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/glovips/"
|
||||
]
|
||||
},
|
||||
"엘르성형외과": {},
|
||||
"원픽성형외과": {},
|
||||
"탑페이스성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/topfaceps",
|
||||
"https://www.facebook.com/topfaceplasticsurgery",
|
||||
"https://www.facebook.com/topfacepsthai"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/topfaceps"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/@topfaceps"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/topfaceps/",
|
||||
"https://www.instagram.com/topfacepscn/",
|
||||
"https://www.instagram.com/topfacejp/"
|
||||
],
|
||||
"cafe": [
|
||||
"https://cafe.naver.com/gematsal"
|
||||
]
|
||||
},
|
||||
"세민성형외과": {},
|
||||
"에이치성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/3DFIT100"
|
||||
],
|
||||
"blog": [
|
||||
"http://blog.naver.com/ys100ps"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UC6d8i9WwIkm161ueFyVU2PA"
|
||||
]
|
||||
},
|
||||
"리노보성형외과": {},
|
||||
"디엘성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/dreamline.en",
|
||||
"https://www.facebook.com/dl.plastic.en",
|
||||
"https://www.facebook.com/DLplastic",
|
||||
"https://www.facebook.com/DL.Plastic.TH",
|
||||
"https://www.facebook.com/profile.php?id=61553776546703",
|
||||
"https://www.facebook.com/DL.Plastic.VN"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/aesthetics182"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/@LINEKING_DL",
|
||||
"https://www.youtube.com/channel/UCpR9Qd_jBsouxinuJ5m-fvg"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/dl_dreamline",
|
||||
"https://www.instagram.com/dl_plastic_official",
|
||||
"https://www.instagram.com/dl_dreamline.en",
|
||||
"https://www.instagram.com/dl_plastic_int/",
|
||||
"https://www.instagram.com/dl.plastic.jp?igsh=MXQ2ZW15ZWppY3BvaQ%3D%3D",
|
||||
"https://www.instagram.com/dlplasty",
|
||||
"https://www.instagram.com/dl_plastic_th",
|
||||
"https://www.instagram.com/dl.plastic.surgery_vietnam?igsh=bGFmYWQ2MnJleXdy&utm_source=qr",
|
||||
"https://www.instagram.com/dl_plastic_vn"
|
||||
]
|
||||
},
|
||||
"피알성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/PRPRS.official"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCFeYqxaNozoRaTbYOrR16lg"
|
||||
],
|
||||
"instagram": [
|
||||
"https://api.instagram.com/v1/users/self/media/recent?client_id=",
|
||||
"https://www.instagram.com/prprs_official/"
|
||||
]
|
||||
},
|
||||
"라프린성형외과": {},
|
||||
"도도성형외과": {
|
||||
"blog": [
|
||||
"http://blog.naver.com/mmscjh"
|
||||
]
|
||||
},
|
||||
"엠제이성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/people/MJ%ED%94%BC%EB%B6%80%EA%B3%BC/100063928095304/"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/mjskinclinic"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCFjkFyYDu4HpLjc9axlh6YQ"
|
||||
],
|
||||
"cafe": [
|
||||
"https://cafe.naver.com/beauteparadis"
|
||||
]
|
||||
},
|
||||
"아우라성형외과": {
|
||||
"blog": [
|
||||
"https://blog.naver.com/pristor"
|
||||
]
|
||||
},
|
||||
"하이봄성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/highvom1"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/hivom"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCuuH9oWh9h29hVRmH2sHAuA"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/highvom",
|
||||
"https://www.instagram.com/highvom/"
|
||||
]
|
||||
},
|
||||
"유앤아이성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/uni114"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCHgZnNk3JIDxnoYcWSWtAJw"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/skinuni114/"
|
||||
]
|
||||
},
|
||||
"리본성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/reborn3355"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/reborn1999"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCyFdX9zxfu2e2JVTwPjki5A"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/rebornps"
|
||||
]
|
||||
},
|
||||
"라이크성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/%EB%9D%BC%EC%9D%B4%ED%81%AC%EC%84%B1%ED%98%95%EC%99%B8%EA%B3%BC-101498222230862",
|
||||
"https://www.facebook.com/likeps1"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/likeps0012"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCZ1kKCfEYUxCj78VPEC_wow"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/likeps12",
|
||||
"https://www.instagram.com/like_likeps",
|
||||
"https://www.instagram.com/likeps_kr"
|
||||
],
|
||||
"cafe": [
|
||||
"https://cafe.naver.com/plasticsurg",
|
||||
"http://cafe.daum.net/plasticsurg"
|
||||
]
|
||||
},
|
||||
"케이플러스성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/kclinics"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/kclinics-osh"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/@k-plasticsurgery"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/k_plasticsurgery/"
|
||||
]
|
||||
},
|
||||
"케이아트성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/kartpsseoul"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/kartps"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCHs9LOYtauBIklXhPPZBAgA",
|
||||
"https://www.youtube.com/channel/UCHs9LOYtauBIklXhPPZBAgA/videos?disable_polymer=1%3F%3F"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/kartps/"
|
||||
]
|
||||
},
|
||||
"이룸성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/서울아이성형외과-105199207892670/"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/seoulips"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/@seouliplasticsurgery",
|
||||
"https://www.youtube.com/channel/UCYcssdFunRLmD8b376Y6ykg"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/seoulips/?hl=ko",
|
||||
"https://www.instagram.com/seouli_ps_th/",
|
||||
"https://www.instagram.com/seouli_jp/"
|
||||
],
|
||||
"cafe": [
|
||||
"https://cafe.naver.com/seoulips"
|
||||
]
|
||||
},
|
||||
"서초서울성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/user128"
|
||||
]
|
||||
},
|
||||
"서초연세성형외과": {
|
||||
"blog": [
|
||||
"https://blog.naver.com/chaminst"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCMxBfZivKz5jjhRiy0mzOXQ"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/chamin_ps"
|
||||
]
|
||||
},
|
||||
"리모성형외과": {
|
||||
"blog": [
|
||||
"https://blog.naver.com/shpsclinic",
|
||||
"https://blog.naver.com/rraa0406"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCCiH9OffJgZTMnkxatK8-5A"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/sh___ps/"
|
||||
]
|
||||
},
|
||||
"화이트성형외과": {
|
||||
"youtube": [
|
||||
"https://youtu.be/xxFDhNk2Scc",
|
||||
"https://www.youtube.com/channel/UCd2CJ_TVHTV5qE0TXcscF3g"
|
||||
]
|
||||
},
|
||||
"미호성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/mihops5503"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/mihops5955503",
|
||||
"https://blog.naver.com/miho3925ps",
|
||||
"https://blog.naver.com/qalfuqbjtmnf"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UC8kyWAnMM7f_xguyPxR_gtA",
|
||||
"https://www.youtube.com/channel/UC8kyWAnMM7f_xguyPxR_gtA/featured",
|
||||
"https://www.youtube.com/channel/UCefpyLZgvqZ4bqDofEcE45A"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/mihops5503/",
|
||||
"https://www.instagram.com/mihops_kr/",
|
||||
"https://www.instagram.com/mihops5503",
|
||||
"https://www.instagram.com/miho_realpic",
|
||||
"https://www.instagram.com/premier__official/"
|
||||
],
|
||||
"cafe": [
|
||||
"https://cafe.naver.com/thefoxstyle",
|
||||
"https://cafe.naver.com/mihopsps"
|
||||
]
|
||||
},
|
||||
"에비뉴성형외과": {},
|
||||
"비온성형외과": {
|
||||
"blog": [
|
||||
"https://blog.naver.com/miz2199"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UClCjGIfEb3b1N-Q5tCNSU5w"
|
||||
],
|
||||
"instagram": [
|
||||
"https://api.instagram.com/v1"
|
||||
]
|
||||
},
|
||||
"아크성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/arcplasticsurgery",
|
||||
"https://www.facebook.com/arcps.thai/"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/arcps"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UC4Zc0k59qdbrzmNG1aDNmHQ/featured"
|
||||
],
|
||||
"instagram": [
|
||||
"https://instagram.com/p/",
|
||||
"https://www.instagram.com/arc_plastic_surgery/"
|
||||
]
|
||||
},
|
||||
"에버성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/everplasticsurgery/?ref=bookmarks",
|
||||
"https://www.facebook.com/everplasticsurgery/",
|
||||
"https://www.facebook.com/everplasticsurgery"
|
||||
],
|
||||
"blog": [
|
||||
"http://blog.naver.com/drblue007",
|
||||
"http://blog.naver.com/everclinic",
|
||||
"https://blog.naver.com/drblue007"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCwSusNRTM2B_mvdRd0yNVcw"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/everclinic0088/"
|
||||
]
|
||||
},
|
||||
"유앤미성형외과": {
|
||||
"youtube": [
|
||||
"https://www.youtube.com/channel/UCAROD-B1ZBinpyzql7o_IlA"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/knyounmeclinic",
|
||||
"https://www.instagram.com/knyounmeclinic/"
|
||||
]
|
||||
},
|
||||
"마노성형외과": {
|
||||
"blog": [
|
||||
"https://blog.naver.com/tkhr4747"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/@mano_ps"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/manops_official"
|
||||
]
|
||||
},
|
||||
"에스엠성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/thammySM3707?mibextid=LQQJ4d"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/smps1004",
|
||||
"https://blog.naver.com/smps1004/223225872355",
|
||||
"https://blog.naver.com/smps1004/223222618079",
|
||||
"https://blog.naver.com/smps1004/223220646900",
|
||||
"https://blog.naver.com/smps1004/223219865154",
|
||||
"https://blog.naver.com/smps1004/223219923186",
|
||||
"https://blog.naver.com/smps1004/223242618343"
|
||||
],
|
||||
"youtube": [
|
||||
"https://www.youtube.com/@smpsclinic"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/smps_plastic_surgery/?igshid=MzRlODBiNWFlZA%3D%3D",
|
||||
"https://www.instagram.com/smps_id/?igsh=MW5seTU0ZzVnZ3Fndg%3D%3D"
|
||||
]
|
||||
},
|
||||
"서울미작성형외과": {
|
||||
"facebook": [
|
||||
"https://www.facebook.com/mijaknose"
|
||||
],
|
||||
"blog": [
|
||||
"https://blog.naver.com/mijak3444"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/mijak2444/"
|
||||
]
|
||||
},
|
||||
"더원성형외과": {
|
||||
"blog": [
|
||||
"https://blog.naver.com/brs0714"
|
||||
],
|
||||
"youtube": [
|
||||
"https://youtu.be/awcUKK31Kis",
|
||||
"https://youtu.be/jKY3iF3pc3Q",
|
||||
"https://youtu.be/WhUSe5fiUWA",
|
||||
"https://youtu.be/4QK2W0Md_HM"
|
||||
],
|
||||
"instagram": [
|
||||
"https://www.instagram.com/theone_plastic_surgery/"
|
||||
]
|
||||
}
|
||||
}
|
||||
@ -1,7 +1,5 @@
|
||||
# INFINITH AI Discovery AEO/GEO 채점 기준표 v1.0
|
||||
|
||||
> **2026-09-07 갱신:** 제품 점수는 v2.0(AEO 답변 준비도 100 · GEO 출처 준비도 100, `docs/AEO_GEO_RUBRIC_v2.md`)으로 바뀌었다. 이 문서의 36항목은 v2.0의 **실측 신호**로 그대로 쓰이며, v1.0 종합 100점은 리포트에 보조 표기로만 남는다.
|
||||
|
||||
> 코드 원본: `src/data/aeoGeoRubric.ts` · 타입: `src/types/discovery.ts` · 집계: `src/lib/discoveryScore.ts`
|
||||
> 리포트 페이지: `/discovery/:id` (`src/pages/DiscoveryReportPage.tsx`)
|
||||
> 근거 기반: ado2-aeo-geo 스킬 (2026-08-26 한국 실측 · Princeton GEO KDD 2024 · C-SEO Bench NeurIPS 2025)
|
||||
|
||||
@ -1,143 +0,0 @@
|
||||
# INFINITH AI Discovery 채점 기준표 v2.0 · AEO / GEO 분리 지표
|
||||
|
||||
> 코드 원본: `src/data/aeoGeoRubricV2.ts` · 집계: `src/lib/discoveryScoreV2.ts` · 타입: `src/types/discovery.ts` (v2 블록)
|
||||
> 상태: **active** (2026-09-07). v1.0(36항목 종합 100점)은 유지하며 두 점수를 나란히 표시한다. 이 문서는 코드에서 생성한다(`npx tsx scripts/gen_rubric_v2_doc.ts`).
|
||||
|
||||
## 설계
|
||||
|
||||
- AEO 답변 준비도(100): 고객의 질문에 얼마나 명확하고 충분하게 답하는가.
|
||||
- GEO 출처 준비도(100): 그 답을 얼마나 검증하고 신뢰할 수 있는 출처로 사용할 수 있는가.
|
||||
- 같은 평가 항목을 두 점수에 중복 배정하지 않는다. v1.0 실측 항목 36개도 한 곳에만 매핑한다(아래 매핑표, 중복 0·미매핑 0을 스크립트로 검사).
|
||||
- 이 배점은 INFINITH 제품용 진단 기준이며, 검색엔진의 공식 점수나 인용 확률이 아니다.
|
||||
- 항목 점수 = 파생 신호(v1.0 실측 레벨 0~3)의 가중 평균. 사람 판정(`v2Results`)이 있으면 우선. 미검증은 분모 제외.
|
||||
- 게이트는 점수가 아니라 상한이다. 크롤러 차단·본문 미렌더면 두 축 모두 40 이하로 표시한다.
|
||||
- v1.0의 측정 인프라(E)·기술 위생 일부(F)·속도·hreflang·오픈웹 언급은 점수 밖 부가 지표로 남긴다.
|
||||
- 등급 경계는 v1.0과 같다: A(81+) · B(61–80) · C(41–60) · D(≤40).
|
||||
|
||||
## AEO · 답변 준비도 (Answer Readiness) · 100
|
||||
|
||||
고객의 질문에 얼마나 명확하고 충분하게 답하는가?
|
||||
|
||||
| ID | 항목 | 배점 | 채점 | v1.0 파생 신호(비중) | 확인 방법 | 3점 기준 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| AEO1 | 질문 수요 충족 | 20 | 반자동 | C2 FAQ 섹션(1) | 질문 뱅크(업종별 7카테고리) 대비 답이 있는 문항 비율. 자동 신호는 FAQ 섹션·FAQPage 스키마(C2). 사람 판정은 QB 실측 결과로 덮어쓴다 | 카테고리 전반에 답, 문항 60% 이상 |
|
||||
| AEO2 | 답변의 직접성 | 20 | 반자동 | C1 정의문형 첫 문단(1) | 핵심 페이지 첫 200자에 [상호+지역+전문분야] 정의문 또는 질문에 대한 직접 답 존재(C1) | 전 핵심 페이지가 답으로 시작 |
|
||||
| AEO3 | 답변 단위의 자기완결성 | 15 | 사람 | C8 패시지 자기완결성(1) | 핵심 페이지 단락 샘플 10개 중 상호·시술명이 포함된 비율(C8) | 80% 이상 |
|
||||
| AEO4 | 의사결정에 필요한 정보 | 15 | 반자동 | C4 구체 수치 (가격·시간·회복)(0.6), C5 표·비교 구조(0.4) | 시술 페이지의 수치 밀도(C4)와 HTML 표·비교 구조(C5) | 시술별 수치 + 비교표 |
|
||||
| AEO5 | 정보 구조와 가독성 | 10 | 자동 | C3 제목 계층 의미성(1) | H1 1개·서술형, H2 논리 계층, 중복 H2 비율(C3) | H1 1개 서술형, H2 논리 계층 |
|
||||
| AEO6 | 다음 행동의 명확성 | 10 | 사람 | 없음 (사람 판정) | 핵심 페이지에서 예약 경로·전화·위치가 본문 텍스트로 연결되는지. 팝업·이미지 버튼만 있으면 감점. v1.0에 대응 항목이 없어 사람 판정 | 전화·예약·방문 3경로가 텍스트로 |
|
||||
| AEO7 | 핵심 답변의 텍스트 추출 | 5 | 자동 | A3 서버 렌더링 본문(0.6), F1 이미지 대체텍스트(0.4) | JS 미실행 HTML 본문 비율(A3) + 이미지 alt 누락률(F1) | 80% 이상 + alt 정비 |
|
||||
| AEO8 | 사이트 내 답변 발견 | 5 | 자동 | A5 sitemap.xml 제공(0.6), B6 canonical·중복 제거(0.4) | sitemap 선언·lastmod(A5) + canonical 정합(B6) | + lastmod 최신·파라미터 정리 |
|
||||
|
||||
## GEO · 출처 준비도 (Source Readiness) · 100
|
||||
|
||||
그 답을 얼마나 검증하고 신뢰할 수 있는 출처로 사용할 수 있는가?
|
||||
|
||||
| ID | 항목 | 배점 | 채점 | v1.0 파생 신호(비중) | 확인 방법 | 3점 기준 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| GEO1 | 주장과 근거의 일치 | 20 | 사람 | 없음 (사람 판정) | 핵심 페이지의 주장 문장 샘플 10개 중 출처·조건·시점이 붙은 비율. "1위·최다·안전" 류 주장에 기준 시점·집계 주체가 있는지. v1.0에 대응 항목이 없어 사람 판정 | 전부 원문 링크·시점·조건 명시 |
|
||||
| GEO2 | 출처의 적합성과 추적성 | 15 | 자동 | A4 HTTPS·리다이렉트 정합(1) | http/www 변형의 301 정본 수렴(A4). 사람 판정으로 페이지 URL 안정성·작성자·발행일 표기 추가 | 전부 301 정본 수렴 |
|
||||
| GEO3 | 전문성과 책임 주체 | 15 | 반자동 | C7 전문가 E-E-A-T (의료진 / 변호사)(0.6), B3 전문가 스키마 (Physician / Attorney)(0.4) | 전문가 자격·경력 텍스트(C7) + Physician/Attorney 스키마(B3) | + 스키마·sameAs·검토 표기 |
|
||||
| GEO4 | 병원 엔티티와 사실의 정합성 | 15 | 반자동 | B2 업종 엔티티 스키마 (MedicalClinic / LegalService / LocalBusiness)(0.2), B4 NAP 사이트 내 일관성(0.15), B5 sameAs 연결(0.1), D1 업종 버티컬 프로필 (병의원: 강남언니 / 법률: 로톡)(0.2), D2 Google 비즈니스 프로필(0.1), D4 표면 간 NAP 완전 일치(0.15), D5 네이버 플레이스 (AI 브리핑 전용)(0.05), D6 위키데이터/위키백과 엔티티(0.05) | 업종 스키마(B2)·사이트 내 NAP(B4)·sameAs(B5)·버티컬 프로필(D1)·GBP(D2)·표면 간 NAP(D4)·플레이스(D5)·Wikidata(D6) | 전 표면 NAP 완전 일치 + 스키마 연결 |
|
||||
| GEO5 | 사실의 최신성과 정정 | 10 | 자동 | C6 신선도 신호(1) | dateModified·sitemap lastmod·본문 갱신일(C6). 사람 판정으로 확인일 병기·정정 기록 페이지 유무 추가 | 3개월 이내 + 확인일·정정 기록 |
|
||||
| GEO6 | 원천 대비 추가 가치 | 10 | 사람 | 없음 (사람 판정) | 홈페이지·타 사이트 문장과의 40자 연속 일치율, 원천 콘텐츠 5유형(체크리스트·조건 표·협진 동선·발언 인용·실측) 유무. 공식 홈페이지 자체를 진단할 때는 "제조사·학회 자료를 옮기지 않고 병원 고유 정보를 썼는가"로 본다 | 체크리스트·표·실측 등 원천 유형 3개 이상 |
|
||||
| GEO7 | 발행 관계와 투명성 | 10 | 사람 | 없음 (사람 판정) | 운영 주체·연락처·사업자 정보, 경제적 이해관계 고지(첫 부분), 후기·이벤트가 정보와 구분되는지. 공정위 추천·보증 심사지침 기준 | 고지가 첫 부분에, 정보·광고 구분 명확 |
|
||||
| GEO8 | 인용 식별자와 메타데이터 정합성 | 5 | 자동 | B1 JSON-LD 문법 유효성(1) | ld+json 전 블록 파싱 성공(B1). 사람 판정으로 headline·dateModified·author가 화면과 일치하는지 추가 | 전부 유효 + 화면과 일치 |
|
||||
|
||||
## 게이트 (상한)
|
||||
|
||||
| ID | 이름 | v1.0 항목 | 실패 조건 | 상한 | 적용 축 | 이유 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| G1 | AI 크롤러 접근 | A1, A2 | level ≤ 1 | 40 | AEO·GEO | 검색용 AI 봇이 차단되거나 CDN이 챌린지를 걸면 답도 출처도 될 수 없다. 점수 대신 상한 40으로 표시한다. |
|
||||
| G2 | 본문 렌더링 | A3 | level ≤ 0 | 40 | AEO·GEO | JS 미실행 HTML에 본문이 없으면 크롤러에게 빈 페이지다. |
|
||||
|
||||
## 점수 밖 부가 지표
|
||||
|
||||
| v1.0 항목 | 그룹 |
|
||||
|---|---|
|
||||
| A6 Bing 색인 (ChatGPT 검색 경로) | 색인·발견 |
|
||||
| A7 응답 속도·크롤 예산 | 속도·크롤 예산 |
|
||||
| B7 다국어 hreflang | 다국어 |
|
||||
| D3 오픈웹 언급 (티스토리·유튜브·언론) | 오픈웹 언급 |
|
||||
| E1 AI 크롤러 로그 (IP 검증) | 측정 인프라 |
|
||||
| E2 GA4 AI 유입 채널 | 측정 인프라 |
|
||||
| E3 GSC AI Overviews 노출 | 측정 인프라 |
|
||||
| E4 기준선 스팟체크 | 측정 인프라 |
|
||||
| F2 CMS 보안·최신성 | 기술 위생 |
|
||||
| F3 페이지 무게 | 기술 위생 |
|
||||
| F4 모바일 대응 | 기술 위생 |
|
||||
|
||||
## v1.0 → v2.0 매핑표 (36항목 전수)
|
||||
|
||||
| v1.0 | 항목 | 배점 | v2.0 위치 |
|
||||
|---|---|---|---|
|
||||
| A1 | 검색용 AI 봇 허용 | 5 | G1 |
|
||||
| A2 | CDN/WAF AI 차단 없음 | 3 | G1 |
|
||||
| A3 | 서버 렌더링 본문 | 3 | AEO7, G2 |
|
||||
| A4 | HTTPS·리다이렉트 정합 | 2 | GEO2 |
|
||||
| A5 | sitemap.xml 제공 | 3 | AEO8 |
|
||||
| A6 | Bing 색인 (ChatGPT 검색 경로) | 3 | aux:색인·발견 |
|
||||
| A7 | 응답 속도·크롤 예산 | 1 | aux:속도·크롤 예산 |
|
||||
| B1 | JSON-LD 문법 유효성 | 3 | GEO8 |
|
||||
| B2 | 업종 엔티티 스키마 (MedicalClinic / LegalService / LocalBusiness) | 5 | GEO4 |
|
||||
| B3 | 전문가 스키마 (Physician / Attorney) | 3 | GEO3 |
|
||||
| B4 | NAP 사이트 내 일관성 | 3 | GEO4 |
|
||||
| B5 | sameAs 연결 | 2 | GEO4 |
|
||||
| B6 | canonical·중복 제거 | 2 | AEO8 |
|
||||
| B7 | 다국어 hreflang | 2 | aux:다국어 |
|
||||
| C1 | 정의문형 첫 문단 | 4 | AEO2 |
|
||||
| C2 | FAQ 섹션 | 4 | AEO1 |
|
||||
| C3 | 제목 계층 의미성 | 3 | AEO5 |
|
||||
| C4 | 구체 수치 (가격·시간·회복) | 4 | AEO4 |
|
||||
| C5 | 표·비교 구조 | 2 | AEO4 |
|
||||
| C6 | 신선도 신호 | 3 | GEO5 |
|
||||
| C7 | 전문가 E-E-A-T (의료진 / 변호사) | 3 | GEO3 |
|
||||
| C8 | 패시지 자기완결성 | 2 | AEO3 |
|
||||
| D1 | 업종 버티컬 프로필 (병의원: 강남언니 / 법률: 로톡) | 6 | GEO4 |
|
||||
| D2 | Google 비즈니스 프로필 | 4 | GEO4 |
|
||||
| D3 | 오픈웹 언급 (티스토리·유튜브·언론) | 4 | aux:오픈웹 언급 |
|
||||
| D4 | 표면 간 NAP 완전 일치 | 3 | GEO4 |
|
||||
| D5 | 네이버 플레이스 (AI 브리핑 전용) | 2 | GEO4 |
|
||||
| D6 | 위키데이터/위키백과 엔티티 | 1 | GEO4 |
|
||||
| E1 | AI 크롤러 로그 (IP 검증) | 3 | aux:측정 인프라 |
|
||||
| E2 | GA4 AI 유입 채널 | 3 | aux:측정 인프라 |
|
||||
| E3 | GSC AI Overviews 노출 | 2 | aux:측정 인프라 |
|
||||
| E4 | 기준선 스팟체크 | 2 | aux:측정 인프라 |
|
||||
| F1 | 이미지 대체텍스트 | 2 | AEO7 |
|
||||
| F2 | CMS 보안·최신성 | 1 | aux:기술 위생 |
|
||||
| F3 | 페이지 무게 | 1 | aux:기술 위생 |
|
||||
| F4 | 모바일 대응 | 1 | aux:기술 위생 |
|
||||
|
||||
## 재채점 결과 (2026-09-07)
|
||||
|
||||
| 업체 | v1.0 종합 | v2.0 AEO | v2.0 GEO | 게이트 | 비고 |
|
||||
|---|---|---|---|---|---|
|
||||
| 뷰성형외과 (viewclinic) | 54/C | 42/C (검증 8/8) | 56/C (검증 8/8) | G1 통과 · G2 통과 | 사람 판정 4개 |
|
||||
| 법무법인 태하 (taeha) | 68/B | 40/D (검증 7/8, 상한 적용) | 40/D (검증 5/8, 상한 적용) | G1 실패(A2) · G2 통과 | 사람 판정 0개 |
|
||||
|
||||
### 뷰성형외과 항목별
|
||||
|
||||
| 항목 | 배점 | 점수 | 근거 | 신호 |
|
||||
|---|---|---|---|---|
|
||||
| AEO1 질문 수요 충족 | 20 | 13.3 (67%) | v1 파생 | C2=2 |
|
||||
| AEO2 답변의 직접성 | 20 | 0 (0%) | v1 파생 | C1=0 |
|
||||
| AEO3 답변 단위의 자기완결성 | 15 | 5 (33%) | v1 파생 | C8=1 |
|
||||
| AEO4 의사결정에 필요한 정보 | 15 | 6 (40%) | v1 파생 | C4=2, C5=0 |
|
||||
| AEO5 정보 구조와 가독성 | 10 | 0 (0%) | v1 파생 | C3=0 |
|
||||
| AEO6 다음 행동의 명확성 | 10 | 10 (100%) | 사람 판정 | 모든 페이지 하단에 전화 02-539-1177·주소·온라인 상담 폼이 텍스트로 반복되고(수집기 반복 줄), /counsel/reservation/ 예약 페이지와 카카오톡 채널 링크가 있다. 전화·예약·방문 3경로가 텍스트로 연결됨 |
|
||||
| AEO7 핵심 답변의 텍스트 추출 | 5 | 3.7 (73%) | v1 파생 | A3=3, F1=1 |
|
||||
| AEO8 사이트 내 답변 발견 | 5 | 4.3 (87%) | v1 파생 | A5=3, B6=2 |
|
||||
| GEO1 주장과 근거의 일치 | 20 | 6.7 (33%) | 사람 판정 | "모티바 보형물 국내 사용량 1위(2023, 모티바코리아 전체 수술량 기준)"처럼 집계 주체·시점이 붙은 주장이 일부 있으나, 모티바 그랜드 어워드·KOL·렛미인 등 대부분의 권위 신호는 이미지·슬로건 안에 있고 원문 링크가 없다. "마취과 전문의 상주 43% vs 23.1%" 비교는 출처·기준 시점 없음 |
|
||||
| GEO2 출처의 적합성과 추적성 | 15 | 15 (100%) | v1 파생 | A4=3 |
|
||||
| GEO3 전문성과 책임 주체 | 15 | 6 (40%) | v1 파생 | C7=2, B3=0 |
|
||||
| GEO4 병원 엔티티와 사실의 정합성 | 15 | 7 (47%) | v1 파생 | B2=1, B4=1, B5=0, D1=3, D2=2, D4=1, D5=2, D6=0 |
|
||||
| GEO5 사실의 최신성과 정정 | 10 | 10 (100%) | v1 파생 | C6=3 |
|
||||
| GEO6 원천 대비 추가 가치 | 10 | 6.7 (67%) | 사람 판정 | 수술 전·후 주의사항(부위별 8탭, 9,585자)·애프터케어 프로그램(4,572자)·검진센터 항목·안전수술시스템 절차는 병원 고유 정보다. 다만 표·체크리스트 형태가 없고(C5=0) 회복 일정은 문단에 흩어져 있다 |
|
||||
| GEO7 발행 관계와 투명성 | 10 | 3.3 (33%) | 사람 판정 | 푸터에 대표·사업자등록번호·주소가 있어 운영 주체는 분명하다. 그러나 홈페이지에 게시한 후기 광고가 수술비 할인 대가를 표시하지 않아 2026-07-12 공정위 시정명령·공표명령을 받았고, 이벤트·전후·후기 섹션이 정보 페이지와 구분 없이 섞여 있다 |
|
||||
| GEO8 인용 식별자와 메타데이터 정합성 | 5 | 1.7 (33%) | v1 파생 | B1=1 |
|
||||
|
||||
## 해석 주의
|
||||
|
||||
- v1.0 54/C(뷰성형외과)는 접근성·엔티티·콘텐츠·표면·측정을 한 점수로 합친 값이고, v2.0은 "답을 하는가"와 "출처가 되는가"를 나눈 값이라 서로 비교하지 않는다.
|
||||
- 사람 판정 항목(AEO6·GEO1·GEO6·GEO7)은 2026-09-07 수집기 원문을 근거로 한 초안이며 병원 확인 전이다.
|
||||
- 서포터즈 사이트를 같은 기준으로 채점하면 GEO 항목(근거 유형·검토자·확인일·정정 기록·지원 고지)이 설계 그대로 반영된다. 공식 홈페이지 vs 서포터즈 비교표는 이 기준으로 다시 만든다.
|
||||
@ -1,65 +0,0 @@
|
||||
# AI 답변 감성 판정 기준표 v0.1
|
||||
|
||||
작성 2026-09-08 · 상태: 초안, haewon 보정 대기 · 적용 스크립트 `scripts/sentiment_qb.py`
|
||||
|
||||
## 1. 무엇을 재는가
|
||||
|
||||
질문 뱅크(120문항)를 답변엔진에 물어 받은 답변 안에서 **대상 병원이 어떤 어조로 언급되는지**를 판정한다. 브랜드 범용 도구(FrostAI 등)의 "감성 점수"에 대응하는 지표지만, 병원은 부정 신호의 대부분이 규제·사건 보도이므로 그 항목을 따로 센다.
|
||||
|
||||
측정 원칙은 질문 뱅크와 같다. 소비자 UI 자동 조회는 하지 않고 공식 API 답변만 쓴다. 답변 원문은 저장하되 리포트에는 근거 문장 한 줄만 인용한다.
|
||||
|
||||
## 2. 판정 단위와 값
|
||||
|
||||
답변 1건 = 판정 1건. 판정기는 아래 JSON을 낸다.
|
||||
|
||||
| 필드 | 값 | 설명 |
|
||||
|---|---|---|
|
||||
| mentioned | true / false | 대상 병원(별칭 포함)이 답변에 나오는가. 추출기의 `view_mentioned`와 교차 확인 |
|
||||
| sentiment | positive / neutral / negative / mixed / not_mentioned | 병원에 대한 어조. 언급이 없으면 not_mentioned |
|
||||
| aspects | 배열 | 아래 §3 측면 태그 중 해당하는 것 |
|
||||
| negative_type | none / regulatory / safety / service / price / reputation / other | 부정이면 어떤 종류인가 |
|
||||
| evidence | 문장 1개 | 판정 근거가 된 답변 원문 문장 (요약 금지, 그대로 인용) |
|
||||
| recommendation | recommended / listed / cautioned / not_applicable | 병원을 추천했는가, 목록에 나열만 했는가, 주의를 붙였는가 |
|
||||
| confidence | 0~1 | 판정기 자신감 |
|
||||
|
||||
### 어조 판정 규칙
|
||||
|
||||
- **positive**: 병원의 강점을 서술하거나 추천 근거로 든다. 예: "안전 시스템이 갖춰진 병원", "가슴성형 전문으로 평가받는다".
|
||||
- **neutral**: 사실 나열, 목록 포함, 위치·진료과목 안내처럼 평가 없는 언급.
|
||||
- **negative**: 부정 사실을 서술하거나 주의를 권한다. 예: "공정위 시정명령을 받았다", "후기 광고 논란이 있었다", "부작용 사례가 보고됐다".
|
||||
- **mixed**: 긍정과 부정이 한 답변에 함께 있다. 점수 계산에서는 negative 쪽으로 센다(보수적).
|
||||
- 다른 병원에 대한 평가는 세지 않는다. 대상 병원 문장만 본다.
|
||||
- "확인이 필요하다", "직접 상담을 권한다" 같은 일반 주의 문구는 negative가 아니라 neutral이다. 병원 고유의 문제를 지목할 때만 negative다.
|
||||
|
||||
## 3. 측면 태그
|
||||
|
||||
| 태그 | 포함 |
|
||||
|---|---|
|
||||
| doctors | 의료진, 전문의, 경력, 원장 |
|
||||
| safety | 안전 시스템, 마취, 부작용, 사고, 회복 관리 |
|
||||
| price | 가격, 비용, 견적, 할인 |
|
||||
| reviews | 후기, 평판, 만족도, 리뷰 수 |
|
||||
| regulatory | 공정위, 시정명령, 의료법 위반, 광고 제재, 소송 |
|
||||
| procedure | 시술·수술 종류, 장비, 기술, 전문 분야 |
|
||||
| access | 위치, 예약, 외국어 응대, 편의 |
|
||||
| media | 방송 출연, 언론 보도, 수상 |
|
||||
|
||||
## 4. 점수
|
||||
|
||||
- **감성 점수(0~100)** = (positive × 100 + neutral × 50 + mixed × 25 + negative × 0) ÷ 언급된 답변 수. Frost의 감성 점수와 같은 척도로 비교할 수 있게 했다.
|
||||
- **부정 비율** = negative + mixed ÷ 언급된 답변 수.
|
||||
- **규제 언급률** = negative_type이 regulatory인 답변 ÷ 언급된 답변 수. 병원 전용 보조 지표.
|
||||
- **추천율** = recommendation이 recommended인 답변 ÷ 언급된 답변 수.
|
||||
- 엔진별로 따로 내고, 브랜드 질문(A·B)과 논브랜드 질문을 분리한다. 논브랜드에서 언급되며 긍정인 것이 가장 가치 있는 신호다.
|
||||
|
||||
## 5. 보정 절차 (공신력)
|
||||
|
||||
1. 판정 결과에서 30건을 무작위로 뽑아 `*_calibration.xlsx`에 담는다. 판정기 값은 숨기고 haewon이 sentiment와 negative_type을 직접 적는다.
|
||||
2. 일치율을 계산한다. sentiment 일치 80% 이상이면 기준표를 확정한다. 미만이면 불일치 사례를 §2 규칙에 예시로 추가하고 다시 돌린다.
|
||||
3. 확정 후에는 같은 기준표·같은 모델로만 월간 실행한다. 모델을 바꾸면 보정을 다시 한다.
|
||||
|
||||
## 6. haewon이 정할 것
|
||||
|
||||
- **부정의 범위**: "후기 광고 논란"처럼 사실이지만 병원에 불리한 언급을 negative로 볼지, 규제 사실 서술은 neutral로 볼지. 초안은 negative다.
|
||||
- **mixed 처리**: 점수에서 25점으로 셀지, 제외할지. 초안은 25점.
|
||||
- **다른 병원 추천 문맥**: 대상 병원이 언급되지 않고 경쟁 병원만 추천된 답변을 별도 지표(경쟁 노출)로 셀지.
|
||||
@ -1,180 +0,0 @@
|
||||
# AI 답변 감성 판정 기준표 v0.3
|
||||
|
||||
작성 2026-09-08 · 개정 2026-09-09 · 상태: 1차 보정 반영, 2차 보정 대기 · 적용 스크립트 `scripts/sentiment_qb.py`
|
||||
|
||||
v0.1 대비 바뀐 것은 둘이다.
|
||||
|
||||
1. **어조 규칙 R1~R5** (§2). 1차 보정에서 haewon 라벨 29건 대비 일치율이 75%로 기준선 80%에 미달해, 불일치 7건에서 뽑았다.
|
||||
2. **결정론적 언급 탐지기** (§2-1). 상호가 URL 안에만 있거나 "리뷰"의 "뷰"를 병원 언급으로 세던 오탐을 없앴다.
|
||||
|
||||
R4-a와 R6은 시험 투입했다가 되돌렸다. 이유는 §5에 있다.
|
||||
|
||||
## 1. 무엇을 재는가
|
||||
|
||||
질문 뱅크(120문항)를 답변엔진에 물어 받은 답변 안에서 **대상 병원이 어떤 어조로 언급되는지**를 판정한다. 브랜드 범용 도구(FrostAI 등)의 "감성 점수"에 대응하는 지표지만, 병원은 부정 신호의 대부분이 규제·사건 보도이므로 그 항목을 따로 센다.
|
||||
|
||||
측정 원칙은 질문 뱅크와 같다. 소비자 UI 자동 조회는 하지 않고 공식 API 답변만 쓴다. 답변 원문은 저장하되 리포트에는 근거 문장 한 줄만 인용한다.
|
||||
|
||||
## 2-1. 언급 탐지 (v0.3 추가)
|
||||
|
||||
`sentiment` 를 매기기 전에 대상 병원이 답변에 실제로 나오는지를 **정규식으로 먼저 판정한다**(`mention_kind()`). 판정기가 언급이라고 해도 탐지기가 없다고 하면 `not_mentioned` 로 덮어쓴다. 언급 수가 모든 비율의 분모라서, 여기가 틀리면 점수 전체가 틀린다.
|
||||
|
||||
| 값 | 조건 |
|
||||
|---|---|
|
||||
| strong | 정식 상호가 답변 본문에 있다. 한글은 음절 사이 공백을 허용한다("뷰 성형외과"도 잡는다). 영문 정식 명칭·도메인도 포함한다 |
|
||||
| weak | 정식 상호 없이 영문 약칭만 있다(예: 병원 목록 안의 "View") |
|
||||
| none | 위 어느 것도 없다 |
|
||||
|
||||
두 가지를 반드시 처리한다.
|
||||
|
||||
- **URL을 먼저 지운다.** `news.nate.com/view/...`, `clinic/view.do`, `?bmode=view` 의 "view"를 병원 언급으로 세면 안 된다. 1차 판정에서 C-13·C-14·E-06 세 건이 이 오탐이었다.
|
||||
- **다른 낱말의 일부인 약칭을 뺀다.** "리뷰"의 "뷰"가 대표적이다. G-04(openai)는 "리뷰 사이트에서도"만 있고 병원 언급이 없는데 언급으로 세고 있었다.
|
||||
|
||||
이 수정으로 언급 수가 84에서 83으로 바뀌었다.
|
||||
|
||||
## 2. 판정 단위와 값
|
||||
|
||||
답변 1건 = 판정 1건. 판정기는 아래 JSON을 낸다.
|
||||
|
||||
| 필드 | 값 | 설명 |
|
||||
|---|---|---|
|
||||
| mentioned | true / false | 대상 병원(별칭 포함)이 답변에 나오는가. 추출기의 `view_mentioned`와 교차 확인 |
|
||||
| sentiment | positive / neutral / negative / mixed / not_mentioned | 병원에 대한 어조. 언급이 없으면 not_mentioned |
|
||||
| aspects | 배열 | 아래 §3 측면 태그 중 해당하는 것 |
|
||||
| negative_type | none / regulatory / safety / service / price / reputation / other | 부정이면 어떤 종류인가 |
|
||||
| evidence | 문장 1개 | 판정 근거가 된 답변 원문 문장 (요약 금지, 그대로 인용) |
|
||||
| recommendation | recommended / listed / cautioned / not_applicable | 병원을 추천했는가, 목록에 나열만 했는가, 주의를 붙였는가 |
|
||||
| confidence | 0~1 | 판정기 자신감 |
|
||||
|
||||
### 어조 판정 규칙
|
||||
|
||||
- **positive**: 병원의 강점을 서술하거나 추천 근거로 든다. 예: "안전 시스템이 갖춰진 병원", "가슴성형 전문으로 평가받는다".
|
||||
- **neutral**: 사실 나열, 목록 포함, 위치·진료과목 안내처럼 평가 없는 언급.
|
||||
- **negative**: 부정 사실을 서술하거나 주의를 권한다. 예: "공정위 시정명령을 받았다", "후기 광고 논란이 있었다", "부작용 사례가 보고됐다".
|
||||
- **mixed**: 긍정과 부정이 한 답변에 함께 있다. 점수 계산에서는 negative 쪽으로 센다(보수적).
|
||||
- 다른 병원에 대한 평가는 세지 않는다. 대상 병원 문장만 본다.
|
||||
- "확인이 필요하다", "직접 상담을 권한다" 같은 일반 주의 문구는 negative가 아니라 neutral이다. 병원 고유의 문제를 지목할 때만 negative다.
|
||||
|
||||
### 우선순위 규칙 (v0.2 추가, 1차 보정에서 도출)
|
||||
|
||||
아래 규칙은 위 어조 정의보다 우선한다. 괄호 안은 근거가 된 보정 사례다.
|
||||
|
||||
**R1. 결론 단락이 개별 항목보다 우선한다.** 답변에 종합 평가·결론 단락이 있으면 그 단락의 어조로 판정한다. 본문에 나열된 개별 항목의 어조로 판정하지 않는다.
|
||||
- A-01(perplexity): 본문에 강남언니 평점 9.4~9.5가 있으나 결론이 "후기 기반 평판은 좋은 편이지만 추가 확인이 필요"라는 확인 권고다. → **neutral** (mixed 아님)
|
||||
- D4-01(openai): 본문에 "모두에게 동일한 설명을 하는 듯한 인상"이라는 후기 지적 한 줄이 있으나 종합 평이 "안전성과 전문성을 갖춘 병원으로 평가받고 있습니다"다. → **positive** (mixed 아님)
|
||||
- D2-01(perplexity): 결론이 "수술 결과의 일관된 객관성까지 판단하긴 어렵고, 커뮤니티에는 부정적 의견도 일부 보입니다"다. → **negative** (mixed 아님)
|
||||
|
||||
**R2. mixed는 긍정과 부정이 대등하게 병존할 때만 쓴다.** 부정 성분이 문장 하나의 부수 언급이면 mixed로 세지 않는다. 긍정과 부정이 각각 독립된 근거로 서술되고 결론이 어느 쪽으로도 기울지 않을 때만 mixed다.
|
||||
|
||||
**R3. "후기 수가 많다", "인지도가 있다"는 규모 서술이며 긍정 평가가 아니다.** 이 서술만 있고 병원 고유의 문제 지목이 함께 있으면 mixed가 아니라 negative다. (D2-01)
|
||||
|
||||
**R4. 평가 축이 있는 목록에 포함되면 positive다.** 질문이 조건이나 우수성을 묻고(평점이 높은 곳, 마취과 전문의가 상주하는 곳, 잘하는 곳) 그 목록에 대상 병원이 들어가면 positive다. 조건 없는 단순 나열(위치·진료과목 안내, 지역 병원 열거)만 neutral이다.
|
||||
- C-12(openai): "강남언니에서 평점 높은 성형외과" 목록에 뷰성형외과가 포함됐다. → **positive**
|
||||
- C-08(openai): "마취과 전문의가 상주하는 강남 성형외과" 목록에 포함되고 "마취과 전문의 365일 상주", "3D-CT, 체계적 사후 관리"가 함께 서술됐다. → **positive**
|
||||
|
||||
**R5. 강점·역량 서술은 출처가 병원 홍보라도 positive로 센다.** 답변이 "환자의 안전과 만족을 최우선", "최신 기술과 장비"처럼 강점을 서술하면, 그 서술이 병원 광고를 인용한 것이라도 답변의 어조는 positive다.
|
||||
- A-02(openai): "환자의 안전과 만족을 최우선으로 하며, 최신 기술과 장비를 사용하여 서비스를 제공한다고 광고합니다" → **positive**
|
||||
|
||||
**R6. (경계 사례, 미확정) 사실 조회 질문의 항목 나열은 neutral이다.** 질문이 "무슨 수술을 주로 하나", "어디에 있나"처럼 사실을 묻고 답변이 진료 항목 카탈로그이면, 개별 항목에 붙은 수식어("풍부한 임상 경험")는 긍정으로 세지 않는다.
|
||||
- A-03(openai): 진료 분야 나열이고 항목마다 홍보성 수식이 붙어 있다. haewon은 **neutral**, 판정기는 positive였다.
|
||||
- **주의**: R6과 R5의 경계가 규칙으로 깔끔히 갈리지 않는다. A-02(positive)와 A-03(neutral) 모두 답변에 병원 홍보 문구가 인용돼 있는데 라벨이 갈렸다. 2차 보정에서 haewon이 이 경계를 확정해야 한다(§6).
|
||||
|
||||
## 3. 측면 태그
|
||||
|
||||
| 태그 | 포함 |
|
||||
|---|---|
|
||||
| doctors | 의료진, 전문의, 경력, 원장 |
|
||||
| safety | 안전 시스템, 마취, 부작용, 사고, 회복 관리 |
|
||||
| price | 가격, 비용, 견적, 할인 |
|
||||
| reviews | 후기, 평판, 만족도, 리뷰 수 |
|
||||
| regulatory | 공정위, 시정명령, 의료법 위반, 광고 제재, 소송 |
|
||||
| procedure | 시술·수술 종류, 장비, 기술, 전문 분야 |
|
||||
| access | 위치, 예약, 외국어 응대, 편의 |
|
||||
| media | 방송 출연, 언론 보도, 수상 |
|
||||
|
||||
## 4. 점수
|
||||
|
||||
- **감성 점수(0~100)** = (positive × 100 + neutral × 50 + mixed × 25 + negative × 0) ÷ 언급된 답변 수. Frost의 감성 점수와 같은 척도로 비교할 수 있게 했다.
|
||||
- **부정 비율** = negative + mixed ÷ 언급된 답변 수.
|
||||
- **규제 언급률** = negative_type이 regulatory인 답변 ÷ 언급된 답변 수. 병원 전용 보조 지표.
|
||||
- **추천율** = recommendation이 recommended인 답변 ÷ 언급된 답변 수.
|
||||
- 엔진별로 따로 내고, 브랜드 질문(A·B)과 논브랜드 질문을 분리한다. 논브랜드에서 언급되며 긍정인 것이 가장 가치 있는 신호다.
|
||||
|
||||
## 5. 보정 절차 (공신력)
|
||||
|
||||
1. 판정 결과에서 30건을 무작위로 뽑아 `*_calibration.xlsx`에 담는다. 판정기 값은 숨기고 haewon이 sentiment와 negative_type을 직접 적는다.
|
||||
2. 일치율을 계산한다. sentiment 일치 80% 이상이면 기준표를 확정한다. 미만이면 불일치 사례를 §2 규칙에 예시로 추가하고 다시 돌린다.
|
||||
3. 확정 후에는 같은 기준표·같은 모델로만 월간 실행한다. 모델을 바꾸면 보정을 다시 한다.
|
||||
|
||||
### 1차 보정 결과 (2026-09-09)
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
| 대상 | 뷰성형외과 240건 판정분에서 무작위 30건 |
|
||||
| haewon 라벨 | 29건 (G-08 openai 1건은 판단 보류로 공란) |
|
||||
| sentiment 일치 | **22/29 = 75%** (기준선 80% 미달) |
|
||||
| negative_type 일치 | **측정 불가** (haewon G열 미기입, negative 라벨 2건 포함) |
|
||||
|
||||
불일치 7건의 갈래는 셋이다. 판정기가 mixed를 남발한 것 3건(A-01·D4-01·D2-01), 평가 축이 있는 목록 포함과 강점 서술을 중립으로 낮춘 것 3건(A-02·C-12·C-08), 항목 나열의 수식어를 긍정으로 올린 것 1건(A-03).
|
||||
|
||||
### 이 보정의 한계
|
||||
|
||||
규칙 R1~R6은 위 30건의 불일치에서 뽑았다. 같은 30건으로 다시 재면 일치율이 오르는 것은 당연하므로, 재판정 후의 일치율을 기준표 확정 근거로 쓰지 않는다. **확정하려면 새로 뽑은 30건으로 2차 보정을 해야 한다.** 1차 보정에 쓴 30건은 2차 표본에서 제외한다.
|
||||
|
||||
negative_type은 라벨이 없어 이번에 재지 못했다. 2차 보정에서는 negative·mixed 라벨에 종류를 반드시 함께 적는다.
|
||||
|
||||
### 재판정 결과 (2026-09-09, R1~R5 적용)
|
||||
|
||||
240건을 gpt-4.1로 다시 판정했다. 실제 비용 $0.79(입력 324,627 · 출력 17,723 토큰).
|
||||
|
||||
| sentiment | v0.1 | v0.2 | 증감 |
|
||||
|---|---|---|---|
|
||||
| positive | 14 | 20 | +6 |
|
||||
| neutral | 57 | 58 | +1 |
|
||||
| mixed | 10 | **0** | -10 |
|
||||
| negative | 3 | 6 | +3 |
|
||||
| not_mentioned | 156 | 156 | 0 |
|
||||
|
||||
**감성 점수 53.6 → 58.3** (언급 84건, 변동 없음). 리포트 `Viewclinic_QB_Sentiment.md` 를 v0.2로 다시 만들었다.
|
||||
|
||||
haewon 라벨 29건 대비 일치율은 75% → 93%(27/29)다. 앞서 적은 대로 **이 값은 확정 근거가 아니다.** 규칙을 이 표본의 불일치에서 뽑았기 때문이다.
|
||||
|
||||
### R4-a·R6 시험 투입과 철회 (같은 날)
|
||||
|
||||
R4 과적용(C-12 perplexity)과 A-03을 고치려고 규칙 두 개를 더 넣고 240건을 다시 판정했다. 결과는 나빠졌다.
|
||||
|
||||
| 회차 | 규칙 | haewon 라벨 대비 (참고값) |
|
||||
|---|---|---|
|
||||
| v0.1 | 기본 정의만 | 75% (22/29) |
|
||||
| v0.2 | R1~R5 | 93% (27/29) |
|
||||
| v0.3 시험 | R1~R5 + R4-a + R6 | **89% (26/29)** |
|
||||
|
||||
- **R4-a**(목록에 있어도 결론에서 대상 병원이 빠지면 positive 아님)는 C-12 perplexity를 고쳤으나 **C-12 openai를 반대로 틀었다.**
|
||||
- **R6**(결론 없는 카탈로그는 neutral)은 목표한 A-03을 고치지 못했고 **A-02 perplexity를 새로 틀었다.**
|
||||
|
||||
규칙을 하나 더할 때마다 하나 고치고 하나 깨진다. n=29에서 75%·93%·89%는 표준오차(약 ±6%p) 안이다. **규칙은 R1~R5에서 멈춘다.** R4-a와 R6은 철회했고, 남은 불일치 2건(C-12 perplexity, A-03)은 사람 판단의 경계로 보고 2차 보정에서 새 표본으로 다시 본다.
|
||||
|
||||
시험분은 폐기했고, 최종 데이터는 v0.2 판정(R1~R5 프롬프트)에 §2-1 탐지기를 다시 적용해 만들었다. 탐지기는 결정론적 후처리라 API 재호출이 필요 없다. 이 회차의 총 API 비용은 $1.70이다(v0.2 $0.79 + R4-a·R6 시험 $0.91).
|
||||
|
||||
### 최종 수치 (v0.3)
|
||||
|
||||
| 항목 | v0.1 | v0.3 |
|
||||
|---|---|---|
|
||||
| 언급 | 84 | **83** |
|
||||
| 감성 점수 | 53.6 | **58.4** |
|
||||
| positive / neutral / mixed / negative | 14 / 57 / 10 / 3 | 20 / 57 / 0 / 6 |
|
||||
| 약한 언급 | 3(오탐 포함) | **1**(G-08 openai) |
|
||||
|
||||
약한 언급 1건을 빼면 언급 82건 · 감성 점수 57.9다. 리포트에 두 값을 함께 적었다.
|
||||
|
||||
**mixed가 240건 전체에서 0건이다.** haewon 라벨에도 mixed가 없었으므로 방향은 맞지만, R2가 과하게 좁혔을 수 있다. 2차 보정 표본에 mixed 후보가 하나도 없으면 판정값 자체를 없앨지 정한다.
|
||||
|
||||
## 6. haewon이 정할 것
|
||||
|
||||
- **부정의 범위**: "후기 광고 논란"처럼 사실이지만 병원에 불리한 언급을 negative로 볼지, 규제 사실 서술은 neutral로 볼지. 초안은 negative다.
|
||||
- **mixed 처리**: 점수에서 25점으로 셀지, 제외할지. 초안은 25점. 1차 보정에서 haewon 라벨에 mixed가 한 건도 없었다(29건 중 0건). R2로 mixed 조건을 좁혔으므로 재판정 후 mixed 건수를 보고 25점 유지 여부를 정한다.
|
||||
- **다른 병원 추천 문맥**: 대상 병원이 언급되지 않고 경쟁 병원만 추천된 답변을 별도 지표(경쟁 노출)로 셀지.
|
||||
- **R5와 R6의 경계** (v0.2 추가): 병원 홍보 문구가 인용된 답변에서 A-02는 positive, A-03은 neutral로 갈렸다. 질문 성격으로 가를지(평가 요청 대 사실 조회), 답변에 종합 서술이 있는지로 가를지 확정이 필요하다.
|
||||
- **약한 언급 처리**: §2-1 탐지기로 오탐을 걷어내니 진짜 약한 언급은 **1건**(G-08 openai)뿐이다. "View", "Wooa", "Wish PS" 가 병원 목록으로 나열된 영어권 커뮤니티 인용이다. 현재는 **언급으로 세고 표시**해 두었고, 리포트에 제외 점수(57.9)를 함께 적는다. 1건이라 어느 쪽으로 정해도 점수는 0.5점 움직인다. haewon 확정 필요.
|
||||
- **mixed 값 유지 여부**: R2 적용 후 240건 중 mixed가 0건이다. 판정값에서 mixed를 빼고 positive/neutral/negative 셋으로 갈지 정한다.
|
||||
- **R4-a·R6 재시도 여부**: 이번에 철회했다(§5). 2차 보정 표본에서 같은 유형이 반복되면 그때 다시 본다.
|
||||
@ -1,61 +0,0 @@
|
||||
# 마이그레이션 파일과 운영 DB 대조표
|
||||
|
||||
작성 2026-09-14 · 읽기 전용 조회 결과입니다. 이 문서를 만들며 DB 를 바꾸지 않았습니다.
|
||||
|
||||
**정본은 마이그레이션 파일입니다**(haewon 결정 2026-09-14).
|
||||
|
||||
## 왜 필요한가
|
||||
|
||||
`supabase migration list` 기준으로 로컬 마이그레이션 10개 중 **원격 이력에 기록된 것은 3개**뿐입니다.
|
||||
나머지는 SQL 편집기로 직접 만들어 이력에 남지 않았습니다.
|
||||
이 상태에서 `migration repair` 로 "적용됨"을 기록하면 파일과 DB 가 실제로는 다른데 같다고 기록돼
|
||||
`db diff`·`db pull` 이 어긋난 결과를 냅니다. 그래서 repair 전에 무엇이 다른지 먼저 확인했습니다.
|
||||
|
||||
## 대조 결과
|
||||
|
||||
| 테이블 | 상태 | 파일에만 있음 (DB 에 추가 필요) | DB 에만 있음 (파일에 반영 필요) | 비고 |
|
||||
|---|---|---|---|---|
|
||||
| `analysis_runs` | 일치 | - | - | - |
|
||||
| `channel_configs` | 일치 | - | - | - |
|
||||
| `channel_latest` | 뷰 | - | captured_at, channel, clinic_id, followers, handle, health_score, health_status, posts, rating, rating_scale, reviews, screenshot_url, total_views | VIEW 입니다. 마이그레이션 파일에 정의가 없습니다 |
|
||||
| `channel_snapshots` | 일치 | - | - | - |
|
||||
| `channel_weekly_delta` | 뷰 | - | captured_at, channel, clinic_id, current_followers, current_reviews, followers_change_pct, prev_followers, prev_reviews | VIEW 입니다. 마이그레이션 파일에 정의가 없습니다 |
|
||||
| `clinic_registry` | 다름 | is_active, verified_at, verified_by | notes | - |
|
||||
| `clinics` | 일치 | - | - | - |
|
||||
| `content_performance` | 일치 | - | - | - |
|
||||
| `content_plans` | 일치 | - | - | - |
|
||||
| `discovery_leads` | 일치 | - | - | - |
|
||||
| `marketing_reports` | 일치 | - | - | - |
|
||||
| `performance_metrics` | 일치 | - | - | - |
|
||||
| `scrape_results` | 일치 | - | - | - |
|
||||
| `screenshots` | 일치 | - | - | - |
|
||||
| `strategy_adjustments` | 일치 | - | - | - |
|
||||
| `supporter_builds` | 일치 | - | - | - |
|
||||
| `supporter_inputs` | 일치 | - | - | - |
|
||||
|
||||
표 17개 중 **15개가 정확히 일치**합니다. 손볼 곳은 `clinic_registry` 하나와 정의가 빠진 뷰 2개입니다.
|
||||
|
||||
## 확인한 것
|
||||
|
||||
- `channel_latest`·`channel_weekly_delta` 는 **뷰(VIEW)** 입니다. 표가 어긋난 것이 아니라 뷰 정의가 마이그레이션 파일에 없습니다.
|
||||
- `clinic_registry` 의 `notes` 는 **74곳 전부에 값이 있어 실제로 쓰이는 컬럼**입니다. 지우면 안 되고 파일에 반영해야 합니다.
|
||||
- `is_active`·`verified_at`·`verified_by` 는 파일에만 있습니다. 코드가 쓰는지 확인한 뒤 추가할지 파일에서 뺄지 정합니다.
|
||||
|
||||
## 다음에 할 일 (순서를 바꾸면 안 됩니다)
|
||||
|
||||
1. `clinic_registry` 의 `is_active`·`verified_at`·`verified_by` 를 운영 DB 에 추가하거나, 쓰지 않으면 마이그레이션 파일에서 뺍니다.
|
||||
2. `notes` 컬럼과 뷰 2개의 정의를 마이그레이션 파일에 추가합니다.
|
||||
3. 둘이 맞은 뒤에 `supabase migration repair --status applied <version>` 으로 이력을 맞춥니다.
|
||||
4. 그다음부터 `supabase db push` 가 새 마이그레이션만 적용합니다.
|
||||
|
||||
3번을 먼저 하면 어긋난 상태가 기록으로 굳습니다.
|
||||
|
||||
## 대조 방법
|
||||
|
||||
```
|
||||
supabase db query --linked -o csv \
|
||||
"select table_name, column_name from information_schema.columns where table_schema='public' order by table_name, ordinal_position;"
|
||||
```
|
||||
|
||||
파일 쪽은 `CREATE TABLE` 과 `ALTER TABLE ... ADD COLUMN` 을 파싱해 모았습니다.
|
||||
제약·인덱스·함수·트리거·RLS 는 이 대조에 넣지 않았습니다. 컬럼만 봅니다.
|
||||
@ -1,172 +0,0 @@
|
||||
# 설계: 신청 접수 알림과 완료 안내 메일 v0.1
|
||||
|
||||
작성 2026-09-18 · 대상 AI Discovery 랜딩(`/discovery`) 신청 흐름
|
||||
|
||||
---
|
||||
|
||||
## 1. 지금 무엇이 비어 있나
|
||||
|
||||
랜딩 신청 모달은 이렇게 말합니다.
|
||||
|
||||
> 입력하신 URL을 실측 진단한 뒤, 남겨주신 연락처로 리포트를 안내드립니다.
|
||||
|
||||
**보내는 코드가 없습니다.** `workers/`, `scripts/`, `supabase/functions/` 전체에 메일 발송이 없습니다. 유일한 `mailto:`는 저장 실패 시 사람이 직접 메일을 쓰라고 띄우는 폴백입니다(`DiscoveryLeadModal.tsx:82`).
|
||||
|
||||
그래서 지금은 이렇게 됩니다.
|
||||
|
||||
```
|
||||
신청 → discovery_leads (status: new)
|
||||
→ supporter_builds 큐 → 워커가 빌드 → preview
|
||||
→ 여기서 끝. 신청자에게도, 운영자에게도 아무 연락이 없음
|
||||
```
|
||||
|
||||
2026-09-18 JK성형외과 신청이 정상 접수되고 10분 만에 빌드까지 끝났지만, 신청자가 직접 확인하기 전까지 아무도 몰랐습니다.
|
||||
|
||||
**문제는 두 갈래입니다.**
|
||||
|
||||
| | 문제 |
|
||||
|---|---|
|
||||
| 운영자 | 신청이 들어온 사실을 알 방법이 없습니다. `discovery_leads`는 anon insert만 열려 있고 조회는 service_role 전용이며, 폴러는 `supporter_builds`만 봅니다 |
|
||||
| 신청자 | 화면이 약속한 안내를 받지 못합니다 |
|
||||
|
||||
---
|
||||
|
||||
## 2. 설계 원칙
|
||||
|
||||
**원칙 1. 자동 발송은 접수 알림까지만 한다.**
|
||||
|
||||
완료 안내를 자동으로 보내면 사람 검토를 건너뛴 결과물 링크가 나갑니다. 이번 JK 건에서 첫 화면 대표 사진이 사람 확인이 필요한 사진이었던 것을 생각하면, 자동 발송이 아니었던 것이 결과적으로 안전했습니다. 완료 안내는 **사람이 보내기를 누를 때** 나갑니다.
|
||||
|
||||
**원칙 2. 화면의 약속과 코드를 맞춘다.**
|
||||
|
||||
지금 모달 문구는 자동으로 갈 것처럼 읽힙니다. 실제 동작에 맞게 문구를 고치거나, 동작을 문구에 맞추거나 둘 중 하나를 해야 합니다. 이 설계는 후자에 가깝되 검토 단계를 명시하는 쪽입니다.
|
||||
|
||||
**원칙 3. "리포트"라는 말을 정확히 쓴다.**
|
||||
|
||||
현재 파이프라인이 만드는 것은 **서포터즈 사이트**입니다. 랜딩이 말하는 AEO/GEO 36항목 진단 리포트(`/discovery/viewclinic` 형태)는 이 빌드에서 생성되지 않습니다. 신청 한 건이 서로 다른 두 산출물로 갈라져 있어, 메일 문안에서 무엇을 보내는지 분명히 해야 합니다.
|
||||
|
||||
---
|
||||
|
||||
## 3. 보내는 메일 3종
|
||||
|
||||
### 3-1. 접수 확인 (신청자에게, 자동)
|
||||
|
||||
- **시점**: `discovery_leads` insert 직후
|
||||
- **받는 사람**: 신청자가 남긴 연락처
|
||||
- **내용**: 접수 사실, 어떤 URL로 접수됐는지, 언제쯤 연락이 가는지, 문의처(`o2oteam@o2o.kr`)
|
||||
- **보내지 않는 것**: 결과 링크, 진행률
|
||||
|
||||
### 3-2. 신규 신청 알림 (운영자에게, 자동)
|
||||
|
||||
- **시점**: 3-1과 동시
|
||||
- **받는 사람**: 운영 담당 주소 1개
|
||||
- **내용**: 병원명·URL·연락처, 빌드 큐 등록 여부, 확인 화면 링크(`/images/<clinic_id>`, `/supporters/<clinic_id>`)
|
||||
- **목적**: 신청을 놓치지 않는 최소 장치. 이것만 있어도 지금 상태보다 낫습니다
|
||||
|
||||
### 3-3. 완료 안내 (신청자에게, 사람이 보냄)
|
||||
|
||||
- **시점**: 운영자가 이미지 검토와 결과 확인을 마치고 **보내기를 눌렀을 때**
|
||||
- **받는 사람**: 신청자
|
||||
- **내용**: 무엇을 만들었는지, 미리보기 링크(noindex), 병원이 확인해야 할 것 두 가지(`/images/<id>` 사진 확인, `/supporters/<id>` 확인 항목), 색인 전환은 법무 확인 뒤라는 안내
|
||||
- **전제**: 발송 전에 사진 검토가 끝나 있어야 합니다
|
||||
|
||||
---
|
||||
|
||||
## 4. 무엇으로 보내나
|
||||
|
||||
### 4-1. 발송 수단
|
||||
|
||||
**현재 메일 발송 키가 하나도 없습니다.** `.env`에 Resend·SendGrid·SES·SMTP 어느 것도 없어 계정부터 필요합니다.
|
||||
|
||||
| 후보 | 장점 | 단점 |
|
||||
|---|---|---|
|
||||
| **Resend** (추천) | Edge Function에서 fetch 한 번. 도메인 인증이 단순. 무료 한도로 이 규모는 충분 | 계정·도메인 인증 필요 |
|
||||
| SendGrid | 전달률 기록이 길다 | 설정 항목이 많다 |
|
||||
| AWS SES | 단가가 가장 낮다 | 샌드박스 해제 심사가 필요 |
|
||||
|
||||
발신 도메인은 `o2o.kr` 계열을 쓰고, 신규 도메인은 초기 전달률이 낮으므로 SPF·DKIM·DMARC를 먼저 맞춥니다.
|
||||
|
||||
### 4-2. 발송 위치
|
||||
|
||||
**Supabase Edge Function `notify-lead` 를 새로 만듭니다.**
|
||||
|
||||
프런트에서 직접 부르지 않습니다. 프런트가 부르면 anon 키로 메일을 쏠 수 있게 되어 스팸 경로가 됩니다. DB 변경을 신호로 삼습니다.
|
||||
|
||||
```
|
||||
discovery_leads INSERT
|
||||
→ Postgres 트리거 (pg_net)
|
||||
→ Edge Function notify-lead (service_role 검증)
|
||||
→ Resend 호출 2건 (신청자 접수 확인 + 운영자 알림)
|
||||
→ email_log 기록
|
||||
```
|
||||
|
||||
완료 안내(3-3)는 같은 함수의 다른 진입점으로 두고, 운영자 화면의 버튼에서 호출합니다.
|
||||
|
||||
---
|
||||
|
||||
## 5. 필요한 DB 변경
|
||||
|
||||
### 5-1. `email_log` 신설
|
||||
|
||||
무엇을 언제 누구에게 보냈는지 남깁니다. 중복 발송을 막고, 안 갔다는 문의에 답할 근거가 됩니다.
|
||||
|
||||
| 열 | 용도 |
|
||||
|---|---|
|
||||
| `id` | |
|
||||
| `kind` | `lead_ack` · `lead_notify` · `build_done` |
|
||||
| `lead_id` / `clinic_id` | 대상 |
|
||||
| `to_addr` | 받는 주소 |
|
||||
| `status` | `sent` · `failed` |
|
||||
| `provider_id` | 발송 서비스가 준 id. 전달 추적용 |
|
||||
| `error` | 실패 사유 |
|
||||
| `created_at` | |
|
||||
|
||||
중복 발송 방지는 `(kind, lead_id)` 유니크로 겁니다.
|
||||
|
||||
### 5-2. `discovery_leads.status` 를 실제로 쓴다
|
||||
|
||||
지금은 모든 행이 `new`로 고정입니다. 흐름을 담도록 값을 정합니다.
|
||||
|
||||
```
|
||||
new → notified(접수 메일 발송) → building → review(사람 검토 중)
|
||||
→ delivered(완료 안내 발송) → closed
|
||||
```
|
||||
|
||||
### 5-3. 연락처가 이메일이 아닐 수 있다
|
||||
|
||||
모달은 "이메일 또는 전화번호"를 받습니다. 전화번호면 메일을 보낼 수 없습니다.
|
||||
|
||||
- 저장 시 형식을 판별해 `contact_kind`(`email` · `phone`)를 같이 남깁니다
|
||||
- `phone`이면 접수 메일을 건너뛰고 운영자 알림에 **전화로 연락 필요**를 표시합니다
|
||||
|
||||
---
|
||||
|
||||
## 6. 화면에서 고칠 것
|
||||
|
||||
| 위치 | 지금 | 바꿀 안 |
|
||||
|---|---|---|
|
||||
| 신청 모달 완료 문구 | "실측 진단한 뒤, 남겨주신 연락처로 리포트를 안내드립니다" | "접수됐습니다. 확인 메일을 보내 드렸습니다. 결과가 준비되면 남겨주신 연락처로 안내드립니다" |
|
||||
| 운영자 화면 | 없음 | 완료 안내 발송 버튼. 사진 검토가 끝나지 않았으면 버튼을 잠그고 이유를 표시 |
|
||||
|
||||
---
|
||||
|
||||
## 7. 만들 순서
|
||||
|
||||
| 순서 | 할 일 | 비고 |
|
||||
|---|---|---|
|
||||
| 1 | 발송 서비스 계정과 도메인 인증 | **haewon 결정 필요.** 이것 없이는 아무것도 못 보냅니다 |
|
||||
| 2 | `email_log` 테이블, `contact_kind` 열 추가 | |
|
||||
| 3 | Edge Function `notify-lead` + 트리거 | 3-1·3-2 자동 발송 |
|
||||
| 4 | 모달 문구 수정 | 1~3과 무관하게 지금 할 수 있습니다 |
|
||||
| 5 | 완료 안내 발송 버튼 | 사진 검토 완료 조건과 묶습니다 |
|
||||
|
||||
**1번이 없으면 2~3번이 무의미하므로, 4번을 먼저 넣어 화면과 코드의 어긋남부터 없애는 방법도 있습니다.**
|
||||
|
||||
---
|
||||
|
||||
## 8. haewon 결정이 필요한 것
|
||||
|
||||
1. **발송 서비스**: Resend를 추천합니다. 계정과 발신 도메인(`o2o.kr` 하위 무엇으로 할지)이 필요합니다
|
||||
2. **운영자 알림 수신 주소**: 개인 주소인지 공용 주소인지
|
||||
3. **완료 안내를 사람이 보내는 방식으로 할지**: 자동 발송으로 하면 사진 검토를 건너뛴 링크가 나갈 수 있습니다. 이 설계는 사람이 보내는 쪽을 전제합니다
|
||||
4. **"리포트"의 정의**: 완료 안내로 보내는 것이 서포터즈 사이트인지, AEO/GEO 진단 리포트인지, 둘 다인지. 지금 파이프라인은 앞의 것만 만듭니다
|
||||
@ -1,171 +0,0 @@
|
||||
# 핸드오버 · 2026-09-18 (금)
|
||||
|
||||
다음 작업은 2026-09-19(토) 또는 다음 주. 이 문서 하나만 읽으면 이어서 할 수 있게 적는다.
|
||||
|
||||
---
|
||||
|
||||
## 0. 오늘 한 일 한 줄
|
||||
|
||||
랜딩에서 들어온 JK성형외과 신청을 자동 빌드로 완주시키고, 그 과정에서 드러난 파이프라인 결함 6건을 고쳤다. 그리고 진단 리포트에서 사이트 빌드까지 이어지는 제품 화면을 새로 만들었다.
|
||||
|
||||
---
|
||||
|
||||
## 1. 지금 상태
|
||||
|
||||
### 저장소 두 곳, 커밋 완료
|
||||
|
||||
**Productize-2** (`main`) · 프런트엔드
|
||||
```
|
||||
f38c0f3 feat(front): 진단 요약과 보완 계획을 보여 준 뒤 빌드하게 한다
|
||||
14c4b82 refactor(design): 요청문과 설명문을 텍스트 역할 토큰으로 가른다
|
||||
be1ea72 feat(front): 진단 리포트에서 사이트 빌드로 이어지는 화면
|
||||
74c70d6 docs(design): 신청 접수 알림과 완료 안내 메일 설계 v0.1
|
||||
5cf28d9 feat(front): 병원이 사이트에 실을 사진을 한 장씩 고르는 화면
|
||||
```
|
||||
|
||||
**Productize** (`feature/supporters-autobuild`) · 파이프라인
|
||||
```
|
||||
1eb166e fix(worker): 병원 입력을 큐 빌드에서도 반영하고, 이미지 확인 결과를 사이트에 적용한다
|
||||
fa48d43 fix(supporters): 의료진 목록 페이지를 사람별로 나누고 지번 주소도 좌표로 바꾼다
|
||||
```
|
||||
|
||||
**푸시하지 않았다.** 두 저장소 모두 로컬에만 있다.
|
||||
|
||||
`f38c0f3` 은 haewon 육안 확인 전에 커밋했다. 퇴근 시점에 작업 트리를 비워 두려고 먼저 넣은 것이라, 마음에 안 들면 `git reset --soft HEAD~1` 로 되돌리면 된다.
|
||||
|
||||
### 추적하지 않는 파일 2개
|
||||
|
||||
`scripts/out/naver_briefing_summary.json`, `scripts/out/sentiment_summary.json` 는 09-15 측정 산출물이고 오늘 세션 것이 아니라 그대로 뒀다. 주간보고가 이 파일을 근거로 인용하므로 보고서를 공유할 계획이면 같이 커밋해야 한다.
|
||||
|
||||
### 배포
|
||||
|
||||
| 대상 | 주소 | 상태 |
|
||||
|---|---|---|
|
||||
| JK성형외과 서포터즈 | https://supporters-jkplastic.vercel.app | 배포됨 · noindex · 의료진 9명·주변 안내 123곳 반영 |
|
||||
| 프런트엔드 | 배포 안 함 | 오늘 만든 화면은 로컬에만 있다 |
|
||||
|
||||
---
|
||||
|
||||
## 2. 오늘 고친 파이프라인 결함 6건
|
||||
|
||||
| # | 결함 | 상태 |
|
||||
|---|---|---|
|
||||
| 1 | 의료진 목록 페이지를 사람별로 못 나눔. 9명이 "과전문의"라는 없는 사람 1명으로 합쳐짐 | 고침 |
|
||||
| 2 | 지번 주소를 좌표로 못 바꿔 주변 안내 전체가 빔 | 고침 |
|
||||
| 3 | 글이 예전 의료진 id를 들고 있으면 astro build 중단 | 고침 |
|
||||
| 4 | `--deploy` 없는 부분 재실행이 `preview_url` 을 지움 | 고침 |
|
||||
| 5 | 큐 워커가 `--from-supabase` 를 안 넘겨 **병원 입력이 하나도 반영되지 않던 것** | 고침 |
|
||||
| 6 | 이미지 수집 개수 중복 계산 (36장을 51장으로 보고) | 고침 |
|
||||
|
||||
**수정 효과 (JK 재실행 실측)**
|
||||
|
||||
| 항목 | 전 | 후 |
|
||||
|---|---|---|
|
||||
| 의료진 | 1명 (가짜 이름) | 9명 (실명·직함·약력 분리) |
|
||||
| 수집 뉴스 | 958건 | 1,165건 (기고·인터뷰 217 → 387) |
|
||||
| 주변 안내 | 0곳 | 국문 123곳 · 영문 108곳 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 오늘 만든 화면
|
||||
|
||||
```
|
||||
/discovery/:id 진단 리포트 → [이대로 빌드하기]
|
||||
/build/:id 빌드 진행 (5단계, supporter_builds 폴링)
|
||||
/images/:id 사진 확인 (한 장씩 사용/빼기)
|
||||
/supporters/:id 확인 항목 입력 (기존)
|
||||
```
|
||||
|
||||
**새 파일**
|
||||
```
|
||||
src/pages/SiteBuildPage.tsx 빌드 진행 화면
|
||||
src/pages/ImageReviewPage.tsx 사진 확인 화면
|
||||
src/components/discovery/ImageReviewPanel.tsx 사진 확인 본체
|
||||
src/components/discovery/BuildPlanSection.tsx 진단 요약 → 보완 계획 → 빌드
|
||||
src/components/ClinicNav.tsx 4단계 절차 상단 메뉴 + 이전 단계 플로팅 버튼
|
||||
src/lib/buildPhases.ts 워커 17단계 → 고객용 5묶음
|
||||
src/lib/buildCoverage.ts 빌드가 보완하는 카테고리 선정
|
||||
```
|
||||
|
||||
**설계상 지켜야 할 것 두 가지**
|
||||
|
||||
1. **빌드는 병원 홈페이지를 고치지 않는다.** 진단의 실행 항목은 단 하나도 빌드로 해결되지 않는다. 화면에서 "실행 항목 N건 해결"로 쓰면 지키지 못할 약속이 된다. 오늘 한 번 그렇게 만들었다가 고쳤다.
|
||||
2. **"결과"라는 말을 쓰지 않는다.** 빌드가 끝나도 사진 확인과 확인 항목이 남아 최종이 아니다.
|
||||
|
||||
**텍스트 역할 토큰** (`src/index.css`)
|
||||
```
|
||||
.ui-ask 요청문 (17px·600·인디고) · .ui-ask-block 은 왼쪽 규칙선
|
||||
.ui-body 설명 본문 (16px·slate-600)
|
||||
.ui-note 보조·출처 (14px·slate-400)
|
||||
.on-dark / .on-light 다크 섹션과 그 안의 흰 카드
|
||||
.btn-on-dark 다크 섹션 위 주 버튼 (기본 CTA 그라디언트는 흰 배경 전용)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 바로 이어서 할 수 있는 것
|
||||
|
||||
### 4-1. haewon 육안 확인 (최우선)
|
||||
|
||||
`f38c0f3` 의 화면을 아직 안 보셨다. 확인할 것:
|
||||
|
||||
- `/discovery/viewclinic` 하단 **What We Will Fix** 섹션의 문구와 버튼 대비
|
||||
- 네 화면 오가며 **이전 단계 플로팅 버튼** (왼쪽 아래)
|
||||
- `/images/jkplastic` 썸네일 줄
|
||||
|
||||
```bash
|
||||
cd ~/orca/workspaces/INFINITH/Productize-2 && npm run dev # 포트 3000 사용 중이면 자동으로 다음 포트
|
||||
```
|
||||
|
||||
### 4-2. 분석 리포트의 남은 요소 흡수 (오늘 하던 것)
|
||||
|
||||
haewon이 고른 방향은 **"분석 리포트의 좋은 부분을 진단으로 흡수"** 였다. 채널 점수 링·로드맵 타임라인·KPI 세 가지 중 아직 하나도 안 옮겼다. 중간에 "OK 버튼" 이야기로 방향이 틀어져 `BuildPlanSection` 을 먼저 만들었다.
|
||||
|
||||
| 요소 | 기존 컴포넌트 | 데이터 |
|
||||
|---|---|---|
|
||||
| 채널 건강도 링 | `src/components/report/ChannelOverview.tsx` | `supporter_builds.report.channels` 에 실제 발견 채널이 있다 |
|
||||
| 로드맵 타임라인 | `src/components/report/RoadmapTimeline.tsx` | `result.actions` 의 P0/P1/P2 + effort 로 시간축을 만들 수 있다 |
|
||||
| KPI 대시보드 | `src/components/report/KPIDashboard.tsx` | **데이터 없음.** 목표치를 지어내면 안 된다. 재측정 기준으로 바꾸는 편이 맞다 |
|
||||
|
||||
로드맵이 가장 쉽고 값이 크다. 데이터가 이미 있고 진단의 Action Plan에 시간축만 없다.
|
||||
|
||||
### 4-3. 분석 리포트 자체의 결함 (옮기든 안 옮기든 남는 문제)
|
||||
|
||||
`/report/:id` 를 바노바기 리포트로 열어 확인한 것:
|
||||
- 히어로가 비어 있다. 첫 화면에 그라디언트만 크게 깔리고 제목·병원명이 없다
|
||||
- `데이터 없음 (NaN년)`. 개원 연도 계산이 깨져 NaN이 화면에 나온다
|
||||
- 섹션 사이 여백이 화면 하나 가까이 된다
|
||||
|
||||
---
|
||||
|
||||
## 5. 결정 대기 (haewon)
|
||||
|
||||
### 5-1. 메일 (설계 끝, 결정 필요)
|
||||
|
||||
`docs/DESIGN_신청알림메일_v0.1.md` §8
|
||||
|
||||
1. **발송 서비스**: Resend 추천. 계정과 발신 도메인(`o2o.kr` 하위 무엇으로)
|
||||
2. **운영자 알림 수신 주소**: 개인인지 공용인지
|
||||
3. **완료 안내를 사람이 보내는 방식으로 확정할지**
|
||||
4. **"리포트"의 정의**: 가장 큰 건. 랜딩은 AEO/GEO 진단 리포트를 약속하는데 파이프라인은 서포터즈 사이트를 만든다. 메일 문안을 쓰려면 이걸 먼저 정해야 한다
|
||||
|
||||
### 5-2. 진단 데이터가 3곳뿐
|
||||
|
||||
`DISCOVERY_RESULTS` 에 viewclinic·taeha·wonjin 만 있다. JK처럼 빌드만 한 병원은 `/discovery/:id` 에서 **No Audit Yet** 화면을 본다(오늘 만들었다). 진단은 36항목 실측이라 자동으로 안 따라온다. 자동화 범위를 어디까지 잡을지 별도 과제.
|
||||
|
||||
### 5-3. 기타
|
||||
|
||||
- `clinicDoctors` 4명 고정. JK는 9명인데 소개 페이지에 4명만 나온다
|
||||
- planner가 주변 안내 좌표를 받고도 범용 기본표를 쓴다
|
||||
- 뷰 의료진 id 두 벌 (`dr-cho` 수작업 10개 vs `dr-chojinwoo` 자동 27개). 뷰 재빌드 때 한쪽으로 모아야 한다
|
||||
- `check.mjs --update-layout` 으로 레이아웃 기준선 생성
|
||||
|
||||
---
|
||||
|
||||
## 6. 알아 두면 시간 아끼는 것
|
||||
|
||||
- **빌드는 백그라운드로 돌리고 다른 작업을 같이 한다.** `nohup node workers/supporters-build/run.mjs ... &` 로 띄우고 로그를 감시한다. 오늘 내내 그렇게 했다.
|
||||
- **같은 병원 빌드를 동시에 두 개 돌리면 안 된다.** 작업 폴더(`~/supporters-builds/<clinic>-<id>/`)를 공유해 서로 덮어쓴다.
|
||||
- **부분 재실행은 `--from <단계>`.** 글은 `--regenerate` 없으면 보존되어 생성 비용이 0이다.
|
||||
- **워커는 Productize 워크트리에서 돈다.** Productize-2 가 아니다. launchd 폴러 `com.infinith.supporters-poll`, 로그 `~/supporters-builds/poll.log`.
|
||||
- **주간보고는 gitignore 처리했다** (`docs/*주간보고*`). 개인 문서라 저장소에 올리지 않는다.
|
||||
@ -1,159 +0,0 @@
|
||||
# INFINITH AI Discovery 회고 · 2026-08-26 ~ 2026-09-08
|
||||
|
||||
작성 2026-09-08 · 작성자 Claude (haewon 세션 기록 기준) · 상태: v1.1 (haewon 2026-09-08 §2 기존 서비스 정의 수정 반영). 확정 전.
|
||||
범위: INFINITH 의 사업 확장·피봇 결정부터 AI Discovery 진단, 뷰성형외과·원진성형외과 분석·설계, 서포터즈 사이트 수작업 빌드, 자동 빌드 파이프라인 구현과 두 병원 검증까지. 사실은 저장소 커밋·문서·메모리에 남은 것만 쓴다. 추정은 추정이라고 적는다.
|
||||
|
||||
---
|
||||
|
||||
## 1. 한 줄 요약
|
||||
|
||||
"병원이 AI 답변에 안 나온다"는 문제를, 병원 홈페이지를 고치는 대신 **병원이 지원하는 별도 매체(서포터즈 사이트)를 원문 출처로 세우는 방식**으로 풀기로 했고, 그 매체를 병원 이름 하나로 자동 빌드하는 파이프라인을 만들어 두 병원에서 사람 개입 없이 완주시켰다. 자동화가 못 하는 것은 셋으로 좁혀졌다. 병원만 아는 사실의 입력, 원장의 의학 검토와 개설자의 게시 승인, 실존 개인 서포터즈.
|
||||
|
||||
---
|
||||
|
||||
## 2. 배경과 동기
|
||||
|
||||
INFINITH 는 성형외과의 종합적인 Online Presence, SNS·검색 채널을 분석해 전략마케팅 리포트를 내는 서비스였다. 2026년 8월 말, 두 가지 사실이 방향을 바꿨다.
|
||||
|
||||
1. **네이버 자산은 글로벌 AI 답변에 기여하지 않는다.** 2026-08-26 실측에서 네이버 블로그·플레이스·카페가 robots.txt 로 AI 크롤러를 전면 차단하고 있음을 확인했다. 병원들이 예산을 쏟는 네이버 마케팅이 ChatGPT·Perplexity·Gemini 답변에는 닿지 않는다. 네이버 AI 브리핑만 별도 트랙이다.
|
||||
2. **병원 홈페이지는 읽을 수는 있어도 인용할 근거가 없다.** 2026-08-28 뷰성형외과 진단에서 크롤러 접근은 열려 있었지만, 정의문·FAQ·표·의료진 스키마가 없고 주소 표기가 3종이었다. "차단"이 아니라 "내용"이 문제였다.
|
||||
|
||||
여기서 사업 방향이 "온라인 프리젠스 종합 분석 및 마케팅 채널 분석 리포트와 전략 기획"에서 **"AI 답변엔진에 인용될 원문을 만들어 주는 것(AEO/GEO)"** 으로 확장됐다. 진단(AI Discovery)은 입구이고, 서포터즈 사이트가 처방이다.
|
||||
|
||||
왜 홈페이지를 고치지 않고 별도 매체인가. 홈페이지 수정은 병원 개발사·의사결정에 막혀 느리고, 슬라이더·이미지 글자 구조를 바꾸기 어렵다. 별도 도메인은 병원 사이트를 건드리지 않고, MedicalClinic·Person 스키마와 sameAs 로 같은 엔티티에 묶이며, 원문 텍스트를 계속 공급할 수 있다. 다만 병원 지원을 받는 매체라 의료광고로 본다는 전제에서 설계해야 했다(§7).
|
||||
|
||||
---
|
||||
|
||||
## 3. 타임라인
|
||||
|
||||
| 날짜 | 일 | 근거 |
|
||||
| --- | --- | --- |
|
||||
| 08-26 | 네이버 robots 가 AI 크롤러 차단 확인. 오픈웹 자산 필요성 확정 | 메모리 |
|
||||
| 08-28 | 뷰성형외과 1차 진단(기준표 v1.0, 36항목) 50/C | `discovery_viewclinic.ts` |
|
||||
| 08-31 ~ 09-01 | 자동 채점기 `audit_aeo_geo.py`, 질문 뱅크 120문항 2엔진 실측(논브랜드 언급률 ChatGPT 11%, Perplexity 3%) | `docs/reports/viewclinic/03_question_bank` |
|
||||
| 09-04 | 서포터즈 샘플 v1→v3 수작업 빌드(글 8편, 이미지 92장, 뉴스룸 1,137건, 영상 집계). 첫 룩앤필 거부 → INFINITH 토큰. 공정위 뒷광고 사건 발견 | 메모리, `supporters/` |
|
||||
| 09-07 | v4(글 18편, 고객용 화법 분리, 신뢰 층). 기준표 v2.0 AEO/GEO 분리 채택. 핸드오버 v2. 게이트 확장·템플릿화·근거 수집기·글 생성기·승인 UI·워커 | 커밋 49c5e46~7e515b7 |
|
||||
| 09-07 밤 | 결정 4건(탭 제거·$10·원진·워커 위치). 원진 회귀 3회 실패 후 인터넷 끊김 | 커밋 ee8c06f |
|
||||
| 09-08 | 원진 완주·배포, 유튜브·로고, 이미지(법 기준), 원진 진단 리포트 HTML/PDF, 채널 발견·엔티티 검증, 기준 채널 고정 | 커밋 572978c~d1b22b9 |
|
||||
|
||||
세션 수는 대략 6번, 저장소 커밋은 08-25 이후 69건이다.
|
||||
|
||||
---
|
||||
|
||||
## 4. 무엇을 만들었나
|
||||
|
||||
### 4-1. 진단 (AI Discovery)
|
||||
|
||||
기존 INFINITH 리포트(온라인 프리젠스·마케팅 채널 분석과 전략 기획)의 앞단에 붙는 진단이다. 채널 분석이 "어디에 얼마나 있는가"를 봤다면, AI Discovery 는 "AI 가 그것을 읽고 인용할 수 있는가"를 본다. 같은 병원 데이터(채널·수치)를 쓰되 판정 기준이 다르다.
|
||||
|
||||
- 기준표 v1.0: 36항목(A 접근성·B 엔티티·C 콘텐츠·D 표면·E 측정·F 위생), 0~3 레벨, 미검증은 분모 제외.
|
||||
- 기준표 v2.0: 같은 실측을 **AEO 답변 준비도 8항목 / GEO 출처 준비도 8항목** 두 축 100점으로 재집계. 치명 게이트(크롤러 차단 등)에 상한.
|
||||
- 자동 채점기(auto 21~22항목) + 사람 보정(semi·manual) → `/discovery/:id` 리포트 페이지, 독립 HTML/PDF 리포트 빌더.
|
||||
- 질문 뱅크 120문항(7카테고리)과 2엔진 실측 러너.
|
||||
|
||||
### 4-2. 서포터즈 사이트 (수작업 정답지)
|
||||
|
||||
- Astro 정적, INFINITH 디자인 토큰, 글 18편(세 줄 요약 → 본문 → 영상 → 갤러리 → FAQ → 검토 박스 → 참고 자료 → 갱신 기록 → 병원 정보 → 고지), 팩트 시트 단일 원본, Person·Physician·MedicalClinic·Article·FAQPage 스키마, noindex 기본.
|
||||
- 발행 게이트: JSON-LD·alt·H1·금칙어·홈페이지 40자 연속 일치 → v2 §3 의 검사 11종(운영자 어휘·근거 유형·결론 단정·확인일 일관성·검토자·영상 제목·비교 수치·승인·고지 위치).
|
||||
|
||||
### 4-3. 자동 빌드 파이프라인 (워커)
|
||||
|
||||
이름 또는 URL → 채널 발견·엔티티 검증 → 근거 수집(223p) → 팩트 시트·의료진 초안 → 유튜브 집계·로고·파비콘 → 이미지(법 기준 필터) → 첫 배치 기획 → GPT-4.1 생성(수치 대조·근거 대조·수정 2회) → 빌드·게이트 → Vercel 미리보기 → 병원 입력 폼 → 입력 반영 재빌드.
|
||||
|
||||
---
|
||||
|
||||
## 5. 문제, AI 의 첫 대응, haewon 의 피드백, 달라진 것
|
||||
|
||||
| # | 문제 | AI 가 처음 한 것 | haewon 피드백 | 달라진 것 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | 산출물 형식 | 티켓 문의서를 Artifact 로 발행 | "워드 문서를 기대했다", 전량 재작업 | 전역 규칙: 지시 없으면 로컬 파일. 이번 회고도 md 로컬 파일 |
|
||||
| 2 | 1차 진단 오판 3건(블로그 정지·FAQ 0·수치 없음) | 요약 도구(WebFetch)와 URL 2개 표본으로 판정 | 09-07 재검증 요청 | 실측 규칙: 원본 HTML 파서로만, 표본 5개 URL 이상. 50→54 정정 |
|
||||
| 3 | 서포터즈 첫 룩앤필(녹색 에디토리얼) | 매체다운 별도 디자인 | 거부, INFINITH 토큰으로 | 서포터즈도 INFINITH 토큰. 텍스트 많은 블록은 그라디언트 금지 |
|
||||
| 4 | "내용이 부실하다" | 텍스트 위주 글 8편 | 이미지·유튜브 임베드 기본, 병원 자산은 파트너십 전제 | 홈페이지 이미지 92장, 글마다 영상·갤러리 |
|
||||
| 5 | "사이트가 제안서처럼 읽힌다" | 홈에 "답변엔진 인용", "질문 뱅크 120문항" 노출 | 고객은 그 논리를 볼 이유가 없다 | 고객/운영자 화면 분리. 운영자 어휘는 게이트 오류 |
|
||||
| 6 | 화법 수정 중 룩앤필까지 바뀜 | 섹션 구조·영어 헤딩·통계 블록 재설계 | "돌려놓고 텍스트만" | 확정 디자인은 텍스트만. 구조 지문 검사 |
|
||||
| 7 | 카드 제목 "합니다/밝힙니다", 덱 제목 반말 | 영어 직역 화법 | 명사구, 고객용은 존댓말 | 규칙 + 게이트 경고(HEADING_VERB·PLAIN_ENDING) |
|
||||
| 8 | 근거 없는 수치(출근 시점·지속 기간·재수술 시점) | 홈페이지 없으면 일반 지식으로 채움 | 없는 것은 없다고 | 근거 프로토콜 §4, "자료에 없음/병원 확인 대기". 생성기 수치 대조 + 근거 대조 |
|
||||
| 9 | 영상 출연 원장을 감수자로 자동 표기 | 영상에 나왔으니 감수로 | 검토는 사람이 확정 | 검토자·검토일은 병원 입력. reviewedBy 스키마는 reviewed 일 때만 |
|
||||
| 10 | 외부 개선안(Astra 44건, Codex 평가) | 전부 반영 시도 | 사실 지적만 수용, 기획 취향은 반려 | 수용 기준 3갈래(사실/구조/취향) |
|
||||
| 11 | 공정위 뒷광고 사건(2026-07-12, 뷰 포함 3곳) 발견 | 뉴스룸에 넣을지 판단 | 보고 후 제외 | 후기 인용 금지·대가 고지의 근거가 됨. 경제적 이해관계 고지를 글 첫 부분으로(제안) |
|
||||
| 12 | 자동 빌드 미리보기 카드에 검은 도형 | 자산 없으면 프레임워크 파비콘으로 대체 | "이런 이미지는 뭐지, 원진은 사진 없어?" | 유튜브·이미지 단계 추가, 카드 대체는 병원 로고 |
|
||||
| 13 | 전후 사진 거르는 규칙 | 전후 사진 전부 제외 | 법 기준으로, 파트너라 자산은 쓰되 법에 걸리지 않게 | 의료법 56조 2항·심의 기준·초상권을 이미지 규칙표로. 조건을 자동 확인 못 하는 것만 제외 |
|
||||
| 14 | 원진 유튜브 공식 채널 2개 | 구독자 많은 쪽 자동 선택 | 설명 영상 736편 채널로 고정 | 병원별 고정값 파일, 자동 선택 기준을 영상 수로 |
|
||||
| 15 | 워커 위치 | 선택지 4개 제시 | "난 비개발자야, 네가 추천" | Mac 폴러(파일럿) → Trigger.dev(정착), haewon 은 가입·키만 |
|
||||
|
||||
AI 쪽에서 스스로 잡은 문제도 있었다. 생성기 근거 대조기가 "근거에 명시되어 있음"이라고 적으면서 플래그를 세우는 오탐(항목별 supported 판정으로 해결), 안전 페이지의 "병원급 평균 23.1% vs 43%" 비교 수치를 모델이 그대로 옮긴 것(COMPARISON_CLAIM 게이트 신설), 영상 제목 "부작용은 없을까?"가 게이트에 걸려 배포가 막힌 것(수집 단계에서 같은 규칙 적용), 채널 탐색에서 홈페이지 역링크를 부분 문자열로 인정해 변형 핸들이 전부 확인됨으로 잡힌 것(경로 경계 정규식으로 해결), 투명 PNG 글자 이미지 검사 순서.
|
||||
|
||||
---
|
||||
|
||||
## 6. ChatGPT 의견으로 AEO 와 GEO 를 분리한 뒤 달라진 것
|
||||
|
||||
v1.0 은 36항목을 하나의 점수로 합쳤다. 뷰성형외과 54/C 는 "중간쯤"으로 읽혀 무엇을 먼저 고칠지 말해 주지 않았다. ChatGPT 의견을 받아 **답변 준비도(AEO: 질문에 얼마나 명확하게 답하는가)** 와 **출처 준비도(GEO: 그 답을 얼마나 믿을 수 있는 출처로 쓸 수 있는가)** 를 각 100점으로 나눴다(기준표 v2.0, 2026-09-07 채택).
|
||||
|
||||
| 병원 | v1.0 종합 | AEO | GEO | 읽히는 처방 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 뷰성형외과 | 54 / C | 42 / C | 56 / C | "답은 부족하고 출처로는 절반쯤". 프리저베 페이지의 FAQ·수치 구조를 다른 시술 페이지로 확산 |
|
||||
| 원진성형외과 | 49 / C | 15 / D | 45 / C | 종합은 뷰와 비슷하지만 답변 준비도가 D. H1·표·FAQ·정의문이 전부 없다. 엔티티(sameAs 10개)는 오히려 낫다 |
|
||||
|
||||
같은 C 등급 두 병원이 분리하면 다른 병원이 된다. 원진은 콘텐츠 구조부터, 뷰는 엔티티·표면 정합부터다. 서포터즈 사이트의 역할도 달라진다. 원진은 사이트가 첫 "답"이 되고, 뷰는 "출처"를 보강한다. 리포트와 덱의 제목("답은 부족하고, 출처로는 절반쯤 됩니다")이 이 분리에서 나왔다.
|
||||
|
||||
외부 AI 는 셋을 썼다. ChatGPT(기준 설계 의견), Codex(공식 70.5 vs 서포터즈 76.5 비교 평가, GEO 67.5 열세 지적), Astra(개선안 44건). 셋 다 "무엇을 고칠지"에는 쓰고 "효과가 얼마인지"의 근거로는 쓰지 않았다(v2 §3-9).
|
||||
|
||||
---
|
||||
|
||||
## 7. 확인된 명제와 조건
|
||||
|
||||
**확인된 것**
|
||||
|
||||
1. 원래 홈페이지를 그대로 둔 채, 엔티티 충돌 없이 서포터즈 사이트를 세울 수 있다. MedicalClinic `@id` 를 홈페이지 URL 로 두고, sameAs 를 확인된 채널로 채우며, 주소·전화를 팩트 시트 한 곳에서만 쓰고, Person(작성자)·Physician(검토 원장)을 분리하면 된다. 원진 라이브 sameAs 4개 확인.
|
||||
2. 지속적인 콘텐츠 업데이트는 자동화된다. 이름 하나로 6편, 병원당 $0.3~0.6, 10~30분, 사람 개입 0. 정답지 18편 회귀 18/18, 원진 6/6 게이트 통과. 근거 없는 수치는 수치 대조와 근거 대조로 0건을 목표로 검사한다(사람 확인용 플래그는 남는다).
|
||||
3. 병원 입력이 비어 있어도 "확인 대기"로 발행되고, 입력하면 코드 수정 없이 검토 완료·스키마가 켜진다.
|
||||
|
||||
**조건 (없으면 안 되는 것)**
|
||||
|
||||
1. **의료법·의료광고 규정 준수.** 의료법 56조 2항(치료경험담 2호, 비교 4호, 수술 장면 6호, 부작용 누락 7호, 과장 8호, 기사·전문가 형태 10호, 인증·보증 14호)을 게이트와 이미지 규칙으로 막는다. 의료광고 주체는 의료기관 개설자이고 AI오투오는 제작·운영 대행이다. 자체 도메인은 57조 사전심의 대상이 아니지만 네이버 재작성본은 게시물별 심의 대상이다. 경제적 이해관계는 글 첫 부분에 표시한다(추천·보증 심사지침). 공정위가 2026-07 뷰성형외과 포함 3곳에 후기 뒷광고 시정명령을 내렸으므로 같은 유형은 가중된다. 이 문서의 법 해석은 자문이 아니며 계약 전 변호사 확인이 필요하다.
|
||||
2. **서포터즈는 실존 개인이어야 유리하다.** Person 스키마의 sameAs(인터뷰·프로필), 편집 책임·정정 경로, 갱신 기록이 GEO 출처 신호의 절반이다. 가명 2명(v3)에서 실명 1명(안성민 대표, v4)으로 바꾼 것이 Codex 평가에서 GEO 열세를 줄인 항목이었다. 자동 빌드는 작성자를 "확인 대기"로 두고 병원·운영자 입력으로 채운다.
|
||||
3. **원장·의사 검수 파이프라인이 있어야 한다.** 검토자·검토일·개설자 승인은 사람 게이트다. 폼 → supporter_inputs → apply_inputs → 재빌드 → 색인 허용 빌드에는 승인 글만 나가는 경로까지 만들었다. 병원 쪽에 담당자와 주기가 정해져야 실제로 돈다. 검토 병목이 곧 발행 속도의 상한이다.
|
||||
|
||||
---
|
||||
|
||||
## 8. haewon 이 적지 않았지만 회고에 넣어야 할 것
|
||||
|
||||
1. **측정 인프라가 0 이다.** E 카테고리(서버 로그 AI 크롤러 히트, GA4 AI 유입, GSC AI Overviews, 기준선 스팟체크)는 두 병원 모두 0/4 미검증이다. 답변엔진 UI 자동 조회는 약관 위반이라 주력 측정은 오너가 소유한 신호여야 하는데, 그 접근권을 아직 받지 못했다. "효과가 났다"를 말할 근거가 지금은 없다.
|
||||
2. **네이버는 별도 트랙이다.** 글로벌 AI 에 기여 0 이지만 국내 환자의 실제 검색은 네이버다. 허브(자체 도메인 원문) 선발행 후 네이버 블로그 60% 이하 재작성 2트랙 설계는 문서로만 있고 구현하지 않았다. 네이버 트랙은 게시물별 심의 대상이다.
|
||||
3. **자막이 없다.** youtube_transcript_api 가 25편 후 IP 차단됐다. 자동 빌드 글이 뷰 정답지보다 얇은 첫째 이유다. 영상 발언은 사람이 정리한 쇼츠 답만 쓴다.
|
||||
4. **이미지는 육안 확인이 남는다.** 파일명·alt·흰 배경 휴리스틱으로 거르고 얼굴·신체 검출은 없다. 병원 송부 전 갤러리를 한 번 훑어야 한다.
|
||||
5. **사이트 편차는 병원마다 새로 나온다.** 원진에서 UA 403, 슬래시 404, 페이지 구성 차이 세 가지가 나왔고, 세 번째 병원에서도 새 편차가 나온다고 봐야 한다. 회귀(뷰 223페이지 동일)를 매번 같이 돌렸다.
|
||||
6. **비용과 시간의 실측.** 글 편당 $0.05~0.19(평균 $0.09), 근거 대조 포함. 병원당 첫 배치 $0.3~0.6. 워커 10~30분. 상한은 실행당 $10.
|
||||
7. **운영 주체가 비개발자다.** 워커는 지금 Mac 에서 손으로 돌린다. 랜딩 신청이 자동 빌드로 이어지려면 폴러 설치 또는 Trigger.dev 가입이 필요하다. 코드보다 이 결정이 병목이다.
|
||||
8. **경영진 미결.** 도메인(별도 vs 서브도메인), 서포터즈 모집, 법무 확인 주체, POC 8주 범위, 가격 노출. 기술은 이 결정과 무관하게 진행했지만 발행 시점은 여기에 걸려 있다.
|
||||
9. **리스크.** 병원 입력 의존(입력 없으면 "확인 대기"투성이 사이트), 검토 병목, Apify 미납(인스타 수집 불가), 유튜브 API 쿼터, 모델 근거 대조의 오탐·누락(사람 확인 플래그로 보완), 원진의 후기·이벤트 중심 채널 운영과 서포터즈 원칙의 긴장.
|
||||
|
||||
---
|
||||
|
||||
## 9. 숫자 정리
|
||||
|
||||
| 항목 | 값 |
|
||||
| --- | --- |
|
||||
| 뷰성형외과 진단 | v1 54/C · AEO 42/C · GEO 56/C · 실측 32/36 |
|
||||
| 원진성형외과 진단 | v1 49/C · AEO 15/D · GEO 45/C · 실측 25/36 |
|
||||
| 질문 뱅크 실측 | 120문항, 논브랜드 언급률 ChatGPT 11% · Perplexity 3%, ◯ 5 · △ 35 · ✕ 80 |
|
||||
| 수작업 샘플(뷰) | 글 18편(검토 완료 10), 이미지 92장, 뉴스 1,137건, 영상 1,215편 집계. 감사 78/B(noindex)·86/A(색인 허용) |
|
||||
| 게이트 | error 11종 + warn 6종 → 추가 후 테스트 16/16 |
|
||||
| 생성기 회귀 | 정답지 18/18, 편당 $0.09 · 22초. 1차 출력 근거 없는 수치 19건 → 수정 후 0 |
|
||||
| 원진 자동 빌드 | 216페이지, 의료진 17, 채널 8플랫폼 확정, 유튜브 736편, 이미지 66장, 글 6편, $0.58 |
|
||||
| 저장소 | 08-25 이후 커밋 69건, 워크트리 `orca/workspaces/INFINITH/Productize`, 브랜치 `feature/supporters-autobuild` |
|
||||
|
||||
---
|
||||
|
||||
## 10. 배운 것 (다음 프로젝트에도 적용할 원칙)
|
||||
|
||||
1. 사람 판단은 규칙·검사·사람 셋 중 하나로 분류해 둔다. 규칙은 프롬프트와 템플릿에, 검사는 게이트에, 사람은 승인 UI 에. 자동화하려 들지 말 것은 사람 칸에 그대로 둔다.
|
||||
2. 없는 사실은 없다고 쓴다. 생성기는 근거 컨텍스트 순서를 입력 구조로 강제하고, 출력의 수치를 근거 텍스트와 대조하고, 모델 대조기의 오탐을 다시 거른다.
|
||||
3. 고객 화면과 운영자 설명은 다른 페이지다. 기획 문서의 논리가 고객 화면에 새면 제안서가 된다.
|
||||
4. 확정된 디자인은 텍스트만 바꾼다. 구조 지문으로 지킨다.
|
||||
5. 부재는 증명해야 한다. 스크래퍼 하나의 실패는 근거가 아니다.
|
||||
6. 한 병원에서 되는 코드는 두 번째 병원 회귀 전까지 코드가 아니다. 회귀는 정답지(뷰) 와 새 병원(원진) 둘 다 돌린다.
|
||||
7. 법은 "금지"보다 "조건"이 많다. 조건을 자동으로 확인할 수 없으면 자동 단계에서 빼고 사람이 넣는 경로를 남긴다.
|
||||
8. 외부 AI 의견은 방향 결정에 쓰고 효과 증명에는 쓰지 않는다. 효과는 소유 신호로만 잰다.
|
||||
9. 산출물은 지시된 형식으로, 로컬에. 열어서 보여 준다.
|
||||
@ -1,57 +0,0 @@
|
||||
# GA4 AI 검색 유입 연동 안내 v0.1
|
||||
|
||||
작성 2026-09-08 · 스크립트 `scripts/ga4_ai_traffic.py` · 분류 기준 `data/ai_channels.json` · 태그 `supporters/src/layouts/Base.astro`
|
||||
|
||||
## 1. 구조
|
||||
|
||||
| 대상 | 누가 계측하는가 | 필요한 것 |
|
||||
|---|---|---|
|
||||
| 서포터즈 사이트 | INFINITH가 직접. `site.json`의 `ga4MeasurementId`(G-XXXX)를 넣으면 빌드 시 태그가 들어간다 | INFINITH GA4 속성 1개(병원별 데이터 스트림) |
|
||||
| 병원 공식 사이트 | 병원이 이미 쓰는 GA4 속성에 INFINITH 서비스 계정을 뷰어로 추가 | 병원 GA4 관리자 권한자 1명, 5분 |
|
||||
|
||||
코드 설치는 없다. 병원 사이트에 GA4가 없으면 태그 설치가 먼저이고 그건 병원 웹 담당자 일이다.
|
||||
|
||||
## 2. 연동 절차 (병원 사이트)
|
||||
|
||||
1. INFINITH: Google Cloud 프로젝트에서 Google Analytics Data API 사용 설정, 서비스 계정 생성, 키(JSON) 발급. `.env`에 `GA4_SERVICE_ACCOUNT_JSON=<경로>`. 계정은 haewon이 지정한다(이전 GCP 재인증 이슈 있음).
|
||||
2. 병원: GA4 관리 → 속성 액세스 관리 → 사용자 추가 → 서비스 계정 이메일, 역할 **뷰어**.
|
||||
3. 병원: 속성 ID(숫자 9자리) 전달.
|
||||
4. INFINITH: `python3 scripts/ga4_ai_traffic.py --property <ID> --days 90 --clinic <id> --out docs/reports/<id>/05_ai_traffic`.
|
||||
5. 월간 실행 → 리포트 카드와 병원 확인 패널에 붙인다(다음 단계).
|
||||
|
||||
API 없이 받을 때: 병원이 GA4 탐색에서 날짜·세션 소스·세션 매체·방문 페이지·세션수·주요 이벤트를 CSV로 내보내면 `--from-csv`로 같은 리포트를 만든다.
|
||||
|
||||
## 3. AI 채널 분류 규칙
|
||||
|
||||
`data/ai_channels.json` 한 곳에서 관리한다. 세션 출처 호스트(경계 일치)와 `utm_source`로 묶는다.
|
||||
|
||||
| 채널 | 측정 | 이유 |
|
||||
|---|---|---|
|
||||
| ChatGPT | 가능 | 링크에 utm_source=chatgpt.com |
|
||||
| Gemini, Claude | 가능 | 고유 리퍼러 |
|
||||
| Perplexity, Copilot, 기타 AI | 일부만 | 리퍼러를 자주 비움 → direct로 섞임 |
|
||||
| Google AI Overview · AI Mode | 불가 | google / organic과 구분되지 않음 |
|
||||
| 네이버 AI 브리핑 | 불가 | search.naver.com과 구분되지 않음 |
|
||||
|
||||
리포트마다 "측정 가능 범위" 절이 자동으로 들어간다. 불가 채널에는 숫자를 만들지 않는다.
|
||||
|
||||
## 4. 키 이벤트
|
||||
|
||||
서포터즈 사이트 태그가 보내는 이벤트. GA4에서 **주요 이벤트로 표시**해야 전환으로 집계된다.
|
||||
|
||||
| 이벤트 | 조건 |
|
||||
|---|---|
|
||||
| click_tel | `tel:` 링크 |
|
||||
| click_reservation | 헤더 상담 예약 버튼(`a.cta`) 또는 `data-ga="reservation"` |
|
||||
| click_clinic_site | `data-ga="clinic-site"` (병원 홈페이지 이동) |
|
||||
| click_map | `data-ga="map"` (지도·길찾기) |
|
||||
|
||||
## 5. 개인정보
|
||||
|
||||
GA4 태그는 쿠키를 쓴다. `anonymize_ip`는 켜 두었다. 쿠키 고지 배너를 넣을지, 쿠키 없는 대안(서버 로그, Vercel Web Analytics)으로 갈지는 haewon 결정 대기. 결정 전까지 서포터즈 미리보기(noindex)에는 측정 ID를 넣지 않는다.
|
||||
|
||||
## 6. 남은 일
|
||||
|
||||
- 리포트 카드(`build_discovery_report.ts`)에 AI 유입 요약 카드와 실측 언급률 동일 시간축 그래프.
|
||||
- 병원 확인 패널(`/supporters/:id`)에 "GA4 뷰어 추가" 안내와 속성 ID 입력란.
|
||||
- 월간 실행을 워커 또는 cron에.
|
||||
@ -1,40 +0,0 @@
|
||||
# 서포터즈 사이트 이미지 사용 규칙 v1.0
|
||||
|
||||
작성 2026-09-08 · 근거 조문은 원문 기준으로 정리했으나 법률 자문이 아니며, 계약 전 변호사 확인을 권한다. 병원(원진성형외과·뷰성형외과)은 파트너·고객이므로 홈페이지 자산의 사용 허락은 전제로 본다. 따라서 이 규칙이 다루는 것은 "써도 되는가"가 아니라 **"법이 조건을 붙이는 이미지가 무엇이고, 자동 수집 단계에서 그 조건을 확인할 수 있는가"** 다. 확인할 수 없으면 자동 단계에서 빼고, 병원이 서면으로 조건을 확인해 주면 사람이 넣는다.
|
||||
|
||||
## 1. 법적 근거와 이미지 규칙의 대응
|
||||
|
||||
| 근거 | 내용 | 이미지 규칙 |
|
||||
|---|---|---|
|
||||
| 의료법 제56조 제2항 제2호 | 환자의 치료경험담 광고 금지 | 환자 후기·사례(case·review·사례·후기) 이미지 제외. 전후 사진도 환자 사례이므로 같은 취급 |
|
||||
| 의료법 제56조 제2항 제4호 | 다른 의료인·의료기관과의 비교 광고 금지 | 비교 표·그래프 이미지(vs·비교·타원) 제외 |
|
||||
| 의료법 제56조 제2항 제6호 | 수술 장면 등 직접적인 시술 행위 노출 금지 | 수술 장면 사진(수술 중·절개·기구 삽입) 제외. 수술실 "공간" 사진은 시설로 허용 |
|
||||
| 의료법 제56조 제2항 제7호 | 부작용 등 중요 정보 누락 금지 | 이미지와 무관하게 모든 글 하단에 부작용 고지(factSheet.sideEffectNotice) 유지 |
|
||||
| 의료법 제56조 제2항 제8호 | 객관적 사실 과장·소비자 오인 금지 | 캡션은 사실(무엇을 찍은 사진인지, 출처, 캡처일)만. 효과·결과 서술 금지(발행 게이트가 본문과 캡션 텍스트 검사) |
|
||||
| 의료법 제56조 제2항 제14호 | 인증·보증·추천 표현 금지(법령상 인증 제외) | 수상·인증 마크·상장 이미지(award·수상·인증·certif) 자동 제외. 법령상 인증(식약처 허가 등)은 병원 확인 후 사람이 넣는다 |
|
||||
| 의료광고 심의 기준(대한의사협회 의료광고심의위원회) 전후 사진 조건 | 동일 조건 촬영, 보정 없음, 부작용 병기, 환자 동의 | 자동 수집으로는 네 조건을 확인할 수 없다 → **전후 사진(before·after·bna·전후·비포·애프터) 자동 제외**. 병원이 동의서·촬영 조건을 서면 확인하면 수동 반영 |
|
||||
| 개인정보보호법(민감정보)·초상권 | 환자·모델 얼굴·신체 사진은 동의 필요 | 환자·모델(model·모델·환자) 사진 제외. 신체 부위(가슴·힙·바디) 실사 사진은 일러스트가 아니면 제외 |
|
||||
| 표시·광고법·추천보증 심사지침 | 경제적 이해관계 표시 | 이미지 규칙이 아니라 사이트 고지(Disclosure·site.sponsorNotice)로 처리 |
|
||||
|
||||
## 2. 자동 수집 단계에서 허용하는 이미지 (파트너 자산)
|
||||
|
||||
| 유형 | 판정 근거(alt·파일명·페이지) | 용도 |
|
||||
|---|---|---|
|
||||
| 의료진 프로필 | 의료진 상세 페이지의 원장 사진(alt에 "원장") | authors.json physicians[].image, 글 검토자 스트립 |
|
||||
| 시설·건물·공간 | 소개 페이지 커버, 시설·층·로비·상담실·수술실(공간)·입원실·검진센터 | site.heroImage·buildingImage·insideGallery·clinicGallery |
|
||||
| 시술 설명 일러스트·단계 도해 | illu·step·단계·도해·diagram·방법·원리·system, 시술 페이지 | 글 히어로·갤러리 (캡션: "출처: 홈페이지 {페이지 제목}") |
|
||||
| 장비 | 장비·equipment·laser·레이저·machine (제품명은 페이지 텍스트에 있는 이름만) | 글 갤러리 |
|
||||
| 로고 | 병원 제공 로고 파일 | 헤더·푸터·파비콘·카드 대체 이미지 |
|
||||
|
||||
기술 조건: 폭 600px 이상(의료진은 300px), 가로세로비 0.4~2.6, GIF·아이콘·버튼·배경·배너·팝업·SNS 아이콘 제외, 최대 1600px 로 리사이즈, JPEG 저장, 원본 URL·페이지·캡처일을 images.json 에 기록.
|
||||
|
||||
## 3. 사람이 확인해야 넣는 이미지
|
||||
|
||||
- 전후 사진: 병원이 환자 동의서·동일 조건 촬영·무보정을 확인하고, 글에 부작용·개인차 문구가 붙은 경우에만. 자동 빌드 미리보기에는 넣지 않는다.
|
||||
- 법령상 인증(식약처 허가·ISO 등): 원문 링크(§3-4 regulation 소스)와 함께.
|
||||
- 환자·모델 얼굴이 있는 사진: 동의 확인 후.
|
||||
|
||||
## 4. 게이트와의 연결
|
||||
|
||||
- 모든 이미지는 alt 필수(check.mjs IMG_ALT). 캡션·alt 텍스트는 본문과 같은 금칙어·비교·결론 검사를 받는다.
|
||||
- 이미지 파일명·alt 에 전후·후기·비교·수상 어휘가 있으면 빌드 경고(추가 예정 IMAGE_RULE).
|
||||
@ -1,104 +0,0 @@
|
||||
# 다음 세션 핸드오버 · 2026-09-09
|
||||
|
||||
**2026-09-09 진행분은 §2 각 항목의 상태 표시를 본다.** §2-1~4·6 완료, 남은 것은 §2-5(GA4 실연결)·§2-7 과 2차 보정이다.
|
||||
|
||||
작성 2026-09-08 · 작성자 Claude (haewon 세션 핸드오버). 자동 빌드 전체 상태는 `docs/NEXT_SESSION_SUPPORTERS_AUTOBUILD_v3.md`(§1·§2·§3 갱신됨)를 본다. 이 문서는 09-08에 새로 시작한 일(감성 분석·GA4·가격)과 내일 첫 할 일만 다룬다.
|
||||
|
||||
---
|
||||
|
||||
## 0. 세션 시작 시 붙여 넣을 프롬프트
|
||||
|
||||
```
|
||||
INFINITH 저장소. 자동 빌드 코드는 워크트리 ~/orca/workspaces/INFINITH/Productize (브랜치 feature/supporters-autobuild), 감성 분석 산출물은 메인 체크아웃 ~/Claude/Agentic Marketing/INFINITH 에 있다.
|
||||
먼저 docs/NEXT_SESSION_2026-09-09.md 를 읽고 §2 순서대로 진행한다. 자동 빌드 잔여 과제는 docs/NEXT_SESSION_SUPPORTERS_AUTOBUILD_v3.md §2.
|
||||
원칙: 근거 없는 사실은 생성하지 않는다. 사람 게이트는 자동화하지 않는다. 잴 수 없는 것은 숫자를 만들지 않고 '측정 불가'로 적는다. 존댓말, 엠대시 금지, 은유 금지. 결정이 필요한 것은 §3을 보고 haewon 에게 묻는다.
|
||||
```
|
||||
|
||||
## 1. 09-08에 끝낸 것
|
||||
|
||||
| 일 | 위치 | 상태 |
|
||||
|---|---|---|
|
||||
| 뉴스룸 워커 단계 + 뉴스 게이트 규칙 | Productize, 커밋 484601b·4e73798, 푸시·infinith-demo 배포 완료 | 뷰 회귀 1,105건(수작업 1,096), 원진 1,049건 반영·재배포 |
|
||||
| launchd 폴러 설치 | `~/Library/LaunchAgents/com.infinith.supporters-poll.plist`, 5분 간격, 로그 `~/supporters-builds/poll.log` | 큐가 비어 있어 실제 신청 1건 완주는 아직 못 봄 |
|
||||
| FrostAI 비교 + 가격 제안 v0.1 | 메인 체크아웃 `docs/INFINITH_vs_FrostAI_비교_및_가격제안_2026-09-08.html` | haewon 검토 대기 |
|
||||
| AI 답변 감성 판정 | 메인 체크아웃 `docs/AI_ANSWER_SENTIMENT_RUBRIC_v0.1.md`, `scripts/sentiment_qb.py`, 결과 `docs/reports/viewclinic/03_question_bank/Viewclinic_QB_Sentiment.md` | 뷰 240건 판정 완료(언급 84, 감성 53.6, 부정 15.5%, 규제 언급률 6.0%). **보정 라벨링 진행 중** |
|
||||
| GA4 AI 유입 연동 뼈대 | Productize `data/ai_channels.json`, `scripts/ga4_ai_traffic.py`, `supporters/src/layouts/Base.astro` 태그, `docs/INFINITH_GA4_AI_Traffic_Integration.md` | 합성 데이터로 검증. 실제 속성 연결은 GCP 계정 결정 후 |
|
||||
| 리포트 "측정 가능 범위" 절 | Productize `scripts/build_discovery_report.ts` Integrity 절, 원진 리포트 v2.1 HTML·PDF | 감성·GA4 리포트에도 같은 절 자동 포함 |
|
||||
|
||||
**미커밋 상태** (haewon 지시 없이 커밋하지 않았다)
|
||||
- Productize: `data/ai_channels.json`, `scripts/ga4_ai_traffic.py`, `scripts/build_discovery_report.ts`, `supporters/src/layouts/Base.astro`, 템플릿 site.json 2곳(`ga4MeasurementId`), `docs/INFINITH_GA4_AI_Traffic_Integration.md`, `docs/reports/wonjin/01_readiness_report/*v2.1*`, 이 문서.
|
||||
- 메인 체크아웃: `scripts/sentiment_qb.py`, `docs/AI_ANSWER_SENTIMENT_RUBRIC_v0.1.md`, `docs/reports/viewclinic/03_question_bank/Viewclinic_QB_Sentiment*.{md,xlsx}`, `scripts/out/qb_sentiment_*.jsonl`, `docs/INFINITH_vs_FrostAI_*.html`. 메인 체크아웃에는 09-08 이전부터 있던 무관한 수정(plan 컴포넌트 등)도 섞여 있으니 감성 파일만 골라 커밋한다.
|
||||
|
||||
## 2. 내일 순서
|
||||
|
||||
> 진행 상태 (2026-09-09 갱신): 1 완료 · 2 완료 · 3 완료 · 4 완료 · 5 미착수(§3-2 대기) · 6 완료(푸시 전) · 7 미착수
|
||||
|
||||
|
||||
1. **보정 라벨링 마무리** (haewon). 파일 `docs/reports/viewclinic/03_question_bank/Viewclinic_QB_Sentiment_calibration.xlsx`, 시트 `라벨링` 30줄. D열 답변 전문을 읽고 F열(positive/neutral/negative/mixed/not_mentioned), 부정·혼합이면 G열 종류, 애매하면 H열 메모. 판정기 값은 숨김 시트에 있으니 보지 않는다.
|
||||
- 알려진 사례: **G-08(openai)** 은 영문 약칭 "View" 하나만 있음 → not_mentioned 로 볼지 haewon 판단. **G-04(openai)** 는 판정기 오판(뷰 언급 없음). **C-01(openai)** 은 "View Plastic Surgery" 영문 정식 명칭.
|
||||
2. **일치율 계산**: `python3 scripts/sentiment_qb.py --agreement docs/reports/viewclinic/03_question_bank/Viewclinic_QB_Sentiment_calibration.xlsx`. sentiment 일치 80% 이상이면 기준표 v0.1 확정. 미만이면 불일치 줄을 기준표 §2 규칙 예시로 추가하고 240건 재판정(`--out` 파일을 지우고 다시 실행, 약 $1).
|
||||
3. **기준표 확정 사항 반영**: 약한 언급(한글 상호 없이 영문 약칭만, 3건) 포함 여부, mixed 25점 유지 여부를 기준표 §6에 적고 리포트 재생성. 감성 결과를 `docs/reports/viewclinic/03_question_bank/` 엑셀·POC 부록에 넣을지 결정.
|
||||
4. **감성 판정을 월간 실측에 붙이기**: 질문 뱅크 러너 결과가 나오면 자동으로 `sentiment_qb.py` 를 이어 돌리는 한 줄(워커 별도 단계 또는 cron). 결과를 `supporter_builds.report.sentiment` 에 저장해 리포트 카드에 표시.
|
||||
5. **GA4 실연결**: §3-2 계정이 정해지면 서비스 계정 키 발급 → `.env` `GA4_SERVICE_ACCOUNT_JSON` → 서포터즈 사이트용 GA4 속성 생성 → 원진 `site.json` 에 `ga4MeasurementId` → 재빌드. 쿠키 배너 결정(§3-3) 전에는 미리보기에 ID를 넣지 않는다.
|
||||
6. **커밋**: 위 미커밋 목록을 두 체크아웃에서 각각 커밋(감성 파일은 메인 체크아웃에서 골라서). 푸시 후 `vercel --prod` 는 프론트 변경이 있을 때만.
|
||||
7. 시간이 남으면 v3 §2의 감사 재실행 단계(Phase 9), 원진 수동 실측(강남언니·바비톡·GBP·플레이스 NAP).
|
||||
8. (2026-09-09 추가) 질문 뱅크 러너 병원별 매개변수화. `run_question_bank_openai.py` 가 `question_bank_viewclinic.json` 과 출력 경로를 하드코딩해 뷰성형외과 전용이다. 월간 체인을 원진 등 다른 병원에 쓰려면 여기가 먼저다.
|
||||
|
||||
### 2026-09-09 결과 요약
|
||||
|
||||
| 항목 | 결과 |
|
||||
|---|---|
|
||||
| 보정 라벨링 | haewon 29/30 완료. G-08(openai)만 공란 |
|
||||
| 1차 일치율 | sentiment 22/29 = **75%**, 기준선 80% 미달. negative_type 은 G열 미기입으로 **측정 불가** |
|
||||
| 기준표 | v0.1 → **v0.3**(메인 체크아웃 `docs/AI_ANSWER_SENTIMENT_RUBRIC_v0.3.md`). 규칙 R1~R5 추가 |
|
||||
| 철회한 규칙 | R4-a·R6 시험 투입 후 철회. 일치율이 93%에서 89%로 떨어졌다. n=29 에서 과적합 |
|
||||
| 언급 탐지기 | 결정론적 `mention_kind()` 신설. URL 안의 "view", "리뷰"의 "뷰" 오탐 제거, 한글 상호 공백 허용. 언급 84 → 83, 약한 언급 3 → 1 |
|
||||
| 감성 점수 | 53.6 → **58.4** (약한 언급 1건 제외 시 57.9). mixed 10 → 0 |
|
||||
| 월간 체인 | `scripts/monthly_ai_measure.py` 신설(§2-4). 러너 → 감성 → 리포트 → `supporter_builds.report.sentiment` |
|
||||
| API 비용 | 총 $1.70 (v0.2 재판정 $0.79 + R4-a·R6 시험 $0.91). 최종본은 재호출 없이 후처리로 만들었다 |
|
||||
| 커밋 | 메인 체크아웃 `feature/ai-sentiment-rubric` 2eb3d5c · Productize 8776a15(GA4)·501d600(PRD v0.2) |
|
||||
|
||||
**아직 확정이 아니다.** 93%는 같은 표본으로 규칙을 고쳐 나온 값이다. 확정하려면 새 30건으로 2차 보정을 해야 하고, 1차 표본 30건은 제외한다. 리포트와 요약 JSON 에 `confirmed: false` 로 적어 두었다.
|
||||
|
||||
**메인 체크아웃이 브랜치에 있다.** `feature/ai-sentiment-rubric` 이며 main 이 아니다. main 으로 합치려면 그 체크아웃에서 `git checkout main && git merge feature/ai-sentiment-rubric` 을 한다. 두 체크아웃 모두 **푸시하지 않았다.**
|
||||
|
||||
## 3. haewon 결정 대기
|
||||
|
||||
1. 감성 기준표(2026-09-09 갱신): mixed 는 R2 적용 후 240건 중 0건이라 판정값에서 뺄지 정한다. 약한 언급은 오탐을 걷어내니 **1건**(G-08 openai)뿐이며 현재는 세고 표시해 두었다. 부정의 범위(규제 사실 서술을 negative 로)와 경쟁 노출 지표는 그대로 미결. 남은 불일치 2건(C-12 perplexity, A-03 openai)은 2차 보정에서 새 표본으로 본다.
|
||||
- 2차 보정을 언제 돌릴지도 결정 대상이다. 새 30건 추출 → haewon 라벨 → `--agreement`. 1차 표본 30건은 제외한다.
|
||||
2. GA4 서비스 계정을 만들 Google Cloud 계정(이전 재인증 이슈 계정 회피 여부).
|
||||
3. 서포터즈 사이트 쿠키 고지 배너 vs 쿠키 없는 대안(서버 로그·Vercel Web Analytics).
|
||||
4. 가격 제안 v0.1(문서 §5의 5개 항목: 무료 진단 범위, 최소 계약 3개월, 도메인 귀속, Frost 우위 3종 대응, 가격 공개 여부).
|
||||
5. 뉴스룸 "언론 언급" 종류 노출 여부(v3 §3-6).
|
||||
6. 자동 빌드 잔여 결정은 v3 §3.
|
||||
|
||||
## 4. 함정 (09-08 추가)
|
||||
|
||||
- 프레임워크 Python 3.13은 인증서 저장소가 비어 `CERTIFICATE_VERIFY_FAILED` 가 난다. 새 스크립트는 certifi 컨텍스트를 쓴다(`sentiment_qb.py` 참고).
|
||||
- 판정기의 `mentioned` 는 영문 약칭에 관대하다. 한글 상호 정규식으로 `weak_mention` 을 따로 표시하고 보정 때 결정한다.
|
||||
- `sentiment_qb.py --summary` 로 보정 엑셀을 다시 만들면 **haewon 라벨이 지워진다**. 라벨링 시작 후에는 `--calibration` 을 빼고 리포트만 다시 만든다. (2026-09-09: `--calibration` 없이 돌리면 §7 생성에서 죽던 버그를 고쳤다. 이제 그냥 빼고 돌리면 된다)
|
||||
- (2026-09-09) 감성 판정을 다시 돌릴 때는 `--out` 파일을 **옮기거나 지워야** 한다. 이어쓰기가 있어 그냥 실행하면 0건 처리하고 끝난다. `monthly_ai_measure.py --rejudge` 가 이 처리를 대신한다.
|
||||
- (2026-09-09) 병원 언급 탐지는 판정기(LLM)에 맡기지 않는다. URL 안의 상호와 "리뷰"의 "뷰" 를 언급으로 세면 모든 비율의 분모가 틀어진다. `mention_kind()` 를 먼저 통과시킨다.
|
||||
- 백그라운드 파이썬 로그는 버퍼링 때문에 끝날 때까지 비어 보인다. 진행은 JSONL 줄 수로 본다.
|
||||
- JS 정규식 `\W`·`\w`·`\b` 는 한글을 문자로 보지 않는다(v3 §5). 워드프레스 게시판 메타 날짜는 게시판 생성일이다.
|
||||
|
||||
## 5. 자주 쓰는 명령
|
||||
|
||||
```
|
||||
# 월간 실측 한 번에 (메인 체크아웃, 2026-09-09 신설)
|
||||
python3 scripts/monthly_ai_measure.py --clinic 뷰성형외과 # 러너부터 전부
|
||||
python3 scripts/monthly_ai_measure.py --clinic 뷰성형외과 --skip-run # 기존 답변으로 감성만
|
||||
python3 scripts/monthly_ai_measure.py --clinic 뷰성형외과 --rejudge # 기준표 고친 뒤 재판정
|
||||
python3 scripts/monthly_ai_measure.py --clinic 뷰성형외과 --build-id <uuid> # Supabase 반영까지
|
||||
# 감성 판정 개별 (메인 체크아웃)
|
||||
python3 scripts/sentiment_qb.py --in scripts/out/qb_openai_results.jsonl --out scripts/out/qb_sentiment_openai.jsonl
|
||||
python3 scripts/sentiment_qb.py --summary scripts/out/qb_sentiment_openai.jsonl scripts/out/qb_sentiment_perplexity.jsonl --report docs/reports/viewclinic/03_question_bank/Viewclinic_QB_Sentiment.md # 라벨링 중에는 --calibration 금지
|
||||
python3 scripts/sentiment_qb.py --agreement docs/reports/viewclinic/03_question_bank/Viewclinic_QB_Sentiment_calibration.xlsx
|
||||
# GA4 (Productize)
|
||||
python3 scripts/ga4_ai_traffic.py --mock --clinic demo --out /tmp/ga4demo
|
||||
python3 scripts/ga4_ai_traffic.py --property <ID> --days 90 --clinic <id> --out docs/reports/<id>/05_ai_traffic
|
||||
# 진단 리포트 (Productize)
|
||||
npx esbuild scripts/build_discovery_report.ts --bundle --platform=node --format=esm --outfile=/tmp/report.mjs && node /tmp/report.mjs --id <id> --out <html> --status ~/supporters-builds/<id>/status.json --site ~/supporters-builds/<id>/site --briefs ~/supporters-builds/<id>/briefs.json
|
||||
# 폴러 상태
|
||||
launchctl print gui/$(id -u)/com.infinith.supporters-poll | head -12 ; tail -20 ~/supporters-builds/poll.log
|
||||
```
|
||||
@ -1,61 +0,0 @@
|
||||
# 다음 세션 핸드오버 · 2026-09-11 · 오라클피부과 서포터즈 (피부과 첫 자동 빌드)
|
||||
|
||||
작성 2026-09-10 · 작성자 Claude (haewon 세션) · 이전 핸드오버 `docs/NEXT_SESSION_2026-09-09.md`, 자동 빌드 전체 상태 `docs/NEXT_SESSION_SUPPORTERS_AUTOBUILD_v3.md`. 이 문서는 2026-09-10 피부과 작업(세션 1: PRD·질문뱅크·Top3 진단, 세션 2: 오라클 자동 빌드)만 다룬다.
|
||||
|
||||
## 0. 세션 시작 시 붙여 넣을 프롬프트
|
||||
|
||||
```
|
||||
INFINITH 저장소. 자동 빌드 코드는 워크트리 ~/orca/workspaces/INFINITH/Productize (브랜치 feature/supporters-autobuild), 피부과 PRD·질문뱅크·진단·Before/After 는 메인 체크아웃 ~/Claude/Agentic Marketing/INFINITH (브랜치 feature/ai-sentiment-rubric) 에 있다. 둘 다 미커밋.
|
||||
먼저 docs/NEXT_SESSION_2026-09-11_ORACLE.md 를 읽고 §3 결정 대기의 답을 받은 뒤 §2 순서대로 진행한다.
|
||||
원칙: 근거 없는 사실은 생성하지 않는다("확인 대기"). 사람 게이트(의학 검토·게시 승인·이미지 육안·채널 확인)는 자동화하지 않는다. 고객 화면에 운영자 설명 없음. 확정 디자인은 텍스트만. 존댓말, 엠대시 금지, 은유 금지, 흰 배경 위 연보라 텍스트 금지(인디고 #1D0024). 세 병원을 한 화면에서 비교하는 산출물은 만들지 않는다.
|
||||
```
|
||||
|
||||
## 1. 2026-09-10 에 끝낸 것
|
||||
|
||||
| 일 | 위치 | 상태 |
|
||||
|---|---|---|
|
||||
| 피부과 Top3 리서치(오라클·톡스앤필·차앤박) | 메인 `docs/reports/dermatology/00_research/` | 완료. 미확인 항목은 (e)절 |
|
||||
| Top3 AEO/GEO 자동 채점 + 사람 보정 4항목 | 메인 `docs/reports/dermatology/01_readiness_report/*_{audit_aeo_geo,overrides,score}_2026-09-10.json` | 오라클 36/D(AEO 24·GEO 6) · 톡스앤필 68/B(54·67) · 차앤박 48/C(24·55). 표본 URL 2개 |
|
||||
| 점수 계산기 `scripts/score_discovery_json.py`, 질문뱅크 생성기 `scripts/build_qb_dermatology.py` | 메인 | 원진 v1 49/C 로 검증. v2 는 v2Results 사람 판정이 없어 페이지 값과 다를 수 있음 |
|
||||
| 질문뱅크 120문항 v0.1 (병원별 3칸 사전판정) | 메인 `docs/reports/dermatology/03_question_bank/` | 2엔진 실측 전. 러너 인자화 필요 |
|
||||
| PRD v0.1 | 메인 `docs/prd/INFINITH_Dermatology_Supporters_PRD_v0.1.html` | §13 결정 질문 10건. 인디고 규칙 반영 |
|
||||
| Before/After 페이지 빌더 `scripts/build_before_after.py` | 메인. 원진 픽스처 `docs/reports/wonjin/02_before_after/`, 오라클 `docs/reports/dermatology/02_before_after/Oracle_Before_After_2026-09-10.html` | 오라클 36/D → 75/B, AEO 24 → 77, GEO 6 → 81 |
|
||||
| 오라클 서포터즈 자동 빌드 | Productize 워커, 작업 폴더 `~/supporters-builds/oracle`, 미리보기 **https://supporters-oracle.vercel.app** (noindex) | 글 8편(소개·지점 안내·상담 질문·시술 5영역), $0.61, 게이트 오류 0. 의학 검토·승인 전 초안 |
|
||||
|
||||
### 파이프라인에 새로 들어간 것 (Productize, 미커밋)
|
||||
- `supporters/scripts/collect_evidence.mjs`: 프레임셋·meta refresh·JS 리다이렉트 추적, charset 감지(EUC-KR), 쿼리 보존(`index.php?doc=N`), 쿼리 변형 중복 판정, 피부과 시술 어휘·`branches` 유형, `--extra-url`, facts.draft.json 에 `branches`·`branchPages`.
|
||||
- `supporters/scripts/ocr_evidence.mjs` + `ocr/vision_ocr.swift`: macOS Vision OCR(무료). 오라클 시술 83페이지가 이미지 글자였다. 워커 `ocr` 단계(evidence 다음), `--no-ocr`.
|
||||
- `supporters/scripts/default_briefs.mjs`: `--industry derm|plastic` 자동 감지, 피부과 8영역, 조건 표 8행 브리프, 지점 안내 후보.
|
||||
- `supporters/scripts/gate/rules.mjs`: PRICE_MENTION(error)·PRACTITIONER_MISSING(warn)·DEVICE_CLAIM(error)·피부과 금칙어. "100%"는 의료 맥락일 때만, 운영자 어휘 "복제"는 낱말 시작일 때만(피로회복제 오탐), 뉴스 제목 "부작용 없이" 제외. 테스트 41/41.
|
||||
- `supporters/scripts/gen/prompt.mjs`(피부과 규칙 블록) · `gen/evidence.mjs`(normUrl 쿼리 보존, OCR 섹션 표기).
|
||||
- `scripts/fetch_medical_tourism.py` 병원별 인자화 + 워커 `tourism` 단계(images 다음). `/stay`·`/en/stay` 하드코딩 제거.
|
||||
- 워커 `inputs` 단계: `supporters/briefs/<clinic>/clinic.json` 의 `factSheet`·`site`(srcMatch)·`excludeImages` 를 자동값 위에 덮어씀(이미지 파일·갤러리·images.json 매니페스트에서 제외).
|
||||
- `supporters/briefs/oracle/clinic.json`: 유튜브 @oracle_medical_group 고정, 로고 PNG, kind 피부과, 갤러리는 검단점 로비 1장, `sub_0*` 이미지 제외.
|
||||
|
||||
## 2. 다음 순서
|
||||
|
||||
1. **§3 결정 회수** (haewon).
|
||||
2. **오라클 사람 확인**: (a) 의료진 67명 OCR 후보 확정(같은 이름 중복: 김승면 광주점·광주수완점), (b) 본사 시설 사진 요청(지금은 검단점 로비 1장), (c) 갤러리 육안 확인, (d) 푸터 표기 변경 확인(오라클랜드 주식회사 314-81-85931 대표 노영우 → 청담 오라클피부과의원 307-04-97234 대표 이영숙, 작업 중 사이트가 바뀜).
|
||||
3. **뷰·원진 회귀**: 이번 변경(수집기·게이트·생성기·워커)이 두 병원에서 깨지지 않는지 `npm run gate:test`(41/41 확인됨) + 뷰 정답지 회귀 `npm run generate:regress`(비용 약 $2, 미실행) + 원진 `run.mjs --from data --skip-generate`.
|
||||
4. **구조 기준선**: 오라클 첫 빌드라 `LAYOUT_NO_BASELINE` 경고. haewon 이 룩앤필을 승인하면 `node scripts/check.mjs --update-layout`.
|
||||
5. **질문뱅크 러너 인자화** → 오라클 120문항 2엔진 실측(약 $2~4) → Before/After 페이지의 "환자 질문에 답할 수 있나" 카드에 실측값. 감성(기준표 v0.3) 판정 포함.
|
||||
6. **커밋**: Productize(워커·스크립트·핸드오버)와 메인(PRD·뱅크·진단·Before/After·스크립트) 각각. 프론트 변경 없음이라 vercel --prod 불필요.
|
||||
7. 톡스앤필·차앤박도 같은 워커로 빌드하면 세일즈 자료 3세트(각각 개별 Before/After). 한 화면 비교는 만들지 않는다.
|
||||
|
||||
## 3. haewon 결정 대기
|
||||
|
||||
1. **세일즈 사용 범위**: 오라클은 고객이 아니다. Before/After 페이지와 미리보기를 영업에 쓰려면 병원 자산(로고·사진·OCR 원문 재구성) 사용 범위를 정해야 한다. 미리보기는 noindex 이며 검색·AI 에 노출되지 않는다.
|
||||
2. **지원 관계 고지 문구**(site.sponsorNotice): 비어 있어 글마다 DISCLOSURE_TOP_MISSING 경고. 고객이 아니므로 "지원 없음" 문안을 쓸지, 비워 둘지.
|
||||
3. **주변 안내 사진**: TourAPI 사진이 없는 곳은 네이버 이미지 검색 폴백(제3자 저작물)을 쓴다. 공개 배포 시 `--no-naver-images` 로 끌지.
|
||||
4. **의료진 OCR 후보 67명 노출**: 지금은 "OCR · 확인 대기"로 authors.json 에 있고 홈에는 안 나온다. 지점 안내 글의 담당 원장 표기에 쓸지.
|
||||
5. 기존 미결: 도메인, 서포터즈 실명, 워커 상시 실행(Trigger.dev), PRD §13 의 파일럿 병원·가격 표기·상표명·실측 예산·리포트 영업 사용.
|
||||
|
||||
## 4. 함정 (이번 세션)
|
||||
|
||||
- 사이트 스크립트 사본: 워커 `data` 단계가 템플릿을 작업 폴더에 복사하므로, 규칙을 고친 뒤에는 `templates/supporters-astro/scripts/` 동기화 + 작업 폴더 `site/scripts/` 재복사(또는 `--from data`)가 필요하다. 규칙만 고치고 `--from build` 하면 옛 규칙으로 검사한다.
|
||||
- `gen/evidence.mjs normUrl` 이 쿼리를 지우면 `doc=N` 페이지가 전부 한 페이지로 겹친다. 첫 생성 8편이 전부 휴지기탈모를 근거로 썼다. 고쳤고 재생성했다.
|
||||
- OCR 주의문이 강하면("수치·고유명사를 옮기지 않는다") 모델이 OCR 근거를 전부 버린다. 지금 문안은 "깨진 글자만 제외".
|
||||
- 색인 허용 빌드(PUBLIC_INDEXABLE=true)는 approvedAt 있는 글만 낸다. 승인 전 병원은 posts 가 0이므로 After 채점은 미리보기 빌드 + robots 보정으로 한다(overrides 에 근거 기록).
|
||||
- 이미지 자동 분류 "시설"에 시술 설명 이미지(모델 얼굴·전후 사진)가 섞였다. 사람 육안 확인은 계속 필요하다. 제외는 clinic.json excludeImages 로.
|
||||
- 오라클 공식 사이트는 Playwright networkidle 로 60초 타임아웃. `wait_until='load'` 로 캡처.
|
||||
- 게이트 "100%"·"복제"·"부작용 없이" 오탐 3종은 전부 제3자 텍스트(관광공사 식당 소개·뉴스 제목)에서 나왔다. 제3자 텍스트 영역은 규칙을 의료 맥락으로 좁혀야 한다.
|
||||
@ -1,286 +0,0 @@
|
||||
# 세션 핸드오버 · 2026-09-12(토) · INFINITH AI Discovery Product 빌드
|
||||
|
||||
작성 2026-09-11 · 갱신 2026-09-12(토) · 작성자 Claude (haewon 세션) · 상태: §1 확인 완료, §4-1 완료
|
||||
하위 문서: 서포터즈 사이트 빌드 절차 `~/orca/workspaces/INFINITH/Productize/docs/NEXT_SESSION_2026-09-12_PRODUCT_BUILD.md`, 자동 빌드 상세 `…/NEXT_SESSION_SUPPORTERS_AUTOBUILD_v3.md`, 자동 채점 `docs/AI_DISCOVERY_BUILD2_HANDOVER.md`, 회고 `docs/INFINITH_AI_Discovery_Retrospective_2026-09-08.md`.
|
||||
|
||||
## 0. 세션 시작 시 붙여 넣을 프롬프트
|
||||
|
||||
```
|
||||
INFINITH AI Discovery Product 빌드 세션. 제품은 "병원 URL 하나 → AI 답변 준비도 진단(AEO/GEO v2) → 서포터즈 사이트 자동 빌드(글·영상·뉴스룸·주변 안내·회복 일정 플래너·오시는 길) → 병원 확인·재빌드 → 측정(질문뱅크·감성·GA4·크롤러 로그)" 파이프라인이다.
|
||||
코드 위치: 2026-09-12 에 브랜치 3개를 main 으로 합쳤다. 작업은 워크트리 ~/orca/workspaces/INFINITH/Productize-2 (브랜치 main) 에서 한다. 프로덕션은 main → infinith-demo.vercel.app.
|
||||
메인 체크아웃 ~/Claude/Agentic Marketing/INFINITH 는 브랜치 feature/ai-sentiment-rubric 이고 다른 작업의 미커밋 변경(src/ 등 39줄, docs 폴더 재정리)이 있으니 건드리지 않는다. Supabase CLI 링크는 그쪽에만 있어 DB 조회는 거기서 supabase db query --linked 로 한다.
|
||||
먼저 docs/NEXT_SESSION_2026-09-12_AI_DISCOVERY_PRODUCT.md 를 읽는다(§5-4 도메인·레지스트리, §8 인사이트 포함). 시작 절차: (1) git status 와 .vercel 연결을 확인하고 다른 세션이 열려 있지 않은지 haewon 에게 묻는다 (2) §1 표의 "확인" 칸을 git log·Supabase 로 실제 확인한다 (3) §5 결정 대기의 답을 받는다 (4) §4 순서대로 진행한다. 한 세션은 한 저장소·한 배포 대상만 다룬다.
|
||||
주소 상태: webforai.kr 등록·위임·연결 모두 끝났다(2026-09-14). webforai.kr 은 AI Discovery 랜딩(신설 프로젝트 infinith-discovery), viewpl·wonjin·oracle.webforai.kr 은 각 서포터즈 사이트다. 세 곳 모두 noindex 유지. 색인 허용(--indexable)은 법무 3건(외국인환자 유치업, 의료광고 사전심의, 지원 관계 고지)이 끝나기 전에는 붙이지 않는다. hosting.kr 의 자동연장·도메인 잠금은 아직 꺼져 있어 켜야 한다.
|
||||
원칙: 근거 없는 사실은 생성하지 않는다("확인 대기"). 사람 게이트(의학 검토·게시 승인·이미지 육안·채널 확인·구조 기준선)는 자동화하지 않는다. 언급률·점수는 "스키마를 넣으면 인용된다"고 약속하지 않는다(정직성 규약).
|
||||
고객 화면에 운영자 어휘 금지. 존댓말, 엠대시 금지(커밋 메시지 포함), 은유 금지, 흰 배경 위 연보라 텍스트 금지(인디고 #1D0024). INFINITH 리포트 PDF 는 PPTX 덱(infinith-deck 스킬)으로 만든 뒤 변환한다.
|
||||
클라이언트 격리: INFINITH 문서·코드에 다른 서비스 이름을 쓰지 않는다. 산출 전 grep.
|
||||
머지 직전에 브랜치 끝을 다시 읽는다. 세션 시작 때 읽은 커밋 값은 머지 시점에 낡아 있을 수 있다. 머지 뒤 git rev-list --count main..<branch> 가 0 인지 확인하고, 통합 뒤 페이지 목록을 이전 배포와 대조한다.
|
||||
운영 DB 에 db push 를 쓰지 않는다. 마이그레이션 이력이 실제와 어긋나 있다(docs/DB_SCHEMA_DIVERGENCE_2026-09-14.md). 새 마이그레이션은 supabase db query --linked --file 로 그 파일만 적용한다.
|
||||
```
|
||||
|
||||
## 1. 제품 여정과 현재 상태
|
||||
|
||||
> **2026-09-12 확인 결과.** 아래 표에서 "확인"으로 남겨 둔 두 항목은 이미 해결된 상태였다. 다음 세션은 이 전제로 시작한다.
|
||||
>
|
||||
> | 항목 | 이전 기재 | 실제 | 근거 |
|
||||
> |---|---|---|---|
|
||||
> | 랜딩 리드 CTA | 미머지 | **main 에 있음.** `feature/discovery-url-cta` 는 main 대비 ahead 0 / behind 22 인 낡은 포인터라 머지 대상이 아니다 | `DiscoveryLeadModal.tsx`·`DiscoveryLandingPage.tsx`·`20260831_discovery_leads.sql` 이 main 에 있고 blob 해시가 세 브랜치 동일 |
|
||||
> | AEO/GEO v2 기준표 | main 머지 여부 확인 필요 | **main 에 있음** | `aeoGeoRubricV2.ts`·`discoveryScoreV2.ts` blob 해시 세 브랜치 동일 |
|
||||
> | Supabase 마이그레이션 | 적용 상태 확인 필요 | **전부 적용됨.** `discovery_leads` 0행, `supporter_builds` 2행, `supporter_inputs` 0행 | REST 조회 HTTP 200 |
|
||||
> | `discovery_results` | (§4-3 대상) | **없음(HTTP 404).** §4-3 미착수 확정 | REST 조회 |
|
||||
> | launchd 폴러 | 설치됨 | **로드됨, 마지막 종료 코드 0** | `launchctl list` |
|
||||
> | 배포 | 3곳 | **4곳 모두 200.** 단 `supporters-viewclinic/plan` 은 404(2026-09-07 빌드라 플래너 이전 판) | HTTP 확인 |
|
||||
|
||||
|
||||
| 단계 | 고객이 보는 것 | 구현 | 위치 | 상태 |
|
||||
|---|---|---|---|---|
|
||||
| 1 진입 | `/discovery` 랜딩, "URL 입력으로 시작" | `DiscoveryLandingPage.tsx`, `DiscoveryLeadModal` → Supabase `discovery_leads` | 메인, 브랜치 feature/discovery-url-cta | 프리뷰만. **미머지, 마이그레이션 `20260831_discovery_leads.sql` 적용 여부 확인** |
|
||||
| 2 진단 | `/discovery/:id` 리포트 (AEO 100 + GEO 100, v2 기준표), 덱·PDF | `scripts/audit_aeo_geo.py`(auto 22항목) → `src/data/discovery_<id>.ts` → `DiscoveryReportPage.tsx`; `scripts/build_discovery_report.ts` → HTML/PDF; 덱 빌더 `docs/reports/<clinic>/01_readiness_report/build_*_deck*.py` | 메인 + Productize(v2 기준표 `src/data/aeoGeoRubricV2.ts`, `src/lib/discoveryScoreV2.ts`) | 반자동. 결과가 소스 파일 커밋 방식이라 병원마다 코드 배포가 필요하다. **v2 기준표가 main(프로덕션)에 머지됐는지 확인** |
|
||||
| 3 서포터즈 사이트 | `supporters-<clinic>.vercel.app` 미리보기(noindex): 글·영상·뉴스룸·주변 안내 `/stay`·`/en/stay`·방문 안내(지도·길찾기)·회복 일정 플래너 `/plan`·`/en/plan` | 워커 `workers/supporters-build/run.mjs` 15단계(evidence→…→tourism→recovery→planner→…→deploy), 템플릿 `templates/supporters-astro`, 게이트 `scripts/gate/rules.mjs` | Productize | 동작. 뷰(수작업 샘플 `view-supporters-sample`)·원진·오라클 3곳 배포. 병원당 약 $0.6, 30분 |
|
||||
| 4 병원 확인 | `/supporters/:id` 또는 리포트 안 `ClinicInputsPanel`: 채널 확인, 의료진, 검토·승인, 자유 답변 | Supabase `supporter_builds`·`supporter_inputs`, `apply_inputs.mjs`, 재빌드 `run.mjs --from data --from-supabase --build-id` | 메인(UI) + Productize(반영) | 동작하되 **재빌드 자동 트리거 없음**(supporter_inputs insert → 큐 연결 필요) |
|
||||
| 5 운영 | 큐 → 빌드 → 미리보기 링크 | `poll.mjs` + Mac launchd 5분 폴러, `supporter_builds` 큐 | Productize | 파일럿 수준. Mac 이 켜져 있어야 돈다. 실제 랜딩 신청 1건이 큐 → 완주까지 간 적 없음 |
|
||||
| 6 측정 | 질문뱅크 언급률(2엔진), 감성, GA4 AI 유입, AI 크롤러 히트, 공식 vs 서포터즈 재채점 | `scripts/run_question_bank_openai.py`·`merge_qb_results.py`·`sentiment_qb.py`·`ga4_ai_traffic.py`, `data/ai_channels.json`, 리포트 Integrity 절 "측정 가능 범위" | 메인(QB·감성) + Productize(GA4) | 스크립트 단위. 리포트 카드 자동 갱신 없음. GA4 는 GCP 계정 대기 |
|
||||
| 7 계약·가격 | 상담 기반 계약 | 가격 문서 `docs/INFINITH_가격정책_사업부보고서_v1.1.docx`(2026-04, 이전 제품 INSIGHT/INTELLIGENCE 티어), AI Discovery 가격 제안은 `docs/INFINITH_vs_FrostAI_비교_및_가격제안_2026-09-08.html` | 메인 | **AI Discovery 전용 티어 미확정** |
|
||||
|
||||
2026-09-10~11 추가: 회복 일정 플래너 `/plan`(설계 v0.2 §13, 관광공사 데이터 합침), 주변 안내 `/stay`(장소·축제·동선 지도·날씨, 플래너와 별개 페이지로 복원), 오시는 길 지도·길찾기, 전역 언어 전환·영어 홈(뷰), 모바일 헤더, 발행(색인) 단계. 전부 템플릿·워커에 통합됨.
|
||||
|
||||
## 2. 코드·브랜치·배포 지도
|
||||
|
||||
| 무엇 | 어디 | 브랜치 | 배포 |
|
||||
|---|---|---|---|
|
||||
| 제품 프런트(랜딩·리포트·확인 패널) | 메인 `src/` | main(프로덕션), feature/ai-sentiment-rubric(감성·플래너 작업), feature/discovery-url-cta(리드 CTA) | `infinith-demo.vercel.app` (main 에서 `vercel --prod`, Gitea 자동 트리거 없음) |
|
||||
| 채점·질문뱅크·감성·리포트 스크립트 | 메인 `scripts/`, `docs/reports/` | feature/ai-sentiment-rubric | 로컬 실행 |
|
||||
| 워커·템플릿·게이트·GA4 뼈대·v2 기준표 | Productize `workers/`, `supporters/`, `templates/`, `scripts/fetch_medical_tourism.py` | feature/supporters-autobuild | 병원별 `supporters-<clinic>` (워커가 강제 link) |
|
||||
| 뷰 수작업 샘플 | 메인 `supporters/` | feature/ai-sentiment-rubric | `view-supporters-sample` 수동 |
|
||||
| Supabase | `supabase/migrations/` (`supporter_builds`, `supporter_builds_queue`, `discovery_leads`) + Edge Functions(기존 리포트 파이프라인) | 메인 | 적용 상태 확인 필요(CLI 토큰 만료 이력) |
|
||||
| 키 | Productize `.env`(TOUR_API·NAVER·OPENAI·YOUTUBE), 메인 `.env`(진단·QB) | | 회사 계정. 세션 시작 때 `grep -E "^KEY=." .env` 로 값 존재만 확인 |
|
||||
|
||||
**2026-09-12 갱신**: feature/supporters-autobuild 와 feature/ai-sentiment-rubric 을 `feature/product-1.0` 으로 합쳤다. feature/discovery-url-cta 는 main 에 이미 담겨 있어 제외했다.
|
||||
핸드오버가 적지 않은 **네 번째 브랜치 `Productize`** 가 있다. 고유 커밋 1개(랜딩 SSR 프리렌더·메타/JSON-LD·robots/sitemap/llms.txt)를 갖고 main 대비 74 뒤이며 origin 에 올라가 있다. 랜딩의 AI 크롤러 가독성이라 AEO 와 직접 닿는데, 합칠지 버릴지 아직 안 정했다.
|
||||
|
||||
(아래는 머지 전 상태 기록) 세 브랜치는 서로 머지되지 않았다. `supporters/` 폴더가 양쪽에 있고 Base.astro 구현이 다르다(메인: i18n.ts 전역 전환·영어 홈; Productize: langswitch·영어 입구 /en/plan). 플래너·지도·헤더 CSS 는 같다.
|
||||
|
||||
## 3. 지금 되는 것 / 안 되는 것 (한 줄씩)
|
||||
|
||||
되는 것
|
||||
- 병원 이름·URL 로 채널 발견·근거 수집·자동 채점·리포트 HTML/PDF·덱(뷰·원진·오라클·태하 사례).
|
||||
- 워커 한 번으로 서포터즈 사이트 초안 발행(글 6~8편, 영상, 뉴스룸, 주변 안내, 이미지 규칙, 지도, 플래너, 관광공사 데이터). 게이트 41건 테스트.
|
||||
- 병원 확인 패널 입력 → 수동 재빌드.
|
||||
- 질문뱅크 120문항 2엔진 실측, 감성 판정, Before/After 페이지(`scripts/build_before_after.py`).
|
||||
|
||||
안 되는 것
|
||||
- 랜딩 신청 → 큐 → 빌드 → 미리보기 링크 회신이 사람 손 없이 이어지지 않는다(리드 테이블과 큐가 분리, CTA 브랜치 미머지).
|
||||
- 진단 결과가 코드 파일(`discovery_<id>.ts`)이라 병원마다 프런트 배포가 필요하다. 런타임 데이터(Supabase 또는 JSON 스토리지)로 옮겨야 "URL 입력 → 리포트 링크"가 된다.
|
||||
- 측정 지표가 리포트 카드에 자동으로 들어가지 않는다(스크립트 산출물을 사람이 옮긴다).
|
||||
- 워커가 Mac 에 묶여 있다. 규칙표 잠정값·큐레이션 장소·의료진 후보·이미지·채널 12건은 사람 확인 대기.
|
||||
- 색인 작업의 사람 몫(네이버 등록·GSC 소유자·도메인·법무)이 체크리스트 파일로만 나오고, 담당자에게 알림·요청하는 UI 가 아직 없다(§4-9).
|
||||
- AI Discovery 가격·계약 조건 미확정. 랜딩 FAQ 의 해지·환불 항목 삭제 상태.
|
||||
|
||||
## 4. Product 빌드 순서 (권장)
|
||||
|
||||
1. ~~**브랜치 정리**~~ **완료 (2026-09-12, 브랜치 `feature/product-1.0`)**. feature/supporters-autobuild 는 main 의 상위집합이라 fast-forward 했고, feature/ai-sentiment-rubric 머지에서 충돌 8건이 났다. 겹친 22개 파일 중 실제로 다른 것은 9개뿐이었다. feature/discovery-url-cta 는 낡은 포인터라 제외했다.
|
||||
- **정본 결정(haewon)**: `supporters/`(뷰 수작업 샘플)를 정본으로 한다. 핸드오버 초안의 "템플릿을 정본으로" 와 반대 방향이다. `templates/supporters-astro/` 는 `npm run export:template` 로 `supporters/` 에서 생성되는 파생물이므로 구조적으로 맞아떨어진다.
|
||||
- Productize 쪽에만 있던 GA4 태그와 영문 법적 고지 처리를 정본으로 이식했다.
|
||||
2. **리드 → 큐 연결**: `discovery_leads` 마이그레이션 적용 → insert 시 `supporter_builds` 큐에 행 생성(DB 트리거 또는 폴러가 leads 도 읽기) → 워커가 evidence 부터 완주 → 미리보기 URL 을 `supporter_builds.preview_url` 에 기록 → 신청자에게 링크 회신(초기에는 수동 메일, `o2oteam@o2o.kr`).
|
||||
3. **진단 결과 런타임화**: `audit_aeo_geo.py` 출력 JSON 을 Supabase(`discovery_results`) 또는 스토리지에 저장하고 `/discovery/:id` 가 런타임에 읽는다. 기존 `DISCOVERY_RESULTS` 레지스트리는 샘플(뷰) 전용으로 남긴다. 사람 판정(v2Results 4항목)은 확인 패널에서 입력.
|
||||
4. **재빌드 자동화**: `supporter_inputs` insert → 큐 → `run.mjs --from data --from-supabase`. 색인 허용 빌드(`PUBLIC_INDEXABLE=true`)는 `approvedAt` 있는 글만 낸다는 규칙 유지.
|
||||
5. **측정 카드**: 질문뱅크·감성·GA4·크롤러 히트 결과를 `discovery_results` 에 붙이고 리포트 Integrity 절과 Before/After 에 자동 표시. 언급률은 신뢰구간과 함께.
|
||||
6. **운영 이관**: Mac launchd 폴러 → Trigger.dev(또는 동등)로. 키·비용 로그(`status.json` costUsd)·실패 알림.
|
||||
7. **가격·계약**: AI Discovery 티어(진단만 / 진단+서포터즈 / +측정·관리) 확정, 랜딩 FAQ·계약서·해지 조건. FrostAI 비교 문서의 제안을 출발점으로.
|
||||
8. **다음 병원**: 톡스앤필·차앤박(피부과), 레지스트리 73곳 중 회귀 병원. 한 화면 비교 산출물은 만들지 않는다.
|
||||
9. **발행(색인) 단계**: "서포터즈 사이트 완료"의 정의는 배포가 아니라 색인 작업과 사람 체크리스트까지 끝난 상태다(haewon 결정 2026-09-11). 워커 `publish` 단계(`supporters/scripts/publish_site.mjs`)가 자동으로 하는 것: 라이브 확인(홈·robots·sitemap·noindex 헤더), IndexNow 로 사이트맵 URL 전부 알림(빙·네이버 공용, 색인 허용 빌드일 때만), Google Search Console 사이트맵 제출과 URL 색인 상태 조회(서비스 계정 `GOOGLE_SERVICE_ACCOUNT_JSON` 있을 때), 검색엔진 소유 확인 메타 태그(site.json `googleSiteVerification`·`naverSiteVerification`), IndexNow 키 파일(`public/<key>.txt`) 자동 생성, `--indexable` 로 noindex 헤더 제거·승인 글만 발행, `--domain` 으로 정식 도메인 연결. 사람에게 남기는 것(`~/supporters-builds/<clinic>/publish-checklist.md`, `status.humanTasks`): 네이버 서치어드바이저 등록·소유 확인·사이트맵/RSS 제출(공개 API 없음), Google Search Console 소유자 추가(첫 1회), 정식 도메인 결정, 색인 허용 전환 전 법무 3건·게시 승인, 병원 자산에서 백링크·sameAs, 네이버 블로그 재작성 트랙. 하지 않는 것: Google Indexing API(채용·라이브 방송 전용), 색인 보장 약속. 제품에서는 이 체크리스트를 확인 패널(`ClinicInputsPanel`) 또는 운영자 알림으로 사람에게 요청하게 만드는 것이 다음 일이다.
|
||||
|
||||
## 5. haewon 결정 대기
|
||||
|
||||
1. ~~**Product 1.0 범위**~~ **결정 (2026-09-12, haewon): (b) 진단 + 서포터즈 사이트 초안.** 랜딩 CTA 는 여기까지 약속한다. 측정·관리는 내부 참고로만 쓰고 약속하지 않는다. 남은 일은 §4-2 리드→큐 연결과 §4-3 진단 런타임화다.
|
||||
2. **가격 티어**(§4-7)와 계약 최소 기간·해지 조건(2026-04 문서의 P0 두 항목이 그대로 미결).
|
||||
3. ~~**뷰 샘플 통일**~~ **결정 (2026-09-12, haewon): 메인 `supporters/` 가 정본.** 템플릿은 `npm run export:template` 로 여기서 생성한다. 영어 홈 `/en` 은 템플릿에 추가했고 영문 사실이 없는 병원에서도 문장이 성립하도록 조각 단위로 조립한다(§5-2 판단 2). `view-supporters-sample` 배포 자리를 워커로 옮길지는 아직 안 정했다.
|
||||
4. **법무**: 외국인환자 유치업 등록 여부(플래너·숙소 링크), 의료광고 사전심의 대상 여부, 지원 관계 고지 문구(sponsorNotice). 이 세 가지는 색인 허용 전환의 전제.
|
||||
5. ~~**도메인**~~ **결정 (2026-09-14, haewon): 공용 도메인 `webforai.kr` 의 병원별 서브도메인.** 뷰 `viewpl` · 원진 `wonjin` · 오라클 `oracle`. 구매 품의 결재 대기이고, 절차와 규모 대비는 §5-4 에 있다. 남은 미결은 `webforai.co.kr` 함께 확보할지, `webforai.com`(Afternic 파킹) 인수할지, 서포터즈 실명 모집 방식이다.
|
||||
6. **워커 호스팅**과 GCP 계정(GA4 서비스 계정).
|
||||
7. **규칙표 잠정값**: 뷰·원진·오라클 `procedures.json` 의 provisional 값(출국 최소일·입원·실밥)을 병원 확인 뒤 공개할지, 공개 전까지 "병원 확인 전" 배지로 둘지.
|
||||
8. 서포터즈 빌드 하위 결정(하위 문서 §4)과 오라클 핸드오버 §3 미결은 그대로.
|
||||
|
||||
## 5-2. 2026-09-12 세션에서 내린 판단 (기록)
|
||||
|
||||
핸드오버에 없던 것을 작업 중에 발견해 판단한 두 가지다. 되돌리려면 아래 "되돌리는 법"대로 하면 된다.
|
||||
|
||||
### 판단 1. 영문 의료광고 고지를 병원 승인 없이 번역하지 않는다
|
||||
|
||||
- **발견**: 정본이 된 `supporters/src/lib/i18n.ts` 가 지원 관계 고지와 부작용 고지를 영문으로 번역해 푸터에 싣고 있었다. `site.json` 에 `sponsorNoticeEn` 은 없었고, 어디에도 병원 승인 표시가 없었다. Productize 쪽 구현은 같은 자리에서 번역을 거부하고 한국어 원문에 확인 대기 표기를 붙이고 있었다.
|
||||
- **왜 문제인가**: 지원 관계 고지와 부작용 고지는 의료법 56조와 추천보증 심사지침의 규율 대상이다. 문구를 임의로 번역하면 병원이 승인하지 않은 문장이 병원 이름으로 나간다. §5-4 법무가 미결이고 색인 허용의 전제로 적혀 있는 항목이다.
|
||||
- **한 것**: `Base.astro` 가 `site.json` 의 `sponsorNoticeEn` 과 factSheet 의 `sideEffectNoticeEn` 을 먼저 읽고, 없으면 한국어 원문을 싣고 "The English wording of these notices is pending clinic approval." 을 함께 낸다. `i18n.ts` 의 영문 `foot_sponsor`·`foot_side` 는 이 자리에 쓰지 않는다고 주석으로 표시했다.
|
||||
- **되돌리는 법**: 병원이 영문 문구를 확정하면 `site.json` 에 `sponsorNoticeEn`, factSheet 에 `sideEffectNoticeEn` 을 넣는다. 코드 수정은 필요 없고 확인 대기 표기가 자동으로 사라진다.
|
||||
|
||||
### 판단 2. 누락 탐지기를 고쳐 상호 밖의 고유 사실까지 잡는다
|
||||
|
||||
- **발견**: `export_template.mjs` 의 `CLINIC_RE` 가 상호(`뷰성형외과`·`viewclinic`)만 찾아서 지명으로 적힌 사실을 놓쳤다. 빈 데이터로 템플릿을 빌드하니 영어 홈이 `Founded 확인 대기 · Sinnonhyeon Station Exit 3` 를 냈다. 또 이 검사는 빌드 도구의 기본 인자(`--clinic viewclinic`) 때문에 늘 실패해 신호가 되지 못했다.
|
||||
- **왜 문제인가**: 템플릿은 모든 병원 사이트의 원본이다. 화면을 그리는 코드에 한 병원의 사실이 문장으로 박히면 다른 병원 화면에 **틀린 사실**이 나간다. 값이 비어 화면이 비는 것과 다르다.
|
||||
- **한 것**: 지명·건물 표현(`Sinnonhyeon`·`Bongeunsa`·`Gimpo`·`신논현`·`봉은사`·`19-storey`·`View Plastic`)을 패턴에 넣었다. 그리고 심각도를 나눠, 문장을 그리는 코드(`src/pages`·`layouts`·`components`·`lib`)에 남으면 내보내기를 멈추고, 데이터(`src/data`)와 빌드 도구(`scripts`)는 알림만 한다. 데이터는 워커가 병원마다 갈아끼우고 빌드 도구는 고객이 보지 않기 때문이다.
|
||||
- **곁가지로 잡은 것**: 같은 점검에서 영어 홈의 하드코딩 7곳(공항 경로·건물 층수·히어로 alt·영문 병원명·404 상호·히어로 칩·머리말 기본값 `VIEW SUPPORTERS`)과, 영문 사실이 없는 병원에서 문장이 `is a at .` 로 깨지는 문제를 함께 고쳤다. 게이트는 두 가지 모두 오류로 잡지 못한다.
|
||||
|
||||
### 여기서 배운 규칙
|
||||
|
||||
- **템플릿에 넣기 전 빈 데이터로 빌드해 본다.** 한 병원의 데이터로만 확인하면 하드코딩과 데이터 참조가 구별되지 않는다. 화면이 같아 보이기 때문이다.
|
||||
- **게이트가 통과해도 화면은 깨질 수 있다.** 게이트는 의료광고 문구와 금칙어를 보지, 빈 값이 만든 비문을 보지 않는다. 배포 전 로컬 확인이 필요한 이유다.
|
||||
|
||||
## 5-3. 이미지 (2026-09-12) · 사람 게이트와 남은 일
|
||||
|
||||
### 자동 분류를 믿을 수 없다
|
||||
|
||||
뷰성형외과 수집 이미지 12장 중 6장이 의료광고 금지 유형인데 전부 시설(clinic)로 분류돼 있었다.
|
||||
전후 사진(밑선 절개 흉터 1개월·6개월 경과), 시술 행위 사진(팔 주사·드레싱), 광고 모델 신체 사진 4장,
|
||||
장비 제조사 성능 주장 그래픽, 가슴 라인 일러스트(랜딩 카드 썸네일로 노출)다.
|
||||
|
||||
**파일명·alt 로는 한 장도 걸리지 않는다.** 91장을 그 방식으로 검사해 0장이 걸렸다.
|
||||
파일명이 `img02` 이고 alt 가 "가슴확대 시설 사진" 이면 어떤 규칙도 전후 사진임을 알 수 없다.
|
||||
규칙 문서 §4 의 `IMAGE_RULE`(파일명·alt 검사) 계획은 이 유형에 효과가 없다.
|
||||
|
||||
→ **이미지 육안 확인은 사람 게이트로 남긴다.** `scripts/build_image_review.mjs` 가 검토 요청서를 만든다.
|
||||
화면에 실제로 나가는 것을 먼저 보여주고, 체크하면 `excludeImages` 에 넣을 목록이 만들어진다.
|
||||
`node scripts/build_image_review.mjs --out <파일.html> --site <id>=<siteDir>`
|
||||
|
||||
### 대표 이미지 배정 (워커 heroes 단계)
|
||||
|
||||
`PostCard` 의 대체 순서가 건물 사진 하나로 수렴해 목록에 같은 사진이 나란히 섰다.
|
||||
`scripts/assign_post_heroes.mjs` 가 글 분류별로 어울리는 유형을 골라 글마다 다른 사진을 배정한다.
|
||||
의료진 사진은 쓰지 않고(저자·검토자 표시가 지정 용도), 수집 alt 가 효과·결과를 주장하면 중립 문구로 바꾸며,
|
||||
이미지가 모자라면 다시 쓰지 않고 비운다.
|
||||
|
||||
### 남은 일
|
||||
|
||||
| 항목 | 상태 |
|
||||
|---|---|
|
||||
| 원진 66장 육안 검토 | **요청 상태.** 그중 15장이 화면에 나간다. 아직 아무도 보지 않았다 |
|
||||
| 뷰 17장 | 12장 확인 완료(6장 제외). 의료진 13장은 검토자 표시 용도라 별도 |
|
||||
| 오라클 이미지 | **0장.** 근거 수집일 2026-09-10 이 EUC-KR 디코딩(2026-09-11 반영)보다 하루 빨라 `images[].alt` 가 전부 `????` 로 깨졌고 분류기가 한 장도 고르지 못한다. **코드는 이미 고쳐져 있으므로 `--from evidence` 재수집이면 풀린다.** 다만 `oracleclinic.com` 이 응답하지 않는다(포트 80 연결 거부, 2026-09-12 기준). 그룹 사이트는 살아 있으나 Next.js 이미지 최적화 뒤에 있고 내용이 브랜드 배너·인증 마크라 대부분 제외 대상이다 |
|
||||
| 뷰 이미지 부족 | 제외 후 쓸 수 있는 것이 4장이라 글 5편 중 2편이 건물 사진으로 떨어진다. 병원 제공 시설 사진이 필요하다 |
|
||||
|
||||
## 5-4. 사이트 주소와 병원 레지스트리 (2026-09-14)
|
||||
|
||||
### 결정
|
||||
|
||||
서포터즈 사이트는 **공용 도메인 `webforai.kr` 의 병원별 서브도메인**에 둔다(haewon 2026-09-14).
|
||||
병원마다 도메인을 사면 병원 수만큼 갱신 대상이 늘고 한 건만 놓쳐도 그 병원 사이트가 멈춘다.
|
||||
근거와 리스크 비교는 `docs/business/INFINITH_서포터즈_사이트주소_방식비교_2026-09-14.docx` 에 있다.
|
||||
|
||||
병원 도메인의 서브도메인(`supporters.viewclinic.com`)은 제외했다. `viewclinic.com` 네임서버가 Cafe24 라
|
||||
병원 웹 개발사 협조가 전제된다. 원진은 whoisdomain.kr, 오라클은 네임서버 응답이 없다.
|
||||
|
||||
### 지금 상태
|
||||
|
||||
| 항목 | 상태 |
|
||||
|---|---|
|
||||
| `webforai.kr` 구매 | **완료 (2026-09-14).** (주)오투오 명의, 14,000원, 만료 2027-09-14 |
|
||||
| 네임서버 위임 | **완료.** `ns1·ns2.vercel-dns.com`. 존 전체를 Vercel 이 관리하므로 이후 서브도메인 추가에 사람이 DNS 를 만질 일이 없다 |
|
||||
| 주소 연결 | **완료.** 아래 표 참조 |
|
||||
| `clinic_registry` 서브도메인 컬럼 | **적용 완료** (`supabase/migrations/20260914_clinic_subdomain.sql`) |
|
||||
| `webforai.co.kr` | 미등록. 함께 확보할지 미결 |
|
||||
| `webforai.com` | 이미 등록됨(Afternic 파킹). 인수 여부 미결 |
|
||||
| 자동연장·도메인 잠금 | **꺼져 있음. 켜야 한다.** hosting.kr 도메인 상세 화면 왼쪽 패널 |
|
||||
|
||||
### 연결된 주소 (2026-09-14)
|
||||
|
||||
| 주소 | 내용 | Vercel 프로젝트 |
|
||||
|---|---|---|
|
||||
| `webforai.kr` · `www.webforai.kr` | AI Discovery 랜딩 | **`infinith-discovery` (신설)** |
|
||||
| `viewpl.webforai.kr` | 뷰성형외과 서포터즈 | `supporters-viewclinic` |
|
||||
| `wonjin.webforai.kr` | 원진성형외과 서포터즈 | `supporters-wonjin` |
|
||||
| `oracle.webforai.kr` | 오라클피부과 서포터즈 | `supporters-oracle` |
|
||||
|
||||
세 서포터즈 사이트 모두 canonical·사이트맵이 새 주소이고 noindex 는 유지된다.
|
||||
`infinith-demo` 는 건드리지 않았다. 기존 주소(`supporters-*.vercel.app`)도 그대로 살아 있다.
|
||||
|
||||
### AI Discovery 랜딩을 별도 프로젝트로 뺀 이유
|
||||
|
||||
`/discovery` 는 `infinith-demo` 안의 경로라 도메인만 붙이면 루트에 기존 INFINITH 랜딩이 뜬다.
|
||||
SPA 라 rewrite 로도 안 된다. React Router 가 주소로 판단하기 때문이다.
|
||||
|
||||
그래서 루트에서 무엇을 그릴지 환경변수로 정하게 했다(`VITE_SITE=discovery`, `src/main.tsx`).
|
||||
한 코드베이스로 두 사이트를 내므로 랜딩을 고치면 양쪽에 함께 반영된다.
|
||||
`index.html` 의 제목·설명·og 도 같은 변수로 갈아끼운다(`vite.config.ts`). 답변엔진이 읽는 첫 신호라 비워 두지 않는다.
|
||||
|
||||
새 프로젝트 `infinith-discovery` 의 환경변수(`VITE_SITE`·`VITE_SUPABASE_URL`·`VITE_SUPABASE_ANON_KEY`)는
|
||||
프로젝트 설정에 저장돼 있어 다음 배포에도 유지된다.
|
||||
|
||||
### 레지스트리에 넣은 것
|
||||
|
||||
`clinic_registry` 가 서브도메인의 단일 원본이다. 코드가 이름을 매번 짓지 않는다.
|
||||
수백 곳으로 늘면 "뷰"·"연세"·"그랜드" 처럼 여러 병원이 쓰는 이름에서 충돌이 난다.
|
||||
|
||||
- `subdomain`: 공용 도메인 앞 라벨. 소문자·숫자·붙임표, 2~40자, 붙임표 시작·끝 금지, 연속 붙임표 금지
|
||||
- `clinic_slug`: 워커 `--clinic` 값. 빌드 폴더·Vercel 프로젝트 이름에 쓰여 서브도메인과 다를 수 있다(뷰는 `viewpl` 대 `viewclinic`)
|
||||
- `subdomain_assigned_at`: 배정 시각
|
||||
- 둘 다 대소문자 무시 유니크. 예약어 70여 개 차단(메일·인증 계열 `mx`·`dmarc`·`autodiscover`·`ns1` 포함)
|
||||
|
||||
예약어를 병원에 내주면 나중에 메일·API·관리 화면을 붙일 때 주소를 회수해야 하고,
|
||||
회수 시점에는 이미 색인된 주소가 깨진다. 중복·예약어·형식 위반이 실제로 차단되는 것을 확인했다.
|
||||
|
||||
오라클피부과는 이 레지스트리가 성형외과 73곳으로 만들어져 등록돼 있지 않았다. 2026-09-14 에 넣어 74곳이다.
|
||||
|
||||
### 새 병원을 붙이는 순서 (2026-09-14 확립)
|
||||
|
||||
1. `clinic_registry` 에 `subdomain`·`clinic_slug` 를 넣는다. 이름은 코드가 짓지 않는다.
|
||||
2. 워커를 `--domain <서브도메인>.webforai.kr --deploy` 로 돌린다. DNS·인증서는 Vercel 이 자동으로 한다.
|
||||
`node workers/supporters-build/run.mjs --clinic viewclinic --url https://www.viewclinic.com --work ~/supporters-builds/viewclinic-test --from build --skip-generate --deploy --domain viewpl.webforai.kr`
|
||||
원진은 `--clinic wonjin --domain wonjin.webforai.kr`, 오라클은 `--clinic oracle --domain oracle.webforai.kr`.
|
||||
3. **`--indexable` 은 붙이지 않는다.** 법무 3건(외국인환자 유치업 등록, 의료광고 사전심의 대상 여부, 지원 관계 고지 문구)이 끝난 뒤 별도 품의로 올린다.
|
||||
4. 연결 뒤 주소 응답과 noindex 헤더·메타·샘플 배너가 남아 있는지 확인한다.
|
||||
|
||||
### 규모가 커질 때 대비할 것
|
||||
|
||||
공용 도메인은 평판을 공유한다. 비슷한 틀의 콘텐츠가 수백 개 서브도메인으로 쌓이면
|
||||
doorway 패턴으로 판정될 수 있고, 한 곳의 문제가 전체에 옮는다. 지금 없는 방어가 하나 있다.
|
||||
|
||||
- **병원 간 본문 유사도 상한을 발행 게이트에 추가한다.** 현재 `HOME_DUPLICATE` 는 같은 병원 안의 중복만 본다.
|
||||
- 상위 도메인 첫 화면을 병원 목록으로 만들지 않는다. 나열하면 네트워크로 읽힌다.
|
||||
- 전환이 필요해지는 경우는 병원이 자체 도메인을 요구하거나 평판 문제가 생길 때다. 전체를 옮기지 않고 해당 병원부터 옮긴다.
|
||||
|
||||
### DB 작업 시 주의
|
||||
|
||||
운영 DB 에 `supabase db push` 를 쓰지 않는다. 마이그레이션 이력에 10개 중 3개만 기록돼 있어
|
||||
나머지 7개를 다시 실행하려 든다. 새 마이그레이션은 `supabase db query --linked --file <파일>` 로 그 파일만 적용한다.
|
||||
대조표는 `docs/DB_SCHEMA_DIVERGENCE_2026-09-14.md` 에 있고, 정본은 마이그레이션 파일로 정했다(haewon 2026-09-14).
|
||||
표 17개 중 15개는 일치하고 손볼 곳은 `clinic_registry` 하나와 정의가 빠진 뷰 2개다.
|
||||
|
||||
## 6. 함정 (제품 관점)
|
||||
|
||||
- **한 Vercel 프로젝트에 두 폴더**: 2026-09-11 Productize/supporters 와 메인 supporters 가 같은 프로젝트에 배포해 `/plan` 이 404 됐다. 지금은 Productize 쪽 연결을 껐다. 배포는 병원 폴더와 메인 supporters 에서만.
|
||||
- **페이지를 덮어쓰지 않는다**: 플래너 통합 때 `/stay`(주변 안내)를 `/plan` 으로 리다이렉트해 세 사이트에서 주변 안내가 사라졌다(09-11 17시 복원). 새 기능이 기존 페이지와 '같은 주제'로 보여도 haewon 확인 전에는 기존 페이지를 지우거나 리다이렉트하지 않는다.
|
||||
- **세 브랜치 분산**: 같은 파일(`supporters/`)이 두 브랜치에서 다르게 진화했다. 머지 전에 "템플릿이 정본"을 정하고 뷰 샘플을 옮긴다.
|
||||
- **진단 결과가 코드**: `discovery_<id>.ts` 커밋 방식은 병원 수가 늘면 배포 병목이다(§4-3).
|
||||
- **게이트는 고객 화면 전체를 본다**: 운영 어휘("실측"·"API 집계"·"임베드")가 데이터 값을 타고 화면에 나가면 빌드가 막힌다. 운영 기록은 데이터에만.
|
||||
- **원문 문장은 걸러야 한다**: 병원 페이지 원문 32문장 중 14건이 홍보문·정형 고지였다. 워커 planner 단계 필터(CARE/NOT_CARE) 없이는 "병원 안내 기준" 배지가 의료광고 위반이 된다.
|
||||
- **헤드리스 크롬 모바일 캡처**: 창 최소 폭 때문에 400px 직접 캡처가 틀린다. 1280 창 안 390px iframe 하네스로.
|
||||
- **lint**: 메인 체크아웃은 한때 tsc 가 없어 `npm run lint` 가 가짜 통과였다. 실제 0 에러인지 `npx tsc --noEmit` 로 본다.
|
||||
- **엠대시·타 서비스 이름**: 커밋 메시지와 문서에서 두 번 잡혔다. 산출 전 엠대시 검색(`grep -cP "\x{2014}"`)과 타 서비스명 격리 grep(전역 CLAUDE.md 의 목록).
|
||||
|
||||
## 7. 파일 참조
|
||||
|
||||
- 진단: `src/data/aeoGeoRubricV2.ts`, `src/lib/discoveryScoreV2.ts`, `src/pages/DiscoveryReportPage.tsx`, `scripts/audit_aeo_geo.py`, `docs/AEO_GEO_RUBRIC_v2.md`
|
||||
- 랜딩·리드: `src/pages/DiscoveryLandingPage.tsx`, `src/components/discovery/`, `supabase/migrations/20260831_discovery_leads.sql`
|
||||
- 확인 패널·큐: `src/components/discovery/ClinicInputsPanel.tsx`, `src/pages/SupportersBuildPage.tsx`, `supabase/migrations/20260907_supporter_builds*.sql`
|
||||
- 워커·템플릿: Productize `workers/supporters-build/`, `supporters/scripts/`, `templates/supporters-astro/`, 브리프 `supporters/briefs/<clinic>/`
|
||||
- 플래너·지도: 템플릿 `src/components/Planner.astro`·`VisitMap.astro`, `src/lib/plan.ts`·`tour.ts`, `supporters/scripts/build_planner_data.mjs`, 설계 `docs/INFINITH_Viewclinic_Supporters_Site_Design_v0.2.md` §13
|
||||
- 측정: `scripts/run_question_bank_openai.py`, `scripts/sentiment_qb.py`, `docs/AI_ANSWER_SENTIMENT_RUBRIC_v0.1.md`, Productize `scripts/ga4_ai_traffic.py`, `data/ai_channels.json`
|
||||
- 사이트 주소·레지스트리: `supabase/migrations/20260914_clinic_subdomain.sql`, `docs/DB_SCHEMA_DIVERGENCE_2026-09-14.md`, `docs/business/INFINITH_서포터즈_사이트주소_방식비교_2026-09-14.docx`, 품의서 `docs/business/INFINITH_품의서_webforai.kr_도메인구매_2026-09-14.docx`
|
||||
- 이미지 육안 검토: `supporters/scripts/build_image_review.mjs`, 대표 이미지 배정 `supporters/scripts/assign_post_heroes.mjs`
|
||||
- 가격·경쟁: `docs/INFINITH_vs_FrostAI_비교_및_가격제안_2026-09-08.html`, `docs/INFINITH_가격정책_사업부보고서_v1.1.docx`
|
||||
- PRD: `docs/prd/INFINITH_AI-Discovery_PRD_20260828_v02.md`, `docs/prd/INFINITH_Global_Medical_Hub_PRD_v0.1.html`(Productize 에 v0.2), `docs/prd/INFINITH_Dermatology_Supporters_PRD_v0.1.html`
|
||||
|
||||
## 8. 이번 이틀(09-10~11)의 인사이트 · 다음 개발에 그대로 적용할 것
|
||||
|
||||
1. **한 세션 = 한 저장소 = 한 배포 대상.** 두 세션이 같은 Vercel 프로젝트와 같은 `supporters/` 폴더를 다른 브랜치에서 건드려 `/plan` 404 와 주변 안내 실종이 났다. 세션 시작 때 `git status`·`.vercel/project.json`·열린 세션 여부를 확인하고, 그 세션이 맡지 않은 자산은 손대지 않는다. 브랜치 통합(§4-1)이 이 문제의 근본 해결이므로 첫 일로 했다. **2026-09-12 완료.**
|
||||
- 다만 통합 중에 같은 사고를 한 번 더 냈다. 머지 기준으로 삼은 브랜치 끝이 세션 도중 9개 커밋만큼 앞서 있었고(주변 안내 복원·워커 publish 단계), 그것을 모르고 올린 첫 머지가 둘을 떨어뜨렸다. 푸시 전에 발견해 되돌렸다.
|
||||
- **머지 직전에 브랜치 끝을 다시 읽는다.** 세션 시작 때 읽은 `git rev-parse`/`git log` 값은 머지 시점에 낡아 있을 수 있다. 다른 워크트리가 열려 있으면 특히 그렇다. 머지 뒤에는 `git rev-list --count main..<branch>` 가 0 인지 확인한다.
|
||||
2. **"완료"를 산출물이 아니라 고객 결과로 정의하면 자동·사람 경계가 드러난다.** 서포터즈 사이트 완료 = 색인 작업 + 사람 체크리스트로 바꾸자 IndexNow·GSC 는 자동, 네이버 등록·소유자 추가는 사람으로 갈렸고 워커 단계가 그 경계를 코드로 가졌다. 진단(사람 판정 4항목), 병원 확인(재빌드 트리거)도 같은 방식으로 "완료 정의 → 자동 부분 → 사람 요청"을 명시한다.
|
||||
3. **병원 원문은 인용 전에 걸러야 한다.** 원문 32문장 중 14건이 홍보문·정형 고지·표 조각이었다. 원문을 데이터로 쓰는 모든 경로(recoveryNotes, OCR, 뉴스 제목)에 화이트리스트 필터와 "제외된 문장 목록 눈으로 보기"를 둔다. 필터 없는 "병원 안내 기준" 배지는 의료광고 위반이다.
|
||||
4. **게이트는 데이터 값도 본다.** 좌표 출처의 "실측"이 화면에 새어 나가 빌드가 막혔다. 데이터 필드마다 고객 노출 여부를 정하고 운영 기록(source·coordSource·note)은 렌더하지 않는다.
|
||||
5. **규칙표를 먼저 쓰면 코드·테스트가 따라온다.** 설계 v0.2 §13 의 status(clinic/provisional)·출처 필수 규칙이 그대로 procedures.json 스키마와 게이트 테스트가 됐다. 새 기능은 데이터 규칙표부터 문서화한다.
|
||||
6. **관광공사 데이터는 공급이지 수요가 아니다.** 선호는 화면에서 직접 묻고, 큐레이션이 1순위, 외부 데이터는 보강(2순위)이라는 우선순위를 점수로 코드화했다. 외부 API 를 붙일 때마다 같은 질문(공급인가 수요인가, 누가 1순위인가)을 먼저 한다.
|
||||
7. **디자인 규칙은 텍스트가 아니라 리듬이다.** "흰 카드만 쌓인 페이지"는 홈·영상 페이지의 섹션 리듬(다크 히어로+글래스 통계 → 틴트 → 다크 → 라이트 → 틴트 → 다크)을 안 따라서 완성도가 낮아 보였다. 새 페이지는 기존 페이지 두 개의 구성을 먼저 분석하고 같은 리듬으로 짠다. 웜 그라디언트는 CTA 카드 한 장에만.
|
||||
8. **전역 CSS 와 컴포넌트 클래스는 접두어로 분리한다.** `.kpi` 충돌로 그라디언트가 되살아났다. 컴포넌트 클래스는 `plan-`·`vm-` 처럼 접두어를 쓰고, 새 클래스는 전역 CSS 에 grep 한다.
|
||||
9. **모바일 검증은 하네스로.** 헤드리스 크롬 창 최소 폭 때문에 400px 캡처가 틀렸고, 실제 문제(헤더 겹침)는 아이프레임 하네스에서만 보였다. 8페이지×3사이트 그리드 캡처를 배포 전 기본 절차로 둔다.
|
||||
10. **언어 전환은 전역 하나.** 페이지별 토글은 사용자 관점에서 틀렸다. 영어 홈이 없는 사이트는 영어 입구(/en/plan)를 정해야 하고, 템플릿에 영어 홈을 넣을지는 §5-3 결정에 달렸다.
|
||||
11. **기존 페이지는 haewon 확인 전에 지우거나 리다이렉트하지 않는다.** 새 기능이 기존 페이지와 같은 주제로 보여도 병존이 기본이다(주변 안내 `/stay` 와 회복 일정 `/plan`). **2026-09-12 재발.** 브랜치 통합 머지가 `/stay` 를 떨어뜨렸다. 페이지를 지우려는 의도가 없어도 머지 기준을 잘못 잡으면 같은 결과가 난다. 통합 뒤 페이지 목록을 이전 배포와 대조한다.
|
||||
12. **제품 병목은 세 가지로 좁혀졌다.** 진단 결과가 코드 파일, 리드→큐 미연결, 브랜치 3개 분산. 이 셋을 풀어야 "URL 입력 → 리포트 링크 → 서포터즈 미리보기"가 사람 손 없이 이어진다.
|
||||
@ -1,97 +0,0 @@
|
||||
# 다음 세션 핸드오버 · 2026-09-12 · 서포터즈 사이트 빌드 절차 (회복 일정 플래너·오시는 길 지도 통합 이후)
|
||||
|
||||
> 이 문서는 하위 문서다. INFINITH AI Discovery Product 전체(제품 여정·브랜치 통합·리드→큐→빌드 자동화·측정·가격, §8 인사이트)의 핸드오버는 메인 체크아웃 `docs/NEXT_SESSION_2026-09-12_AI_DISCOVERY_PRODUCT.md` 를 먼저 읽는다. 다음 세션은 2026-09-14(월) Product 개발이다. 09-11 저녁 최종 상태: 세 사이트 모두 주변 안내(/stay)와 회복 일정(/plan)이 병존하고, 워커에 publish 단계가 있다.
|
||||
|
||||
작성 2026-09-11 · 작성자 Claude (haewon 세션) · 이전 핸드오버 `docs/NEXT_SESSION_2026-09-11_ORACLE.md`(오라클 첫 빌드), `docs/NEXT_SESSION_SUPPORTERS_AUTOBUILD_v3.md`(자동 빌드 전체).
|
||||
이 문서는 2026-09-10~11 이틀간 붙인 기능(회복 일정 플래너 `/plan`·`/en/plan`, 오시는 길 지도, 전역 언어 전환, 모바일 헤더)과 그것을 워커·템플릿에 통합한 상태, 그리고 다음 병원을 Product로 빌드하는 절차를 다룬다.
|
||||
|
||||
## 0. 세션 시작 시 붙여 넣을 프롬프트
|
||||
|
||||
```
|
||||
INFINITH 저장소. 자동 빌드(워커·템플릿)는 워크트리 ~/orca/workspaces/INFINITH/Productize (브랜치 feature/supporters-autobuild),
|
||||
뷰성형외과 샘플 사이트(수동 배포)는 메인 체크아웃 ~/Claude/Agentic Marketing/INFINITH/supporters (브랜치 feature/ai-sentiment-rubric).
|
||||
병원별 빌드 산출물은 ~/supporters-builds/<clinic>/site 이고 Vercel 프로젝트는 supporters-<clinic> 이다.
|
||||
먼저 docs/NEXT_SESSION_2026-09-12_PRODUCT_BUILD.md 를 읽고 §4 결정 대기의 답을 받은 뒤 §3 절차대로 진행한다.
|
||||
원칙: 근거 없는 사실은 생성하지 않는다("확인 대기"·"병원 확인 전"). 사람 게이트(의학 검토·게시 승인·이미지 육안·채널 확인·구조 기준선 승인)는 자동화하지 않는다.
|
||||
고객 화면에 운영자 설명 없음(게이트 OPERATOR_VOCAB). 확정 디자인은 텍스트만. 존댓말, 엠대시 금지(커밋 메시지 포함), 은유 금지, 흰 배경 위 연보라 텍스트 금지(인디고 #1D0024).
|
||||
데이터 타일에 웜 그라디언트 금지(CTA 카드 한 장에만). 새 페이지는 홈·영상 페이지의 섹션 리듬(다크 히어로+글래스 통계 → 틴트 카드 → 다크 통계 → 라이트 → 틴트 → 다크)으로 만든다.
|
||||
배포는 병원 폴더(~/supporters-builds/<clinic>/site)나 메인 supporters/ 에서만 한다. Productize/supporters 는 어떤 Vercel 프로젝트에도 연결하지 않는다.
|
||||
```
|
||||
|
||||
## 1. 2026-09-10~11 에 끝낸 것
|
||||
|
||||
| 일 | 위치 | 상태 |
|
||||
|---|---|---|
|
||||
| 회복 일정 플래너 `/plan`·`/en/plan` (수술일 기준 입국·출국 계산, 외출 등급·식사 단계 필터, 큐레이션+관광공사 추천, 체류 기간 행사, 숙소·항공 딥링크, ICS, 하단 요약 바) | 템플릿 `src/components/Planner.astro`, `src/lib/plan.ts`·`tour.ts`, `src/styles/plan.css`, `src/data/planStrings.json`, `src/pages/plan.astro`·`en/plan.astro`·`404.astro` | 뷰·원진·오라클 배포. 설계 근거 메인 `docs/INFINITH_Viewclinic_Supporters_Site_Design_v0.2.md` §13 |
|
||||
| 워커 `planner` 단계(recovery 다음) | `workers/supporters-build/run.mjs`, `supporters/scripts/build_planner_data.mjs`, 기본표 `supporters/scripts/template/planner/procedures.{plastic,derm}.json`·`places.base.json` | 업종별 기본 규칙표 + 병원 시술 페이지 원문(recoveryNotes) 중 관리 문장만 붙임(CARE/NOT_CARE 필터, 세부 시술명 접두). 장소는 `briefs/<clinic>/planner.places.json`(큐레이션) 또는 범용 기본표 |
|
||||
| 병원별 큐레이션 장소 브리프 | `supporters/briefs/{viewclinic,oracle,wonjin}/planner.places.json` | 뷰 31·오라클 28·원진 31곳. 전부 verify(출시 전 확인) |
|
||||
| 오시는 길 지도·길찾기 (Leaflet+OSM, 주소 복사, 네이버·카카오 길찾기, 영어는 구글 추가) | 템플릿 `src/components/VisitMap.astro`, 방문 안내 §3, 뷰 영어 홈 Getting Here | 좌표 `factSheet.geo`. 워커 tourism 단계가 관광공사 수집 기준 좌표(네이버 지역검색)를 geo 에 기록 |
|
||||
| 전역 언어 전환·모바일 헤더 | 템플릿 Base.astro(langswitch, T.nav), `global.css` ≤900px 헤더 규칙 | 로고·메뉴 겹침 해결. 390px 하네스로 8페이지×3사이트 검증 |
|
||||
| 주변 안내 복원 (2026-09-11 17시) | `/stay`·`/en/stay` (장소·축제·동선 지도·날씨·시술 후 관리 접이식). 내비 '주변 안내'·'Nearby', 언어 짝 /stay↔/en/stay. `/recovery`·`/en/recovery` → `/plan`·`/en/plan` 리다이렉트만 유지 | haewon 결정: 주변 안내와 회복 일정 플래너는 별개 페이지. 처음 통합 때 /stay 를 /plan 으로 덮어쓴 것을 되돌림. 스타일은 global.css '/* ── /en/stay ── */' 블록 |
|
||||
| 원진 관광공사 수집·원문 수집 | `~/supporters-builds/wonjin/site/src/data/medicalTourism*.json`, `recoveryNotes.json` | 장소 123·축제 24, 원문 32문장 중 관리 문장 16건 붙임 |
|
||||
| Vercel 사고 재발 방지 | Productize `supporters/.vercel/project.json` → `.disabled-2026-09-11`, `supporters/DEPLOY_NOTE.md` | 두 폴더가 같은 프로젝트에 배포해 `/plan` 이 404 된 사고(09-11 10:20) 이후 |
|
||||
|
||||
커밋: Productize `aa5b052`(플래너 통합) → `ed8f650`(지도) → `5263593`(모바일 헤더) → `008411b`(관리 문장 필터). 메인 `65fb9be`~`93509bf`.
|
||||
|
||||
## 2. 격리 구조 (무엇이 무엇을 건드리는가)
|
||||
|
||||
| 폴더 | 브랜치 | 역할 | Vercel | 워커가 건드리나 |
|
||||
|---|---|---|---|---|
|
||||
| `~/Claude/Agentic Marketing/INFINITH/supporters` | feature/ai-sentiment-rubric | 뷰성형외과 샘플(정본 `/plan`) | `view-supporters-sample` (수동 `vercel --prod`) | 아니오. 워커는 이 경로를 모른다 |
|
||||
| `Productize/supporters` | feature/supporters-autobuild | 템플릿 원본(개발용). `npm run export:template` 으로 `templates/supporters-astro` 생성 | 없음(연결 파일 비활성) | 아니오. 워커는 여기서 스크립트만 실행한다 |
|
||||
| `Productize/templates/supporters-astro` | 〃 | 워커가 복사하는 템플릿 | 없음 | 읽기만 |
|
||||
| `~/supporters-builds/<clinic>/site` | (저장소 밖) | 병원별 산출물 | `supporters-<clinic>` (워커가 `vercel link --project` 로 강제 연결) | **예.** `data` 단계가 `site/` 를 지우고 템플릿을 다시 복사한다(글·videos.json 만 보존) |
|
||||
|
||||
따라서: 워커를 어떤 병원으로 돌려도 뷰 샘플과 다른 병원 프로젝트는 영향이 없다. 단, 같은 병원을 `--from data` 이전 단계부터 다시 돌리면 그 병원 폴더의 **손수 고친 파일은 사라진다**. 이번에 손수 넣은 것은 전부 템플릿·브리프·워커 단계로 옮겨 두었으므로 재빌드 결과가 지금 라이브와 같아야 한다. 예외 두 가지는 §5.
|
||||
|
||||
## 3. Product build 절차 (다음 병원)
|
||||
|
||||
1. **키 확인**: `Productize/.env` 에 `TOUR_API_KEY`, `NAVER_CLIENT_ID/SECRET`, `OPENAI_API_KEY`(원문 번역), `YOUTUBE_API_KEY` 값이 있는지. `grep -E "^(TOUR_API_KEY|NAVER_CLIENT_ID)=." .env`.
|
||||
2. **브리프 작성** `supporters/briefs/<clinic>/`
|
||||
- `clinic.json`: 유튜브 채널 고정, 로고, `factSheet.kind`(피부과면 `"피부과"`, 이 값으로 업종 자동 판별) · `industry`(`derm`|`plastic`, 명시하면 우선), 갤러리·제외 이미지. 예시는 `briefs/oracle/clinic.json`.
|
||||
- `planner.places.json`(선택): 병원 기준 큐레이션 장소. 없으면 범용 기본표(약국·편의점·죽·스무디·탕류·경과 확인·호텔 라운지)에 병원 이름·지역만 치환된다. 예시는 `briefs/wonjin/planner.places.json`(뷰 목록을 기준점만 바꿔 거리 보정).
|
||||
3. **워커 실행** (Productize 루트)
|
||||
```
|
||||
node workers/supporters-build/run.mjs --clinic <id> --url https://<병원 홈페이지> --name "<상호>" [--industry derm] [--deploy]
|
||||
```
|
||||
단계 순서: evidence → ocr → data → discover → youtube → news → images → tourism → recovery → **planner** → inputs → briefs → generate → build → deploy → **publish**. 부분 재실행은 `--from <단계>`. 생성 비용 약 $0.6/병원(글 6~8편).
|
||||
4. **확인**: `~/supporters-builds/<id>/status.json` 의 `report.tourism`(좌표·장소 수)·`report.planner`(붙은 원문 문장 수)·`report.recovery`. 빌드 게이트 오류 0 인지.
|
||||
5. **사람 게이트**: 의료진 후보 확정, 이미지 육안 확인, 구조 기준선 승인(`node scripts/check.mjs --update-layout`, 첫 빌드는 LAYOUT_NO_BASELINE 경고), 규칙표 provisional 값 원장 확인.
|
||||
6. **모바일 검증**: 헤드리스 크롬은 창 최소 폭이 약 500px 이라 400px 직접 캡처가 부정확하다. 1280 창 안에 390px iframe 을 넣은 하네스로 찍는다(스크래치 `harness*.html` 방식, 홈·영상·방문·plan·뉴스룸·목록·글·병원 정보 8페이지).
|
||||
7. **배포**: `--deploy` 또는 병원 폴더에서 `vercel --prod --yes`. 메인 `supporters/`(뷰 샘플)는 별도로 `git push` 후 `vercel --prod`.
|
||||
8. **발행(색인)**: 배포 뒤 워커 `publish` 단계가 자동 실행된다(`scripts/publish_site.mjs`). 샘플(noindex) 상태면 라이브 확인과 "색인 허용 전환 결정" 체크리스트만 낸다. 정식 공개는 `--indexable --deploy [--domain <도메인>]` 로 재실행: noindex 헤더 제거, 승인 글만 발행, IndexNow 알림, GSC 사이트맵 제출(서비스 계정 있을 때). 결과는 `status.report.publish`, 사람 몫은 `~/supporters-builds/<id>/publish-checklist.md` 와 `status.humanTasks`.
|
||||
9. **완료 판정**: 체크리스트의 사람 몫(네이버 서치어드바이저 등록·소유 확인·사이트맵 제출, GSC 소유자 추가, 도메인, 법무 3건, 백링크 요청)이 끝나야 "완료"다. 끝나기 전 상태는 `published_pending_tasks`.
|
||||
|
||||
기존 병원 재빌드(플래너·지도 포함 최신 템플릿 적용): `--from data` 로 돌리면 글·영상 집계는 보존되고 나머지는 새로 만든다. 원진처럼 원문 수집을 워커 밖에서 돌린 병원도 `recovery` 단계가 같은 결과를 낸다(`recoveryNotes.cache.json` 은 병원 폴더에 남아 번역 재사용).
|
||||
|
||||
## 4. haewon 결정 대기
|
||||
|
||||
1. **규칙표 provisional 값**(출국 가능 최소일·입원·실밥 등) 원장 확인. 뷰 `procedures.json` 의 clinic 값은 뷰 주의사항 페이지 근거, 나머지 병원은 원문 문장만 clinic. 화면에는 "병원 확인 전" 배지가 붙어 있으나 공개 전 확인 필요.
|
||||
2. **제휴 계정 주체**(부킹닷컴 aid, 항공): INFINITH vs 병원. 지금은 제휴 ID 없이 검색 링크만.
|
||||
3. **외국인환자 유치업 등록 여부 법무 확인**: 플래너는 정보 안내로 유지 중(예약·결제 없음).
|
||||
4. **뷰 샘플을 템플릿에서 다시 뽑아 통일할지**: 메인 `supporters/` Base.astro 는 템플릿과 구현이 다르다(메인: i18n.ts 전역 전환, 영어 홈 `/en`; 템플릿: langswitch, 영어 입구 `/en/plan`). 플래너·지도 코드는 동일. 통일하면 뷰도 워커 폴더에서 관리하고 `view-supporters-sample` 은 수동 배포에서 워커 배포로 바뀐다.
|
||||
5. **다음 병원**: 톡스앤필·차앤박(피부과 Top3 나머지)을 같은 워커로 빌드할지. 세 병원을 한 화면에서 비교하는 산출물은 만들지 않는다.
|
||||
6. **P1 남은 것**: 일본어·중국어 화면(planStrings 같은 키로 추가), 국적별 기본 칩(관광 데이터랩), 관광공사 재수집 주기.
|
||||
7. 기존 미결(오라클 핸드오버 §3): 세일즈 사용 범위, sponsorNotice 문구, 주변 안내 사진 폴백, 의료진 OCR 노출, 도메인·서포터즈 실명·워커 상시 실행.
|
||||
|
||||
## 5. 함정 (이번 이틀)
|
||||
|
||||
- **같은 Vercel 프로젝트에 두 폴더**: Productize/supporters 와 메인 supporters 가 둘 다 `view-supporters-sample` 에 연결돼 있어 서로 덮어썼다. 지금은 Productize 쪽 연결을 껐다. 워커 외 수동 `vercel link` 는 하지 않는다.
|
||||
- **재빌드 시 사라지는 손수 편집**: 원진 폴더의 `factSheetEn.json`, `lib/i18n.ts`, 메인식 Base.astro 는 인스턴스 전용이다. 재빌드하면 템플릿 Base(langswitch)로 바뀌며 이것이 의도한 상태다. 오라클 폴더의 `scripts/gate/plan.test.mjs` 는 오라클 전용(id 8종 기준)이라 재빌드 후 템플릿 범용 테스트로 바뀐다.
|
||||
- **전역 CSS 클래스 충돌**: 플래너 통계에 `kpi` 클래스를 쓰면 전역 `.kpi`(웜 그라디언트)가 덮어쓴다. `.stats.dates` 로 바꿨다. 새 클래스는 전역 CSS 와 이름이 겹치지 않는지 grep 한다.
|
||||
- **게이트 OPERATOR_VOCAB**: 좌표 출처 문구의 "실측"이 고객 화면에 나가 빌드가 막혔다. 운영 기록(source)은 데이터에만 둔다.
|
||||
- **관리 문장 필터가 필요한 이유**: 원진 원문 32문장 중 14건이 홍보문·정형 합병증 고지·표 조각이었다. 필터(`build_planner_data.mjs` CARE/NOT_CARE) 없이 "병원 안내 기준" 배지를 달면 의료광고 규정에 걸린다. 새 병원에서 제외된 문장 목록을 한 번 눈으로 본다(`status.report.planner`).
|
||||
- **zsh 에서 `set -- $var` 는 단어 분리를 안 한다**: 하네스 생성처럼 반복이 필요하면 파이썬으로 쓴다.
|
||||
- **엠대시**: 커밋 제목에 두 번 들어가 amend 했다. 커밋 메시지도 생성물이다.
|
||||
- **Nominatim 좌표는 임시**: 원진 첫 좌표는 OSM 주소 검색이었고, 관광공사 수집(네이버 지역검색)으로 바뀌었다. 좌표 출처는 `factSheet.geo.source` 에 남는다.
|
||||
|
||||
## 6. 관련 파일 빠른 참조
|
||||
|
||||
- 워커: `workers/supporters-build/run.mjs` (phase 'planner' 307행 부근), 폴러 `poll.mjs`, launchd
|
||||
- 플래너 데이터 생성: `supporters/scripts/build_planner_data.mjs`
|
||||
- 기본표: `supporters/scripts/template/planner/`
|
||||
- 관광 수집: `scripts/fetch_medical_tourism.py` (병원 좌표도 여기서 나온다)
|
||||
- 원문 수집: `supporters/scripts/collect_recovery.mjs`
|
||||
- 테스트: `supporters/scripts/gate/plan.test.mjs`(빈 관광 데이터면 관광 검사 건너뜀), `npm run gate:test`(41건)
|
||||
- 설계 문서(메인): `docs/INFINITH_Viewclinic_Supporters_Site_Design_v0.2.md` §13, HTML판 `docs/prd/…_v0.2.html`
|
||||
- 비교 이미지(메인): `docs/reports/viewclinic/04_supporters/planner/Recovery_Planner_Before_After_2026-09-10.png`
|
||||
@ -1,82 +0,0 @@
|
||||
# 다음 세션 프롬프트 · 2026-09-19 이후
|
||||
|
||||
아래 §0 을 그대로 복사해 새 세션 첫 메시지로 넣으면 된다.
|
||||
|
||||
---
|
||||
|
||||
## §0. 복사해서 붙일 프롬프트
|
||||
|
||||
```
|
||||
INFINITH AI Discovery 제품 개발을 이어서 한다.
|
||||
|
||||
작업 폴더: ~/orca/workspaces/INFINITH/Productize-2 (main)
|
||||
파이프라인: ~/orca/workspaces/INFINITH/Productize (feature/supporters-autobuild)
|
||||
|
||||
시작하기 전에 읽어라:
|
||||
docs/HANDOVER_2026-09-18.md 어제까지의 상태와 결정 대기 목록
|
||||
docs/DESIGN_신청알림메일_v0.1.md 메일 설계 (결정 대기 4건은 §8)
|
||||
|
||||
두 저장소 모두 커밋은 되어 있고 푸시는 안 했다. 시작할 때 git status 와
|
||||
다른 세션이 같은 폴더를 열고 있지 않은지 먼저 확인해라.
|
||||
|
||||
오늘 할 일은 아래에서 고른다. 1번을 먼저 하고, 내가 확인해 준 뒤 2번으로 간다.
|
||||
|
||||
1. 어제 만든 화면 육안 확인
|
||||
npm run dev 로 띄우고 /discovery/viewclinic, /build/jkplastic,
|
||||
/images/jkplastic 를 열어 둬라. 내가 본다.
|
||||
특히 볼 것: What We Will Fix 섹션 문구·버튼 대비, 왼쪽 아래 이전 단계 버튼,
|
||||
사진 확인 썸네일 줄.
|
||||
|
||||
2. 분석 리포트(/report/:id)의 로드맵 타임라인을 진단 리포트로 옮긴다
|
||||
진단의 Action Plan 은 P0/P1/P2 목록만 있고 시간축이 없다.
|
||||
기존 RoadmapTimeline 컴포넌트와 result.actions 의 effort 값을 쓴다.
|
||||
데이터를 지어내지 마라. 없는 값은 확인 대기로 둔다.
|
||||
|
||||
지켜야 할 것:
|
||||
- 서포터즈 빌드는 병원 홈페이지를 고치지 않는다. 진단 실행 항목이
|
||||
빌드로 해결된다고 화면에 쓰지 마라.
|
||||
- 고객 화면에 "결과"라는 말을 쓰지 마라. 빌드가 끝나도 사진 확인과
|
||||
확인 항목이 남아 최종이 아니다.
|
||||
- 텍스트는 src/index.css 의 .ui-ask / .ui-body / .ui-note 역할 토큰을 쓴다.
|
||||
다크 섹션은 .on-dark, 그 안의 흰 카드는 .on-light, 버튼은 .btn-on-dark.
|
||||
- 프로덕션 배포(vercel --prod, 병원 사이트)는 내 확인을 받고 실행한다.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## §1. 선택지 (위 프롬프트에서 2번 대신 고를 수 있는 것)
|
||||
|
||||
우선순위순이 아니라 성격순이다. 무엇을 할지는 haewon이 정한다.
|
||||
|
||||
### A. 분석 리포트 요소 흡수 (어제 정한 방향)
|
||||
|
||||
| 요소 | 난이도 | 비고 |
|
||||
|---|---|---|
|
||||
| 로드맵 타임라인 | 낮음 | 데이터가 이미 있다. 가장 값이 크다 |
|
||||
| 채널 건강도 링 | 중간 | `supporter_builds.report.channels` 를 쓴다 |
|
||||
| KPI 대시보드 | 보류 | 목표치 데이터가 없다. 지어내지 말고 재측정 기준으로 바꾸는 편이 맞다 |
|
||||
|
||||
### B. 메일 붙이기
|
||||
|
||||
결정 4건(설계 §8)이 먼저다. 다만 **순서 4번(모달 문구 수정)은 계정 없이 지금 할 수 있다.** 화면이 약속하는 것과 실제 동작의 어긋남부터 없애는 조치다.
|
||||
|
||||
### C. 파이프라인 잔여
|
||||
|
||||
- `clinicDoctors` 4명 고정을 병원 규모에 맞출지
|
||||
- planner가 tourism 좌표를 쓰도록
|
||||
- 뷰 의료진 id 두 벌 정리 (뷰 재빌드와 묶어서)
|
||||
- `check.mjs --update-layout` 레이아웃 기준선
|
||||
|
||||
### D. 분석 리포트 자체 수정
|
||||
|
||||
히어로 공백 · `NaN년` · 과한 여백. 옮기든 접든 남는 문제다.
|
||||
|
||||
---
|
||||
|
||||
## §2. 다음 측정에서 볼 값
|
||||
|
||||
09-15 실측에서 네이버 AI 브리핑이 120문항 중 119문항에 노출되는데 **논브랜드 83건 중 뷰성형외과 언급은 1건**이었다. 브랜드명을 아는 사람에게만 답변이 나오고, 시술이나 지역으로 찾는 사람에게는 도달하지 못한다.
|
||||
|
||||
서포터즈 사이트가 이 구간을 움직이는지가 제품의 핵심 증명이다. 뷰·원진·오라클이 색인 허용으로 전환된 뒤 같은 120문항을 다시 돌려 비교한다.
|
||||
|
||||
근거: `docs/reports/viewclinic/03_question_bank/Viewclinic_QB_Sentiment.md`, `scripts/out/naver_briefing_summary.json`
|
||||
@ -208,167 +208,3 @@ INFINITH 저장소(브랜치 feature/discovery-url-cta)에서 "AI Discovery 자
|
||||
- 자동 생성 글이 §4 순서 밖의 사실을 포함하지 않는다(근거 없는 수치 = 0건, 수동 대조 10편).
|
||||
- §6 입력이 비어 있어도 사이트가 "확인 대기" 표기로 빌드·배포된다.
|
||||
- 병원이 §6을 채우면 코드 수정 없이 데이터만으로 검토 완료·스키마가 켜진다.
|
||||
|
||||
---
|
||||
|
||||
## 11. 진행 기록 (2026-09-07 세션 2 · 브랜치 `feature/supporters-autobuild`, 워크트리 `orca/workspaces/INFINITH/Productize`)
|
||||
|
||||
§7의 1·2단계를 마쳤다. 3단계부터는 §9의 답이 필요한 항목이 섞여 있어 아래 "남은 결정"을 먼저 본다.
|
||||
|
||||
### 11-1. 게이트 확장 (§7-1) · 커밋 49c5e46
|
||||
- `supporters/scripts/gate/rules.mjs`: §3의 "검사"를 순수 함수로. error(배포 차단) 11종 + warn 6종.
|
||||
- error: OPERATOR_VOCAB(3-1) · SOURCE_TYPE_MISSING/UNKNOWN(3-4) · REGULATION_SOURCE_MISSING(3-4) · CONCLUSION_PHRASE(3-5) · NUMBER_DATE_MISMATCH(3-6) · REVIEWED_WITHOUT_DATE/REVIEWER · REVIEWER_UNKNOWN · AUTHOR_UNKNOWN(3-7) · BANNED_VIDEO_TITLE(3-8) · BANNED_PHRASE · HOME_DUPLICATE(기존)
|
||||
- warn: LAYOUT_CHANGED(3-2, 픽셀 대신 텍스트를 뺀 tag.class 구조 지문 비교) · HEADING_VERB · PLAIN_ENDING(3-3) · NUMERIC_NO_QUALIFIER(3-5) · FACT_NEXTCHECK_PASSED(3-6) · NO_TABLE_OR_CHECKLIST(3-11)
|
||||
- 결론 문장 검사는 문장 단위이고 부정문("보장되는 것은 아닙니다")과 임상 의견 표기("원장의 임상 판단")는 통과시킨다. 정답지 18편이 이 예외 없이는 걸린다.
|
||||
- `scripts/check.mjs`: dist + 소스 frontmatter + 데이터 JSON 검사. `--update-layout`은 haewon이 룩앤필 변경을 승인한 뒤에만.
|
||||
- `scripts/gate/test.mjs` + `fixtures/` 9개: 실패 재현 7건(운영자 어휘·type 없는 source·reviewed인데 reviewedAt 없음·검토자 미등록·확인일 불일치·영상 제목 금칙·결론 문장·규제 원문 없음) + 18편 회귀 + 부정문 통과. `npm run gate:test`.
|
||||
- 18편 결과: 오류 0, 경고 10(수치 한정 없음 5, 「채널 인기 전체」 탭 영상 제목 5). corrections.json의 「답변엔진」과 반말 문장 1건은 고쳤다.
|
||||
- `scripts/audit_aeo_geo.py`: 표본 URL 5개 미만 경고(§3-10). 채점기 자체는 아직 2개 URL만 읽는다.
|
||||
|
||||
### 11-2. 템플릿화 (§7-2) · 커밋 622441e
|
||||
- 병원 고유값은 `factSheet.json`(사실) · `authors.json`(사람) · `site.json`(매체 이름·로고·홈 큐레이션·방문 약도·추천 글) 세 파일로만 들어간다. 페이지 15개에서 하드코딩을 뺐다.
|
||||
- `lib.ts`: `PENDING = '확인 대기'`, `v()`(표시), `has()`(스키마·링크), `surface()`. 빈 값은 화면에 "확인 대기", 스키마에서는 필드 제거.
|
||||
- 검증: 28페이지의 표시 텍스트와 구조 지문이 리팩터 전 빌드와 동일. JSON-LD 차이는 빈 `sameAs: []` 제거뿐.
|
||||
- `scripts/export_template.mjs` → `templates/supporters-astro/`. 글·데이터·이미지·home_text·구조 기준선을 빼고 `scripts/template/data/`의 빈 세트를 넣는다. 병원 문자열이 남으면 실패. 빈 데이터로 10페이지 0오류 빌드, 게이트 통과.
|
||||
- 템플릿 사용: `templates/supporters-astro`를 복사 → 데이터 6개 + posts + public/img + home_text 채움 → `__CLINIC_ID__` 치환 → `npm ci && npm run build`.
|
||||
|
||||
### 11-3. 남은 단계와 의존 관계
|
||||
| 단계 | 상태 | 막는 것 |
|
||||
|---|---|---|
|
||||
| 3 근거 수집기 (`evidence/<clinic>/`) | **완료** (커밋 c92ecc8, §11-4) | 없음 |
|
||||
| 4 글 생성기 | **완료** (§11-5) | 편당 약 $0.09 실측. 단가 상한은 --max-cost-usd 로 걸 수 있고 값은 미정 |
|
||||
| 5 승인 UI (§6 입력 폼) | **완료·프로덕션 배포** (§11-6, §11-8) | 상단 고지 문구(site.sponsorNotice)는 병원 입력 후 켜진다 |
|
||||
| 6 워커·배포·랜딩 연결 | **완료** (§11-7, §11-8 미리보기 배포됨) | 워커 실행 위치(§12-3)·자동 트리거는 미결. 지금은 로컬에서 수동 실행 |
|
||||
| 7 두 번째 병원 회귀 | **완료** (§11-9, 원진성형외과 6/6편, 게이트 0오류) | 없음 |
|
||||
| 「채널 인기 전체」 탭 | **제거됨** (§11-9) | 없음 |
|
||||
|
||||
### 11-4. 근거 수집기 (§7-3) · 커밋 c92ecc8
|
||||
- `supporters/scripts/collect_evidence.mjs --clinic <id> --url <홈> [--posts src/content/posts]`. Node 22 + node-html-parser, Firecrawl·요약 도구 없이 curl+파서만(§3-10).
|
||||
- 발견: 홈 전체 앵커(메뉴 제거 전) + `page` 사이트맵만(글·영상 post 사이트맵 제외). robots.txt Disallow 존중, 요청 간 400ms.
|
||||
- 분류: 경로 세그먼트 우선, 단어 경계(`relocation`이 `location`에, `contour`가 `tour`에 걸리던 오분류 수정). 후보는 `수술 시간|마취|회복|실밥…` 힌트로 procedure/other.
|
||||
- 본문: 컨테이너 후보(`main`, `#ajax-content-wrap`, `#content`…) 중 200자 넘는 첫 것 → 페이지 30% 이상에 반복되는 줄(메뉴·푸터) 제거 → 헤딩·문단·목록·표·이미지·링크.
|
||||
- 산출: `index.json`(유형·글자·표·이미지·플래그), `pages/<slug>.json`, `doctors.json`, `facts.draft.json`(전화·주소·사업자번호·대표·진료시간 후보 + 출처 URL), `home_text.txt`(전 페이지 본문 공백 제거).
|
||||
- 뷰성형외과 결과: 222 링크 → 223 페이지(정보형 유형 18 + 의료진 상세 27 + 시술 108 + 기타 70). 글에 인용된 병원 URL 16/16 커버(`/face/main/`은 301 → `/facial-contour/main/`). 의료진 27명 이름·직함 확인, **약력은 27명 전원 이미지 글자라 "확인 대기"** (authors.json의 약력은 사람이 이미지를 읽어 넣은 값이다. 자동화는 이 값을 만들 수 없다 → §6 입력 항목).
|
||||
- 게이트 연결: `node scripts/check.mjs --home-text=../evidence/viewclinic/home_text.txt` → 18편이 전체 사이트 29만 자 기준 40자 연속 일치 0건.
|
||||
- 한계: 홈 본문은 이미지·슬라이더라 0자(사실 후보는 전체 body에서 뽑아 정상). 주의사항 페이지는 탭 구조라 표가 0개이고 부위별 문장은 문단으로만 들어온다. 표 형태로 재구성하는 것은 글 생성기의 일.
|
||||
|
||||
### 11-5. 글 생성기 (§7-4) · 2026-09-07 세션 3
|
||||
- `supporters/scripts/generate_posts.mjs` + `scripts/gen/evidence.mjs`(§4 순서 컨텍스트) · `gen/prompt.mjs`(규칙·스키마·근거 대조 프롬프트) · `gen/serialize.mjs`(js-yaml 직렬화 + 빌드 없는 소스 게이트). 입력 형식은 `supporters/briefs/README.md`.
|
||||
- 흐름: brief → 컨텍스트(병원 페이지 → 쇼츠 정리 답/자막 → 기사 제목 → 규제 원문 → 팩트 시트 → 의료진 목록) → GPT-4.1 구조화 출력(요약 3·본문·FAQ·태그·pending·usedRefs) → 후처리(근거 태그·본문 FAQ 제거) → 검사 3종 → 수정 최대 2회 → md + report.
|
||||
- 검사 3종: (1) 소스 게이트 = rules.mjs 전부 + 금칙어 + 홈페이지 40자 중복 + **COMPARISON_CLAIM 신설**(타 병원·업계 평균 비교 수치. 안전 페이지의 "병원급 평균 23.1% vs 43%"를 모델이 실제로 옮겨 써서 추가) (2) 수치 대조 = 글의 숫자+단위 토큰이 근거 텍스트에 그대로 있어야 함(NUMBER_NOT_IN_EVIDENCE, 1차 출력에서 18편 중 19건 검출) (3) 모델 근거 대조 = unsupported/distorted 목록, 항목별 supported 판정으로 오탐("근거에 명시되어 있음"이라며 올리는 것) 제거.
|
||||
- sources·videos·검토자 후보는 brief에서 결정론적으로 조립한다. 모델은 사실의 출처를 고르지 않는다. reviewStatus 는 항상 pending, reviewedAt 은 쓰지 않는다(§3-7).
|
||||
- 정답지 18편 회귀(같은 문항·같은 근거 URL): **18/18 게이트 오류 0**(1차 실행 12편 통과 + 검사 오탐 수정 후 6편 재실행 통과). 편당 약 $0.09(호출 2~6회, 목록가 기준), 22초. 리포트 `docs/reports/viewclinic/04_supporters/Viewclinic_Supporters_Generator_Regression_2026-09-07_run1.md` · `…_run2_retry6.md`, 샘플 3편 `generated_samples/`.
|
||||
- 새 문항 검증: `briefs/viewclinic/eye-double-eyelid-methods.json`(쌍꺼풀 자연유착·절개·콤비매몰 비교, D2-02/03/06) → 수정 호출 없이 통과, $0.10.
|
||||
- 정답지와의 판단 차이(사람 확인 항목): 모델은 애프터케어의 "5~7일 후 일상생활 가능"을 출근 시점으로 읽고, 사람 편집자는 "출근 기준은 공개 자료에 없음"으로 썼다. 근거에는 있으므로 게이트는 통과한다. 이런 해석 차이는 검토 원장 게이트에서 잡는다.
|
||||
- 한계: 본문이 이미지 글자인 페이지(코 메인·가슴재수술·진료분야)는 근거 0자로 들어가 pending 에 쌓인다. 자막 없는 롱폼은 인용하지 않으므로 그 글은 정답지보다 얇다(보형물 표면 글 650~900자). 자막 파이프라인(v1 §6)이 붙으면 `evidence.transcripts` 로 넣는다.
|
||||
- 미결: 단가 상한값(§9-5). 실측 편당 $0.05~0.19, 첫 배치 10편이면 약 $1.
|
||||
|
||||
### 11-6. 승인 UI · 입력 반영 (§7-5, §12-2 코드 반영) · 2026-09-07 세션 3
|
||||
- 테이블: `supabase/migrations/20260907_supporter_builds.sql` — `supporter_builds`(빌드 실행 기록·단계·글 목록·미리보기 URL, 워커가 service_role 로 갱신) · `supporter_inputs`(§6 9항목 + 글별 post_review/post_approval, 익명 insert/select). **미적용** (discovery_leads 와 함께 `supabase db push`).
|
||||
- 폼: `src/components/discovery/ClinicInputsPanel.tsx` → `/discovery/:id` 5절과 6절 사이. 빌드 상태·미리보기 링크, 9항목 입력(입력자 기록), 의료진 ID 표, 글별 검토(검토자 ID·검토일)와 게시 승인(개설자 이름·직함·승인일). 검토 전 승인 버튼은 비활성. tsc 통과.
|
||||
- 반영: `supporters/scripts/apply_inputs.mjs --inputs file | --from-supabase`. 같은 (key, post_id) 최신 행만. author/editor → authors·corrections, sponsorship → site.sponsorNotice, specialty_doctors → physicians.specialty, domain → site, 자유 답변 4종 → `src/data/clinicAnswers.json`(생성기 근거 [A], `--site` 옵션으로 워커 작업 폴더에서도 동작), post_review → reviewer·reviewStatus=reviewed·reviewedAt·history, post_approval → approvedBy·approvedAt(검토 전이면 보류). 샘플 `supporters/briefs/viewclinic/inputs.sample.json` dry-run 9건 반영 확인.
|
||||
- §12-2 코드 반영: (1) `DisclosureTop.astro` + 게이트 `DISCLOSURE_TOP_MISSING`(site.sponsorNotice 비면 warn, 채우면 error). 지금은 비어 있어 룩앤필 변화 없음. (2) frontmatter `approvedBy/approvedAt`, `lib.isPublishable`: PUBLIC_INDEXABLE=true 빌드는 승인 글만 낸다(글·목록·사이트맵·작성자 페이지). 검증: 색인 허용 빌드 → 승인 0편이라 글 0개, 게이트 오류 0. 게이트 `APPROVED_WITHOUT_BY/DATE`·`APPROVED_BEFORE_REVIEW`·`UNAPPROVED_IN_INDEXABLE_BUILD`. (3) `PRESS_VOICE` 경고를 rules.mjs 로. 규제 주장 검사에서 「게시 승인」은 제외.
|
||||
- 랜딩 카피: SampleReport 의 "SAMPLE REPORT · 뷰성형외과 실측" → "SAMPLE REPORT · 실제 사례"(haewon 지시). 두 워크트리(이 브랜치, feature/discovery-url-cta)에 적용, 프로덕션 배포 완료(§11-8).
|
||||
|
||||
### 11-7. 워커 (§7-6) · 2026-09-07 세션 3
|
||||
- `workers/supporters-build/run.mjs --clinic <id> --url <홈> [--inputs|--from-supabase] [--brief] [--max-posts] [--max-cost-usd] [--deploy] [--build-id]`. 실행 환경 독립(로컬·GitHub Actions·Trigger.dev 태스크 어디서든 같은 명령). 단계 evidence → data → inputs → briefs → generate → build → deploy → done, 단계마다 `<work>/status.json` + (build-id 있으면) supporter_builds PATCH.
|
||||
- data 단계: 템플릿 복제 + `__CLINIC_ID__` 치환 + facts.draft 첫 후보로 팩트 시트(상호·전화·주소·사업자번호·대표, checkedAt/nextCheck) + doctors.json 으로 physicians(이름·직함·URL, 약력은 빈 배열) + 작성자 "확인 대기".
|
||||
- briefs 단계: `supporters/scripts/default_briefs.mjs` 가 근거 유형(about·direction·safety·precautions·aftercare·checkup)이 실제로 있는 문항만 골라 첫 배치 최대 6편(A 병원 소개, B 방문, E 안전, D 주의사항, C 상담 질문, D 애프터케어). 비교 수치·가격·전후·경험담은 avoid 에 고정.
|
||||
- **뷰성형외과 E2E 실측**: URL 하나 → 223페이지 수집 → 의료진 27명 → brief 5편(병원 소개는 about 페이지 본문 0자라 제외) → 5/5편 게이트 통과(수정 호출 0, $0.29, 편당 15초) → npm ci·astro build·check.mjs 오류 0(경고 2) → dist 생성. 사람 개입 0. 배포는 `--deploy` 를 주지 않아 건너뜀. 리포트 `docs/reports/viewclinic/04_supporters/Viewclinic_Supporters_Worker_E2E_2026-09-07.md`, brief `generated_samples/default_briefs_viewclinic.json`.
|
||||
- deploy 단계(미실행): `vercel link --yes --project supporters-<id>` + `vercel deploy --prod --yes`. 첫 실행은 Vercel 프로젝트를 새로 만드는 외부 행위라 haewon 확인 후. 트리거(discovery_leads insert → Database Webhook → 워커)와 Trigger.dev 래핑은 §12-3 확인 후.
|
||||
- 남은 것: discover-channels(유튜브·인스타 핸들)·유튜브 집계·뉴스룸(build_news.py)·감사 재실행(Phase 9)은 워커에 아직 안 붙었다. 이 세 개는 뷰성형외과 샘플에서 사람이 돌린 스크립트가 있으므로 다음 세션에 단계로 추가한다.
|
||||
|
||||
### 11-8. 실행 (haewon "다 실행해줘") · 2026-09-07 세션 3
|
||||
- Supabase: `supporter_builds`·`supporter_inputs` 마이그레이션 적용(Management API `/database/query`, CLI 키체인 토큰 사용. `discovery_leads` 는 이미 적용돼 있었음). 테이블 3개 확인.
|
||||
- 서포터즈 미리보기: 워커 deploy 단계 실행 → Vercel 프로젝트 `supporters-viewclinic` 생성, **https://supporters-viewclinic.vercel.app** (X-Robots-Tag noindex, robots Disallow 확인). supporter_builds 행 05ae08e3… status=preview, preview_url 기록.
|
||||
- 랜딩 앱: 브랜치 `feature/supporters-autobuild` 를 origin 에 푸시하고 `vercel --prod` 로 infinith-demo 프로덕션 배포. 번들에 "SAMPLE REPORT · 실제 사례", "병원 확인 항목" 확인. /discovery/viewclinic 하단에 병원 확인 항목 패널이 미리보기 링크와 함께 뜬다.
|
||||
- 아직 자동이 아닌 것: discovery_leads insert → 워커 실행 트리거. 지금은 `node workers/supporters-build/run.mjs --clinic <id> --url <홈> --deploy --build-id <id>` 를 사람이 돌린다. 병원 입력 후 재빌드도 `--from data --from-supabase` 로 수동.
|
||||
|
||||
### 11-9. haewon 결정 반영과 두 번째 병원 완주 (§7-7) · 2026-09-07 세션 4
|
||||
- 결정(§9): 9-1 「채널 인기 전체」 탭 **제거**(videos.astro, check.mjs 경고 삭제). 9-4 두 번째 병원 **원진성형외과**(https://www.k-wonjin.co.kr). 9-5 단가 상한 **실행당 $10**(generate_posts·run.mjs 기본값). 9-6 워커 위치는 Claude 추천 → `workers/supporters-build/README.md`: 파일럿은 haewon Mac 의 launchd 폴러(`launchd/com.infinith.supporters-poll.plist`, 미설치), 정착은 Trigger.dev(가입·API 키만 haewon).
|
||||
- 큐 연결: DiscoveryLeadModal 이 `discovery_leads` 와 함께 `supporter_builds`(queued, clinic_id 는 호스트 첫 세그먼트) 행을 만든다. 마이그레이션 `20260907_supporter_builds_queue.sql`(clinic_name 열, anon queued insert 정책) 적용됨. `workers/supporters-build/poll.mjs` 가 queued 행을 조건부 갱신으로 집어 `run.mjs` 실행. 리포트 없는 병원용 `/supporters/:id` 페이지(ClinicInputsPanel 단독). 랜딩 프로덕션 재배포 완료.
|
||||
- **원진성형외과 E2E**: 3번 실패하고 4번째에 완주. 실패 원인과 수정 (1) 비브라우저 UA 403 → 브라우저 UA + 식별 문자열 (2) 경로 끝 슬래시 강제 → 404. 슬래시 미강제 + 404 시 반대 형태 재시도(뷰성형외과 회귀 223페이지 동일) (3) 기획 목록이 뷰 전용 페이지 유형에만 의존 → `default_briefs.mjs` 2층 구조(전용 페이지 문항 + 시술 영역·소개·예약 기반 문항, 조사 은/는 처리) (4) 인터넷 끊김(fetch failed) → `--from generate` 재개.
|
||||
- 결과: 216페이지 · 의료진 17명 · 브리프 6편(병원 소개, 방문, 윤곽, 눈성형, 레이저안티에이징, 상담 질문) → **6/6편 게이트 통과**(수정 호출 3, 근거 플래그 2건은 사람 확인용) · $0.58(편당 $0.10) · 빌드·게이트 오류 0 · **https://supporters-wonjin.vercel.app**(noindex). 사람 개입 0. v1 §8 "두 번째 병원에서도 게이트 0오류로 완주" 충족.
|
||||
- 원진 글의 특징: 시술 페이지에 없는 칸은 표에 "확인"으로 남고(눈성형 표의 쌍꺼풀·눈매교정 행 전부 확인), 근거가 있는 행(CFS 2시간·7일·3일, 오픈아이 40분·5~7일)만 값이 있다. 이것이 의도한 동작이다. 리포트 `docs/reports/viewclinic/04_supporters/Wonjin_Supporters_Worker_E2E_2026-09-07.md`.
|
||||
- 남은 것: 유튜브 핸들 발견·조회수 집계·뉴스룸·감사 재실행을 워커 단계로 추가. 원진은 유튜브 채널 3개가 registry 에 있으므로 첫 후보. launchd 폴러 설치는 haewon 확인 후.
|
||||
|
||||
### 11-10. 유튜브·로고 단계 (v1 §3 Phase 2 일부) · 2026-09-08
|
||||
- haewon 지적: 원진 글 카드에 검은 도형(Astro 기본 파비콘)이 보임. 원인은 워커가 이미지·영상 자산을 아직 안 붙이고 카드가 파비콘으로 대체하던 것.
|
||||
- `supporters/scripts/collect_youtube.mjs --channel <UC…|@handle|URL>`: YouTube Data API 로 uploads 전량 → videos.list 배치 → 쇼츠 판별(/shorts/{id} HEAD 200, 상위 120편, 제목 #shorts 포함 시 쇼츠) → viewclinic 과 같은 videos.json(channel·top·topLong·topShorts·shortsInfo·all). 정보형 판정 = NOT_INFO(후기·전후·토크·브이로그·브랜드 필름·연예인·트렌드·변화 등) + 게이트 BANNED_VIDEO_TITLE + checkBannedBody(제목). 설명형 롱폼은 90초 이상. `all[].info` 로 판정을 남긴다. shortsInfo.answer 는 비워 둔다(사람이 채움).
|
||||
- 워커 `youtube` 단계(data 다음): `--logo <svg|png>` → public/img/logo.*, site.logo/logoFoot, 파비콘(SVG 는 64×64 흰 배경에 중앙 배치한 favicon.svg). `--youtube <채널>` 없으면 근거 링크에서 자동 발견. site.homeVideos(topLong 3편), factSheet.surfaces.youtube 채움. 오늘 집계본이 있으면 재사용.
|
||||
- 글↔영상: `default_briefs.mjs` 가 정보형 롱폼 중 제목이 글 주제 키워드(시술 영역 라벨·안전·상담 등)와 겹치는 것 최대 3편을 brief.videos 로. 병원 소개·방문 안내는 영상을 붙이지 않는다. 워커 generate 단계는 기존 글이 있으면 재생성하지 않고 brief 의 영상만 frontmatter 에 덮어쓴다(`--regenerate` 로 재생성). data 단계 재실행 시 글·videos.json 보존.
|
||||
- 카드 대체: PostCard 는 썸네일 → 히어로 → 첫 영상 → 건물 사진 → 병원 로고(`.thumb-logo`, contain) 순. 프레임워크 파비콘은 쓰지 않는다.
|
||||
- 게이트가 잡은 것: 설명 영상 제목 "부작용은 없을까?" 가 BANNED_PHRASE 로 홈·영상 페이지에서 차단 → 수집 단계에서 같은 규칙으로 거르게 수정.
|
||||
- 원진 결과: 채널 736편 · 설명형 롱폼 10 · 쇼츠 10 · 글 2편에 영상 3편씩(눈성형, 상담 질문), 나머지 4편은 로고 카드 · 헤더 로고·파비콘 = 원진 로고(`supporters/briefs/wonjin/logo-horizontal.svg`). https://supporters-wonjin.vercel.app 재배포. 뷰성형외과 회귀: 게이트 16/16, 빌드 오류 0.
|
||||
- 남은 것: 홈페이지 이미지(전후 제외) 히어로·갤러리, 뉴스룸, 감사 재실행. 쇼츠 정리 답은 사람 입력.
|
||||
|
||||
### 11-11. 홈페이지 이미지 단계 (법 기준) · 2026-09-08
|
||||
- haewon 지시: 전후 사진을 거르는 규칙은 의료법 등 관련 법규를 기준으로, 병원은 파트너·고객이므로 법에 걸리지 않는 범위에서 진행.
|
||||
- 규칙 문서 `docs/INFINITH_Supporters_Image_Rules.md`: 의료법 56조 2항(2호 치료경험담, 4호 비교, 6호 수술 장면 노출, 7호 부작용 누락, 8호 과장, 14호 인증·보증), 의료광고 심의 기준의 전후 사진 조건(동일 조건·무보정·부작용 병기·환자 동의), 개인정보보호법·초상권을 이미지 유형별 규칙으로 대응. 자동 수집으로 조건을 확인할 수 없는 것(전후·사례·후기·모델·환자·비교·수상·인증·수술 장면·신체 실사)은 제외, 병원 서면 확인 후 사람이 넣는다. 법률 자문 아님, 변호사 확인 권고.
|
||||
- `supporters/scripts/collect_images.mjs` + `img_process.py`(PIL): 근거 페이지 이미지 → 규칙 분류(의료진·시설·시술 도해·장비) → 다운로드 → 폭·비율·애니메이션·**글자 이미지 검사(흰 배경 평탄화 후 흰 픽셀 80% 이상 제외)** → 1600px JPEG → `public/img/{doctors,clinic,procedure,equipment}` + `src/data/images.json`(alt·캡션 "출처: 홈페이지 {페이지} ({캡처일})"·원본 URL). 신체 부위(가슴·힙·바디·지방) 페이지 실사는 파일명에 illu·step·diagram·circle 이 있을 때만.
|
||||
- 워커 `images` 단계(youtube 다음): site.heroImage(가로 시설 사진)·buildingImage·insideGallery·clinicGallery·imageCredit, physicians[].image. `default_briefs.mjs` 가 글별 히어로 1 + 갤러리 최대 3(근거 페이지에서 나온 도해·장비, 병원 소개는 시설 사진). generate 단계의 기존 글 갱신이 hero·gallery·thumbnail 도 brief 기준으로 덮어쓴다.
|
||||
- 원진 결과: 후보 427 → 저장 66장(의료진 17, 시설 9, 시술 40). 6편 전부 히어로 있음, 눈성형·상담 질문 글 영상 3편, 원장 17명 사진. 눈으로 확인한 것: 상담 장면·수술실 모니터링·코 수술 도해는 적합, 흰 배경 마케팅 문구 이미지(힙업 카피)는 1차에서 통과했다가 평탄화 순서 수정 후 제외. https://supporters-wonjin.vercel.app 재배포.
|
||||
- 한계: 이미지 내용을 사람이 전수 확인하지는 않았다(파일명·alt·흰 배경 휴리스틱). 얼굴·신체 검출은 없으므로 병원 송부 전 사람이 갤러리를 한 번 훑는다. 뉴스룸·감사 재실행은 아직.
|
||||
|
||||
### 11-12. 채널 발견 + 엔티티 검증 (v1 §3 Phase 0 대체) · 2026-09-08
|
||||
- haewon 요청: 병원 이름이나 URL만 들어오면 웹 검색으로 유튜브·소셜을 찾고, 맞는지 엔티티를 확인하고, 내용을 끌어와 사이트에 반영.
|
||||
- `supporters/scripts/discover_channels.mjs --clinic <id> (--name | --url) [--evidence] [--out]`. datacrawling 스킬 §1~§2 를 코드로 옮겼다. 다섯 갈래: ① 사이트 전수(홈·법무·소개·연락처 HTML, JSON-LD sameAs, og/twitter 메타, 근거 수집 링크 전체) ② 웹검색(Firecrawl search 9쿼리 + 네이버 webkr·blog + YouTube API 채널 검색) ③ 핸들 변형(도메인 base × 구분자 × 접미사, 존재 확인만) ④ 레지스트리(`data/clinic_social_registry.json`, 73곳) ⑤ 플랫폼 검색(YouTube API). 이름만 주면 "공식 홈페이지" 검색으로 URL 을 먼저 찾는다.
|
||||
- 판정(3-state 이상): 홈페이지 역링크(경로 경계까지 일치, +3) · 프로필 제목에 상호(+2, 강남언니·바비톡·플레이스는 +3) · 프로필 설명에 홈페이지 도메인/전화(+2) · 레지스트리(+2) · 검색 스니펫(+1). 3 이상 CONFIRMED, 1~2 CANDIDATE(사람 확인), 404 HANDLE_DEAD, 차단 BLOCKED, 후보 0 은 다섯 갈래 전부 돌았을 때만 NOT_FOUND 아니면 UNVERIFIED. 유튜브는 채널 id 로 병합.
|
||||
- 함정: 역링크를 부분 문자열로 보면 `instagram.com/wonjin` 이 `wonjin_official` 안에서 잡혀 변형 핸들이 전부 CONFIRMED 된다 → 경로 경계 정규식. 전화는 하이픈 형식만(사업자번호 오탐).
|
||||
- 워커 `discover` 단계(data 다음): channels.json → 사이트 데이터, CONFIRMED 1순위를 factSheet.surfaces(유튜브·인스타·페북·블로그·틱톡·카카오·강남언니·플레이스·바비톡)에 넣어 MedicalClinic sameAs·푸터·방문 페이지에 반영. youtube 단계는 CONFIRMED 유튜브 중 구독자 최대를 자동 선택(`--youtube` 우선). status.report.channels 에 인벤토리·확정·후보 저장 → `/discovery/:id`·`/supporters/:id` 패널 "발견한 채널"(확인됨/확인 필요 배지)과 리포트 표.
|
||||
- 원진(이름만 입력) 결과: 홈페이지 k-wonjin.co.kr 추정 → 유튜브 2(WJ원진성형외과 28,300 · @wjwonjin 14,700), 인스타 3(wonjin_official·wonjin_ps·wj_cosmetic), 페북 KwonjinPS, 블로그 popokpop, 틱톡 wonjin_official, 카카오, 강남언니 2500, 바비톡 3143 CONFIRMED · 네이버 플레이스 NOT_FOUND(사이트·검색에 링크 없음, 플레이스 내부 검색은 미실행이라 실제로는 UNVERIFIED 에 가깝다) · 후보 12(영문 채널·유세윤 광고 채널·wj_plasticsurgery 등). 라이브 sameAs 4개 확인. 뷰성형외과 회귀: 유튜브 2·인스타 4·페북·블로그·카카오 CONFIRMED.
|
||||
- 결정(haewon 2026-09-08): 유튜브 기준 채널은 **@wjwonjin (UC-EBM4e0VST1W_PQ0NzFMQg, 736편)**. `supporters/briefs/wonjin/clinic.json` 에 고정(youtube·logo). 워커 우선순위 = clinic.json 고정값 > --youtube > 발견 단계 CONFIRMED 중 영상 수 최대. @wj2541(62편, 브랜드 필름)은 쓰지 않는다.
|
||||
|
||||
---
|
||||
|
||||
## 12. haewon 결정 반영과 제안 (2026-09-07 세션 2)
|
||||
|
||||
### 12-1. 결정된 것
|
||||
| §9 항목 | 결정 |
|
||||
|---|---|
|
||||
| 9-2 입력 폼 위치 | **INFINITH 랜딩**. `/discovery/:id` 리포트 안에 "병원 확인 항목" 폼 |
|
||||
| 검토 흐름 | **빌드를 다 한 뒤 클라이언트(병원)에 송부**. 자동 빌드는 승인 없이 끝까지 돌고, 미리보기(noindex)를 보낸 뒤 병원이 검토·승인 입력 |
|
||||
| 9-5 생성 모델 | **GPT-4 계열** (`OPENAI_API_KEY` 있음). 단가 상한은 첫 배치 실측 후 정함 |
|
||||
| 9-3 법적 주체 | 리서치 후 제안 → §12-2 |
|
||||
| 9-6 워커·배포 | 추천 → §12-3 |
|
||||
| 9-1 탭 제거 · 9-4 원진성형외과 · 9-5 $10 · 9-6 워커 위치(README 추천) | **결정됨 2026-09-07** (§11-9) |
|
||||
|
||||
### 12-2. 검토 승인의 법적 책임 주체 · 제안
|
||||
근거 조문을 원문으로 확인한 결과다(법률 자문이 아니며, 계약 전 변호사 확인을 권한다).
|
||||
|
||||
**사실 1. 의료광고는 의료인등만 할 수 있다.** 의료법 제56조 제1항: "의료기관 개설자, 의료기관의 장 또는 의료인(의료인등)이 아닌 자는 의료에 관한 광고를 하지 못한다." 서포터즈 사이트는 병원의 지원(경제적 이해관계)을 받아 의료행위·의료기관 정보를 알리므로 의료광고로 볼 가능성이 높다. 따라서 **광고의 주체(법적 책임 주체)는 의료기관 개설자(뷰성형외과 대표원장)이고, AI오투오는 제작·운영 대행**이다. AI오투오가 자기 명의로 의료광고 주체가 되는 구조는 성립하지 않는다.
|
||||
|
||||
**사실 2. 금지 유형이 사이트 규칙과 일치한다.** 제56조 제2항: 2호 치료경험담, 4호 다른 의료인과의 비교, 7호 심각한 부작용 등 중요 정보 누락, 8호 객관적 사실 과장, 14호 인증·추천 표현. 이미 §3-8 규칙과 게이트가 막고 있다. 새로 볼 것은 **10호 "기사 또는 전문가의 의견 형태로 표현되는 광고"**다. 서포터즈 글이 기사형·전문가 의견형으로 읽히면 이 호에 걸릴 수 있으므로, 광고(병원 지원)임을 숨기지 않는 표시가 방어선이다.
|
||||
|
||||
**사실 3. 사전심의는 매체 기준이다.** 제57조 제1항: 신문·인터넷신문, 옥외광고물, 전광판, 대통령령이 정하는 인터넷 매체(앱 포함), 그 밖의 광고매체. 시행령 기준은 전년도 말 직전 3개월 일일 평균 이용자 10만 명 이상인 인터넷 매체·SNS. **자체 도메인의 신규 서포터즈 사이트는 이 기준에 들지 않아 법정 사전심의 의무는 없다.** 그러나 2트랙의 **네이버 블로그 재작성본은 10만 명 이상 매체라 게시물별 사전심의 대상**이다. 심의 신청은 의료기관 명의로 한다.
|
||||
|
||||
**사실 4. 경제적 이해관계 표시.** 추천·보증 심사지침(2024-12-01 시행 개정): 금전 지원·할인·협찬을 소비자가 쉽게 알아볼 수 있게, 게시물 제목 또는 첫 부분에, 같은 언어로, 조건부 표현 없이 표시. 뷰성형외과는 2026-07-12 공정위로부터 수술비 할인 대가를 숨긴 후기 광고로 시정명령·공표명령을 받았다. 같은 유형의 위반이 재발하면 가중된다.
|
||||
|
||||
**제안: 3층 책임 구조**
|
||||
| 층 | 책임 주체 | 화면·기록 |
|
||||
|---|---|---|
|
||||
| 의료 내용 | 의료기관 개설자(대표원장). 글별 의학 검토는 담당 원장 | 글 하단 "의학 검토 {원장} ({일}) · 게시 승인 {개설자} ({일})". 승인 기록(승인자·직함·일시·글 버전 해시)을 DB에 남긴다. **자필 서명은 불필요**하고 승인 기록이 근거가 된다. 계약서에 "의료광고 주체는 의료기관 개설자, AI오투오는 제작·운영 대행, 법령·심의 준수 확인은 병원" 조항 |
|
||||
| 편집·사실 확인·정정 | AI오투오 편집 책임자(안성민) | 현행 ReviewBox·/corrections 유지 |
|
||||
| 경제적 이해관계 표시 | 병원(광고주)과 AI오투오(매체 운영) 공동 | **글 첫 부분에 고지 추가**(현행은 하단만). 문구 예: "이 글은 뷰성형외과의 지원(광고비)을 받아 뷰 서포터즈가 작성했습니다." 홈·소개에도 같은 문장 |
|
||||
|
||||
**검토 흐름(haewon 결정 반영)**: 자동 빌드 완주 → noindex 미리보기 링크 송부 → 병원이 §6 입력 + 글별 검토자·검토일 + 개설자 게시 승인 → 승인된 글만 색인 허용 빌드(`PUBLIC_INDEXABLE=true`). 승인 전 글은 미리보기에서 "검토 대기"로만 보인다. 네이버 트랙은 여기에 의료광고심의위원회 심의를 한 단계 더 둔다.
|
||||
|
||||
**코드로 옮길 것**: (1) 고지 상단 배치를 §3-8 규칙에 추가하고 게이트에 "글 첫 화면에 지원 고지 문장 존재" 검사 추가. (2) frontmatter에 `approvedBy`·`approvedAt`(개설자 승인) 필드 추가, 승인 없으면 색인 허용 빌드에서 제외. (3) 56조 2항 10호 대응으로 "기자·전문가 화법" 금칙(「본지」「기자」「전문가에 따르면」) 추가.
|
||||
|
||||
### 12-3. 워커 위치·배포 방식 · 추천
|
||||
**부하**: 근거 수집 3분(220페이지) + 유튜브 집계 2분 + 뉴스 1분 + GPT-4 글 10~20편 5~20분 + astro build·게이트 30초 + Vercel 배포 1분 = **10~30분/병원**. Supabase Edge Function(150초)은 불가. Vercel Functions는 Hobby 300초 상한, Pro 800초(1,800초 베타).
|
||||
|
||||
| 안 | 장점 | 단점 |
|
||||
|---|---|---|
|
||||
| A. Vercel Functions(Pro) + 단계 분할 + Vercel Cron 폴링 | 인프라 추가 없음 | 단계마다 800초 안에 끝내야 하고 상태 머신·재시도를 직접 만든다. 함수 안에서 `astro build`·의존성 설치가 부적합 |
|
||||
| B. Inngest (무료 5만 run/월, 스텝 기반) | 재시도·관측 내장, Vercel 연동 | 각 스텝이 Vercel 함수로 실행되므로 A와 같은 시간·환경 제약 |
|
||||
| **C. Trigger.dev v3 (추천)** | 전용 컴퓨트라 타임아웃 없음, Node 22에서 `npm ci`·`astro build`·Vercel API 호출을 한 태스크에서 순차 실행, 로컬 개발 도구 좋음, 오픈소스 셀프호스트 가능. 무료 1,500 run/월(월 빌드 수십 건이면 충분), 유료 $10/월~ | 서비스 하나 추가. 태스크 안에서 템플릿 의존성 설치가 되는지 첫 구현에서 확인 |
|
||||
| D. 자체 Node 워커(VPS) + Supabase 큐 폴링 | 완전 통제 | 서버 운영·모니터링 부담. 빌드 수가 적은 지금 단계엔 과함 |
|
||||
|
||||
**추천 구조**: Trigger.dev 태스크 `build-supporters(clinicId, url)` 하나가 9단계를 순서대로 실행하고, 단계마다 Supabase `supporter_builds`(id·단계·상태·로그·산출 경로·미리보기 URL)를 갱신한다. INFINITH 랜딩은 이 테이블을 폴링(또는 Supabase Realtime)해 진행 상태를 보여준다. 트리거는 `discovery_leads` insert → Supabase Database Webhook → Trigger.dev 이벤트.
|
||||
|
||||
**배포**: 병원당 Vercel 프로젝트 `supporters-<clinicId>` (Vercel Multi-Project Platforms 패턴). 워커가 `astro build` + 게이트를 통과한 `dist/`를 Vercel Deployments API로 **prebuilt 업로드**한다(Vercel 쪽 빌드 없음, 빠르고 실패 지점이 적다). 환경변수 `SITE_URL`·`PUBLIC_INDEXABLE=false`, `X-Robots-Tag: noindex`는 vercel.json에 이미 있다. 도메인 확정 시 alias만 추가. 단일 프로젝트에 `/<id>/` 경로로 묶는 방식은 canonical·robots·sitemap이 병원별로 분리되지 않아 비추천.
|
||||
|
||||
**입력 폼(INFINITH 랜딩)**: `/discovery/:id` 안 "병원 확인 항목" 탭 = §6 9항목 + 글별 검토자·검토일·개설자 승인. 저장 테이블 `supporter_inputs`(clinicId·항목·값·입력자·일시). 저장 시 데이터 파일(factSheet·authors·site·글 frontmatter)을 재생성하고 같은 태스크로 재빌드·재배포한다. 코드 수정 없이 데이터만으로 검토 완료·스키마가 켜지는 §10 완료 기준과 맞는다.
|
||||
|
||||
**GPT-4 단가**: 글 1편 = 근거 컨텍스트 입력 약 6~10K 토큰 + 출력 약 3K 토큰. 모델은 `gpt-4.1` 또는 `gpt-4o` 중 고르며, 첫 배치 10편을 돌려 편당 비용을 실측한 뒤 상한(예: 병원당 첫 배치 총액)을 정한다. 회귀 기준은 뷰성형외과 18편(같은 문항·같은 근거로 생성 → 게이트 통과 + 세 줄 요약·표·FAQ 규격).
|
||||
|
||||
@ -1,95 +0,0 @@
|
||||
# 다음 세션 프롬프트 v3 · "병원 이름 하나로 진단 리포트와 서포터즈 사이트까지"
|
||||
|
||||
작성 2026-09-08 · 작성자 Claude (haewon 세션 핸드오버) · v2(09-07)를 대체한다. v2 §3 판단 분해표·§4 근거 프로토콜·§5 신뢰 층·§6 병원 입력·§11 진행 기록·§12 결정은 그대로 유효하므로 그 부분은 v2를 참조한다. v1(09-04)은 자산 위치·함정 참조용.
|
||||
|
||||
---
|
||||
|
||||
## 0. 세션 시작 시 그대로 붙여 넣을 프롬프트
|
||||
|
||||
```
|
||||
INFINITH 저장소, 브랜치 feature/supporters-autobuild, 워크트리 ~/orca/workspaces/INFINITH/Productize 에서 "AI Discovery 자동 빌드"를 이어서 개발한다.
|
||||
지금 상태: 병원 이름 또는 URL 하나로 채널 발견·엔티티 검증 → 근거 수집 → 팩트 시트 → 유튜브·로고 → 이미지(의료법 기준) → 첫 배치 기획 → GPT-4.1 글 생성(게이트·수치 대조·근거 대조) → Astro 빌드·발행 게이트 → Vercel 미리보기(noindex)까지 워커 한 번으로 돈다.
|
||||
뷰성형외과(정답지 18편 회귀 18/18)와 원진성형외과(이름만 입력, 6/6편, https://supporters-wonjin.vercel.app)에서 사람 개입 0으로 완주했다. 진단 리포트는 /discovery/:id 와 docs/reports/<clinic>/01_readiness_report/*.html·pdf.
|
||||
|
||||
먼저 읽는다.
|
||||
1. docs/NEXT_SESSION_SUPPORTERS_AUTOBUILD_v3.md (이 문서. §2 남은 일과 §3 결정 대기)
|
||||
2. docs/NEXT_SESSION_SUPPORTERS_AUTOBUILD_v2.md §3·§4·§6·§11-5~§11-12 (규칙·근거 프로토콜·병원 입력·진행 기록)
|
||||
3. workers/supporters-build/README.md, supporters/briefs/README.md, docs/INFINITH_Supporters_Image_Rules.md
|
||||
4. docs/INFINITH_AI_Discovery_Retrospective_2026-09-08.md (회고. 왜 이렇게 만들었는지)
|
||||
|
||||
원칙: 근거 없는 사실은 생성하지 않는다("확인 대기"). 사람 게이트(의학 검토·게시 승인·채널 확인 필요·이미지 육안 확인)는 자동화하지 않는다. 고객 화면에 운영자 설명을 쓰지 않는다. 확정된 룩앤필은 텍스트만 바꾼다. 존댓말, 엠대시 금지, 은유 금지.
|
||||
결정이 필요한 것은 §3을 보고 haewon 에게 묻는다.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 1. 지금 되는 것 (한 줄씩)
|
||||
|
||||
| 단계 | 명령·파일 | 상태 |
|
||||
|---|---|---|
|
||||
| 채널 발견·엔티티 검증 | `supporters/scripts/discover_channels.mjs` (이름만으로 홈페이지도 찾음) | 원진 9플랫폼 중 8 CONFIRMED |
|
||||
| 근거 수집 | `supporters/scripts/collect_evidence.mjs` (브라우저 UA, 슬래시 미강제, 404 재시도) | 뷰 223p · 원진 216p |
|
||||
| 자동 채점·리포트 | `scripts/audit_aeo_geo.py` → `src/data/discovery_<id>.ts` → `/discovery/:id` · `scripts/build_discovery_report.ts` → HTML/PDF | 뷰 AEO 42/GEO 56 · 원진 AEO 15/GEO 45 |
|
||||
| 유튜브·로고 | `collect_youtube.mjs`, 워커 youtube 단계, 고정값 `supporters/briefs/<id>/clinic.json` | 원진 736편 집계, @wjwonjin 고정 |
|
||||
| 이미지 | `collect_images.mjs` + `img_process.py`, 규칙 `docs/INFINITH_Supporters_Image_Rules.md` | 원진 66장 |
|
||||
| 뉴스룸 | `collect_news.mjs`(네이버 뉴스 검색 다중 질의 + 언론보도 게시판 자동 발견) → 워커 news 단계, 게이트 `checkNewsItems` | 뷰 회귀 1,105건(수작업 1,096, 제목 일치 1,033, 종류 분포 기고 768/732 · 보도자료 101/107 · 언급 236/257) · 원진 1,049건(게시판 없음). 09-08 |
|
||||
| 기획·생성·게이트 | `default_briefs.mjs` → `generate_posts.mjs`(gen/) → `gate/rules.mjs`·`check.mjs`(테스트 16/16) | 편당 약 $0.09 |
|
||||
| 워커·큐·승인 UI | `workers/supporters-build/run.mjs`·`poll.mjs`, `supporter_builds`·`supporter_inputs`, `ClinicInputsPanel`(/discovery/:id·/supporters/:id) | 라이브. **폴러 설치됨(2026-09-08, Mac launchd 5분, 로그 `~/supporters-builds/poll.log`)**. Mac이 켜져 있어야 돈다 |
|
||||
| 입력 반영 | `apply_inputs.mjs` (검토·승인 → frontmatter, 자유 답변 → clinicAnswers 근거 [A]) | dry-run 검증 |
|
||||
| 미리보기 | supporters-viewclinic.vercel.app · supporters-wonjin.vercel.app (noindex) | 배포됨 |
|
||||
|
||||
## 2. 남은 일 (권장 순서)
|
||||
|
||||
1. ~~뉴스룸 단계~~ **완료(09-08)**: `collect_news.mjs` + 워커 `news` 단계(youtube 뒤, images 앞). 관련성 = 제목·요약에 병원 이름(v2 §8 반영). 제외 규칙은 게이트와 같은 정규식(`BANNED_NEWS_TITLE` 전후 사진·비교·후기·변신, `NEGATIVE_NEWS` 규제·사건, "무사고"는 통과). 뷰 수작업 news.json에서 렛미인 "변신" 기사 41건이 이 규칙으로 빠졌다(`excludedByGate`에 목록). 원진 홈페이지에는 언론 게시판이 없어 네이버만. `build_news.py`는 참조용으로 남김. **남은 판단(§3-6)**: "언론 언급"(병원 이름이 요약에만 나오는 기사, 원진 514건)을 뉴스룸에 보일지.
|
||||
2. **감사 재실행 단계(Phase 9)**: 색인 허용 빌드를 로컬에서 `audit_aeo_geo.py`로 다시 채점해 공식 vs 서포터즈 비교표를 리포트 카드에. `scripts/build_supporters_audit_xlsx.py` 로직 재사용.
|
||||
3. **수동 실측 항목 채우기(원진)**: 강남언니 2500·바비톡 3143·GBP·네이버 플레이스 NAP 대조(D1·D2·D4·D5). 실측하면 GEO 점수가 바뀐다. 리포트 재생성은 `npx esbuild scripts/build_discovery_report.ts ... && node report.mjs --id wonjin ...` + Chrome PDF (v2 §11 명령 참조).
|
||||
4. ~~워커 상시 실행~~ **완료(09-08)**: Mac launchd 폴러 설치(haewon 지시). 해제 `launchctl bootout gui/$(id -u)/com.infinith.supporters-poll`. Trigger.dev 이관은 월 수십 건이 되면. 실제 랜딩 신청 1건으로 큐 → 빌드 완주를 아직 못 봤다(큐가 비어 있었음). 첫 신청이 오면 `poll.log`를 본다.
|
||||
5. **병원 송부 전 사람 확인**: 원진 이미지 갤러리 육안 확인(얼굴·신체 검출 없음), "확인 필요" 채널 12건 판정, 쇼츠 정리 답(사람이 영상 보고 한 문단).
|
||||
6. **검토 파이프라인**: 병원이 `/supporters/wonjin` 폼에 입력 → `run.mjs --from data --from-supabase --deploy --build-id 87cb75a2-2037-4cbb-ae27-c06e39f022e8` 재빌드. 이 재빌드도 폴러가 자동으로 집게 하려면 supporter_inputs insert 트리거를 큐에 연결.
|
||||
7. **뷰성형외과 자동 빌드 미리보기**(supporters-viewclinic)를 수작업 샘플(view-supporters-sample) 수준으로: 뷰는 자막·쇼츠 답이 사람 작업이라 격차가 있다. 자막 파이프라인(v1 §6, IP 차단 대비)이 붙어야 좁혀진다.
|
||||
8. 세 번째 병원 회귀(`data/clinic_social_registry.json` 73곳 중 선택). 사이트마다 새 편차가 나온다는 전제로.
|
||||
|
||||
## 3. haewon 결정 대기
|
||||
|
||||
1. 원진 "확인 필요" 채널 12건 중 병원 것(영문 채널 Wonjin Plastic Surgery Korea, WONJIN_OFFICIAL 등)을 사이트에 연결할지.
|
||||
2. 지원 관계 고지 문구(site.sponsorNotice)를 켤지와 문안. 켜면 글 첫 부분에 노출되고 게이트가 필수 검사로 바뀐다(v2 §12-2).
|
||||
3. ~~워커 상시 실행 위치~~ 결정됨(09-08): 파일럿은 Mac 폴러. Trigger.dev는 정착 단계에.
|
||||
4. 원진에 미리보기·리포트 송부 시점과 병원 입력 담당자.
|
||||
5. 경영진 미결 그대로: 도메인(별도 vs 서브도메인), POC 범위·가격, 서포터즈 실존 개인 모집.
|
||||
6. 뉴스룸 "언론 언급" 종류(mention)를 보일지. 병원이 알린 기사·원장 기고만 남기면 원진은 1,049건 중 535건이 된다. 보이면 관계사(WJ코스메틱)·투자·대학 기사가 섞인다. 기본값은 지금처럼 보이되 뒤로 정렬.
|
||||
|
||||
## 4. 이번 세션들(09-07 세션 3 ~ 09-08)에서 확정한 것
|
||||
|
||||
- 채널 인기 전체 탭 제거 · 단가 상한 실행당 $10 · 두 번째 병원 원진 · 유튜브 기준 채널 @wjwonjin · 이미지는 의료법 기준 조건부 제외(전후·사례·모델·비교·수상·수술 장면·신체 실사) · 병원별 고정값 파일 `supporters/briefs/<id>/clinic.json`.
|
||||
- 랜딩 SampleReport 라벨 "SAMPLE REPORT · 실제 사례". URL 신청 → `supporter_builds` 큐. `/supporters/:id` 페이지.
|
||||
|
||||
## 5. 함정 (v1 §6·v2 §8에 추가)
|
||||
|
||||
- 사이트 편차 3종(원진): 비브라우저 UA 403, 경로 끝 슬래시 404, 주의사항·안전 페이지 없음. "한 병원에서 되는 코드"는 회귀 전까지 코드가 아니다.
|
||||
- 역링크 판정은 경로 경계까지. 부분 문자열이면 변형 핸들이 전부 확인됨으로 잡힌다.
|
||||
- 투명 PNG는 흰 배경으로 평탄화한 뒤에 글자 이미지 검사. 순서가 바뀌면 장식 오브젝트가 통과한다.
|
||||
- 모델 근거 대조기는 "근거에 있다"고 적으면서 플래그를 세운다. 항목별 supported 판정으로 거른다.
|
||||
- 게이트는 영상 제목도 본다. "부작용은 없을까?" 제목이 홈·영상 페이지에서 배포를 막았다. 수집 단계에서 같은 규칙으로 거른다.
|
||||
- 인터넷이 끊기면 생성 단계가 fetch failed 로 멈춘다. `--from generate` 로 재개.
|
||||
- JS 정규식 `\W`·`\w`·`\b`는 한글을 문자로 보지 않는다. Python 스크립트를 옮길 때 제목 정규화에 `\W`를 쓰면 한글 제목이 전부 같은 키로 뭉쳐 중복으로 버려진다(뉴스 수집기에서 445건 중 397건이 사라졌다). `[^\p{L}\p{N}]`에 `u` 플래그.
|
||||
- 워드프레스 게시판의 `article:published_time` 메타는 글이 아니라 게시판 페이지 생성일이다. 글 날짜는 "작성일" 셀에서 읽고 메타는 마지막 후보로.
|
||||
- 네이버 검색 API는 질의당 최근 1,000건, 초당 10건. 여러 질의(상호·상호 원장·상호+의료진·상호+주제어)로 넓히고 429는 물러났다 다시.
|
||||
- `node --experimental-strip-types` 는 확장자 없는 import 를 못 푼다. TS 스크립트는 esbuild 번들로 돌린다.
|
||||
|
||||
## 6. 자주 쓰는 명령
|
||||
|
||||
```
|
||||
# 새 병원 전체 (이름·URL·로고)
|
||||
node workers/supporters-build/run.mjs --clinic <id> --url <홈> --name <상호> --logo <svg> --deploy --build-id <supporter_builds.id>
|
||||
# 특정 단계부터 (evidence data discover youtube images inputs briefs generate build deploy)
|
||||
node workers/supporters-build/run.mjs --clinic <id> --url <홈> --work ~/supporters-builds/<id> --from <단계> --deploy --build-id <id>
|
||||
# 큐 비우기 / 상주
|
||||
node workers/supporters-build/poll.mjs [--loop 300]
|
||||
# 뉴스룸만 다시 (supporters/). 게시판은 자동 발견, 없으면 --board 또는 briefs/<id>/clinic.json newsBoard
|
||||
node scripts/collect_news.mjs --clinic <id> --url <홈> --name <상호> --site ~/supporters-builds/<id>/site
|
||||
# 게이트 테스트 · 뷰 정답지 회귀 · 템플릿 내보내기 (supporters/)
|
||||
npm run gate:test · npm run generate:regress · npm run export:template
|
||||
# 진단 리포트 HTML/PDF
|
||||
npx esbuild scripts/build_discovery_report.ts --bundle --platform=node --format=esm --outfile=/tmp/report.mjs && node /tmp/report.mjs --id <id> --out <html> --status ~/supporters-builds/<id>/status.json --site ~/supporters-builds/<id>/site --briefs ~/supporters-builds/<id>/briefs.json
|
||||
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --headless=new --no-pdf-header-footer --virtual-time-budget=8000 --print-to-pdf=<pdf> file://<html>
|
||||
```
|
||||
@ -1,318 +0,0 @@
|
||||
# 뷰성형외과 MOU · POC 범위 검토 보고서
|
||||
|
||||
작성 2026-09-15(화) · INFINITH AI Discovery · 대표 보고용 초안
|
||||
입력: 2026-09-15 회의록(황본부장·감본부장), Global Medical Hub PRD v0.2(2026-09-09), 뷰성형외과 POC 제안서(2026-09-01), 서포터즈 색인 보류 사유 보고(2026-09-14), 답변엔진 확장 검토 보고서(2026-09-15), 웹 조사 2건(2026-09-15)
|
||||
법 해석은 자문이 아니며, 계약·등록 전에 변호사 확인이 필요합니다.
|
||||
|
||||
---
|
||||
|
||||
## 0. 결론
|
||||
|
||||
1. **이번 MOU·POC 범위는 서포터즈 사이트와 AEO/GEO 진단·측정까지로 한정할 것을 권고합니다.** 글로벌 의료관광 플랫폼(다병원 허브, 상담·예약 중개, 숙박·관광 연계)은 이번 범위에서 명시적으로 제외합니다.
|
||||
2. **플랫폼 사업은 현재 조직(개발팀장 1명, 주니어 개발자 5명, 운영팀 없음)으로 가능하지 않다고 판단합니다.** 개발보다 운영과 수요 확보가 병목입니다.
|
||||
- 선두 사업자 강남언니는 2025년 광고선전비로 343억 원을 썼습니다.
|
||||
- 오프라인 통역센터와 8개 언어 통역을 운영하고 있습니다.
|
||||
- 병원 제휴를 수천 곳 단위로 확보했습니다.
|
||||
3. **PRD v0.2가 차별점으로 삼은 "기존 앱은 정보를 앱 안에 가둔다"는 전제는 일부만 맞습니다.**
|
||||
- 크리에이트립과 여신티켓은 AI 크롤러 허용과 llms.txt, 다국어 블로그를 이미 운영합니다.
|
||||
- 강남언니도 AI 검색봇은 허용하고, 후기 페이지만 막고 있습니다.
|
||||
4. **MOU의 목적은 사례 확보와 홍보입니다.** 비용을 받지 않는 POC라면 우리가 제공할 범위, 뷰성형외과가 제공할 것, 끝나는 날짜를 문서로 고정해야 합니다. 범위를 열어 둔 미팅은 무상 플랫폼 POC 요청으로 이어질 가능성이 높습니다.
|
||||
5. **미팅 전에 이 문서의 7장 안건표로 대표 결정을 먼저 받는 순서를 권고합니다.**
|
||||
|
||||
---
|
||||
|
||||
## 1. 회의록 검토
|
||||
|
||||
### 1-1. 회의에서 확인된 사항
|
||||
|
||||
| 구분 | 내용 | 담당 |
|
||||
|---|---|---|
|
||||
| 뷰성형외과 내부 진행 | 실무진이 원장에게 보고를 마쳤고, 진행 결정이 났습니다 | 뷰성형외과 |
|
||||
| 진행 순서 | MOU → 홍보 기사 → 프로젝트 런칭 | 양사 |
|
||||
| 순서에 대한 이견 | 대표는 MOU 우선을 원합니다. 뷰성형외과는 범위를 조금이라도 구체화한 뒤 MOU를 하자는 입장입니다 | 황본부장 조율 |
|
||||
| 뷰성형외과 쪽 키 | 지난 미팅은 마케팅 담당자 3명이 나왔고, 보고 이후 원장 쪽 방향(B2C 의료관광 포털)이 무게를 갖게 됐습니다 | |
|
||||
| 감본부장 입장 | 비용 없는 플랫폼 POC라면 미팅에 가지 않고, 문서로 범위를 먼저 정리합니다. 유료 논의라면 참석합니다 | 감본부장 |
|
||||
| 범위 문서 | 향후 1~2개월에 무엇을 할지 구체화한 문서를 대표에게 보고한 뒤, 그 문서로 뷰성형외과와 협의합니다 | 감본부장 |
|
||||
| 황본부장 입장 | 서포터즈는 기본 범위로 보고, 메디컬·버티컬 포털은 결정되지 않은 큰 그림입니다. 1단계에서 큰 그림을 그릴 필요는 없다는 데 동의했습니다 | 황본부장 |
|
||||
| 배포 현황 | webforai.kr 랜딩과 서포터즈 3곳(서브도메인)을 배포했고, 구글·네이버 서치콘솔에 등록했습니다. 색인은 보류 중입니다 | 감본부장 |
|
||||
| 자동화 수준 | 뷰성형외과 품질을 100으로 보면, 다른 병원은 URL만으로 60~70% 수준입니다. 홈페이지 콘텐츠가 적은 병원은 결과가 부실합니다 | 감본부장, 금요일(9/18) 연구소 회의에서 시연 |
|
||||
| 공유 | 사이트 URL을 management 방에 공유합니다 | 감본부장 |
|
||||
|
||||
### 1-2. 문서에 옮기기 전에 바로잡을 발언
|
||||
|
||||
| 회의 발언 | 확인 결과 | 문서에 쓸 표현 |
|
||||
|---|---|---|
|
||||
| "모델 2개. 클로드·제미나이·구글 AI 오버뷰를 추가하면 한 번에 몇천 원이 몇만 원 단위로 오른다" | 비용 방향은 맞습니다. 120문항 기준 추정치(후처리 포함, 중앙값)는 아래와 같습니다. 그런데 **비용만의 문제가 아닙니다.** Gemini 검색 그라운딩 약관은 결과의 분석·자동 수집을 금지합니다. Google AI Overview는 공식 API가 없어 제3자 수집 방식입니다 | "현재 2개 엔진. Claude는 추가 가능하고, Gemini·AI Overview는 약관·수집 원칙 확인이 먼저입니다" |
|
||||
| "의료관광법상 기관 검증을 통하지 않은 실물 인물 콘텐츠를 배포하지 못해 색인을 안 했다" | 이 내용의 조문은 확인되지 않았습니다. 9/14 사유 보고서 기준 보류 사유는 두 가지이고, 법률 확인 항목이 따로 두 가지 있습니다 | "병원 승인 글 0편, 지원 관계 고지 문구 미확정. 법률 확인 2건(의료광고 사전심의, 유치업 등록 필요 여부)" |
|
||||
| "강남언니·바비톡은 사용자 600만~천만, 병원 3천~5천 곳 제휴" | 확인된 값은 아래와 같습니다. 방향은 맞지만 숫자는 출처가 있는 값으로 씁니다 | 아래 3-2 표 수치 |
|
||||
|
||||
**답변엔진 추가 시 비용 추정 (120문항, 후처리 포함, 중앙값)**
|
||||
|
||||
| 구성 | 1회 측정 | 5회 반복 |
|
||||
|---|---|---|
|
||||
| 현행 2개 (ChatGPT, Perplexity) | 약 ₩11,440 | 약 ₩57,200 |
|
||||
| + Claude | 약 ₩29,150 | 약 ₩145,740 |
|
||||
| + Claude, Gemini, Google AI Mode | 약 ₩35,790 | 약 ₩178,950 |
|
||||
|
||||
**강남언니·바비톡 확인 수치**
|
||||
|
||||
| 항목 | 확인된 값 |
|
||||
|---|---|
|
||||
| 강남언니 해외 | 누적회원 148만, MAU 23만(2025-09) |
|
||||
| 강남언니 일본 | 사용자 160만, 제휴병원 1,500곳(2025-10) |
|
||||
| 바비톡 | 병원 3,300곳·1,000만 다운로드는 채용 플랫폼 소개문에만 있고 1차 출처 미확인 |
|
||||
|
||||
### 1-3. 회의록 표기 정리 (음성 인식 오류)
|
||||
|
||||
| 회의록 표기 | 바른 표기 |
|
||||
|---|---|
|
||||
| 비성형외과, 비서약과, 뷰 성향 | 뷰성형외과 |
|
||||
| 김수원 원장 | 최순우 원장(대표자, 팩트 시트 기준) |
|
||||
| 데미나이 | Gemini |
|
||||
| AOG로, AO, AO 최적화 | AEO·GEO |
|
||||
| 인류관광 | 의료관광 |
|
||||
| 웹 포 AI | webforai.kr |
|
||||
| 메트코 | 확인 필요 |
|
||||
|
||||
---
|
||||
|
||||
## 2. Global Medical Hub PRD v0.2 검토
|
||||
|
||||
### 2-1. PRD가 제안한 것
|
||||
|
||||
- **3층 구조입니다.**
|
||||
- 1층 정보·발견: 다국어 병원 원문 허브
|
||||
- 2층 상담·예약: 유치업 등록 후 운영
|
||||
- 3층 회복기 여정: 숙박·식사·관광 제휴 링크
|
||||
- **구조:** AIO2O 단독 소유, 뷰성형외과는 앵커 파트너(첫 병원, 병원 2~4곳 소개, 의료 자문)입니다.
|
||||
- **1단계(8~12주) 게이트:** 병원 4곳 개설자 승인, 외국인 질문 뱅크 인용 기준선 확보, 상담 신청 월 10건.
|
||||
|
||||
### 2-2. 지금도 유효한 판단
|
||||
|
||||
- 파이프라인 IP는 AIO2O가 100% 가집니다. 병원 자회사나 합작법인 구조는 중립성과 IP 측면에서 불리합니다.
|
||||
- 1단계는 수수료를 받지 않고 병원에 직접 연결합니다. 대가를 받는 순간 유치업 등록 대상이 됩니다.
|
||||
- 후기, 전후 사진, 병원 비교, 할인으로 설득하는 기능은 만들지 않습니다(의료법 56조).
|
||||
|
||||
### 2-3. PRD의 공백과 보완할 점
|
||||
|
||||
| 공백 | 내용 | 보완 |
|
||||
|---|---|---|
|
||||
| 운영 인력 가정 없음 | "비개발자 운영자가 운영"을 전제로 했지만, 현재 운영팀이 없습니다. 게이트 실패 처리, 이미지 육안 확인, 채널 판정, 정정 접수, 병원 응대, 상담 신청 전달이 모두 사람 업무입니다 | 운영 인원을 선행 조건으로 명시 |
|
||||
| 수요(외국인 환자) 확보 계획 없음 | AI 인용만으로 유입을 기대합니다. 경쟁 앱은 광고비와 오프라인 센터로 수요를 확보합니다 | 유입 채널과 예산 추정 추가 |
|
||||
| 경쟁 전제가 일부 틀림 | "기존 앱은 정보를 앱 안에 가둔다"고 봤지만, 크리에이트립·여신티켓은 AI 크롤러 허용, llms.txt, 영·일·중 블로그를 운영합니다. BeautsGO는 AI 에이전트용 예약 스킬을 배포했습니다 | 차별점을 "병원 승인 원문 + 실측 측정"으로 좁혀 재정의 |
|
||||
| 1단계 개발량 | PRD §06 기준 1단계에 필요한 신규 7건과 부분 2건입니다. 신규: 외국인 질문 뱅크, 외국어 게이트, 다국어 라우팅·상담 폼, 다병원 허브 도메인, 계정·역할·권한, 상담 신청·알림, 측정 인프라. 부분: 운영자 콘솔, 상시 워커 | 현재 인력으로 8~12주는 낙관적. 4장 참고 |
|
||||
| 규제 변경 미반영 | 2026-05-15 시행규칙 개정으로 여행업자 자본금 5천만 원 예외가 삭제돼 유치업 등록은 자본금·보증보험 각 1억 원입니다. 등록 후 2년 안에 유치 실적이 없으면 등록취소 사유입니다. 2026-05-12부터 병원이 유치 경로를 보고합니다 | §05 표 갱신 |
|
||||
| 민감정보 리스크 | 2026-09-04~05 강남언니에서 22만 명(해외 약 6만 명) 민감정보 유출이 있었습니다. 상담 신청 폼만 받아도 건강정보 처리자가 됩니다 | 1단계 상담 폼 최소 수집, 처리방침·보안 체계 선행 |
|
||||
| 앵커 소개 역량 미확인 | 원장의 병원 네트워크가 명단·수·관계 단계로 확인되지 않았습니다 | MOU 전 확인 질문으로 유지 |
|
||||
| 브랜드 리스크 | 앵커 병원의 2026-07 공정위 시정명령 이력이 허브 브랜드에 붙을 수 있습니다 | MOU 홍보 기사 문안에서 관리 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 글로벌 의료관광 플랫폼 딥리서치
|
||||
|
||||
### 3-1. 시장
|
||||
|
||||
| 항목 | 수치 | 출처 |
|
||||
|---|---|---|
|
||||
| 외국인 환자 | 2024년 117만 명 → 2025년 201만 명 | 보건복지부 2025-04, 2026-04 |
|
||||
| 2025 진료과 | 피부과 62.9%, 성형외과 11.2% | 보건복지부 2026-04 |
|
||||
| 2025 국적 | 중국 30.8%, 일본 29.8%, 대만 9.2%, 미국 8.6% | 보건복지부 2026-04 |
|
||||
| 의원급·서울 비중 | 87.7%, 87.2% | 보건복지부 2026-04 |
|
||||
| 2026 상반기 외국인 카드 결제 | 1조4,203억 원(전년 대비 +38.6%) | 하나카드 데이터, 2026-08-27 |
|
||||
| 미용성형 부가세 환급 | 2025-12-31 종료. 재도입 법안이 국회 소위에 있음. 성형외과의사회는 종료 후 20~30% 감소를 주장(통계 아님) | 2025-07-31, 2026-08-14 |
|
||||
|
||||
시장은 커지고 있습니다. 다만 성장의 대부분은 피부과이고, 성형외과 비중은 11%입니다.
|
||||
|
||||
### 3-2. 경쟁 플랫폼
|
||||
|
||||
| 플랫폼 | 외국인 서비스 현황 | 규모·실적 |
|
||||
|---|---|---|
|
||||
| 강남언니 | 일본 2019, 영어 2023-12, 태국 2024 말, 중국·대만 2025-10. 6개 언어. 2026-03 논현동 오프라인 센터, 2026-05 8개 언어 통역(환자 무료). 일본 앱 예약 연 약 55만 건 | 해외 누적회원 148만, 해외 MAU 23만(2025-09). 매출 2025년 752억, 영업이익 75억(전년 대비 -41.3%), 광고선전비 343억(+100.6%) |
|
||||
| 바비톡 | 2025-08-25 일본어 웹. 영어·중국어는 시범 | 2025 매출 367.7억, 영업이익 73억(재무정보 사이트). 해외 사용자 미공개 |
|
||||
| 크리에이트립 | 12개 언어, 숙소 예약·통역 버디. **유치업 등록 사업자** | MAU 160만, 제휴 약 1,200곳. 2025 거래의 51%가 뷰티·메디컬. 누적 투자 181억 원 이상 |
|
||||
| 여신티켓 | 2024-01 영·일·중 글로벌 앱. 부작용 보험 | 글로벌 MAU 4만 이상, 국내 병원 약 5,000곳 |
|
||||
| BeautsGO | 5개 언어, 숙박 지원, AI 에이전트용 예약 스킬 배포(2026-03) | 제휴 1,300곳 이상 |
|
||||
| 메디컬코리아(KHIDI) | 공공 포털, 유치기관 조회, 영·일문 | |
|
||||
|
||||
### 3-3. 이 사업에 필요한 규제 요건 (변호사 확인 필요)
|
||||
|
||||
| 요건 | 내용 |
|
||||
|---|---|
|
||||
| 유치업 등록 | 의료해외진출법 제6조, 시행규칙 제4조 기준입니다. 자본금 1억 원, 보증보험 1억 원, 국내 사무소가 필요하고 3년마다 갱신합니다. 등록 후 2년간 실적이 없으면 등록취소 사유입니다 |
|
||||
| 미등록 유치 | 3년 이하 징역 또는 3천만 원 이하 벌금 |
|
||||
| 수수료 상한 | 의원 30%, 병원·종합병원 20%, 상급종합병원 15% |
|
||||
| 환자 알선 금지 | 의료법 27조 3항. 강남언니는 진료비 비율 수수료 모델로 1·2심 모두 유죄(징역 8월, 집행유예 2년)였고, 이후 광고형으로 전환했습니다 |
|
||||
| 외국인 유치 광고 | 의료법 56조 2항 12호가 국내 광고를 금지합니다. 의료해외진출법 제15조는 공항·보세판매장 등 지정 장소만 허용합니다. 온라인 다국어 매체에 어떻게 적용되는지는 미확인입니다 |
|
||||
| 사전심의 매체 | 일평균 이용자 10만 명 이상 인터넷매체 |
|
||||
| 민감정보·국외 이전 | 개인정보보호법 제23조, 제28조의8에 따른 별도 동의 |
|
||||
| 숙박·관광 직접 판매 | 여행업 등록(종합 5천만 원, 국내외 3천만 원) |
|
||||
|
||||
### 3-4. 경제성
|
||||
|
||||
| 항목 | 값 | 비고 |
|
||||
|---|---|---|
|
||||
| 강남언니 수익 모델 | 이벤트 페이지 조회당 과금(CPV) | 상담·내원과 무관하게 과금 |
|
||||
| 의료관광 예약 1건당 고객 확보 비용 | 600~1,800달러 이상 | 업체 블로그 수치, 실측 아님 |
|
||||
| 병원당 월 광고비, 운영 인력 구성 | 공신력 있는 공개 자료 없음 | |
|
||||
|
||||
---
|
||||
|
||||
## 4. 현재 조직으로 가능한 사업인가
|
||||
|
||||
### 4-1. 플랫폼이 요구하는 역량과 보유 역량
|
||||
|
||||
| 역량 | 플랫폼에 필요한 수준 | 현재 | 판정 |
|
||||
|---|---|---|---|
|
||||
| 병원 원문 생성·발행 | 병원당 자동 온보딩, 다국어 | 서포터즈 워커 동작. URL만으로 60~70% 품질. 병원 승인 0편 | **보유(개선 필요)** |
|
||||
| 다병원 허브 개발 | 계정·권한, 허브 도메인, 다국어 라우팅, 상담 폼, 운영 콘솔 | 개발팀장 1명, 주니어 5명. 기존 제품 유지와 병행 | 1층만 가능. 기간은 PRD보다 길어짐 |
|
||||
| 운영 | 병원 응대, 콘텐츠 검수, 이미지 육안 확인, 정정, 게이트 실패 처리 | **운영팀 없음.** 현재 감본부장 1인이 운영 | **부족** |
|
||||
| 외국인 고객 응대 | 영·일·중 상담, 예약 조율, 통역, 분쟁 대응(경쟁사는 24시간 채팅, 오프라인 센터) | 없음 | **불가** |
|
||||
| 수요 확보 | 해외 광고, 인플루언서, 현지 법인(강남언니 일본법인 순손실 46억) | 없음. AI 인용에만 의존 | **불가** |
|
||||
| 병원 공급 확보 | 병원 영업 조직(경쟁사 수천 곳) | 앵커 소개에 의존, 명단 미확인 | **부족** |
|
||||
| 규제·자본 | 유치업 법인, 자본금·보증보험 2억 원, 2년 내 실적, 민감정보 보안 | 없음 | 2층 이상 **불가** |
|
||||
|
||||
### 4-2. 판단
|
||||
|
||||
- **2층(상담·예약)과 3층(여정)은 현재 조직으로 할 수 없습니다.** 개발 인력의 문제가 아니라, 고객 응대·병원 영업·자본·규제 대응 조직이 없기 때문입니다.
|
||||
- **1층(정보 허브)만 따로 만드는 것은 기술적으로 가능합니다.** 그러나 운영 인력과 유입 채널이 없으면, 경쟁 앱이 이미 가진 다국어 정보와 차별점이 약합니다. 1층은 서포터즈 사이트를 병원 수만큼 늘린 것과 결과가 비슷합니다.
|
||||
- **기회비용이 큽니다.** 같은 인력으로 할 일이 있습니다.
|
||||
- AI Discovery 진단 판매
|
||||
- 서포터즈 자동화 품질을 60~70%에서 올리기
|
||||
- 병원 승인 흐름 만들기
|
||||
- 측정 리포트 자동화
|
||||
|
||||
이 일들은 유료 전환과 직접 이어집니다.
|
||||
- **따라서 결론은 "서포터즈 사이트까지"입니다.** 회의에서 나온 감본부장 판단과 같습니다.
|
||||
|
||||
### 4-3. 플랫폼을 다시 검토할 조건 (제안)
|
||||
|
||||
아래 조건을 모두 채우면 PRD 1층부터 재검토합니다.
|
||||
|
||||
1. 서포터즈를 유료로 계약한 병원 10곳 이상
|
||||
2. 병원 승인 글 기준으로 외국인 질문 뱅크 인용률 개선을 2곳 이상에서 확인
|
||||
3. 운영 인력 2명 이상 확보(병원 응대·콘텐츠 검수)
|
||||
4. 유치업 등록 사업자와 제휴해 상담·예약을 위탁하는 구조(직접 등록하지 않는 방식) 확인
|
||||
5. 병원 소개 명단의 계약 가능성 확인
|
||||
|
||||
---
|
||||
|
||||
## 5. 권고 범위: MOU · POC (8주)
|
||||
|
||||
### 5-1. 포함
|
||||
|
||||
| 번호 | 항목 | 산출물 | 비고 |
|
||||
|---|---|---|---|
|
||||
| 1 | 뷰성형외과 서포터즈 사이트 운영 (국문·영문) | viewpl.webforai.kr. 글, 영상, 뉴스룸, 방문 안내, 회복 일정 플래너, 주변 안내 | 배포 완료. 색인은 병원 승인 후 |
|
||||
| 2 | 병원 승인 흐름 | 원장 의학 검토·개설자 게시 승인 기록, 지원 관계 고지 문구 확정 | 색인 전환의 조건 |
|
||||
| 3 | 색인 전환 | 승인 글만 공개하는 재배포, IndexNow·서치콘솔 제출 | 법률 확인 2건 결과에 따름 |
|
||||
| 4 | AEO/GEO 기준선과 재측정 | 국문 120문항·영문 60문항 × ChatGPT·Perplexity. 착수 시·4주·8주 3회, 5회 반복 | 언급률과 신뢰구간으로만 보고 |
|
||||
| 5 | 공식 홈페이지 개선 가이드 | 9/1 POC 제안서 P0·P1 항목(스키마, NAP, 정의문, FAQ)의 적용 명세 | 적용은 병원 웹 담당. 우리가 직접 수정할지는 7장 안건 |
|
||||
| 6 | 측정 연결 | GA4 AI 유입 채널그룹, 서치콘솔, 가능하면 서버 로그 | 병원 계정 권한 필요 |
|
||||
| 7 | 결과 보고서와 홍보용 사례 | 8주 결과 보고서 1부, 사례 요약 1쪽 | MOU 홍보와 타 병원 영업에 사용 |
|
||||
|
||||
### 5-2. 제외 (MOU 문구에 명시)
|
||||
|
||||
- 다병원 의료관광 포털, 병원 비교·목록 서비스
|
||||
- 외국인 환자 상담·예약 중개, 통역, 픽업, 결제, 수수료
|
||||
- 숙박·관광 상품 판매
|
||||
- 앱 개발
|
||||
- 답변엔진 추가(Claude, Gemini, Google AI Overview). 유료 전환 시 옵션으로 제안
|
||||
- 공식 홈페이지 직접 개발·유지보수(5-1의 5번 결정에 따름)
|
||||
|
||||
### 5-3. 뷰성형외과가 제공할 것
|
||||
|
||||
| 항목 | 이유 |
|
||||
|---|---|
|
||||
| 원장 의학 검토와 개설자 게시 승인(주기·담당자 지정) | 승인 없이는 색인을 열 수 없습니다 |
|
||||
| 지원 관계 고지 문구 확정 | 추천·보증 심사지침 |
|
||||
| 홈페이지·영상·이미지 자산 사용 허락 범위 | 저작권·의료광고 책임 |
|
||||
| GA4·서치콘솔 권한 | 측정 항목 4개가 계정 없이는 미검증입니다 |
|
||||
| 사례 공개와 홍보 기사 사용 동의(병원명, 수치 공개 범위) | MOU의 목적 |
|
||||
| (선택) 소개 가능한 병원 명단 | 향후 확장 검토용. 이번 범위의 의무 아님 |
|
||||
|
||||
### 5-4. 비용
|
||||
|
||||
- **우리 쪽 직접 비용은 작습니다.** 측정 3회 × 5회 반복 기준으로 약 17만 원입니다(현행 2개 엔진). 사이트 호스팅과 빌드 비용은 병원당 소액입니다.
|
||||
- **실제 비용은 인력 시간입니다.** 병원 응대, 승인 수집, 보고서 작성에 감본부장 시간이 들어갑니다. POC 기간을 8주로 고정하는 이유입니다.
|
||||
|
||||
---
|
||||
|
||||
## 6. 원장의 포털 제안에 대한 답변 문안 (안)
|
||||
|
||||
> 원장님께서 말씀하신 글로벌 의료관광 포털 방향에 공감합니다. 다만 외국인 환자 상담·예약 중개는 유치업 등록과 다국어 응대 조직이 필요한 사업이라, 이번 협약에서는 뷰성형외과 서포터즈 사이트와 AI 답변 노출 측정으로 효과를 먼저 확인하려고 합니다. 8주 결과가 나오고 참여 병원이 늘어나면, 포털 단계는 그 결과를 근거로 다시 제안드리겠습니다.
|
||||
|
||||
---
|
||||
|
||||
## 7. 대표 보고 시 결정 요청 안건
|
||||
|
||||
| 번호 | 결정 사항 | 권고안 | 대안 |
|
||||
|---|---|---|---|
|
||||
| 1 | MOU·POC 범위 | 서포터즈 사이트 + 진단·측정(5-1) | PRD 1층 포함 |
|
||||
| 2 | 플랫폼 사업 추진 여부 | 이번에는 제외, 4-3 조건 충족 시 재검토 | PRD 1단계 착수 |
|
||||
| 3 | POC 비용 | 무상, 8주 고정, 홍보·사례 사용권을 대가로 | 유료 POC(최소 금액 제시) |
|
||||
| 4 | 공식 홈페이지 개선 | 가이드 제공, 적용은 병원 | 우리가 직접 수정(추가 인력 필요) |
|
||||
| 5 | 답변엔진 추가 | 현행 2개 유지, Claude는 유료 옵션 | Claude 포함 |
|
||||
| 6 | 색인 전환 전 법률 확인 | 사전심의·유치업 해당 여부 변호사 확인 후 전환 | 승인만 받고 전환 |
|
||||
| 7 | MOU 순서 | 범위 문서 합의 → MOU → 홍보 기사 | MOU 먼저, 범위는 부속서 |
|
||||
| 8 | 미팅 참석 | 문서 합의 후 실행 단계에서 참석 | 이번 조율 미팅부터 참석 |
|
||||
|
||||
## 8. 뷰성형외과 미팅에서 확인할 질문
|
||||
|
||||
1. MOU로 원하는 결과는 무엇입니까? 홍보, 외국인 환자 유입, 포털 참여 중 우선순위를 확인합니다.
|
||||
2. 원장 검토·승인은 누가, 어떤 주기로 할 수 있습니까?
|
||||
3. 홍보 기사에 병원명과 수치를 어디까지 공개할 수 있습니까?
|
||||
4. 공식 홈페이지 수정 권한과 담당자는 누구입니까?
|
||||
5. 소개 가능한 병원 명단, 병원 수, 현재 관계 단계는 어떻습니까?
|
||||
6. 포털을 원하신다면 비용 분담이나 투자 의향이 있습니까?
|
||||
|
||||
## 9. 다음 액션
|
||||
|
||||
| 날짜 | 할 일 | 담당 |
|
||||
|---|---|---|
|
||||
| 9/15(화) | 사이트 URL management 방 공유 | 감본부장 |
|
||||
| 9/16(수) | 이 문서 대표 보고, 7장 안건 결정 | 감본부장 → 대표 |
|
||||
| 9/17(목) | 결정안으로 범위 문서 확정, 황본부장 통해 뷰성형외과 전달 | 감본부장, 황본부장 |
|
||||
| 9/18(금) | 연구소 회의: 병원별 자동화 수준 시연(60~70% 구간 사례 포함) | 감본부장 |
|
||||
| 합의 후 | 변호사 확인 2건 요청, 병원 승인 요청서 발송 | 감본부장 |
|
||||
|
||||
---
|
||||
|
||||
## 부록. 출처
|
||||
|
||||
**내부 문서**
|
||||
- `docs/prd/INFINITH_Global_Medical_Hub_PRD_v0.2.html` (2026-09-09)
|
||||
- `docs/reports/viewclinic/02_poc_proposal/Viewclinic_POC_Proposal.pptx` (2026-09-01)
|
||||
- `docs/business/INFINITH_서포터즈_색인보류_사유보고_2026-09-14.docx` (메인 체크아웃)
|
||||
- `docs/reports/answer_engines/INFINITH_답변엔진_확장검토_2026-09-15.docx`
|
||||
|
||||
**시장·규제**
|
||||
- 보건복지부 2025 외국인환자 유치 실적: https://www.mohw.go.kr/board.es?mid=a10503010100&bid=0027&act=view&list_no=1490280 (2026-04)
|
||||
- 보건복지부 2024 실적: https://www.mohw.go.kr/board.es?mid=a10503000000&bid=0027&act=view&list_no=1485191 (2025-04)
|
||||
- 2026 상반기 외국인 카드 결제: https://www.medicaldaily.co.kr/post/22664 (2026-08-27)
|
||||
- 부가세 환급 종료 후 동향: https://www.hankyung.com/article/2026081424556 (2026-08-14)
|
||||
- 유치업 수수료 고시 제2024-79호: https://www.mohw.go.kr/boardDownload.es?bid=0026&list_no=1481343&seq=1 (2024-05-08. 현행 제2025-72호 본문은 미대조)
|
||||
- 의료해외진출법·시행령·시행규칙, 의료법, 개인정보보호법, 관광진흥법 시행령: 국가법령정보센터 원문(law.go.kr)
|
||||
- 강남언니 의료법 위반 1심: https://www.fnnews.com/news/202201271700056405 (2022-01-27)
|
||||
- 강남언니 의료법 위반 2심: https://www.fnnews.com/news/202307061827216638 (2023-07-06)
|
||||
- 대법원 2018도20928: https://www.scourt.go.kr/portal/news/NewsViewAction.work?seqnum=6637&gubun=4
|
||||
- 미등록 유치 병원 등록취소 소송: https://www.doctorsnews.co.kr/news/articleView.html?idxno=165135 (2026-06 판결 보도)
|
||||
|
||||
**경쟁 플랫폼**
|
||||
- 강남언니 글로벌 확장: https://zdnet.co.kr/view/?no=20251015091542 (2025-10-15)
|
||||
- 강남언니 글로벌 서비스 소개서: https://docs.channel.io/unni/ko/articles/%EA%B8%80%EB%A1%9C%EB%B2%8C-%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%86%8C%EA%B0%9C%EC%84%9C--a34d448f
|
||||
- 강남언니 통역·예약: https://www.mt.co.kr/industry/2026/08/12/2026081210155697732 (2026-08-12)
|
||||
- 강남언니 통역 도입: https://zdnet.co.kr/view/?no=20260511103126 (2026-05-11)
|
||||
- 강남언니 실적: https://www.newsspace.kr/news/article.html?no=15572 (발행일 미확인)
|
||||
- 강남언니 개인정보 유출: https://www.swtvnews.com/news/newsview.php?ncode=1065595512012384 (2026-09-08)
|
||||
- 바비톡 일본 진출: https://www.venturesquare.net/1001286 (2025-08)
|
||||
- 크리에이트립 규모: https://www.asiatime.co.kr/article/20250516500383 (2025-05-17)
|
||||
- 크리에이트립 거래: https://www.mt.co.kr/future/2026/01/29/2026012908442998862 (2026-01-29)
|
||||
- 크리에이트립 유치업 등록: https://creatrip.com/en/blog/14800
|
||||
- 여신티켓 글로벌: https://www.enetnews.co.kr/news/articleView.html?idxno=39846
|
||||
- BeautsGO: https://www.beautsgo.com/ · https://github.com/BeautsGO/beautsgo-booking
|
||||
- AI 크롤러·llms.txt 현황: 각 사이트 robots.txt·sitemap·llms.txt 직접 조회 (2026-09-15)
|
||||
|
||||
**답변엔진 약관·단가**
|
||||
- Gemini API 추가 약관: https://ai.google.dev/gemini-api/terms
|
||||
- Claude web search: https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool
|
||||
- 전체 단가 출처: 답변엔진 확장 검토 보고서 9장
|
||||
Binary file not shown.
@ -1,469 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
"""뷰성형외과 MOU·POC 범위 검토 + 의료관광 허브 플랫폼 경쟁분석(상세) 워드 보고서 빌더.
|
||||
|
||||
원본 초안: 같은 폴더 INFINITH_뷰성형외과_MOU_POC범위_검토보고서_2026-09-15.md
|
||||
AI 답변 인용 집계(4-6): scripts/out/qb_*_results.jsonl(국문 120, 2026-09-01),
|
||||
docs/reports/viewclinic/05_global_en/qb_en_*_results.jsonl(영문 60, 2026-09-10)
|
||||
|
||||
python3 docs/business/build_mou_hub_competition_docx.py [--force]
|
||||
|
||||
주의: 2026-09-15 이후 haewon이 이 문서를 직접 편집했다. 이 빌더로 다시 만들면 편집이 사라지므로
|
||||
결과 파일이 있으면 멈춘다. 이후 변경은 patch_*.py 처럼 편집본에 직접 삽입한다.
|
||||
"""
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
HERE = Path(__file__).resolve().parent
|
||||
sys.path.insert(0, str(HERE.parent / "reports" / "answer_engines"))
|
||||
from build_engine_review_docx import Document, Cm, Pt, INDIGO, VIOLET, GRAY, bullets, heading, para, set_font, table # noqa: E402
|
||||
|
||||
OUT = HERE / "INFINITH_의료관광허브_경쟁분석_및_뷰성형외과_MOU범위_2026-09-15.docx"
|
||||
|
||||
|
||||
def h3(doc, text):
|
||||
heading(doc, text, 2)
|
||||
|
||||
|
||||
def note(doc, text):
|
||||
para(doc, text, 10, False, GRAY)
|
||||
|
||||
|
||||
def profile(doc, title, rows, implication):
|
||||
h3(doc, title)
|
||||
table(doc, ["항목", "내용"], rows, widths=[3.4, 13.6], size=9.5)
|
||||
p = doc.add_paragraph()
|
||||
p.paragraph_format.space_after = Pt(10)
|
||||
p.paragraph_format.line_spacing = 1.35
|
||||
set_font(p.add_run("허브 관점: "), 10.5, True)
|
||||
set_font(p.add_run(implication), 10.5)
|
||||
|
||||
|
||||
def build():
|
||||
doc = Document()
|
||||
sec = doc.sections[0]
|
||||
sec.page_width, sec.page_height = Cm(21.0), Cm(29.7)
|
||||
sec.left_margin = sec.right_margin = Cm(2.0)
|
||||
sec.top_margin = sec.bottom_margin = Cm(2.0)
|
||||
|
||||
# 표지
|
||||
para(doc, "INFINITH AI Discovery · 대표 보고", 11, True, VIOLET, 4)
|
||||
heading(doc, "의료관광 허브 플랫폼 경쟁분석과 뷰성형외과 MOU 범위 검토", 0)
|
||||
para(doc, "회의록 검토 · Global Medical Hub PRD v0.2 검토 · 경쟁분석(상세) · 조직 적합성 · MOU·POC 권고안", 12, False, INDIGO, 4)
|
||||
para(doc, "작성 2026-09-15(화) · 조사 기준일 2026-09-15 · 법 해석은 자문이 아니며 계약·등록 전 변호사 확인이 필요합니다", 10, False, GRAY, 14)
|
||||
|
||||
# 0. 결론
|
||||
heading(doc, "0. 결론")
|
||||
bullets(doc, [
|
||||
("이번 MOU·POC 범위는 서포터즈 사이트와 AEO/GEO 진단·측정까지로 한정할 것을 권고합니다. ", "글로벌 의료관광 플랫폼(다병원 허브, 상담·예약 중개, 숙박·관광 연계)은 이번 범위에서 명시적으로 제외합니다."),
|
||||
("플랫폼 사업은 현재 조직(개발팀장 1명, 주니어 개발자 5명, 운영팀 없음)으로 가능하지 않다고 판단합니다. ", "병목은 개발이 아니라 운영, 수요 확보, 자본·규제 대응입니다. 강남언니는 2025년 광고선전비 343억 원을 썼고, 오프라인 통역센터와 8개 언어 통역을 운영합니다."),
|
||||
("허브가 노리는 'AI가 인용하는 다국어 원문' 영역에는 이미 경쟁자가 있습니다. ", "외국인 질문 60문항 실측에서 Perplexity는 Bookimed(28문항), ClinicsOnCall(26), Korea Clinic Guide(20), ClinicSeoul(17), 강남언니 영문(14)을 인용했습니다. 광고 없는 영문 가이드 사이트가 120개 FAQ 형태로 운영 중입니다."),
|
||||
("PRD v0.2의 '기존 앱은 정보를 앱 안에 가둔다'는 전제는 일부만 맞습니다. ", "크리에이트립·여신티켓은 AI 크롤러 허용, llms.txt, 다국어 블로그를 운영합니다. 강남언니도 AI 검색봇을 허용하고 후기만 막습니다."),
|
||||
("MOU의 목적은 사례 확보와 홍보입니다. ", "무상 POC라면 제공 범위, 뷰성형외과가 제공할 것, 종료일을 문서로 고정해야 합니다. 대표 결정 안건 8건은 8장에 있습니다."),
|
||||
])
|
||||
|
||||
# 1. 회의록 검토
|
||||
heading(doc, "1. 회의록 검토 (2026-09-15)")
|
||||
h3(doc, "1-1. 확인된 사항")
|
||||
table(doc, ["구분", "내용", "담당"], [
|
||||
["뷰성형외과 내부 진행", "실무진이 원장 보고를 마쳤고 진행 결정이 났습니다", "뷰성형외과"],
|
||||
["진행 순서", "MOU → 홍보 기사 → 프로젝트 런칭", "양사"],
|
||||
["순서 이견", "대표는 MOU 우선. 뷰성형외과는 범위를 구체화한 뒤 MOU", "황본부장 조율"],
|
||||
["뷰성형외과 쪽 방향", "보고 이후 원장 쪽 방향(B2C 의료관광 포털)이 무게를 가짐", ""],
|
||||
["감본부장 입장", "비용 없는 플랫폼 POC면 미팅 불참, 문서로 범위 선정리. 유료 논의면 참석", "감본부장"],
|
||||
["범위 문서", "향후 1~2개월 할 일을 구체화해 대표 보고 후 뷰성형외과와 협의", "감본부장"],
|
||||
["황본부장 입장", "서포터즈는 기본 범위. 메디컬·버티컬 포털은 미결정. 1단계에서 큰 그림은 불필요", "황본부장"],
|
||||
["배포 현황", "webforai.kr 랜딩과 서포터즈 3곳 배포, 구글·네이버 서치콘솔 등록, 색인 보류", "감본부장"],
|
||||
["자동화 수준", "뷰성형외과 품질을 100으로 보면 URL만으로 다른 병원은 60~70%", "감본부장, 9/18 연구소 회의 시연"],
|
||||
], widths=[3.4, 10.4, 3.2])
|
||||
|
||||
h3(doc, "1-2. 문서에 옮기기 전에 바로잡을 발언")
|
||||
table(doc, ["회의 발언", "확인 결과", "문서에 쓸 표현"], [
|
||||
["답변엔진을 추가하면 한 번에 몇천 원이 몇만 원 단위로 오른다",
|
||||
"비용 방향은 맞습니다. 다만 Gemini 검색 그라운딩 약관은 결과의 분석·자동 수집을 금지하고, Google AI Overview는 공식 API가 없습니다. 비용만의 문제가 아닙니다",
|
||||
"현재 2개 엔진. Claude는 추가 가능, Gemini·AI Overview는 약관·수집 원칙 확인이 먼저"],
|
||||
["의료관광법상 기관 검증을 거치지 않은 실물 인물 콘텐츠를 배포하지 못해 색인을 안 했다",
|
||||
"해당 조문을 확인하지 못했습니다. 9/14 사유 보고 기준 보류 사유는 병원 승인 글 0편과 지원 관계 고지 문구 미확정입니다. 법률 확인은 사전심의·유치업 2건입니다",
|
||||
"병원 승인 글 0편, 고지 문구 미확정. 법률 확인 2건"],
|
||||
["강남언니·바비톡은 사용자 600만~천만, 병원 3천~5천 곳",
|
||||
"강남언니 해외 누적회원 148만·해외 MAU 23만(2025-09), 일본 제휴병원 1,500곳(2025-10). 바비톡 병원 3,300곳은 1차 출처 미확인",
|
||||
"4장 확인 수치"],
|
||||
], widths=[4.6, 7.6, 4.8], size=9)
|
||||
table(doc, ["답변엔진 구성 (120문항, 후처리 포함, 중앙값)", "1회 측정", "5회 반복"], [
|
||||
["현행 2개 (ChatGPT, Perplexity)", "약 ₩11,440", "약 ₩57,200"],
|
||||
["+ Claude", "약 ₩29,150", "약 ₩145,740"],
|
||||
["+ Claude, Gemini, Google AI Mode", "약 ₩35,790", "약 ₩178,950"],
|
||||
], widths=[9.0, 4.0, 4.0])
|
||||
note(doc, "회의록 음성 인식 표기: 비성형외과·비서약과 → 뷰성형외과, 김수원 원장 → 최순우 원장(대표자), 데미나이 → Gemini, AOG·AO → AEO·GEO, 인류관광 → 의료관광, 웹 포 AI → webforai.kr. '메트코'는 확인 필요.")
|
||||
|
||||
# 2. PRD 검토
|
||||
heading(doc, "2. Global Medical Hub PRD v0.2 검토")
|
||||
h3(doc, "2-1. PRD가 제안한 것")
|
||||
bullets(doc, [
|
||||
"3층 구조: 1층 정보·발견(다국어 병원 원문 허브), 2층 상담·예약(유치업 등록 후), 3층 회복기 여정(숙박·식사·관광 제휴 링크)",
|
||||
"구조: AIO2O 단독 소유, 뷰성형외과는 앵커 파트너(첫 병원, 병원 2~4곳 소개, 의료 자문)",
|
||||
"1단계(8~12주) 게이트: 병원 4곳 개설자 승인, 외국인 질문 뱅크 인용 기준선, 상담 신청 월 10건",
|
||||
], size=10.5)
|
||||
h3(doc, "2-2. 지금도 유효한 판단")
|
||||
bullets(doc, [
|
||||
"파이프라인 IP는 AIO2O 100%. 병원 자회사·합작법인 구조는 중립성과 IP에서 불리",
|
||||
"1단계는 수수료 없이 병원 직결. 대가를 받으면 유치업 등록 대상",
|
||||
"후기·전후 사진·비교·할인으로 설득하는 기능은 만들지 않음(의료법 56조)",
|
||||
], size=10.5)
|
||||
h3(doc, "2-3. 공백과 보완")
|
||||
table(doc, ["공백", "내용", "보완"], [
|
||||
["운영 인력 가정 없음", "비개발자 운영자를 전제했으나 운영팀이 없습니다. 게이트 실패·이미지 육안·채널 판정·정정·병원 응대·상담 전달은 사람 업무입니다", "운영 인원을 선행 조건으로"],
|
||||
["수요 확보 계획 없음", "AI 인용만으로 유입을 기대합니다. 경쟁 앱은 광고비·오프라인 센터로 수요를 확보합니다", "유입 채널·예산 추정"],
|
||||
["경쟁 전제 일부 오류", "앱들이 정보를 가둔다고 봤지만 크리에이트립·여신티켓·BeautsGO는 오픈웹·AI 대응을 합니다. 영문 가이드 사이트가 이미 AI 인용을 받습니다(4-6)", "차별점 재정의(4-7)"],
|
||||
["1단계 개발량", "§06 기준 신규 7건(외국인 질문 뱅크, 외국어 게이트, 다국어 라우팅·상담 폼, 다병원 허브 도메인, 계정·권한, 상담 알림, 측정 인프라)과 부분 2건(운영 콘솔, 상시 워커)", "현재 인력으로 8~12주는 낙관적"],
|
||||
["규제 변경 미반영", "2026-05-15 시행규칙 개정으로 여행업자 자본금 5천만 원 예외 삭제. 유치업은 자본금·보증보험 각 1억 원. 등록 후 2년 무실적이면 취소 사유. 2026-05-12부터 병원이 유치 경로 보고", "§05 갱신"],
|
||||
["민감정보 리스크", "2026-09-04~05 강남언니 22만 명(해외 약 6만 명) 민감정보 유출. 상담 폼만 받아도 건강정보 처리자가 됩니다", "최소 수집, 보안 체계 선행"],
|
||||
["앵커 소개 역량 미확인", "원장의 병원 네트워크 명단·수·관계 단계 미확인", "MOU 전 확인 질문"],
|
||||
["브랜드 리스크", "앵커 병원의 2026-07 공정위 시정명령 이력", "홍보 기사 문안 관리"],
|
||||
], widths=[3.2, 9.8, 4.0], size=9)
|
||||
|
||||
# 3. 시장
|
||||
heading(doc, "3. 시장 개요")
|
||||
table(doc, ["항목", "수치", "출처"], [
|
||||
["외국인 환자", "2024년 117만 명 → 2025년 201만 명(연환자 272만 명)", "보건복지부 2025-04, 2026-04"],
|
||||
["2025 진료과", "피부과 62.9%(131.3만 명), 성형외과 11.2%(23.3만 명), 내과 9.2%", "보건복지부 2026-04"],
|
||||
["2025 국적", "중국 30.8%, 일본 29.8%, 대만 9.2%, 미국 8.6%, 태국 약 2.9%", "보건복지부 2026-04"],
|
||||
["의원급·서울 비중", "의원급 87.7%, 서울 87.2%", "보건복지부 2026-04"],
|
||||
["2026 상반기 외국인 카드 결제", "1조4,203억 원(전년 대비 +38.6%), 피부과 7,685억 원", "하나카드 데이터 2026-08-27"],
|
||||
["정부 목표", "2027년 70만 명(2023 발표), 2024년 조기 달성. 새 목표 미확인", "보건복지부 2023-05-29"],
|
||||
["미용성형 부가세 환급", "2025-12-31 종료. 재도입 법안 국회 소위(2026-07-29). 성형외과의사회는 종료 후 20~30% 감소 주장(통계 아님)", "2025-07-31, 2026-08-14"],
|
||||
], widths=[3.6, 9.4, 4.0], size=9.5)
|
||||
note(doc, "시장은 커지고 있으나 성장의 중심은 피부과입니다. 성형외과 비중은 11%이고, 부가세 환급 종료의 영향은 공식 통계로 아직 확인되지 않았습니다.")
|
||||
|
||||
# 4. 경쟁분석
|
||||
heading(doc, "4. 경쟁분석 (상세)")
|
||||
h3(doc, "4-1. 경쟁 구도")
|
||||
table(doc, ["유형", "사업자", "핵심 자산", "허브(PRD 1층)와 겹치는 부분"], [
|
||||
["국내 미용의료 앱의 해외 확장", "강남언니, 바비톡, 여신티켓", "병원 수천 곳 제휴, 후기·가격 데이터, 광고 매출", "다국어 병원 정보, 상담·예약"],
|
||||
["외국인 여행·뷰티 예약 플랫폼", "크리에이트립, BeautsGO, Klook", "외국인 사용자, 숙박·관광 결합, 유치업 등록(크리에이트립)", "상담·예약, 회복기 여정"],
|
||||
["해외 의료관광 중개 사이트", "Bookimed, ClinicsOnCall, PlacidWay", "다국가 병원 비교, 무료 코디네이터, 병원 수수료", "영문 병원 정보, AI 인용"],
|
||||
["영문 한국 클리닉 가이드 사이트", "Korea Clinic Guide, ClinicSeoul, 개별 가이드 사이트 다수", "영문 원문·FAQ·가격 정보, 저비용 운영", "AI가 인용하는 다국어 원문. 허브의 핵심 가치와 직접 겹침"],
|
||||
["공공 포털", "메디컬코리아(KHIDI), 강남구 의료관광, 한국관광공사 영문", "공신력, 유치기관 조회, 무료", "병원 목록·안내"],
|
||||
["커뮤니티·후기", "Reddit, RealSelf", "실사용자 경험담. AI 답변의 주요 근거", "외국인 질문 답변(후기는 의료법상 허브가 만들 수 없음)"],
|
||||
], widths=[3.4, 3.8, 4.8, 5.0], size=9)
|
||||
|
||||
h3(doc, "4-2. 사업자별 프로필")
|
||||
profile(doc, "① 강남언니 (힐링페이퍼)", [
|
||||
["해외 출시", "일본 2019-11, 영어(UNNI) 2023-12, 태국 2024 말, 중국·대만 2025-10-15. 한·영·일·태·중(간체·번체) 6개 언어"],
|
||||
["규모", "해외 누적회원 148만, 해외 MAU 23만, 월 상담 약 1.3만 건(2025-09). 일본 사용자 160만·제휴병원 1,500곳(2025-10). 일본 앱 예약 연 약 55만 건(2026-08). 73개국 이용"],
|
||||
["성장", "태국 7개월 만에 예약자 10배(2025-06). 2026-07 기준 전년 대비 태국 13배, 중국 12배"],
|
||||
["오프라인·통역", "2026-03 논현동 언니가이드 센터 개소. 2026-05 오프라인 통역(8개 언어, 환자 무료). LINE·WeChat·WhatsApp 상담. 5개월 통역 1,600건"],
|
||||
["수익 모델", "이벤트 페이지 조회당 과금(CPV). 상담·내원과 무관하게 과금. 성과형 광고 상품 병행. 입점 병원에 유치의료기관 등록 요구"],
|
||||
["실적", "매출 2023 417억 / 2024 530억 / 2025 752억. 영업이익 122억 / 128억 / 75억(2025년 -41.3%). 2025 광고선전비 343억(+100.6%), 일본법인 순손실 46억"],
|
||||
["규제 이력", "진료비 비율 수수료 모델로 의료법 27조 3항 위반 1심(2022-01)·2심(2023-07) 징역 8월·집행유예 2년. 이후 광고형 전환. 2026-09-04~05 민감정보 219,665명 유출(해외 약 6만 명)"],
|
||||
["AI·오픈웹", "AI 검색봇(OAI-SearchBot·PerplexityBot·Claude-SearchBot) 허용, 후기(/reviews) 차단, 학습 크롤러 차단. hreflang 6개 언어. 영문 unni.app/us, US 병원 사이트맵 20건. llms.txt 없음"],
|
||||
], "외국인 수요와 병원 공급을 이미 확보한 선두 사업자입니다. 허브가 정보 허브로 경쟁하면 병원 수·후기·통역에서 비교가 되지 않습니다. 다만 영업이익이 줄고 개인정보 사고가 난 시점이라 병원들의 대안 채널 수요는 있을 수 있습니다.")
|
||||
profile(doc, "② 바비톡 (케어랩스 계열)", [
|
||||
["해외 출시", "일본어 웹 2025-08-25. 영어·중국어 이벤트는 CPV 무과금 시범. 중국·대만·영미권은 계획 단계"],
|
||||
["병원 입점", "유치의료기관 등록 필수. 이벤트 등록 시 구글 예약 자동 연동"],
|
||||
["실적", "2025 매출 367.7억, 영업이익 73억(재무정보 사이트, 게시일 미확인)"],
|
||||
["미확인", "병원 3,300곳·1,000만 다운로드(채용 플랫폼 소개문만 있음), 해외 사용자 수, 유치업 등록"],
|
||||
["AI·오픈웹", "robots.txt 전체 허용, /ja 사이트맵. /en 주소가 일본어를 보여줌. llms.txt 없음"],
|
||||
], "해외 확장 초기이며 일본 중심입니다. 구글 예약 연동처럼 외부 표면으로 나가는 방향이라, 영문·다국어 원문 영역에 들어올 가능성이 있습니다.")
|
||||
profile(doc, "③ 크리에이트립 (Creatrip)", [
|
||||
["포지션", "외국인 한국 여행 앱. 뷰티·의료 예약, 숙소 예약, 통역 버디(14일)"],
|
||||
["규모", "누적가입 94만(80개국, 2024-11), MAU 160만, 제휴 약 1,200곳, 12개 언어(사이트 15개 로케일)"],
|
||||
["거래", "2025 거래 +40%, 뷰티·메디컬 +71%로 거래의 51%. 대만은 의료 비중 49%"],
|
||||
["투자", "시리즈B까지 누적 181억 원 이상. 마이리얼트립 30억(2024-08)"],
|
||||
["규제", "외국인환자 유치업 등록번호 A-2019-01-01-3686(자사 공지)"],
|
||||
["AI·오픈웹", "전체 허용, llms.txt 공개, 'Best Seoul Skin Clinics 2026' 등 영문 블로그"],
|
||||
], "PRD의 2층(상담·예약)과 3층(여정)을 이미 합법 구조로 운영하는 사업자입니다. 허브가 2~3층으로 가면 정면 경쟁이고, 반대로 상담·예약을 위탁할 제휴 후보이기도 합니다.")
|
||||
profile(doc, "④ 여신티켓 (YeoTi)", [
|
||||
["해외 출시", "2024-01 영·일·중 글로벌 앱"],
|
||||
["규모", "글로벌 MAU 4만 이상, 2025 상반기 +173.4%. 국내 병원 약 5,000곳"],
|
||||
["차별 기능", "부작용 보험(1건당 최대 100만 원), 앱 구매"],
|
||||
["AI·오픈웹", "GPTBot·ClaudeBot·PerplexityBot 개별 허용(결제 경로만 차단, 2026-08-12 갱신). 영문 llms.txt, 영·일·중 블로그"],
|
||||
], "국내 병원 수가 크고 AI 크롤러 대응을 명시적으로 하는 사업자입니다. '앱은 AI에 닿지 않는다'는 전제를 쓸 수 없는 근거입니다.")
|
||||
profile(doc, "⑤ BeautsGO", [
|
||||
["포지션", "외국인 대상 한국 뷰티·클리닉 예약. 5개 언어, 숙박 지원"],
|
||||
["규모", "제휴 클리닉 1,300곳 이상. 운영사·투자 미확인"],
|
||||
["AI 대응", "AI 에이전트용 예약 스킬을 GitHub(2026-03-31)·Smithery·ModelScope에 배포"],
|
||||
], "AI 답변엔진을 넘어 AI 에이전트가 직접 예약하는 경로까지 준비하고 있습니다. 허브가 '인용'만 목표로 하면 한 단계 뒤처집니다.")
|
||||
profile(doc, "⑥ 해외 의료관광 중개 사이트: Bookimed · ClinicsOnCall · PlacidWay", [
|
||||
["Bookimed", "우크라이나 기반 다국가 의료관광 마켓플레이스. 환자 무료, 병원이 수수료(요율 비공개). 연간 거래액 2,210만 달러, 문의 17만 건(자사 보고서). 영문 한국 병원 페이지 운영"],
|
||||
["ClinicsOnCall", "영국(글래스고) 소재. 환자 무료 코디네이션, 프리미엄 옵션 $20·$50. 통역·픽업·숙박·비자·24시간 코디네이터. 러시아어 중심 6개 언어. 한국 클리닉 수 미확인"],
|
||||
["PlacidWay", "해외 의료관광 중개 사이트. 운영 주체·한국 병원 수는 이번 조사에서 미확인(사이트 응답 시간 초과)"],
|
||||
["AI 인용 실측", "영문 60문항 Perplexity 답변에서 Bookimed 28문항, ClinicsOnCall 26문항, PlacidWay 14문항 인용(2026-09-10)"],
|
||||
], "외국인이 영어로 물을 때 AI가 실제로 가져다 쓰는 출처입니다. 허브의 'AI 인용' 목표는 이 사이트들과 경쟁합니다. 이들은 다국가·다언어 코디네이터 조직을 이미 갖고 있습니다.")
|
||||
profile(doc, "⑦ 영문 한국 클리닉 가이드 사이트: Korea Clinic Guide · ClinicSeoul", [
|
||||
["Korea Clinic Guide", "한국 클리닉 537곳 이상 목록, 20개 이상 진료 분야, 블로그·후기·영상·여행 계획 가이드. 병원 노출 광고형으로 보임. 운영 주체 미확인"],
|
||||
["ClinicSeoul", "RiskIntel Corp 운영 독립 가이드. '클리닉 후원 0, 유료 순위 0'을 표방. 35개 이상 심층 가이드, 120개 FAQ, 검증 가격 정보"],
|
||||
["AI 인용 실측", "영문 60문항 Perplexity 답변에서 Korea Clinic Guide 20문항, ClinicSeoul 17문항 인용. ChatGPT에서도 ClinicSeoul 4문항"],
|
||||
], "PRD 1층이 만들려는 것(중립, 원문, FAQ, 비교·순위 없음)과 가장 가까운 형태가 소규모 영문 사이트로 이미 운영되고 있고, AI 인용도 받고 있습니다. 허브의 차별점은 '병원 승인 원문'과 '실측 측정'만 남습니다.")
|
||||
profile(doc, "⑧ 공공 포털과 여행 OTA", [
|
||||
["메디컬코리아(KHIDI)", "유치기관 등록 조회 시스템, 영문·일문 사이트. 공신력"],
|
||||
["강남구 의료관광", "medicaltour.gangnam.go.kr. 국문 120문항 Perplexity 답변 14문항, ChatGPT 3문항에서 인용"],
|
||||
["한국관광공사 영문", "english.visitkorea.or.kr. 영문 60문항 Perplexity 12문항, ChatGPT 5문항 인용"],
|
||||
["Klook", "강남언니(UNNI) 연계 한국 뷰티·스킨케어 클리닉 예약 상품(페이지 접속 불가로 검색 결과만 확인)"],
|
||||
], "공공 포털은 무료이고 공신력이 있어 AI가 인용합니다. 허브가 공공 데이터와 같은 목록형 정보를 만들면 차별점이 없습니다.")
|
||||
|
||||
h3(doc, "4-3. 기능 비교")
|
||||
table(doc, ["기능", "강남언니", "바비톡 JP", "크리에이트립", "여신티켓", "BeautsGO", "해외 중개", "영문 가이드", "INFINITH 허브 1단계"], [
|
||||
["다국어 병원 정보", "O(6)", "O(일)", "O(12)", "O(3)", "O(5)", "O", "O(영)", "O(영·일·중 계획)"],
|
||||
["후기", "O", "O", "O", "O", "O", "O", "O", "X(의료법)"],
|
||||
["가격 공개", "이벤트가", "O", "O", "O", "가격표", "견적", "O", "비용 항목만"],
|
||||
["상담·예약", "O", "O", "O", "O", "O", "O", "X", "상담 신청 병원 직결"],
|
||||
["통역", "O(동행)", "병원별", "O(버디)", "미확인", "미확인", "O", "X", "X"],
|
||||
["숙박·여정", "미확인", "미확인", "O", "미확인", "O", "O", "안내", "제휴 링크(3단계)"],
|
||||
["결제", "O", "미확인", "O", "O", "미확인", "미확인", "X", "X(2단계)"],
|
||||
["병원 승인 원문", "X", "X", "X", "X", "X", "X", "X", "O"],
|
||||
["AI 인용 실측·리포트", "X", "X", "X", "X", "X", "X", "X", "O"],
|
||||
], widths=[2.6, 1.6, 1.6, 1.8, 1.6, 1.6, 1.6, 1.6, 2.4], size=8)
|
||||
note(doc, "O: 제공 확인, X: 제공하지 않음 또는 해당 없음, 미확인: 공개 자료로 확인 못 함. 병원 승인 원문과 AI 인용 실측은 공개 자료에서 다른 사업자의 제공 사실을 찾지 못한 항목입니다.")
|
||||
|
||||
h3(doc, "4-4. 수익 모델과 규제 대응")
|
||||
table(doc, ["사업자", "수익 모델", "유치업 등록", "규제 리스크"], [
|
||||
["강남언니", "CPV 광고, 성과형 광고", "입점 병원에 유치의료기관 등록 요구. 자사 등록 미확인", "과거 수수료 모델 유죄, 민감정보 유출"],
|
||||
["바비톡", "CPV 광고(해외 일부 무과금 시범)", "입점 병원에 유치의료기관 등록 요구", "공개 사례 미확인"],
|
||||
["크리에이트립", "예약 거래(수수료 구조 미공개)", "등록(A-2019-01-01-3686)", "공개 사례 미확인"],
|
||||
["여신티켓", "시술권 판매·광고", "미확인", "공개 사례 미확인"],
|
||||
["Bookimed", "병원 수수료", "해외 법인. 한국 등록 미확인", "한국 병원 알선 시 등록 여부가 쟁점이 될 수 있음"],
|
||||
["영문 가이드 사이트", "광고 또는 무광고(운영 주체별)", "해당 없음(중개 안 함)", "낮음"],
|
||||
["INFINITH 허브(PRD)", "1단계 무수수료, 2단계 병원 구독·예약 수수료", "2단계 전 등록 필요(자본금·보증보험 각 1억 원)", "1단계는 낮음, 2단계부터 알선·광고·민감정보"],
|
||||
], widths=[3.0, 4.6, 4.8, 4.6], size=9)
|
||||
table(doc, ["규제 요건", "내용 (변호사 확인 필요)"], [
|
||||
["유치업 등록", "의료해외진출법 제6조, 시행규칙 제4조: 자본금 1억 원, 보증보험 1억 원, 국내 사무소, 3년 갱신. 2년 무실적이면 등록취소 사유(제24조)"],
|
||||
["미등록 유치", "3년 이하 징역 또는 3천만 원 이하 벌금(제28조). 2026-06 미등록 업자 경유 유치 병원의 등록취소가 법원에서 유지됨"],
|
||||
["수수료 상한", "의원 30%, 병원·종합병원 20%, 상급종합병원 15%(보건복지부 고시)"],
|
||||
["환자 알선 금지", "의료법 제27조 제3항. 건강보험 미가입 외국인 유치는 예외 허용, 국내 거주 외국인은 제외"],
|
||||
["외국인 유치 광고", "의료법 제56조 제2항 제12호, 의료해외진출법 제15조: 국내 광고는 공항·보세판매장 등 지정 장소만. 온라인 다국어 매체 적용 여부는 미확인"],
|
||||
["사전심의 매체", "의료법 제57조, 시행령 제24조: 일평균 이용자 10만 명 이상 인터넷매체"],
|
||||
["개인정보", "개인정보보호법 제23조(민감정보 별도 동의), 제28조의8(국외 이전)"],
|
||||
["여행업", "관광진흥법 시행령: 종합여행업 자본금 5천만 원, 국내외여행업 3천만 원"],
|
||||
], widths=[3.4, 13.6], size=9)
|
||||
|
||||
h3(doc, "4-5. AI 답변엔진·오픈웹 대응 (2026-09-15 직접 조회)")
|
||||
table(doc, ["사업자", "AI 크롤러", "llms.txt", "다국어 오픈웹 콘텐츠"], [
|
||||
["강남언니", "검색봇 허용, 후기 차단, 학습봇 차단", "없음", "hreflang 6개 언어, 영문 병원 사이트맵 20건"],
|
||||
["바비톡", "전체 허용", "없음", "일본어 사이트맵"],
|
||||
["크리에이트립", "전체 허용", "있음", "15개 로케일, 영문 클리닉 블로그"],
|
||||
["여신티켓", "GPTBot·ClaudeBot·PerplexityBot 개별 허용", "있음(영문)", "영·일·중 블로그"],
|
||||
["BeautsGO", "미확인", "미확인", "5개 언어 사이트맵, AI 에이전트 예약 스킬"],
|
||||
], widths=[3.0, 5.4, 2.6, 6.0], size=9)
|
||||
|
||||
h3(doc, "4-6. 실측: AI 답변은 어떤 출처를 인용했나")
|
||||
para(doc, "INFINITH가 뷰성형외과 진단에서 수집한 공식 API 답변의 인용 URL을 도메인별로 집계했습니다. 수치는 해당 도메인을 1회 이상 인용한 답변 수입니다. 1회 측정이며 소비자 앱 화면과 다를 수 있습니다.", 10.5)
|
||||
table(doc, ["출처", "국문 120문항 ChatGPT", "국문 120문항 Perplexity"], [
|
||||
["네이버 블로그", "0", "81"],
|
||||
["강남언니", "4", "45"],
|
||||
["하이닥", "0", "28"],
|
||||
["캐시닥", "3", "27"],
|
||||
["병원 공식(뷰)", "6", "27"],
|
||||
["강남구 의료관광", "3", "14"],
|
||||
["바비톡", "3", "7"],
|
||||
["여신티켓", "0", "3"],
|
||||
["인용 URL이 있는 답변 수", "43", "120"],
|
||||
], widths=[7.0, 5.0, 5.0], size=9.5)
|
||||
note(doc, "국문 측정 2026-09-01. Perplexity는 robots.txt로 AI 크롤러를 막는 네이버 블로그를 81개 답변에서 인용했습니다. 네이버 자산의 기여도를 0으로 본 기존 판단은 Perplexity에 한해 수정이 필요합니다.")
|
||||
table(doc, ["출처", "영문 60문항 ChatGPT", "영문 60문항 Perplexity", "유형"], [
|
||||
["병원 공식(뷰 영문)", "18", "38", "병원"],
|
||||
["Reddit", "16", "33", "커뮤니티"],
|
||||
["Bookimed", "4", "28", "해외 중개"],
|
||||
["ClinicsOnCall", "0", "26", "해외 중개"],
|
||||
["Korea Clinic Guide", "0", "20", "영문 가이드"],
|
||||
["ClinicSeoul", "4", "17", "영문 가이드"],
|
||||
["강남언니(unni.app)", "0", "14", "국내 앱"],
|
||||
["PlacidWay", "0", "14", "해외 중개"],
|
||||
["한국관광공사 영문", "5", "12", "공공"],
|
||||
["RealSelf", "5", "11", "커뮤니티"],
|
||||
["크리에이트립", "0", "0", "여행 플랫폼"],
|
||||
["바비톡", "0", "0", "국내 앱"],
|
||||
], widths=[5.0, 3.6, 3.8, 4.6], size=9.5)
|
||||
note(doc, "영문 측정 2026-09-10, 미국 뉴욕 위치 기준. 인용 URL 수 ChatGPT 448개, Perplexity 2,316개.")
|
||||
bullets(doc, [
|
||||
("국내 질문에서는 강남언니와 네이버 블로그가 인용을 가져갑니다. ", "허브가 국문으로 들어갈 여지는 작습니다."),
|
||||
("외국인 질문에서는 국내 앱보다 해외 중개 사이트와 영문 가이드 사이트가 인용됩니다. ", "크리에이트립·바비톡은 0건이었습니다. 이 영역은 대형 앱이 비어 있지만, 소규모 영문 사이트가 이미 채우고 있습니다."),
|
||||
("병원 공식 영문 사이트가 가장 많이 인용됩니다. ", "병원 사이트를 강화하는 서포터즈·AEO 작업이 허브를 만드는 것보다 인용에 직접 연결됩니다."),
|
||||
], size=10.5)
|
||||
|
||||
h3(doc, "4-7. INFINITH 허브 차별점 검증")
|
||||
table(doc, ["PRD의 차별점", "경쟁 현실", "평가"], [
|
||||
["AI가 인용할 다국어 원문이 오픈웹에 없다", "영문 가이드·해외 중개 사이트가 이미 인용받고 있습니다(4-6)", "약함"],
|
||||
["기존 앱은 정보를 앱 안에 가둔다", "크리에이트립·여신티켓은 llms.txt·블로그, 강남언니는 AI 검색봇 허용", "일부만 유효"],
|
||||
["자동 온보딩(병원당 30분, $0.6)", "경쟁사는 병원이 직접 입력하거나 영업이 입력. 우리 자동화 품질은 60~70% 구간 존재", "유효하나 품질 보완 필요"],
|
||||
["병원 승인 원문(의학 검토·게시 승인 기록)", "공개 자료에서 같은 체계를 찾지 못함", "유효"],
|
||||
["AEO/GEO 실측 진단과 인용 측정 리포트", "플랫폼들은 제공하지 않음. GEO 대행사는 제공(항목·방법 비공개가 많음)", "유효"],
|
||||
["중립(비교·순위 없음)", "ClinicSeoul이 '후원 0, 유료 순위 0'을 표방", "약함"],
|
||||
["회복 일정·주변 안내 여정", "크리에이트립·BeautsGO·해외 중개가 숙박·통역까지 제공", "약함(정보 수준)"],
|
||||
], widths=[5.0, 8.4, 3.6], size=9)
|
||||
note(doc, "유효한 차별점 두 가지(병원 승인 원문, 실측 측정)는 플랫폼 없이 서포터즈 사이트와 진단 제품으로도 제공할 수 있습니다.")
|
||||
|
||||
h3(doc, "4-8. 진입 장벽")
|
||||
table(doc, ["장벽", "선두 사업자 수준", "INFINITH 현재"], [
|
||||
["병원 공급", "수천 곳 제휴(강남언니 일본 1,500곳, 여신티켓 국내 5,000곳)", "서포터즈 3곳, 승인 0편"],
|
||||
["외국인 수요", "해외 MAU 23만(강남언니), MAU 160만(크리에이트립)", "0. AI 인용 기준선만 있음"],
|
||||
["마케팅 자본", "광고선전비 343억(강남언니 2025), 누적 투자 181억 원 이상(크리에이트립)", "미편성"],
|
||||
["운영 조직", "오프라인 센터, 8개 언어 통역, 24시간 다국어 상담", "운영팀 없음"],
|
||||
["규제 자격", "유치업 등록(크리에이트립), 입점 병원 유치기관 등록 요구", "미등록, 자본금·보증보험 2억 원 필요"],
|
||||
["데이터·보안", "민감정보 처리 체계(그래도 유출 사고 발생)", "상담 데이터 없음, 체계 없음"],
|
||||
], widths=[3.2, 8.0, 5.8], size=9)
|
||||
|
||||
h3(doc, "4-9. 시사점")
|
||||
bullets(doc, [
|
||||
"플랫폼 경쟁의 승부는 병원 수, 외국인 사용자 수, 통역·예약 운영입니다. 이 셋에서 INFINITH는 출발점이 0입니다.",
|
||||
"INFINITH가 유효하게 가진 것은 병원 승인 원문 체계와 AI 인용 실측입니다. 이 둘은 병원 단위 B2B 제품으로 파는 편이 수요와 맞습니다.",
|
||||
"외국인 AI 답변에서 병원 공식 영문 사이트가 가장 많이 인용되므로, 병원별 서포터즈·영문 AEO 개선이 허브보다 효과 경로가 짧습니다.",
|
||||
"상담·예약이 필요해지면 직접 등록하지 말고, 유치업 등록 사업자(예: 크리에이트립)와 제휴하는 구조를 먼저 검토합니다.",
|
||||
], size=10.5)
|
||||
|
||||
# 5. 조직 적합성
|
||||
heading(doc, "5. 현재 조직으로 가능한 사업인가")
|
||||
table(doc, ["역량", "플랫폼에 필요한 수준", "현재", "판정"], [
|
||||
["병원 원문 생성·발행", "병원당 자동 온보딩, 다국어", "서포터즈 워커 동작, URL만으로 60~70% 품질, 승인 0편", "보유(개선 필요)"],
|
||||
["다병원 허브 개발", "계정·권한, 허브 도메인, 다국어 라우팅, 상담 폼, 운영 콘솔", "팀장 1명·주니어 5명, 기존 제품 병행", "1층만 가능, 기간 연장"],
|
||||
["운영", "병원 응대, 검수, 이미지 육안, 정정, 게이트 실패 처리", "운영팀 없음", "부족"],
|
||||
["외국인 응대", "영·일·중 상담, 예약 조율, 통역, 분쟁", "없음", "불가"],
|
||||
["수요 확보", "해외 광고, 현지 마케팅", "없음, AI 인용에만 의존", "불가"],
|
||||
["병원 공급", "병원 영업 조직", "앵커 소개 의존, 명단 미확인", "부족"],
|
||||
["규제·자본", "유치업 법인, 자본금·보증보험 2억 원, 2년 내 실적, 민감정보 보안", "없음", "2층 이상 불가"],
|
||||
], widths=[3.0, 5.4, 5.6, 3.0], size=9)
|
||||
bullets(doc, [
|
||||
("2층(상담·예약)과 3층(여정)은 현재 조직으로 할 수 없습니다. ", "개발 인력이 아니라 응대·영업·자본·규제 조직이 없습니다."),
|
||||
("1층(정보 허브)만은 기술적으로 가능합니다. ", "그러나 운영과 유입 없이는 서포터즈 사이트를 병원 수만큼 늘린 것과 결과가 비슷하고, 4-6에서 본 영문 가이드 사이트와 차별점이 약합니다."),
|
||||
("기회비용이 큽니다. ", "같은 인력으로 AI Discovery 진단 판매, 서포터즈 자동화 품질 개선(60~70% 구간), 병원 승인 흐름, 측정 리포트 자동화를 할 수 있고, 이 일들은 유료 전환과 직접 이어집니다."),
|
||||
], size=10.5)
|
||||
h3(doc, "5-1. 플랫폼을 다시 검토할 조건 (제안)")
|
||||
bullets(doc, [
|
||||
"서포터즈 유료 계약 병원 10곳 이상",
|
||||
"병원 승인 글 기준 외국인 질문 뱅크 인용률 개선을 2곳 이상에서 확인",
|
||||
"운영 인력 2명 이상 확보(병원 응대·콘텐츠 검수)",
|
||||
"유치업 등록 사업자와 상담·예약 위탁 제휴 구조 확인",
|
||||
"앵커 소개 병원 명단의 계약 가능성 확인",
|
||||
], size=10.5)
|
||||
|
||||
# 6. 권고 범위
|
||||
heading(doc, "6. 권고 범위: MOU · POC (8주)")
|
||||
h3(doc, "6-1. 포함")
|
||||
table(doc, ["번호", "항목", "산출물", "비고"], [
|
||||
["1", "뷰성형외과 서포터즈 사이트 운영(국문·영문)", "viewpl.webforai.kr: 글, 영상, 뉴스룸, 방문 안내, 회복 일정 플래너, 주변 안내", "배포 완료, 색인은 승인 후"],
|
||||
["2", "병원 승인 흐름", "원장 의학 검토·개설자 게시 승인 기록, 지원 관계 고지 문구 확정", "색인 전환 조건"],
|
||||
["3", "색인 전환", "승인 글만 공개 재배포, IndexNow·서치콘솔 제출", "법률 확인 2건 결과에 따름"],
|
||||
["4", "AEO/GEO 기준선과 재측정", "국문 120·영문 60문항 × ChatGPT·Perplexity, 착수·4주·8주, 5회 반복", "언급률·신뢰구간으로만 보고"],
|
||||
["5", "공식 홈페이지 개선 가이드", "9/1 POC 제안서 P0·P1(스키마, NAP, 정의문, FAQ) 적용 명세", "적용 주체는 8장 안건"],
|
||||
["6", "측정 연결", "GA4 AI 유입 채널그룹, 서치콘솔, 가능 시 서버 로그", "병원 계정 권한 필요"],
|
||||
["7", "결과 보고서와 사례", "8주 결과 보고서, 사례 요약 1쪽", "MOU 홍보·타 병원 영업"],
|
||||
], widths=[1.2, 4.4, 7.6, 3.8], size=9)
|
||||
h3(doc, "6-2. 제외 (MOU 문구에 명시)")
|
||||
bullets(doc, [
|
||||
"다병원 의료관광 포털, 병원 비교·목록 서비스",
|
||||
"외국인 환자 상담·예약 중개, 통역, 픽업, 결제, 수수료",
|
||||
"숙박·관광 상품 판매, 앱 개발",
|
||||
"답변엔진 추가(Claude, Gemini, Google AI Overview). 유료 전환 시 옵션",
|
||||
"공식 홈페이지 직접 개발·유지보수(8장 안건 4 결정에 따름)",
|
||||
], size=10.5)
|
||||
h3(doc, "6-3. 뷰성형외과가 제공할 것")
|
||||
table(doc, ["항목", "이유"], [
|
||||
["원장 의학 검토와 개설자 게시 승인(주기·담당자 지정)", "승인 없이는 색인을 열 수 없습니다"],
|
||||
["지원 관계 고지 문구 확정", "추천·보증 심사지침"],
|
||||
["홈페이지·영상·이미지 자산 사용 허락 범위", "저작권·의료광고 책임"],
|
||||
["GA4·서치콘솔 권한", "측정 항목 4개가 계정 없이는 미검증"],
|
||||
["사례 공개와 홍보 기사 사용 동의(병원명, 수치 공개 범위)", "MOU의 목적"],
|
||||
["(선택) 소개 가능한 병원 명단", "향후 확장 검토용, 이번 범위의 의무 아님"],
|
||||
], widths=[8.5, 8.5], size=9.5)
|
||||
h3(doc, "6-4. 비용")
|
||||
bullets(doc, [
|
||||
("직접 비용은 작습니다. ", "측정 3회 × 5회 반복 기준 약 17만 원(현행 2개 엔진)입니다. 사이트 호스팅·빌드 비용은 병원당 소액입니다."),
|
||||
("실제 비용은 인력 시간입니다. ", "병원 응대, 승인 수집, 보고서 작성에 감본부장 시간이 들어갑니다. POC 기간을 8주로 고정하는 이유입니다."),
|
||||
], size=10.5)
|
||||
|
||||
# 7. 답변 문안
|
||||
heading(doc, "7. 원장의 포털 제안에 대한 답변 문안 (안)")
|
||||
para(doc, "원장님께서 말씀하신 글로벌 의료관광 포털 방향에 공감합니다. 다만 외국인 환자 상담·예약 중개는 유치업 등록과 다국어 응대 조직이 필요한 사업이라, 이번 협약에서는 뷰성형외과 서포터즈 사이트와 AI 답변 노출 측정으로 효과를 먼저 확인하려고 합니다. 8주 결과가 나오고 참여 병원이 늘어나면, 포털 단계는 그 결과를 근거로 다시 제안드리겠습니다.", 11, False, INDIGO, 10)
|
||||
|
||||
# 8. 결정 안건
|
||||
heading(doc, "8. 대표 보고 시 결정 요청 안건")
|
||||
table(doc, ["번호", "결정 사항", "권고안", "대안"], [
|
||||
["1", "MOU·POC 범위", "서포터즈 사이트 + 진단·측정(6-1)", "PRD 1층 포함"],
|
||||
["2", "플랫폼 사업 추진", "이번에는 제외, 5-1 조건 충족 시 재검토", "PRD 1단계 착수"],
|
||||
["3", "POC 비용", "무상, 8주 고정, 홍보·사례 사용권을 대가로", "유료 POC(최소 금액 제시)"],
|
||||
["4", "공식 홈페이지 개선", "가이드 제공, 적용은 병원", "직접 수정(추가 인력 필요)"],
|
||||
["5", "답변엔진 추가", "현행 2개 유지, Claude는 유료 옵션", "Claude 포함"],
|
||||
["6", "색인 전환 전 법률 확인", "사전심의·유치업 해당 여부 변호사 확인 후 전환", "승인만 받고 전환"],
|
||||
["7", "MOU 순서", "범위 문서 합의 → MOU → 홍보 기사", "MOU 먼저, 범위는 부속서"],
|
||||
["8", "미팅 참석", "문서 합의 후 실행 단계에서 참석", "이번 조율 미팅부터 참석"],
|
||||
], widths=[1.2, 3.8, 7.0, 5.0], size=9.5)
|
||||
|
||||
# 9. 질문
|
||||
heading(doc, "9. 뷰성형외과 미팅에서 확인할 질문")
|
||||
bullets(doc, [
|
||||
"MOU로 원하는 결과의 우선순위: 홍보, 외국인 환자 유입, 포털 참여",
|
||||
"원장 검토·승인 담당자와 주기",
|
||||
"홍보 기사에 병원명과 수치를 공개할 범위",
|
||||
"공식 홈페이지 수정 권한과 담당자",
|
||||
"소개 가능한 병원 명단, 병원 수, 현재 관계 단계",
|
||||
"포털을 원한다면 비용 분담이나 투자 의향",
|
||||
], size=10.5)
|
||||
|
||||
# 10. 액션
|
||||
heading(doc, "10. 다음 액션")
|
||||
table(doc, ["날짜", "할 일", "담당"], [
|
||||
["9/15(화)", "사이트 URL management 방 공유", "감본부장"],
|
||||
["9/16(수)", "이 문서 대표 보고, 8장 안건 결정", "감본부장 → 대표"],
|
||||
["9/17(목)", "결정안으로 범위 문서 확정, 뷰성형외과 전달", "감본부장, 황본부장"],
|
||||
["9/18(금)", "연구소 회의: 병원별 자동화 수준 시연(60~70% 구간 사례 포함)", "감본부장"],
|
||||
["합의 후", "변호사 확인 2건 요청, 병원 승인 요청서 발송", "감본부장"],
|
||||
], widths=[2.4, 10.6, 4.0], size=9.5)
|
||||
|
||||
# 부록
|
||||
heading(doc, "부록. 출처")
|
||||
groups = [
|
||||
("내부 자료", [
|
||||
"Global Medical Hub PRD v0.2: docs/prd/INFINITH_Global_Medical_Hub_PRD_v0.2.html (2026-09-09)",
|
||||
"뷰성형외과 POC 제안서: docs/reports/viewclinic/02_poc_proposal/Viewclinic_POC_Proposal.pptx (2026-09-01)",
|
||||
"서포터즈 색인 보류 사유 보고: docs/business/INFINITH_서포터즈_색인보류_사유보고_2026-09-14.docx",
|
||||
"답변엔진 확장 검토 보고서: docs/reports/answer_engines/INFINITH_답변엔진_확장검토_2026-09-15.docx",
|
||||
"AI 답변 인용 원자료: scripts/out/qb_openai_results.jsonl, qb_perplexity_results.jsonl (2026-09-01), docs/reports/viewclinic/05_global_en/qb_en_*_results.jsonl (2026-09-10)",
|
||||
]),
|
||||
("시장·규제", [
|
||||
"보건복지부 2025 외국인환자 유치 실적 https://www.mohw.go.kr/board.es?mid=a10503010100&bid=0027&act=view&list_no=1490280 (2026-04)",
|
||||
"보건복지부 2024 실적 https://www.mohw.go.kr/board.es?mid=a10503000000&bid=0027&act=view&list_no=1485191 (2025-04)",
|
||||
"2026 상반기 외국인 카드 결제 https://www.medicaldaily.co.kr/post/22664 (2026-08-27)",
|
||||
"부가세 환급 종료 후 동향 https://www.hankyung.com/article/2026081424556 (2026-08-14)",
|
||||
"유치 수수료 고시 제2024-79호 https://www.mohw.go.kr/boardDownload.es?bid=0026&list_no=1481343&seq=1 (2024-05-08, 현행 제2025-72호 본문 미대조)",
|
||||
"의료해외진출법·시행령·시행규칙, 의료법, 개인정보보호법, 관광진흥법 시행령: 국가법령정보센터 law.go.kr",
|
||||
"대법원 2018도20928 https://www.scourt.go.kr/portal/news/NewsViewAction.work?seqnum=6637&gubun=4",
|
||||
"강남언니 의료법 위반 1심 https://www.fnnews.com/news/202201271700056405 (2022-01-27), 2심 https://www.fnnews.com/news/202307061827216638 (2023-07-06)",
|
||||
"미등록 유치 병원 등록취소 소송 https://www.doctorsnews.co.kr/news/articleView.html?idxno=165135",
|
||||
]),
|
||||
("경쟁 사업자", [
|
||||
"강남언니 글로벌 확장 https://zdnet.co.kr/view/?no=20251015091542 (2025-10-15)",
|
||||
"강남언니 글로벌 서비스 소개서 https://docs.channel.io/unni/ko/articles/%EA%B8%80%EB%A1%9C%EB%B2%8C-%EC%84%9C%EB%B9%84%EC%8A%A4-%EC%86%8C%EA%B0%9C%EC%84%9C--a34d448f",
|
||||
"강남언니 CPV 소개서 https://docs.channel.io/unni/ko/articles/CPV%EA%B3%BC%EA%B8%88-%EB%B0%A9%EC%8B%9D-%EC%86%8C%EA%B0%9C%EC%84%9C--e045a4e3",
|
||||
"강남언니 태국 성장 https://www.news2day.co.kr/article/20250624500218 (2025-06-24)",
|
||||
"강남언니 통역·예약 https://www.mt.co.kr/industry/2026/08/12/2026081210155697732 (2026-08-12)",
|
||||
"강남언니 통역 도입 https://zdnet.co.kr/view/?no=20260511103126 (2026-05-11)",
|
||||
"강남언니 실적 https://www.newsspace.kr/news/article.html?no=15572 (발행일 미확인)",
|
||||
"강남언니 개인정보 유출 https://www.swtvnews.com/news/newsview.php?ncode=1065595512012384 (2026-09-08)",
|
||||
"바비톡 일본 진출 https://www.venturesquare.net/1001286 (2025-08)",
|
||||
"바비톡 글로벌 서비스 https://docs.channel.io/f47c5d3a/ko/articles/%EB%B0%94%EB%B9%84%ED%86%A1-%EA%B8%80%EB%A1%9C%EB%B2%8C-%EC%84%9C%EB%B9%84%EC%8A%A4--5dc781ba",
|
||||
"크리에이트립 규모 https://www.asiatime.co.kr/article/20250516500383 (2025-05-17), 거래 https://www.mt.co.kr/future/2026/01/29/2026012908442998862 (2026-01-29), 유치업 등록 https://creatrip.com/en/blog/14800",
|
||||
"크리에이트립 투자 https://zdnet.co.kr/view/?no=20240814174433 (2024-08-14)",
|
||||
"여신티켓 글로벌 https://www.enetnews.co.kr/news/articleView.html?idxno=39846",
|
||||
"BeautsGO https://www.beautsgo.com/ · https://github.com/BeautsGO/beautsgo-booking",
|
||||
"Bookimed 보고서 https://us-uk.bookimed.com/b2b-article/medical-tourism-report-bookimed-platform/",
|
||||
"ClinicsOnCall https://clinicsoncall.com (2026-09-15 조회)",
|
||||
"Korea Clinic Guide https://koreaclinicguide.com (2026-09-15 조회)",
|
||||
"ClinicSeoul https://clinicseoul.net (2026-09-15 조회)",
|
||||
"메디컬코리아 https://www.medicalkorea.or.kr/korp/main.do",
|
||||
"AI 크롤러·llms.txt: 각 사이트 robots.txt·sitemap·llms.txt 직접 조회 (2026-09-15)",
|
||||
]),
|
||||
]
|
||||
for title, items in groups:
|
||||
h3(doc, title)
|
||||
for it in items:
|
||||
p = doc.add_paragraph()
|
||||
p.paragraph_format.space_after = Pt(2)
|
||||
set_font(p.add_run(it), 9, False, GRAY)
|
||||
|
||||
if OUT.exists() and "--force" not in sys.argv:
|
||||
sys.exit(f"{OUT.name} 이 이미 있어 멈춥니다(haewon 편집본 보호). 새로 만들려면 --force")
|
||||
doc.save(OUT)
|
||||
print(OUT)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
build()
|
||||
@ -1,190 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
"""haewon 편집본에 '4-10. 병원·의료 AEO/GEO 서비스 경쟁분석'과 부록 출처를 편집본에 직접 삽입한다.
|
||||
|
||||
문서를 다시 만들지 않는다. 기존 문단·표·서식은 그대로 두고, '5. 현재 조직으로 가능한 사업인가' 제목 앞에
|
||||
새 절을, 문서 끝(부록 출처 마지막)에 출처 묶음을 끼워 넣는다. '4-10.' 제목이 이미 있으면 아무것도 하지 않는다.
|
||||
조사 기준일 2026-09-15.
|
||||
|
||||
python3 docs/business/patch_aeo_geo_competition_docx.py
|
||||
"""
|
||||
import copy
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
HERE = Path(__file__).resolve().parent
|
||||
sys.path.insert(0, str(HERE.parent / "reports" / "answer_engines"))
|
||||
from build_engine_review_docx import Document, Pt, GRAY, bullets, heading, para, set_font, table # noqa: E402
|
||||
|
||||
TARGET = HERE / "INFINITH_의료관광허브_경쟁분석_및_뷰성형외과_MOU범위_2026-09-15.docx"
|
||||
ANCHOR = "5. 현재 조직으로 가능한 사업인가"
|
||||
MARK = "4-10. 병원·의료 AEO/GEO 서비스 경쟁분석"
|
||||
|
||||
|
||||
def text_of(el):
|
||||
return "".join(x.text or "" for x in el.iter() if x.tag.endswith("}t"))
|
||||
|
||||
|
||||
def h3(doc, t):
|
||||
heading(doc, t, 2)
|
||||
|
||||
|
||||
def note(doc, t):
|
||||
para(doc, t, 10, False, GRAY)
|
||||
|
||||
|
||||
def section(doc):
|
||||
h3(doc, MARK)
|
||||
para(doc, "플랫폼이 아니라 INFINITH가 지금 팔 수 있는 제품(AI Discovery 진단 + 서포터즈 사이트)이 실제로 경쟁하는 시장입니다. 국내 병원 특화 대행, 국내 범용 GEO SaaS, 해외 SaaS, 해외 의료 마케팅 에이전시를 각 사이트·보도자료에서 직접 확인했습니다. '미확인'은 공개 페이지에서 찾지 못했다는 뜻이며 기능이 없다는 뜻이 아닙니다.", 10.5)
|
||||
|
||||
h3(doc, "4-10-1. 시장 구도")
|
||||
table(doc, ["유형", "대표 사업자", "측정 방식", "가격대"], [
|
||||
["설문형 무료 진단", "이움코퍼레이션", "병원 담당자 설문 7문항, AI 엔진 질의 없음", "진단 무료, 대행 상담 후 제안"],
|
||||
["국내 병원 특화 대행", "마하닥-GEO, 아워마케팅, 크리앤서, 지오랭크, 와이더뷰티, BizSpring GEO Care for Clinic", "사이트 감사 + AI 엔진 질의(방식·문항 수 공개 수준이 업체마다 다름)", "월 29만~500만 원"],
|
||||
["국내 병원 대상 SaaS", "NATANA, 온더AI", "주간 또는 상시 AI 질의, 지표 정의 공개", "월 24만~250만 원"],
|
||||
["국내 범용 GEO", "서치폴라리스, 에이넥트, 팀하이, 블루닷, NNT Insights, RanketAI, FrostAI, 오픈타임, ZESTCOMPANY, Anymorph", "대행형은 진단+실행, SaaS는 프롬프트 추적", "월 7.9만~2,430만 원"],
|
||||
["해외 SaaS", "OtterlyAI, Profound, Peec AI, HubSpot AEO, Semrush, Ahrefs Brand Radar", "프롬프트 일간 추적, 일부 사이트 감사. 의료 특화 기능 미확인", "월 $29~$489"],
|
||||
["해외 의료 마케팅 에이전시", "Fuel Online, ADvance Media, Percepture, Specialist Practice Excellence, Plastic SEO", "코성형 등 시술별 AI visibility audit, 무료 프롬프트 배포", "월 $3,000~20,000+(Percepture)"],
|
||||
], widths=[3.0, 5.4, 5.2, 3.4], size=9)
|
||||
|
||||
h3(doc, "4-10-2. 국내 병원 특화 사업자")
|
||||
table(doc, ["사업자", "진단·측정", "방법론 공개", "국내 표면·의료법", "실행 범위", "가격", "성과 주장과 근거"], [
|
||||
["이움코퍼레이션", "설문 7문항(14점). AI 질의 없음", "문항만", "미확인", "FAQ·Schema·권위도", "상담 후", "AI 검색 이용 +68%, 재계약률 98%. 출처 없음. '200+ 병원' 실명 없음"],
|
||||
["마하닥-GEO", "AI 노출 지수 무료 진단. 항목 수 미확인", "미공개", "미확인", "JSON-LD, EEAT 콘텐츠, 홈페이지 제작", "미확인", "소아청소년과 인용 0→월 15회+, 피부과 객단가 +35%. 측정 방법 없음. '한국 1위' 근거 없음. FAQ에 자사 추천 문구"],
|
||||
["아워마케팅", "12개국 × 7개 플랫폼(ChatGPT·Claude·Gemini·Perplexity·AI Overview·AI Mode). 'API가 아닌 실제 Chrome + ISP 프록시' 화면 수집", "샘플 리포트만", "의료광고심의 가이드 메뉴", "다국어 콘텐츠, 전환 페이지, PR", "미확인", "한방 클리닉 SOV 90%+, 한의원 AI 봇 방문 462회. 레퍼런스 비공개"],
|
||||
["크리앤서", "공개 체크리스트 7항목. 진단 방식 미공개", "체크리스트만", "네이버 큐 포함. FAQ에 의료법·심의 이해 명시", "블로그, 검색광고, 플레이스, 홈페이지", "미확인", "성형외과 AI 노출 12%→78%. 측정 방법 미공개. 블로그 사례는 '가상 예시' 명시"],
|
||||
["지오랭크", "사이트 감사 7항목 0~100점 + 4개 LLM 매일 5회 새 세션", "항목·주기 공개", "미확인", "자사 도메인 발행, JSON-LD", "병의원 월 500만 원, 3개월 내 개선 없으면 50% 환불", "강남 S 피부과 ChatGPT 인용률 +280%, 예약 +42%. '자체 측정' 명시, 익명"],
|
||||
["NATANA", "ChatGPT·Gemini 매주. 페르소나 5~10명, 프롬프트 50~100개 반복. 무료 진단 5문항", "지표 6종·원문 보관 공개", "의료 표현은 고객 확인 후 실행", "수정안·초안. 발행은 Managed만", "월 24만·49만(출시 예정), Managed 250만부터", "해외 사례 인용 후 '동일 성과 보장 안 함' 명시"],
|
||||
["온더AI", "ChatGPT·Gemini·Perplexity 모니터링", "지표만", "블로그에 효과 단정·경험담 금지 안내", "콘텐츠 자동 생성, 서브도메인 자동 발행", "월 50만(50 프롬프트)·150만(200), 3개월 결제", "성모치과의원 SoV 26%→52%. 산출 방법 미공개. 실명 1곳"],
|
||||
["와이더뷰티", "미확인", "미확인", "의료광고 법률 자문 지원", "GEO·SEO, 브랜딩, 숏폼, 광고", "미확인", "미확인"],
|
||||
["BizSpring GEO Care for Clinic", "ChatGPT·Perplexity 기준 SoM", "미확인", "네이버 블로그·카카오채널 배포, 원장 승인 절차", "블로그·카카오 배포", "초기 49만+월 29만 / 초기 150만+월 100~150만", "'의료 사례 데이터 축적 중', 피부과 사례는 '예시 시나리오' 명시"],
|
||||
], widths=[2.2, 3.2, 1.6, 2.4, 2.4, 2.2, 3.0], size=7.5)
|
||||
|
||||
h3(doc, "4-10-3. 국내 범용 GEO 사업자")
|
||||
table(doc, ["사업자", "유형", "측정 방식", "국내 표면·의료법", "가격", "성과 주장 / 병원 사례"], [
|
||||
["서치폴라리스", "대행", "진단 '200개 항목'(목록 미공개). 4개 AI 엔진 + Google·Bing·Naver 검색", "브리핑 명시 없음", "스프린트 890만(4주), 월 890만, 엔터프라이즈 월 2,430만", "평균 언급률 +300% 산출법 미공개. 밝은눈안과 ChatGPT Top 3. 자사 1위 순위 글 게시"],
|
||||
["에이넥트", "진단 컨설팅", "4개 엔진 SoA·인용률·AVI, AID-Q 질문 설계", "미확인", "미확인", "병원 사례 미확인"],
|
||||
["팀하이", "SaaS", "ChatGPT·Gemini 감성 분석, GA4 연동", "미확인", "월 9.9만·49.5만", "병원 사례 미확인"],
|
||||
["블루닷", "SaaS+컨설팅", "DUCA 프레임워크, 문항 수 미확인", "미확인", "온보딩 490만부터, 3개월 3,000만부터", "평균 AI 인용 +65% 근거 미공개. 삼성서울병원 진단 글은 본문 404"],
|
||||
["NNT Insights", "SaaS", "ChatGPT·Gemini·Perplexity(Claude 옵션). 사용량 공식 공개", "네이버 AI 브리핑·AI Overview 스크린샷 수집(주 1회)", "월 50만·125만·250만", "병원 사례 미확인"],
|
||||
["오픈타임", "진단+대행", "기술 감사 배점 공개(robots 10, JSON-LD 15, llms.txt 5 등), 5개 엔진", "네이버 AI 브리핑 관측 베타", "미확인", "병원 사례 미확인"],
|
||||
["ZESTCOMPANY", "대행", "4개 엔진 + 네이버 AI 비교", "식약처·의료법 API로 주의 표현 점검", "3개월 단위, 금액 미확인", "안과 글은 현황 분석, 고객 성과 아님"],
|
||||
["RanketAI · FrostAI · Anymorph", "SaaS", "RanketAI 페이지 구조 5기준+3엔진, FrostAI 3엔진(월 7.9만부터), Anymorph 8엔진(월 110만부터)", "Anymorph 'Naver AI' 표기, 세부 미확인", "위 기재", "병원 사례 미확인"],
|
||||
], widths=[2.4, 1.6, 4.2, 3.0, 2.8, 3.0], size=8)
|
||||
|
||||
h3(doc, "4-10-4. 해외 SaaS와 의료 마케팅 에이전시")
|
||||
table(doc, ["사업자", "측정 방식", "의료·규제", "가격"], [
|
||||
["OtterlyAI", "ChatGPT·AI Overview·Perplexity·Copilot. GEO Audit 25+ 요인(크롤링·콘텐츠·Query Fan-Out)", "의료 특화 미확인", "$29(15)·$189(100)·$489(400 프롬프트)"],
|
||||
["Profound", "매일 추적. Starter는 ChatGPT만, Growth는 3엔진", "미확인", "$99·$399(연간)"],
|
||||
["Peec AI", "6엔진 중 3개 선택, 매일", "미확인", "€70·€180·€360(리뷰 사이트 기준)"],
|
||||
["HubSpot AEO", "ChatGPT·Gemini·Perplexity, 무료 Grader 1회 진단", "미확인", "$50/월(25 프롬프트)"],
|
||||
["Semrush · Ahrefs", "Semrush AI Visibility Toolkit(AI Mode·ChatGPT 등), Ahrefs 457M+ 프롬프트 DB", "미확인", "Semrush $99/월, Ahrefs $50~199/월"],
|
||||
["Fuel Online", "코성형 전용 AI visibility audit. mention rate·citation share(본문 403, 검색 스니펫 기준)", "미확인", "미확인"],
|
||||
["ADvance Media", "5개 AI 표면, 월 약 1,000단어 콘텐츠 + 소수 AI 질의 재확인", "HIPAA 준수 CRM 언급", "미공개"],
|
||||
["Percepture", "진단에 AI 인용 여부 포함(GSC·Screaming Frog·Semrush)", "'compliance awareness' 수준", "성형 SEO 월 $3,000~5,500, SEO+GEO+PR 월 $8,000~20,000+, 기술 감사 $2,500부터"],
|
||||
["Specialist Practice Excellence", "무료 마스터 프롬프트 공개(판매형 audit 아님)", "프롬프트에 AHPRA·FTC 등 규제 검토 지시", "해당 없음"],
|
||||
], widths=[3.2, 7.0, 3.2, 3.6], size=8.5)
|
||||
|
||||
h3(doc, "4-10-5. 비교 축별 INFINITH 위치")
|
||||
table(doc, ["비교 축", "경쟁사 수준 (대표 사례)", "INFINITH", "평가"], [
|
||||
["진단 기준 공개", "서치폴라리스 200항목 목록 비공개, 지오랭크 7항목, 오픈타임 배점 일부, Otterly 25+ 요인", "36항목, 항목별 0~3 레벨 기준과 판정 근거 URL 공개", "우위"],
|
||||
["자동·수동 구분, 미검증 처리", "공개 사례 없음", "자동 22·반자동 5·수동 9, 미검증은 분모 제외", "우위"],
|
||||
["답변 실측 방식", "NATANA 주간 50~100문항 반복, 지오랭크 4엔진 매일 5회, 아워마케팅 12개국×7플랫폼 브라우저 수집, NNT 브리핑 스크린샷", "120문항(국문)·60문항(영문) × ChatGPT·Perplexity 공식 API, 현재 1회", "엔진 수·빈도 열위. 공식 API 방식은 약관 측면에서 보수적"],
|
||||
["답변 품질 판정", "NATANA 정확률, 팀하이·HubSpot 감성", "gpt-4.1 어조 판정(기준표 v0.3)", "동등"],
|
||||
["국내 표면", "네이버 AI 브리핑 측정: NNT, 오픈타임(베타), ZEST. 강남언니 언급: 조사 대상 0곳", "강남언니·네이버 플레이스·GBP를 진단 항목(D1·D2·D5)으로 실측. 네이버 AI 브리핑 답변은 측정 안 함", "강남언니 우위, 브리핑 열위"],
|
||||
["의료법 56조 처리 위치", "안내문(온더AI), 법률 자문(와이더뷰티), API 표현 점검(ZEST), 원장 승인 절차(BizSpring)", "발행 게이트가 금지 유형을 코드로 차단, 원장 의학 검토·개설자 승인 기록이 있어야 공개", "우위"],
|
||||
["실행 산출물", "초안 전달(NATANA), 서브도메인 자동 발행(온더AI), 블로그·카카오 배포(BizSpring), 홈페이지 제작(마하닥)", "병원 승인 원문 기반 서포터즈 사이트 자동 빌드(병원당 약 30분·$0.6). URL만으로는 60~70% 품질 구간 존재", "우위(품질 보완 필요)"],
|
||||
["성과 검증 가능성", "익명·가상 예시·자체 측정이 대부분. 실명은 성모치과의원(온더AI), 밝은눈안과(서치폴라리스) 정도", "뷰성형외과 실명 기준선(같은 질문 세트로 전후 비교 설계). 재측정 전", "잠재 우위(POC 결과 필요)"],
|
||||
["일간 대시보드·셀프서브", "SaaS 대부분 제공", "없음", "열위"],
|
||||
["가격 구조", "월 7.9만~890만 원, 환불 조건(지오랭크 50%)", "미확정(9/8 제안 초안: 진단 49만, 서포터즈 월 99만·199만)", "결정 필요"],
|
||||
], widths=[2.8, 6.0, 5.6, 2.6], size=8.5)
|
||||
|
||||
h3(doc, "4-10-6. 이 시장의 공통 패턴")
|
||||
bullets(doc, [
|
||||
("성과 수치는 공개하고 산출 방법은 공개하지 않습니다. ", "크리앤서 12%→78%, 서치폴라리스 +300%, 블루닷 +65%, 마하닥 사례가 해당합니다. 사용량 공식이나 원문 보관을 공개한 곳은 NNT Insights와 NATANA 두 곳입니다."),
|
||||
("무료 진단의 다음 단계가 연락처 수집입니다. ", "설문형(이움)과 사이트 감사형(지오랭크 Scanner) 무료 진단은 실제 AI 답변을 측정하지 않습니다."),
|
||||
("자사를 추천하는 콘텐츠를 스스로 게시합니다. ", "마하닥 FAQ, 서치폴라리스·Anymorph의 업체 순위 글, 지오랭크 홈의 ChatGPT 답변 캡처가 해당합니다."),
|
||||
("국내 표면 반영이 약합니다. ", "강남언니를 언급한 곳은 없고, 네이버 AI 브리핑을 측정하는 곳은 범용 SaaS 3곳뿐입니다. 병원 특화 업체에서는 확인되지 않았습니다."),
|
||||
("의료법 대응은 선언 수준입니다. ", "56조나 사전심의를 발행 공정에 넣었다고 밝힌 곳은 없습니다. 병원 레퍼런스는 대부분 익명이거나 예시입니다."),
|
||||
], size=10)
|
||||
|
||||
h3(doc, "4-10-7. 시사점")
|
||||
bullets(doc, [
|
||||
("INFINITH가 실제로 경쟁하는 곳은 이 시장입니다. ", "사업자는 많지만, 기준·방법론 공개와 의료법의 공정 반영에서 INFINITH보다 앞선 곳을 찾지 못했습니다. 플랫폼 경쟁(4-1~4-9)과 달리 출발점이 앞서 있습니다."),
|
||||
("뷰성형외과 POC의 가치는 실명 전후 측정 사례입니다. ", "경쟁사 레퍼런스가 대부분 익명·예시인 시장에서, 같은 질문 세트로 측정한 실명 결과는 드뭅니다. MOU 홍보 포인트를 '실측 기준선과 8주 재측정'으로 잡을 것을 권고합니다."),
|
||||
("보완할 약점은 세 가지입니다. ", "① 네이버 AI 브리핑 답변 측정(국내 병원이 먼저 묻는 표면), ② 반복 측정(현재 1회, 5회 반복으로 신뢰구간 보고), ③ 가격 확정."),
|
||||
("비교 광고 표현에 주의합니다. ", "브라우저 수집 방식이나 성과 산출법을 문제로 삼아 경쟁사를 지목하면 표시광고법상 비교·비방 광고 문제가 될 수 있습니다. 외부 자료에는 'INFINITH는 공식 API로 측정하고 기준을 공개합니다'처럼 우리 방식만 서술합니다."),
|
||||
("랜딩 문구 방향과 일치합니다. ", "'36개 항목, 항목마다 측정 근거를 붙여 진단'이 이 시장에서 확인된 차별점(기준 공개)과 맞습니다."),
|
||||
], size=10)
|
||||
note(doc, "조회일 2026-09-15. 가격·기능은 각 사 공개 페이지 기준이며 변경될 수 있습니다. Fuel Online은 본문 403, 블루닷 삼성서울병원 글은 404로 제목만 확인했습니다. MindScope GEO는 공식 사이트를 찾지 못했습니다.")
|
||||
|
||||
|
||||
SOURCES = [
|
||||
"이움코퍼레이션 https://www.eumcorporation.com/aeo-geo/",
|
||||
"마하닥-GEO https://hospitalgeo.com",
|
||||
"아워마케팅 GEO 진단 https://ourmarketing.co.kr/geo-diagnosis · https://ourmarketing.co.kr/service/expertise/geo · 출시 기사 http://www.bogunuilyo.com/news/503413 (2026-07-10)",
|
||||
"와이더뷰티 https://mdtoday.co.kr/news/view/1065602577857715 (2026-05-28)",
|
||||
"크리앤서 https://www.creanswer.com · 병원 GEO 체크리스트 https://creanswer.com/blog/geo-checklist-7/ (2026-05-04)",
|
||||
"NATANA https://natana-ai.com/clinic",
|
||||
"온더AI https://onthe.ai/pricing · 병원 GEO 가이드 https://blog.onthe.ai/geo-ai-search-hospital-marketing (2026-04-02)",
|
||||
"지오랭크 https://georank.co.kr · 병원 사례 https://georank.co.kr/case/hospital-clinic-geo · 비용 https://georank.co.kr/geo/geo-cost-pricing",
|
||||
"BizSpring GEO Care for Clinic https://blog.bizspring.co.kr (2026-05-28, 수정 2026-08-27)",
|
||||
"서치폴라리스 https://searchpolaris.com · 가격 https://searchpolaris.com/pricing",
|
||||
"에이넥트 https://ainnect.co.kr",
|
||||
"팀하이 https://teamhai.co.kr",
|
||||
"블루닷 https://bi.bluedot.so/consulting",
|
||||
"NNT Insights https://nnt-insights.com/pricing",
|
||||
"RanketAI https://www.ranketai.com/ko/faq · AI 가시성 측정 도구 비교 https://www.ranketai.com/ko/blog/ai-visibility-tools-comparison-2026-05-16",
|
||||
"FrostAI https://www.frostai.co",
|
||||
"오픈타임 https://ai.idearabbit.co.kr",
|
||||
"ZESTCOMPANY https://zestcompany.co.kr",
|
||||
"Anymorph https://anymorph.ai · 한국 GEO·AEO 서비스 TOP 5 https://anymorph.ai/contents/best/korea-geo-aeo-services-top-5-2026 (2026-08-18)",
|
||||
"OtterlyAI https://otterly.ai/pricing · GEO Audit https://otterly.ai/blog/generative-engine-optimization-audit/ (2025-08-04) · https://help.otterly.ai/what-does-the-geo-audit-do (2026-08-18)",
|
||||
"Profound https://www.tryprofound.com/pricing",
|
||||
"Peec AI https://peec.ai/pricing · 리뷰 https://generatemore.ai/blog/peec-ai-review (2026-08-28)",
|
||||
"HubSpot AEO https://www.hubspot.com/products/aeo · 대안 비교 https://blog.hubspot.com/marketing/peec-ai-alternatives",
|
||||
"Semrush AI Toolkit https://www.semrush.com/kb/1493-ai-toolkit · Ahrefs Brand Radar https://ahrefs.com/brand-radar",
|
||||
"AI Search Visibility Tools 비교 https://www.surmado.com/blog/best-ai-visibility-tools-2026",
|
||||
"Fuel Online https://fuelonline.com/plastic-surgery-marketing/rhinoplasty/ai-visibility-audit/",
|
||||
"ADvance Media https://advancemedia.com/services/ai-visibility-aeo-geo/",
|
||||
"Specialist Practice Excellence https://specialistpracticeexcellence.com/blog/prompt-to-audit-aeo-ai-visibility-for-plastic-surgeons/ (2026-07-25)",
|
||||
"Plastic SEO https://www.plasticseo.com/how-ai-search-is-changing-plastic-surgery-seo/ (2026-07-01)",
|
||||
"Percepture https://percepture.com/healthcare-insights/plastic-surgery-seo-services/ (2026-06-11)",
|
||||
]
|
||||
|
||||
|
||||
def main():
|
||||
doc = Document(TARGET)
|
||||
body = doc.element.body
|
||||
children = list(body.iterchildren())
|
||||
if any(c.tag.endswith("}p") and text_of(c).strip().startswith("4-10.") for c in children):
|
||||
print("이미 4-10 절이 있어 아무것도 하지 않았습니다.")
|
||||
return
|
||||
anchor = next((c for c in children if c.tag.endswith("}p") and text_of(c).strip() == ANCHOR), None)
|
||||
if anchor is None:
|
||||
sys.exit(f"기준 제목을 찾지 못했습니다: {ANCHOR}")
|
||||
|
||||
tmp = Document()
|
||||
section(tmp)
|
||||
for el in [e for e in tmp.element.body.iterchildren() if not e.tag.endswith("}sectPr")]:
|
||||
anchor.addprevious(copy.deepcopy(el))
|
||||
|
||||
src = Document()
|
||||
heading(src, "병원·의료 AEO/GEO 서비스 (4-10, 조회일 2026-09-15)", 2)
|
||||
for s in SOURCES:
|
||||
p = src.add_paragraph()
|
||||
p.paragraph_format.space_after = Pt(2)
|
||||
set_font(p.add_run(s), 9, False, GRAY)
|
||||
sect = body.find("{http://schemas.openxmlformats.org/wordprocessingml/2006/main}sectPr")
|
||||
for el in [e for e in src.element.body.iterchildren() if not e.tag.endswith("}sectPr")]:
|
||||
new = copy.deepcopy(el)
|
||||
if sect is not None:
|
||||
sect.addprevious(new)
|
||||
else:
|
||||
body.append(new)
|
||||
|
||||
doc.save(TARGET)
|
||||
print(f"삽입 완료: {TARGET.name}")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Binary file not shown.
Binary file not shown.
@ -1,143 +0,0 @@
|
||||
"""GEO/AEO 최적화 웹사이트에 워드프레스를 쓰는 것의 장단점 — INFINITH 덱."""
|
||||
import sys; sys.path.insert(0, "/Users/haewonkam/.claude/skills/infinith-deck/scripts")
|
||||
from ifd import Deck
|
||||
|
||||
d = Deck()
|
||||
|
||||
# 01 표지
|
||||
d.cover(eyebrow="GEO / AEO · PLATFORM DECISION",
|
||||
title_lines=["WordPress for", "AI Search."],
|
||||
subtitle="GEO·AEO 최적화 웹사이트에 워드프레스를 쓰는 것의 장단점 · 2026. 08. 28",
|
||||
meta_right="INFINITH Strategy Memo · 2026")
|
||||
|
||||
# 02 요약
|
||||
s = d.slide(eyebrow="Executive Summary",
|
||||
title="콘텐츠를 계속 쌓는다면 ", title_accent="워드프레스",
|
||||
lede=["GEO·AEO의 핵심은 AI 크롤러가 읽는 정적 HTML에 구조화된 사실을 꾸준히 쌓는 것입니다.",
|
||||
"워드프레스는 이것을 기본으로 해주지만, 플러그인과 테마를 통제하지 못하면 장점이 전부 단점으로 뒤집힙니다."],
|
||||
section="Summary")
|
||||
a, b, c = s.cards3(y=s.band_y)
|
||||
a.chip("결론", "good").title("병원 납품 사이트").text("비개발자가 FAQ 페이지를 직접 늘려야 합니다. 워드프레스 + 경량 테마 + 단일 스키마 플러그인 + 관리형 호스팅.").divider().foot("운영 편의 우선")
|
||||
b.chip("결론", "info").title("자체 제품 랜딩").text("Astro 또는 프리렌더링된 React. 코드로 스키마와 헤더를 완전히 제어하고, 성능을 최고 수준으로 유지합니다.").divider().foot("제어·성능 우선")
|
||||
c.chip("결론", "violet").title("확장 단계").text("워드프레스를 헤드리스 CMS로 두고 Astro가 빌드 시 가져와 정적 배포. 운영 편의와 제어를 둘 다 확보합니다.").divider().foot("프로덕트화 대비")
|
||||
|
||||
# 03 실측 (다크)
|
||||
s = d.slide(eyebrow="Why It Matters · INFINITH 실측 2026. 08. 28",
|
||||
title="JS만 있는 사이트는 ", title_accent="AI에게 안 보인다",
|
||||
lede="INFINITH 랜딩을 GPTBot, ClaudeBot, PerplexityBot, Googlebot, Yeti로 직접 요청해 받은 본문 단어 수입니다.",
|
||||
dark=True, section="Evidence")
|
||||
s.stats3([("4 → 810", "프리렌더 전후 크롤러가 읽는 본문 단어 수. 전에는 title 4단어가 전부였습니다."),
|
||||
("1.5 MB", "본문을 만들기 위해 실행해야 했던 JS 번들. GPTBot, ClaudeBot은 JS를 실행하지 않습니다."),
|
||||
("0 → 3", "JSON-LD 스키마 수. Organization, SoftwareApplication, WebSite를 추가했습니다.")])
|
||||
|
||||
# 04 요구조건
|
||||
s = d.slide(eyebrow="What GEO / AEO Requires",
|
||||
title="플랫폼을 고르기 전에 ", title_accent="세 가지 조건",
|
||||
lede="어떤 도구를 쓰든 이 세 조건을 통과해야 AI 답변에 인용됩니다. 플랫폼 비교는 이 기준으로만 합니다.",
|
||||
section="Requirements")
|
||||
a, b, c = s.cards3(y=s.band_y)
|
||||
a.icon_square().title("크롤러 가독성").text("서버가 완성된 HTML을 내려줘야 합니다. 본문, 제목 구조, 링크가 JS 실행 없이 응답에 포함되어야 합니다.").divider().foot("SSR 또는 SSG")
|
||||
b.icon_square().title("구조화 데이터").text("MedicalClinic, Physician, FAQPage, Article JSON-LD가 페이지마다 정확히 하나씩. 중복과 충돌이 없어야 합니다.").divider().foot("Schema.org 단일 소스")
|
||||
c.icon_square().title("콘텐츠 생산량").text("질문과 답변 쌍을 수십에서 수백 페이지 쌓아야 합니다. 비개발자가 매주 추가할 수 있는 구조여야 합니다.").divider().foot("운영 지속성")
|
||||
|
||||
# 05 장점 1
|
||||
s = d.slide(eyebrow="Advantages · 1 / 2",
|
||||
title="크롤러 가독성은 ", title_accent="기본으로 통과",
|
||||
lede="PHP가 완성된 HTML을 내려주므로 별도 작업 없이 본문이 크롤러에 노출됩니다.",
|
||||
section="Advantages")
|
||||
a, b, c = s.cards3(y=s.band_y)
|
||||
a.chip("장점", "good").title("서버 렌더링 기본").text("GPTBot, ClaudeBot, PerplexityBot은 JS를 실행하지 않습니다. 워드프레스 응답에는 본문이 그대로 들어 있습니다. SPA는 빈 div만 보입니다.").divider().foot("추가 작업 0")
|
||||
b.chip("장점", "good").title("스키마 생태계").text("Rank Math, Yoast, Schema Pro가 MedicalClinic, FAQPage, LocalBusiness JSON-LD를 UI로 생성합니다. robots.txt와 llms.txt도 파일 편집으로 즉시 반영됩니다.").divider().foot("비개발자 운영 가능")
|
||||
c.chip("장점", "good").title("콘텐츠 생산 속도").text("코 재수술 비용, 눈매교정 회복 기간 같은 질문 페이지를 마케팅 담당자가 에디터에서 직접 추가합니다. ACF로 구조화 필드도 관리됩니다.").divider().foot("주 단위 발행")
|
||||
|
||||
# 06 장점 2
|
||||
s = d.slide(eyebrow="Advantages · 2 / 2",
|
||||
title="락인 없이 ", title_accent="오픈웹에 남는다",
|
||||
lede="지금 워드프레스를 골라도 나중에 프론트를 바꿀 수 있고, 네이버와 달리 AI 크롤러가 접근할 수 있는 소유 자산이 됩니다.",
|
||||
section="Advantages")
|
||||
L, R = s.cards2(y=s.band_y)
|
||||
L.chip("장점", "good").title("헤드리스 전환 경로").rows([
|
||||
("REST API / WPGraphQL", "콘텐츠를 그대로 꺼내 Astro, Next.js 프론트에 연결할 수 있습니다."),
|
||||
("빌드 시 정적화", "프론트를 바꾸면 성능과 스키마 제어를 코드 수준으로 가져옵니다."),
|
||||
("이전 비용 낮음", "글, 이미지, 카테고리 구조가 DB에 남아 마이그레이션이 단순합니다."),
|
||||
])
|
||||
R.chip("장점", "good").title("오픈웹 소유 자산").rows([
|
||||
("네이버 자산은 차단됨", "네이버 블로그, 플레이스, 카페는 robots.txt로 AI 크롤러를 전면 차단합니다."),
|
||||
("자체 도메인은 열림", "워드프레스 사이트는 GPTBot, ClaudeBot이 읽고 인용할 수 있는 유일한 소유 표면입니다."),
|
||||
("브랜드 신호 축적", "인용될수록 브랜드 언급이 쌓여 다음 답변에도 다시 인용됩니다."),
|
||||
])
|
||||
|
||||
# 07 단점 1
|
||||
s = d.slide(eyebrow="Disadvantages · 1 / 2",
|
||||
title="통제 못하면 ", title_accent="성능과 HTML이 무너진다",
|
||||
lede="테마, 페이지빌더, 플러그인이 쌓이면 크롤러가 읽는 HTML이 지저분해지고 로딩이 느려집니다.",
|
||||
section="Disadvantages")
|
||||
a, b, c = s.cards3(y=s.band_y)
|
||||
a.chip("단점", "critical").title("성능 저하가 기본값").text("페이지빌더와 플러그인 20개면 LCP 4초를 넘기기 쉽습니다. AI Overview는 검색 순위 기반이라 간접 영향이 큽니다.").divider().foot("대책: 경량 테마 + 캐시")
|
||||
b.chip("단점", "critical").title("HTML 노이즈").text("Elementor, Divi가 만드는 div 중첩 10단계와 인라인 스타일은 AI가 답변 단락을 뽑을 때 노이즈입니다. h2 질문, p 답변 구조가 깨집니다.").divider().foot("대책: Gutenberg만 사용")
|
||||
c.chip("단점", "critical").title("스키마 중복 충돌").text("Yoast, 테마 내장, FAQ 플러그인이 각자 JSON-LD를 뿌려 Organization이 3개 나오는 경우가 흔합니다. Rich Results 검사에서 오류가 납니다.").divider().foot("대책: 스키마 소스 1개")
|
||||
|
||||
# 08 단점 2
|
||||
s = d.slide(eyebrow="Disadvantages · 2 / 2",
|
||||
title="보안, 제어, ", title_accent="한국 시장 커버리지",
|
||||
lede="병원 사이트는 해킹 피해가 브랜드 오염으로 이어지고, 국내 AI 답변은 네이버 자산을 우선 인용합니다.",
|
||||
section="Disadvantages")
|
||||
a, b, c = s.cards3(y=s.band_y)
|
||||
a.chip("단점", "warning").title("보안·유지보수 부담").text("플러그인 취약점으로 해킹당하면 스팸 페이지가 대량 생성되고, 이것이 AI 크롤러에 잡혀 브랜드가 오염됩니다.").divider().foot("대책: 관리형 호스팅")
|
||||
b.chip("단점", "warning").title("세밀한 제어 한계").text("페이지별 robots 메타, 크롤러별 응답 분기, Edge 캐싱 정책은 커스텀 코드나 Cloudflare에서 처리해야 합니다.").divider().foot("Astro보다 손이 많이 감")
|
||||
c.chip("단점", "warning").title("한국 시장 특수성").text("네이버 서치어드바이저 등록과 사이트맵 제출을 별도로 해야 하고, 네이버 AI 브리핑은 네이버 자산을 우선 인용합니다.").divider().foot("글로벌 AI에 강함")
|
||||
|
||||
# 09 대안 비교 (다크)
|
||||
s = d.slide(eyebrow="Alternatives",
|
||||
title="네 가지 선택지, ", title_accent="같은 기준으로",
|
||||
lede="크롤러 가독성, 운영, 스키마 제어, 성능, 유지보수, 비용. INFINITH 현재 스택(Vite SPA)을 기준선으로 넣었습니다.",
|
||||
dark=True, section="Alternatives")
|
||||
w = s.card_wide(y=s.band_y)
|
||||
w.grid(["기준", "워드프레스", "Astro / Next.js SSG", "Webflow / Framer", "Vite SPA (INFINITH 기존)"],
|
||||
[["AI 크롤러 가독성", "좋음", "최고", "좋음", "나쁨"],
|
||||
["비개발자 콘텐츠 운영", "최고", "나쁨", "좋음", "불가"],
|
||||
["스키마 제어", "플러그인 의존", "코드로 완전 제어", "제한적", "코드로 완전 제어"],
|
||||
["성능", "관리 필요", "최고", "좋음", "좋음"],
|
||||
["유지보수", "부담 있음", "낮음", "낮음", "낮음"],
|
||||
["비용", "낮음", "낮음", "월 구독", "낮음"]],
|
||||
col_w=[3.5, 3.3, 3.3, 3.3, 3.3], row_h=0.66,
|
||||
tones=[[None, "good", "good", "good", "critical"],
|
||||
[None, "good", "critical", "good", "critical"],
|
||||
[None, "warning", "good", "warning", "good"],
|
||||
[None, "warning", "good", "good", "good"],
|
||||
[None, "warning", "good", "good", "good"],
|
||||
[None, "good", "good", "warning", "good"]])
|
||||
|
||||
# 10 추천 구성
|
||||
s = d.slide(eyebrow="Recommendation",
|
||||
title="용도에 따라 ", title_accent="세 가지 구성",
|
||||
lede="한 가지 정답은 없습니다. 누가 콘텐츠를 추가하는지, 얼마나 제어가 필요한지로 정합니다.",
|
||||
section="Recommendation")
|
||||
a, b, c = s.cards3(y=s.band_y)
|
||||
a.icon_square().title("병원 클라이언트 납품").text("워드프레스 + GeneratePress 또는 Kadence + Rank Math 단일 스키마 + WP Rocket 캐시 + 관리형 호스팅. 클라이언트가 FAQ를 직접 추가합니다.").divider().foot("운영 편의 우선")
|
||||
b.icon_square().title("INFINITH 자체 랜딩").text("Astro 콘텐츠 + React 아일랜드. 현재 Vite SPA에는 프리렌더링을 붙여 크롤러 본문 4단어를 810단어로 이미 끌어올렸습니다.").divider().foot("제어·성능 우선")
|
||||
c.icon_square().title("하이브리드").text("워드프레스를 헤드리스 CMS로 두고 Astro가 빌드 시 가져와 정적 배포. 클라이언트 수가 늘어나면 이 구성이 프로덕트화에 유리합니다.").divider().foot("확장 단계")
|
||||
|
||||
# 11 운영 규칙
|
||||
s = d.slide(eyebrow="If WordPress · Operating Rules",
|
||||
title="워드프레스를 쓴다면 ", title_accent="다섯 가지 규칙",
|
||||
lede="이 규칙을 지키면 장점만 남고, 어기면 단점이 전부 살아납니다.",
|
||||
section="Rules")
|
||||
w = s.card_wide(y=s.band_y)
|
||||
w.bullets([
|
||||
"플러그인은 10개 이하. 하나 추가할 때마다 LCP와 HTML 크기를 다시 측정합니다.",
|
||||
"테마는 GeneratePress, Kadence 같은 경량 테마만. Elementor, Divi 같은 페이지빌더는 쓰지 않습니다.",
|
||||
"스키마 소스는 Rank Math 하나로 통일. 테마 내장 스키마와 별도 FAQ 플러그인의 JSON-LD 출력은 끕니다.",
|
||||
"본문은 Gutenberg 블록으로 h2 질문, p 답변 구조를 유지합니다. AI는 이 단락 단위로 인용합니다.",
|
||||
"호스팅은 관리형(WP Engine, Kinsta, Cafe24 매니지드)으로. 보안 패치와 백업을 운영자가 직접 하지 않습니다.",
|
||||
], size=17.25, step=1.0)
|
||||
|
||||
# 12 클로징
|
||||
d.closing(eyebrow="Next Step",
|
||||
title_lines=["도구보다 조건이 먼저입니다."],
|
||||
lede="크롤러 가독성, 단일 스키마, 콘텐츠 생산 구조. 이 세 가지를 통과하는 쪽을 고릅니다.",
|
||||
cta_primary="병원용 워드프레스 표준 스택 문서화 →", cta_secondary="INFINITH 랜딩 FAQ 스키마 추가",
|
||||
contact="infinith-demo.vercel.app · team.backstageai@gmail.com")
|
||||
|
||||
out = "docs/deck/INFINITH_WordPress_GEO_AEO_장단점.pptx"
|
||||
d.save(out); print("saved", out)
|
||||
@ -1,298 +0,0 @@
|
||||
# INFINITH AI Discovery PRD · 분석 → 진단 → 빌드 → 측정
|
||||
|
||||
- 버전: v0.2 (2026.08.28) · 상태: Draft for Engineering Review
|
||||
- 작성: INFINITH Product · 대상: 프론트엔드 · 백엔드 · 인프라 · 콘텐츠 운영
|
||||
- 목표 릴리스: v1.0 · 10주 · 2026.11.06
|
||||
- 관련 코드: `AEO-GEO-Audit` 브랜치 (`src/data/aeoGeoRubric.ts`, `src/types/discovery.ts`, `src/lib/discoveryScore.ts`, `src/pages/DiscoveryReportPage.tsx`, `docs/AEO_GEO_RUBRIC.md`) · `Productize` 브랜치 (랜딩 프리렌더 커밋)
|
||||
- 덱 버전: `INFINITH_AI-Discovery_PRD_20260828_v02.pptx`
|
||||
|
||||
---
|
||||
|
||||
## 1. 제품 흐름
|
||||
|
||||
병원 URL 하나를 넣으면 채널 분석과 AEO · GEO 진단이 나오고, 진단 항목이 그대로 빌드 요구사항과 측정 지표가 되는 제품.
|
||||
|
||||
| 단계 | 내용 | 상태 |
|
||||
|---|---|---|
|
||||
| 1 분석 | 채널 발견 · 6채널 데이터 수집 · 마케팅 리포트 | 구현 완료 · `discover-channels` → `collect-channel-data` → `generate-report` |
|
||||
| 2 진단 | 36항목 AEO · GEO 스코어카드 · 등급 · 액션 플랜 | 프로토타입 동작 · 수동 채점 → 자동화 대상 |
|
||||
| 3 빌드 | 진단 P0 · P1을 사이트 수정 또는 표준 사이트로 실행 | 신규 · 진단 항목이 곧 요구사항 |
|
||||
| 4 측정 | 크롤러 로그 · GA4 AI 채널 · 재진단으로 점수 변화 증명 | 신규 · 루브릭 E 카테고리를 채운다 |
|
||||
|
||||
뷰성형외과는 1 · 2단계를 거쳐 P0 3건이 나왔다. 3 · 4단계가 없어 여기서 멈춘다. 그 공백이 이 PRD의 범위다.
|
||||
|
||||
## 2. 배경
|
||||
|
||||
AI 답변엔진은 JS를 실행하지 않는다. GPTBot, ClaudeBot, PerplexityBot은 서버가 내려준 HTML만 읽는다. 진단은 이 사실에서 출발한다.
|
||||
|
||||
- **실측 · 뷰성형외과: 읽히지만 라벨뿐.** AI 봇 12종 전부 200, JS 없이 본문 10,757자. 그런데 H1 5개가 전부 영문 라벨(VIEW SELFIE / VIEW EVENT …)이고 JSON-LD는 문법 오류(ItemList 블록 쉼표 누락)로 무효.
|
||||
- **시장 · 네이버 자산은 AI에 차단됨.** 블로그 · 플레이스 · 카페는 robots.txt로 AI 크롤러를 차단한다. 인용되려면 오픈웹 소유 자산이 필요하다.
|
||||
- **실측 · INFINITH 랜딩: 4단어.** 크롤러 UA 요청 결과 title 4단어 외 본문 0. 1.5 MB JS를 실행해야 본문이 나왔다. 프리렌더 후 810단어.
|
||||
|
||||
**문제 정의.** 진단은 나오는데 다음이 없다. 진단 결과를 받은 병원이 무엇을 고쳐야 하는지, 고친 뒤 점수가 올랐는지 증명할 수단이 제품 안에 없다.
|
||||
|
||||
## 3. 케이스 · 뷰성형외과 (2026.08.28)
|
||||
|
||||
카테고리 점수는 검증 항목 기준 정규화. 미검증(A6 · D6 · E1~E3)은 분모 제외.
|
||||
|
||||
| 카테고리 | 배점 | 획득 | 점수 | 핵심 발견 | → 빌드 · 측정 요구사항 |
|
||||
|---|---|---|---|---|---|
|
||||
| A 크롤러 접근성 | 20 | 15.7 / 17 | 92% | robots · SSR · HTTPS 정상. sitemap lastmod 15개월 전 | FR-B05 sitemap 자동 갱신 |
|
||||
| B 엔티티 구조화 | 20 | 6.0 / 20 | 30% | JSON-LD 깨짐 · MedicalClinic 없음 · Physician 없음 | FR-B03 스키마 단일 소스 |
|
||||
| C 인용 가능 콘텐츠 | 25 | 5.0 / 25 | 20% | 정의문 · FAQ · 서술형 H1 없음. 수치 부족 | FR-B02 질문 템플릿 · FR-B06 검사 |
|
||||
| D 인용 표면 | 20 | 13.7 / 19 | 72% | 강남언니 19,316건 강함. GBP 전화 없음 · NAP 3종 | FR-B08 NAP 통일 체크리스트 |
|
||||
| E 측정 인프라 | 10 | 0 / 2 | 0% | 로그 · GA4 · GSC 오너 접근 필요. 기준선 없음 | FR-M01 ~ M03 |
|
||||
| F 기술 위생 | 5 | 1.7 / 5 | 33% | WordPress 5.5.3 · alt 누락 · 페이지 무게 | NFR-04 · FR-B09 CMS 업그레이드 |
|
||||
|
||||
종합 48점 · C등급. P0 3건: JSON-LD 수정 + MedicalClinic 삽입, GBP 전화 등록 + NAP 통일, 측정 인프라 설치.
|
||||
|
||||
> 점수 확인 필요: 현재 `discovery_viewclinic.ts` 레벨 데이터로 재계산한 값이 48점. 리포트 페이지 표시값과 대조할 것.
|
||||
|
||||
## 4. 목표와 지표
|
||||
|
||||
출시 10주 후 기준. 모든 지표는 제품 안에서 자동 측정된다.
|
||||
|
||||
| 단계 | 지표 | 현재 | v1.0 목표 | 측정 방법 |
|
||||
|---|---|---|---|---|
|
||||
| 진단 | 자동 채점 항목 비율 | 0% (36항목 수동) | 24 / 36 자동 (67%) | `discover-aeo-geo` 실행 로그 |
|
||||
| 진단 | URL 입력 → 리포트 소요 시간 | 약 4시간 (수동) | 10분 이내 | `analysis_runs` 타임스탬프 |
|
||||
| 진단 | 재진단 재현성 | 미검증 | 동일 URL 2회 점수 편차 3점 이내 | 회귀 테스트 |
|
||||
| 빌드 | P0 액션 완료 → 재진단 점수 상승 | 측정 불가 | 뷰성형외과 48 → 65+ (B) | 재진단 비교 |
|
||||
| 빌드 | 질문 페이지 발행 (표준 사이트) | 0 | 8주 내 40개 | CMS 발행 로그 |
|
||||
| 측정 | AI 크롤러 · AI 유입 계측 병원 | 0 | 파일럿 100% | 로그 파서 · GA4 |
|
||||
|
||||
답변엔진 언급률은 지표에서 제외한다. 소비자 UI 자동 조회는 약관 위반이고 단발 조회는 무효다.
|
||||
|
||||
## 5. 범위
|
||||
|
||||
**In scope (v1.0)**
|
||||
- 진단 Edge Function `discover-aeo-geo` (자동 채점 1 · 2 · 3단계)
|
||||
- 수동 항목 입력 슬롯 (A6 · D1 · D2 · D4 · E1~E4)과 미검증 처리
|
||||
- 진단 리포트 DB 저장 · `/discovery/:id` 실데이터 연결 · PDF
|
||||
- 빌드 A: 기존 사이트 수정 패키지 (스키마 · NAP · CMS · FAQ 삽입)
|
||||
- 빌드 B: 병원용 워드프레스 표준 사이트 (템플릿 4종 · 검사)
|
||||
- 측정: 크롤러 로그 파서 · GA4 AI 채널 · 재진단 비교 뷰
|
||||
- INFINITH 랜딩 파일럿: FAQ 섹션 · FAQPage 스키마
|
||||
|
||||
**Out of scope (v1.0)**
|
||||
- 분석 파이프라인 변경 (`discover` · `collect` · `generate-report`)
|
||||
- Q&A 콘텐츠 작성 (운영팀 · 병원 담당, 별도 가이드)
|
||||
- 네이버 블로그 · 플레이스 운영 (AI 크롤러 차단 자산)
|
||||
- 답변엔진 UI 자동 조회 · 언급률 리포트 (약관 위반)
|
||||
- llms.txt 납품 (Google 효과 0 · 채택률 0.13%)
|
||||
- 헤드리스(WordPress + Astro) 전환 (v2.0 후보)
|
||||
|
||||
빌드 A와 B를 나눈 이유: 뷰성형외과처럼 사이트가 있는 병원은 수정이고, 없는 병원은 표준 사이트다.
|
||||
|
||||
## 6. 사용자
|
||||
|
||||
| 구분 | 사용자 | 성공 기준 |
|
||||
|---|---|---|
|
||||
| Primary | 병원 마케팅 담당자 | URL을 넣고 10분 안에 스코어카드와 P0를 본다. 수정 후 재진단으로 점수 변화를 확인한다. 표준 사이트면 질문 페이지를 직접 추가한다 |
|
||||
| Secondary | INFINITH 운영팀 | 수동 항목(GBP · 강남언니 · 로그)을 입력하고 여러 병원의 점수 · 크롤 수 · 오류를 한 화면에서 본다. 병원 온보딩 1일 |
|
||||
| System | AI 크롤러 · 검색엔진 | GPTBot · ClaudeBot · PerplexityBot · Googlebot · Yeti. 진단은 이들의 UA로 실제 요청해 채점한다. 빌드 결과도 같은 방법으로 검증한다 |
|
||||
|
||||
설계 원칙: 확인 못 한 것은 감점하지 않는다(미검증은 분모 제외). 근거 없는 것은 팔지 않는다. 담당자의 실수는 시스템이 발행 전에 막는다.
|
||||
|
||||
## 7. 기능 요구사항
|
||||
|
||||
### 7.1 진단 (FR-D)
|
||||
|
||||
AEO-GEO-Audit 브랜치의 루브릭 · 타입 · 집계 로직을 그대로 쓰고, 채점 데이터만 수동에서 자동으로 바꾼다.
|
||||
|
||||
| ID | 요구사항 | 상세 | 루브릭 | 우선순위 |
|
||||
|---|---|---|---|---|
|
||||
| FR-D01 | 자동 채점 1단계 | robots 파싱 · 12개 AI 봇 UA GET · HTML 파서 (`crawler_audit.py` 이식) | A1~A5 · A7 · B1 · B4 · B6 · B7 · C2 · C3 · C5 · C6 · F1~F4 | P0 |
|
||||
| FR-D02 | 자동 채점 2단계 | 본문 텍스트를 Perplexity 또는 Claude에 투입해 구조화 판정 | B2 · B3 · C1 · C4 · C7 · C8 | P0 |
|
||||
| FR-D03 | 자동 채점 3단계 | 검색 그라운딩 도메인 집계 · Wikidata API | D3 · D6 | P1 |
|
||||
| FR-D04 | 수동 입력 슬롯 | 운영팀이 근거 · 레벨 입력. 미입력은 `unverified`로 분모 제외 | A6 · D1 · D2 · D4 · E1~E4 | P0 |
|
||||
| FR-D05 | 결과 저장 · 리포트 | `DiscoveryResult`를 DB 저장. `/discovery/:id`가 mock 대신 DB를 읽음 | 전체 | P0 |
|
||||
| FR-D06 | 액션 플랜 생성 | level 0 · 1 항목에서 P0 · P1 · P2 액션 자동 생성. 빌드 FR과 연결 | 전체 | P1 |
|
||||
| FR-D07 | 재진단 비교 | 같은 URL의 이전 결과와 항목별 diff · 점수 변화 표시 | 전체 | P1 |
|
||||
|
||||
1단계만으로 36항목 중 17개가 자동이다. 2단계까지 23개. 나머지는 오너 계정 접근이 필요해 수동이 맞다.
|
||||
|
||||
### 7.2 빌드 A · 기존 사이트 수정 (FR-B, P0)
|
||||
|
||||
뷰성형외과 액션 플랜에서 역산했다. 병원 개발사나 INFINITH가 붙여 넣을 수 있는 산출물이어야 한다.
|
||||
|
||||
| ID | 요구사항 | 상세 | 루브릭 | 우선순위 |
|
||||
|---|---|---|---|---|
|
||||
| FR-B01 | 서버 렌더링 검증 · 처방 | A3 실패 시 프리렌더 · SSR 처방 (INFINITH 랜딩 방식 문서) | A3 | P0 |
|
||||
| FR-B03 | 스키마 패키지 생성 | 진단 데이터로 MedicalClinic · Physician JSON-LD 생성. 기존 스키마 차단 안내 | B1 · B2 · B3 · B5 | P0 |
|
||||
| FR-B08 | NAP 통일 체크리스트 | 홈페이지 · 강남언니 · GBP · 플레이스 표기를 나열하고 정본 지정 | B4 · D2 · D4 | P0 |
|
||||
| FR-B04 | 메타 패키지 | title · description · canonical · OG · hreflang 코드 생성 | B6 · B7 | P1 |
|
||||
| FR-B05 | robots · sitemap 처방 | AI 봇 허용 robots.txt · lastmod 갱신 규칙 | A1 · A5 | P1 |
|
||||
| FR-B07 | FAQ 삽입 패키지 | 시술별 질문 · 요약 답변 초안 + FAQPage 스키마 코드 | C1 · C2 · C4 | P1 |
|
||||
| FR-B09 | CMS 위생 처방 | WordPress 버전 · alt 누락 목록 · 페이지 무게 리포트 | F1 · F2 · F3 | P1 |
|
||||
|
||||
빌드 A의 산출물은 코드 조각과 체크리스트다. 병원 사이트를 INFINITH가 직접 호스팅하지 않는다.
|
||||
|
||||
### 7.3 빌드 B · 표준 사이트 (FR-B, P1)
|
||||
|
||||
루브릭 A · B · C · F를 처음부터 통과하는 워드프레스 사이트. 담당자가 질문 페이지를 직접 늘린다.
|
||||
|
||||
| ID | 요구사항 | 상세 | 루브릭 | 우선순위 |
|
||||
|---|---|---|---|---|
|
||||
| FR-B10 | 표준 스택 프리셋 | 경량 테마 · Rank Math · WP Rocket · ACF · 관리형 호스팅. 1회 명령 복제 | A · F 전체 | P1 |
|
||||
| FR-B02 | 질문 페이지 템플릿 | 질문(h1) · 요약 답변(p, 60자) · 상세 · 관련 시술 · 의료진. 필드 입력만으로 생성 | C1 · C2 · C3 · C8 | P1 |
|
||||
| FR-B11 | 시술 · 의료진 템플릿 | MedicalProcedure · Physician 스키마 포함. 가격대 · 시간 · 회복 필드 | B3 · C4 · C7 | P1 |
|
||||
| FR-B12 | 스키마 단일 소스 | 페이지 유형별 JSON-LD 1개 자동 출력. 테마 · 타 플러그인 출력 차단 | B1 · B2 · B3 | P1 |
|
||||
| FR-B06 | 발행 전 검사 | 스키마 중복 · h1 2개 · alt 누락 · 요약 답변 누락 시 발행 차단 | B1 · C3 · F1 | P1 |
|
||||
| FR-B13 | sitemap · robots 자동 | 발행 시 lastmod 갱신 · AI 봇 9종 허용 | A1 · A5 · C6 | P1 |
|
||||
|
||||
빌드 B는 P1이다. 뷰성형외과처럼 사이트가 있는 병원이 먼저이므로 빌드 A가 P0다.
|
||||
|
||||
### 7.4 측정 (FR-M)
|
||||
|
||||
인용 여부를 직접 볼 수 없으므로 소유한 신호를 계측한다. 재진단이 개선의 증거다.
|
||||
|
||||
| ID | 요구사항 | 상세 | 루브릭 | 우선순위 |
|
||||
|---|---|---|---|---|
|
||||
| FR-M01 | AI 크롤러 로그 파서 | 액세스 로그 또는 Cloudflare Logpush에서 GPTBot · ClaudeBot · PerplexityBot 히트를 IP 검증 후 일 집계 | E1 | P0 |
|
||||
| FR-M02 | GA4 AI 채널 | chatgpt.com · perplexity.ai · gemini.google.com 리퍼러를 커스텀 채널로 분리 · 설정 가이드 | E2 | P0 |
|
||||
| FR-M03 | 기준선 스팟체크 기록 | 분기 반복 측정 프로토콜과 입력 슬롯 (수동) | E4 | P1 |
|
||||
| FR-M04 | 재진단 스케줄 | 월 1회 자동 재진단 · 점수 변화 알림 | 전체 | P1 |
|
||||
| FR-M05 | 운영 대시보드 | 병원별 점수 · 크롤 수 · AI 세션 · 스키마 오류 · LCP 주간 표시 | E 전체 | P1 |
|
||||
|
||||
FR-M01 · M02는 뷰성형외과 P0 3번(측정 인프라 설치)이다. 빌드보다 먼저 깔아야 전후 비교가 된다.
|
||||
|
||||
## 8. 비기능 요구사항
|
||||
|
||||
| ID | 영역 | 요구사항 | 예산 · 기준 |
|
||||
|---|---|---|---|
|
||||
| NFR-01 | 진단 | 재현성 | 동일 URL 2회 실행 점수 편차 3점 이내 · LLM 판정 항목은 temperature 0 |
|
||||
| NFR-02 | 진단 | 소요 시간 · 비용 | URL당 10분 이내 · API 비용 2,000원 이내 |
|
||||
| NFR-03 | 진단 | 대상 사이트 부하 | UA 테스트 요청 30회 이내 · 1초 간격 · 429 시 중단 |
|
||||
| NFR-04 | 빌드 B | 성능 | 모바일 LCP p75 2.5초 · CLS 0.1 · 플러그인 10개 이하 · HTML 80 KB 이하 |
|
||||
| NFR-05 | 빌드 B | HTML 품질 · 보안 | h1 1개 · div 중첩 6단계 이하 · 관리형 호스팅 · 자동 업데이트 · 일 백업 |
|
||||
| NFR-06 | 측정 | 로그 보존 · 정확도 | 90일 보존 · 봇 IP 역DNS 검증 (위장 UA 제외) |
|
||||
| NFR-07 | 공통 | 정직성 규약 | 리포트에 "하지 않을 것" 섹션 고정 · 근거 등급(실측 · 학술 · 벤더 · 추정) 표기 |
|
||||
|
||||
Elementor · Divi 같은 페이지빌더는 NFR-04 · 05를 통과하지 못하므로 빌드 B에서 금지다.
|
||||
|
||||
## 9. 아키텍처
|
||||
|
||||
Supabase Edge Functions 체인. 분석 3개 함수는 그대로, 신규 4개를 추가한다.
|
||||
|
||||
| 단계 | 함수 · 컴포넌트 | 비고 |
|
||||
|---|---|---|
|
||||
| 1 분석 | `discover-channels` → `collect-channel-data` → `generate-report` | 기존 · `marketing_reports` · `clinic_registry` |
|
||||
| 2 진단 | `discover-aeo-geo`: UA 테스트 · HTML 파서 · LLM 판정 · 집계 | 신규 · 루브릭 · 집계는 AEO-GEO-Audit 코드 이식 |
|
||||
| 3 빌드 | `build-package`: 스키마 · 메타 · NAP · FAQ 코드 생성 / WP 커스텀 플러그인 | 신규 · 빌드 A는 함수, B는 플러그인 |
|
||||
| 4 측정 | `log-ingest` (Logpush → Supabase) · GA4 커넥터 · 재진단 cron | 신규 · `discovery_results` 시계열 |
|
||||
|
||||
신규 테이블 2개: `discovery_results` (결과 · 버전) · `crawler_hits` (봇 · IP · 경로 · 일자).
|
||||
|
||||
## 10. 루브릭 → 빌드 매핑 (FR-D06 규칙표)
|
||||
|
||||
| 루브릭 항목 | level 0 · 1이면 | 빌드 산출물 | FR |
|
||||
|---|---|---|---|
|
||||
| A3 서버 렌더링 본문 | 본문이 JS에만 있음 | 프리렌더 · SSR 처방 문서 + 검증 스크립트 | FR-B01 |
|
||||
| B1 · B2 · B3 스키마 | JSON-LD 깨짐 · 엔티티 없음 | MedicalClinic · Physician JSON-LD 코드 + 차단 안내 | FR-B03 · B12 |
|
||||
| B4 · D2 · D4 NAP | 표면 간 표기 불일치 | 정본 NAP 체크리스트 · GBP 수정 항목 | FR-B08 |
|
||||
| C1 · C2 · C4 콘텐츠 | 정의문 · FAQ · 수치 없음 | 시술별 질문 · 요약 답변 초안 + FAQPage 코드 | FR-B07 · B02 |
|
||||
| C3 제목 계층 | H1 없음 · 이미지 텍스트 | H1 재설계안 · 이미지 정보 텍스트화 목록 | FR-B07 |
|
||||
| C6 신선도 | dateModified 없음 | dateModified 활성화 · 갱신 주기 규칙 | FR-B13 |
|
||||
| E1 · E2 측정 | 미설치 | 로그 파서 · GA4 채널 설정 | FR-M01 · M02 |
|
||||
| F2 CMS | 구버전 | 업그레이드 절차 · 백업 체크리스트 | FR-B09 |
|
||||
|
||||
## 11. 스키마 스펙
|
||||
|
||||
빌드 A는 코드 조각으로, 빌드 B는 Rank Math 훅으로 같은 스펙을 출력한다. 테마 내장 스키마는 끈다.
|
||||
|
||||
| 페이지 | @type | 필수 속성 | 데이터 소스 |
|
||||
|---|---|---|---|
|
||||
| 홈 | MedicalClinic + WebSite | name · address · telephone · openingHours · sameAs | 분석 1단계 `clinics` · 병원 정보 ACF |
|
||||
| 시술 | MedicalProcedure | name · procedureType · bodyLocation · howPerformed · preparation | 시술 ACF |
|
||||
| 의료진 | Physician | name · medicalSpecialty · memberOf · image · alumniOf | 의료진 ACF · 강남언니 의료진 |
|
||||
| 질문 | FAQPage (+ Article) | mainEntity[Question · acceptedAnswer] · author · dateModified | 질문 템플릿 필드 |
|
||||
| 공통 | BreadcrumbList | itemListElement | 자동 |
|
||||
|
||||
수용 기준: Rich Results Test 오류 0. 응답에 ld+json 블록 정확히 1개 (Breadcrumb 포함 시 @graph 병합). 루브릭 B1 · B2 · B3 level 3.
|
||||
|
||||
## 12. 질문 페이지 템플릿
|
||||
|
||||
루브릭 C1 · C2 · C3 · C4 · C8을 동시에 통과하는 구조.
|
||||
|
||||
| 필드 | HTML 출력 | 제약 | 예시 | 루브릭 |
|
||||
|---|---|---|---|---|
|
||||
| 질문 | h1 | 물음표로 끝남 · 40자 이내 | 코 재수술은 언제 가능한가요? | C3 |
|
||||
| 요약 답변 | p (h1 직후) | 60자 이내 · 숫자 · 기간 포함 권장 | 1차 수술 후 최소 6개월, 보통 1년 뒤 가능합니다. | C1 · C8 |
|
||||
| 상세 답변 | h2 + p 반복 | h2는 하위 질문형 · 단락 3문장 이내 | 왜 6개월을 기다려야 하나요? | C3 · C8 |
|
||||
| 가격 · 시간 · 회복 | 표 | 숫자 범위 필수 | 300~500만원 · 2시간 · 회복 2주 | C4 · C5 |
|
||||
| 관련 시술 · 의료진 | 링크 + Physician | 각 1개 이상 | 코 재수술 · 김OO 원장 | C7 |
|
||||
| 갱신일 | dateModified | 자동 | 2026-08-28 | C6 |
|
||||
|
||||
요약 답변 60자는 AI 답변엔진이 한 단락으로 인용하는 길이다. 이 필드가 비면 발행이 막힌다(FR-B06).
|
||||
|
||||
## 13. 수용 테스트
|
||||
|
||||
| ID | 단계 | 테스트 | 통과 기준 |
|
||||
|---|---|---|---|
|
||||
| AT-01 | 진단 | viewclinic.com 자동 진단 실행 | 수동 채점 대비 자동 항목 일치율 90% · 소요 10분 이내 |
|
||||
| AT-02 | 진단 | infinith-demo.vercel.app 진단 | A3 level 3 · B1 level 3 · 재실행 편차 3점 이내 |
|
||||
| AT-03 | 진단 | 미검증 처리 | 수동 슬롯 비운 채 실행 시 해당 항목 분모 제외 · 점수 계산 일치 |
|
||||
| AT-04 | 빌드 A | 스키마 패키지 적용 후 Rich Results Test | 오류 0 · 블록 1개 |
|
||||
| AT-05 | 빌드 B | `curl -A GPTBot` 5종 UA 본문 단어 수 | 300단어 이상 · 5개 UA 동일 · 429 · 403 0건 |
|
||||
| AT-06 | 빌드 B | 발행 검사 | 요약 답변 비운 채 발행 시 차단 + 안내 |
|
||||
| AT-07 | 측정 | 로그 파서 위장 UA 테스트 | 역DNS 실패 히트 제외 · 일 집계 정확 |
|
||||
| AT-08 | 루프 | 빌드 후 재진단 | 변경 항목 level 상승이 diff에 표시 · 점수 상승 |
|
||||
|
||||
AT-02 · 05는 2026.08.28 INFINITH 랜딩 점검 스크립트를 그대로 쓴다.
|
||||
|
||||
## 14. 마일스톤 (10주)
|
||||
|
||||
2주 단위. 각 단계 끝에 수용 테스트를 통과해야 다음 단계로 간다.
|
||||
|
||||
| 주차 | 단계 | 내용 | 완료 기준 |
|
||||
|---|---|---|---|
|
||||
| W1-2 | 진단 1단계 | `discover-aeo-geo` · UA 테스트 · 파서 · DB · 리포트 연결 | FR-D01 · D04 · D05 · AT-01~03 |
|
||||
| W3-4 | 측정 · 진단 2단계 | 로그 파서 · GA4 · LLM 판정 · 재진단 diff | FR-M01 · M02 · D02 · D07 · AT-07 |
|
||||
| W5-6 | 빌드 A | 스키마 · NAP · FAQ · CMS 패키지 생성 | FR-B01 · B03 · B04 · B07 · B08 · AT-04 |
|
||||
| W7-8 | 빌드 B | 표준 스택 · 템플릿 3종 · 검사 · 플러그인 | FR-B02 · B06 · B10~B13 · AT-05 · 06 |
|
||||
| W9-10 | 파일럿 · 릴리스 | 뷰성형외과 빌드 A 적용 · 재진단 · 표준 사이트 1곳 | AT-08 · 48 → 65+ · v1.0 |
|
||||
|
||||
측정(W3-4)을 빌드보다 앞에 둔 이유: 전후 비교의 기준선이 빌드 전에 있어야 한다.
|
||||
|
||||
## 15. 리스크
|
||||
|
||||
| 리스크 | 영향 | 가능성 | 대응 |
|
||||
|---|---|---|---|
|
||||
| LLM 판정 항목(2단계)의 채점 불일치 | 높음 | 중간 | temperature 0 · 근거 인용 강제 · 수동 채점과 90% 일치 회귀 테스트 |
|
||||
| 대상 사이트가 진단 요청을 차단 | 중간 | 중간 | 요청 30회 · 1초 간격 · 429 시 중단 후 unverified 처리 |
|
||||
| 병원이 빌드 A 패키지를 적용하지 않음 | 높음 | 높음 | 적용 대행 옵션 · 재진단 알림 · P0만 먼저 |
|
||||
| 담당자가 질문 페이지를 추가하지 않음 | 높음 | 높음 | 분석 리포트의 질문 목록을 초안으로 제공 · 주간 발행 목표 |
|
||||
| AI 크롤러 UA · 정책 변경 | 중간 | 높음 | 봇 목록 중앙 관리 · 분기 점검 · 루브릭 버전 관리 |
|
||||
| 스키마 플러그인 업데이트로 출력 변경 | 중간 | 중간 | AT-04 매 배포 실행 · 버전 고정 |
|
||||
|
||||
## 16. 오픈 이슈 (리뷰 미팅 결정)
|
||||
|
||||
| # | 질문 | 선택지 | 기본안 · 근거 |
|
||||
|---|---|---|---|
|
||||
| 1 | 2단계 LLM 판정 모델 | Perplexity · Claude · 둘 다 | Claude. 판정 일관성 · 근거 인용. Perplexity는 D3 그라운딩에만 |
|
||||
| 2 | 로그 수집 방식 | 호스팅 로그 API · Cloudflare Logpush · WP 플러그인 | Cloudflare Logpush → Supabase. 호스팅 무관 |
|
||||
| 3 | 빌드 A 적용 주체 | 병원 개발사 · INFINITH 대행 · 둘 다 | 둘 다. 패키지는 개발사용, 대행은 유료 옵션 |
|
||||
| 4 | 빌드 B 호스팅 · 스키마 플러그인 | Kinsta · WP Engine · Cafe24 / Rank Math · Yoast | Kinsta + Rank Math. Cloudflare 통합 · 의료 타입 · 훅 |
|
||||
| 5 | 헤드리스 전환 시점 | 병원 5곳 · 10곳 · 미정 | 병원 5곳 시 v2.0 검토. 콘텐츠는 WP DB에 남아 이전 비용 낮음 |
|
||||
|
||||
결정되지 않은 항목은 기본안으로 W1을 시작하고, 리뷰에서 뒤집히면 W2에 반영한다.
|
||||
|
||||
## 부록 · 실측 (2026.08.28)
|
||||
|
||||
| 대상 | 항목 | 결과 | 방법 |
|
||||
|---|---|---|---|
|
||||
| 뷰성형외과 | 종합 · 등급 | 48점 · C (검증 31 / 36항목) | `crawler_audit.py` + curl + HTML 파서 · 수동 채점 |
|
||||
| 뷰성형외과 | 카테고리 | A 92 · B 30 · C 20 · D 72 · E 0 · F 33 | 루브릭 v1.0 · unverified 분모 제외 |
|
||||
| 뷰성형외과 | P0 | JSON-LD 수정 + MedicalClinic · GBP 전화 + NAP 통일 · 측정 인프라 | 액션 플랜 |
|
||||
| INFINITH 랜딩 | 크롤러 5종 본문 단어 | 4 → 810 | `vite build --ssr` + `renderToString` 프리렌더 |
|
||||
| INFINITH 랜딩 | JSON-LD · lang · 메타 | 0 → 3 · en → ko · description · OG 추가 | `index.html` 정적 삽입 |
|
||||
| INFINITH 랜딩 | robots · sitemap · llms.txt | HTML 반환 → text/plain · xml 정상 | `public/` 정적 파일 |
|
||||
|
||||
재현:
|
||||
|
||||
```bash
|
||||
curl -sS -A "Mozilla/5.0 (compatible; GPTBot/1.0)" https://infinith-demo.vercel.app/ \
|
||||
| sed -e 's/<script[^>]*>.*<\/script>//g' -e 's/<[^>]*>//g' | tr -s ' \n' | wc -w
|
||||
# 뷰성형외과 리포트: /discovery/viewclinic (AEO-GEO-Audit 브랜치)
|
||||
```
|
||||
Binary file not shown.
Binary file not shown.
@ -1,269 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="ko"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>INFINITH Global Medical Hub PRD v0.1</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com"><link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;900&family=Inter:wght@400;500;600&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css">
|
||||
<style>
|
||||
:root{--navy:#0A1128;--navy800:#1A2B5E;--near:#F4F6FB;--accent:#6C5CE7;--g1:#4F1DA1;--g2:#021341;--slate7:#334155;--slate6:#475569;--slate5:#64748B;--line:#E2E8F0;
|
||||
--crit-bg:#FFF0F0;--crit-tx:#7C3A4B;--crit-bd:#F5D5DC;--crit-dot:#D4889A;--warn-bg:#FFF6ED;--warn-tx:#7C5C3A;--warn-bd:#F5E0C5;--warn-dot:#D4A872;--good-bg:#F3F0FF;--good-tx:#4A3A7C;--good-bd:#D5CDF5;--good-dot:#9B8AD4;--info-bg:#EFF0FF;--info-tx:#3A3F7C;--info-bd:#C5CBF5;--info-dot:#7A84D4}
|
||||
*{box-sizing:border-box}body{margin:0;font-family:Pretendard,Inter,-apple-system,sans-serif;color:var(--navy);background:#fff;line-height:1.65;font-size:15px;word-break:keep-all}
|
||||
.serif{font-family:'Playfair Display',serif}
|
||||
section{padding:96px 24px}.wrap{max-width:1160px;margin:0 auto}
|
||||
.dark{background:var(--navy);color:#fff;position:relative}.dark::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top right,rgba(108,92,231,.15),transparent 60%);pointer-events:none}.dark .wrap{position:relative}
|
||||
.light{background:#fff}.near{background:var(--near)}
|
||||
.eyebrow{font-family:Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}.dark .eyebrow{color:#C4B5FD}
|
||||
h1{font-size:56px;line-height:1.05;margin:14px 0 10px;letter-spacing:-.02em}h2{font-size:38px;line-height:1.15;margin:10px 0 14px}h3{font-size:18px;font-weight:700;margin:0 0 8px}
|
||||
.dark h2{background:linear-gradient(90deg,#C4B5FD,#93C5FD);-webkit-background-clip:text;background-clip:text;color:transparent}
|
||||
.sub{font-size:17px;color:var(--slate6);max-width:820px}.dark .sub{color:#DDD6FE}
|
||||
p{margin:0 0 10px}.muted{color:var(--slate5);font-size:13.5px}.dark .muted{color:#C4B5FD}
|
||||
.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
|
||||
@media(max-width:900px){.g2,.g3,.g4{grid-template-columns:1fr}}
|
||||
.card{background:#fff;border:1px solid #F1F5F9;border-radius:18px;padding:22px 24px;box-shadow:3px 4px 12px rgba(0,0,0,.06);color:var(--navy)}.card:hover{box-shadow:4px 6px 16px rgba(0,0,0,.09)}
|
||||
.card p{color:var(--slate7);font-size:14.5px}
|
||||
.grad{background:linear-gradient(90deg,var(--g1),var(--g2));color:#fff;border:0}.grad p,.grad .muted{color:#DDD6FE}.grad h3{color:#fff}
|
||||
.cta{background:linear-gradient(to right,#fff3eb,#e4cfff,#f5f9ff);border:0}
|
||||
.badge{display:inline-block;font-family:Inter,sans-serif;font-size:11.5px;font-weight:600;border:1px solid;border-radius:999px;padding:3px 10px;line-height:1.3}
|
||||
.b-crit{background:var(--crit-bg);color:var(--crit-tx);border-color:var(--crit-bd)}.b-warn{background:var(--warn-bg);color:var(--warn-tx);border-color:var(--warn-bd)}.b-good{background:var(--good-bg);color:var(--good-tx);border-color:var(--good-bd)}.b-info{background:var(--info-bg);color:var(--info-tx);border-color:var(--info-bd)}
|
||||
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}
|
||||
table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;font-size:13.5px;box-shadow:3px 4px 12px rgba(0,0,0,.05)}th{background:var(--navy);color:#fff;text-align:left;padding:11px 13px;font-size:12.5px;font-weight:600}td{padding:11px 13px;border-bottom:1px solid #EEF2F7;vertical-align:top;color:var(--slate7)}tr:last-child td{border-bottom:0}td b{color:var(--navy)}
|
||||
.dark table{color:var(--navy)}
|
||||
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi .k{background:#fff;border-radius:16px;padding:18px 20px;box-shadow:3px 4px 12px rgba(0,0,0,.06)}.kpi b{display:block;font-family:'Playfair Display',serif;font-size:34px;color:var(--accent);line-height:1}.kpi span{font-size:12.5px;color:var(--slate5)}
|
||||
@media(max-width:900px){.kpi{grid-template-columns:repeat(2,1fr)}}
|
||||
.flow{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;counter-reset:s}.flow .st{background:#fff;border-radius:14px;padding:14px;box-shadow:3px 4px 12px rgba(0,0,0,.06);color:var(--navy);font-size:13px}.flow .st::before{counter-increment:s;content:counter(s);display:inline-block;font-family:'Playfair Display',serif;font-weight:700;color:var(--accent);font-size:20px;margin-bottom:4px}
|
||||
@media(max-width:900px){.flow{grid-template-columns:repeat(2,1fr)}}
|
||||
ul{margin:6px 0 0 18px;padding:0}li{margin:4px 0;color:var(--slate7)}.dark li{color:#E9E5FF}
|
||||
.pill{display:inline-block;background:#F1F5F9;color:var(--slate6);border-radius:999px;padding:2px 9px;font-size:11.5px;font-family:Inter,sans-serif;font-weight:500;margin:0 4px 4px 0}
|
||||
.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--accent)}
|
||||
.toc a{color:var(--accent);text-decoration:none}.toc li{color:var(--slate6)}
|
||||
footer{padding:36px 24px;font-size:12.5px;color:var(--slate5);border-top:1px solid var(--line);text-align:center}
|
||||
@media print{@page{size:A4;margin:11mm}section{padding:26px 6px;page-break-inside:auto}.pb{page-break-before:always}h1{font-size:40px}h2{font-size:28px}.card,tr{page-break-inside:avoid}.dark,.grad,.badge,.kpi .k,.cta,th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
|
||||
</style></head><body>
|
||||
|
||||
<!-- 0. Cover -->
|
||||
<section class="dark" style="padding-top:120px;padding-bottom:88px"><div class="wrap">
|
||||
<div class="eyebrow">INFINITH · Product Requirements Document · v0.1 Draft</div>
|
||||
<h1 class="serif">Global Medical Hub</h1>
|
||||
<div style="font-size:24px;font-weight:700;margin-bottom:6px">외국인 환자가 AI에 물었을 때 인용되는, AIO2O 운영 중립 의료관광 허브</div>
|
||||
<p class="sub">한국 성형외과·피부과의 시술·의료진·회복·비용 항목을 다국어 원문으로 공급하고, 상담·예약과 회복기 여정(숙박·식사·관광·미용)을 한 곳에서 연결하는 플랫폼. 병원이 아니라 AIO2O가 소유·운영한다. 지금 완성된 AI Discovery 진단과 서포터즈 자동 빌드 파이프라인이 공급 쪽 절반을 이미 자동화했다.</p>
|
||||
<div class="kpi" style="margin-top:34px">
|
||||
<div class="k"><b>3</b><span>제품 층 (정보·발견 / 상담·예약 / 여정 연결)</span></div>
|
||||
<div class="k"><b>2</b><span>검증된 병원 (뷰성형외과 18/18 · 원진 6/6, 사람 개입 0)</span></div>
|
||||
<div class="k"><b>$0.6</b><span>병원 1곳 온보딩 실측 비용 (30분)</span></div>
|
||||
<div class="k"><b>8~12주</b><span>1단계 글로벌 허브 MVP</span></div>
|
||||
</div>
|
||||
<p class="muted" style="margin-top:22px">작성 2026-09-08 · 작성 Claude (haewon 세션) · 검토 haewon · 결정 CEO · 배경: 2026-09-08 CEO·뷰성형외과 미팅 (원장의 의료관광 포털 제안) · 법 해석은 자문이 아니며 계약·등록 전 변호사 확인 필요</p>
|
||||
</div></section>
|
||||
|
||||
<!-- TOC -->
|
||||
<section class="light" style="padding:56px 24px"><div class="wrap toc">
|
||||
<div class="eyebrow">Contents</div>
|
||||
<ol style="columns:2;gap:40px;margin:10px 0 0 18px;font-size:14.5px">
|
||||
<li><a href="#s1">배경과 문제</a></li><li><a href="#s2">제품 정의와 범위</a></li><li><a href="#s3">사용자와 핵심 여정</a></li><li><a href="#s4">중립성과 IP: 운영 구조 비교</a></li><li><a href="#s5">AIO2O가 신청·등록·갖춰야 하는 것</a></li><li><a href="#s6">기술 스택과 기능: 완료 / 부분 / 신규</a></li><li><a href="#s7">아키텍처와 데이터 흐름</a></li><li><a href="#s8">로드맵</a></li><li><a href="#s9">KPI와 측정</a></li><li><a href="#s10">리스크와 미결</a></li><li><a href="#s11">부록: 근거 자료</a></li>
|
||||
</ol>
|
||||
</div></section>
|
||||
|
||||
<!-- 1. 배경 -->
|
||||
<section id="s1" class="near"><div class="wrap">
|
||||
<div class="eyebrow">01 · Why Now</div><h2 class="serif">Why Now</h2>
|
||||
<p class="sub">병원 홈페이지와 네이버 자산은 글로벌 AI 답변에 닿지 않는다. 그 공백을 원문 매체로 채우는 것이 INFINITH의 처방이고, 외국인 환자 시장은 인용할 원문이 가장 부족한 곳이다.</p>
|
||||
<div class="grid g3" style="margin-top:22px">
|
||||
<div class="card"><span class="badge b-crit">진단 근거</span><h3 style="margin-top:10px">병원은 읽히지만 인용되지 않는다</h3><p>뷰성형외과 AEO 42 / GEO 56, 원진성형외과 AEO 15 / GEO 45. 크롤러 접근은 열려 있으나 정의문·FAQ·표·의료진 스키마가 없다. 원진 영문 사이트는 hreflang조차 없다.</p></div>
|
||||
<div class="card"><span class="badge b-warn">시장 신호</span><h3 style="margin-top:10px">병원이 먼저 포털을 원한다</h3><p>2026-09-08 CEO 미팅에서 뷰성형외과 원장이 성형외과·피부과를 모은 글로벌 의료관광 포털을 제안했다. 반응은 좋았으나 "비슷한 제안이 많다"는 말도 들었다. 차별점은 실측 진단과 인용되는 원문, 그리고 자동 온보딩이다.</p></div>
|
||||
<div class="card"><span class="badge b-good">준비된 것</span><h3 style="margin-top:10px">공급 쪽은 이미 자동이다</h3><p>이름 하나로 채널 확인, 근거 수집, 팩트 시트, 의료진, 영상, 이미지(의료법 필터), 글 6편, 발행 게이트, 미리보기까지 30분에 $0.6. 두 병원에서 사람 개입 없이 완주했다.</p></div>
|
||||
</div>
|
||||
<div class="card cta" style="margin-top:18px"><h3>우리가 채울 공백</h3><p style="color:var(--navy)">외국인이 ChatGPT·Perplexity·Gemini에 "best rhinoplasty clinic in Seoul for foreigners"라고 물었을 때 인용할 다국어 원문(시술 조건 표·회복 일정·의료진·안전 체계·비용 항목)이 오픈웹에 사실상 없다. 기존 앱(강남언니 글로벌·바비톡·크리에이트립)은 정보를 앱 안에 가두고, 병원 영문 사이트는 슬로건과 이미지다. 네이버 자산은 robots.txt로 AI 크롤러를 막아 기여도 0이다(2026-08-26 실측).</p></div>
|
||||
</div></section>
|
||||
|
||||
<!-- 2. 제품 정의 -->
|
||||
<section id="s2" class="dark"><div class="wrap">
|
||||
<div class="eyebrow">02 · Product Definition</div><h2 class="serif">What We Build</h2>
|
||||
<p class="sub">세 층으로 나눈다. 첫 층은 우리가 만들고, 둘째 층은 자격을 갖춰 만들며, 셋째 층은 만들지 않고 연결한다.</p>
|
||||
<div class="grid g3" style="margin-top:22px">
|
||||
<div class="card"><span class="badge b-good">1층 · 만든다</span><h3 style="margin-top:10px">정보·발견</h3><p>병원별 다국어 원문 페이지(시술 조건 표·회복 일정·의료진·안전·비용 항목·FAQ), 병원 공통 허브(시술별 비교 없는 목록·질문별 답), AI 답변엔진·검색 인용 구조(MedicalClinic·Physician·Article·FAQPage·hreflang). 지금 파이프라인 그대로.</p></div>
|
||||
<div class="card"><span class="badge b-warn">2층 · 자격 후 만든다</span><h3 style="margin-top:10px">상담·예약</h3><p>병원 선택 → 상담 신청 → 통역 포함 예약 확정 → 결제·정산. 대가를 받는 순간 외국인환자 유치업자 등록이 필요하다. 1단계에서는 상담 신청을 병원에 직접 넘기고 수수료를 받지 않는다.</p></div>
|
||||
<div class="card"><span class="badge b-info">3층 · 연결한다</span><h3 style="margin-top:10px">회복기 여정</h3><p>숙박·식사·관광·축제·미용·배달은 제휴 링크와 파트너 API로 연결한다. 직접 판매하면 여행업·통신판매업 등록이 따라온다. 배달은 국내 앱이 외부 API를 열지 않아 정보 안내 수준.</p></div>
|
||||
</div>
|
||||
<div class="grid g2" style="margin-top:18px">
|
||||
<div class="card"><h3>제품이 아닌 것</h3><ul><li>병원 홈페이지를 대체하는 사이트. 홈페이지는 그대로 두고 sameAs로 같은 엔티티에 묶는다.</li><li>후기·전후 사진·병원 비교·가격 할인으로 설득하는 앱. 의료법 56조 2항이 막는 것은 처음부터 없다.</li><li>슈퍼앱. 예약·숙박·배달 시스템을 처음부터 짓지 않는다.</li><li>특정 병원의 사이트. 뷰성형외과는 앵커 파트너이지 소유자가 아니다.</li></ul></div>
|
||||
<div class="card"><h3>성공의 정의 (1단계)</h3><ul><li>병원 4곳 이상이 다국어 원문으로 발행되고 각 병원 개설자 승인이 데이터로 켜진다.</li><li>외국인 질문 뱅크(영·일·중 각 60문항) 실측에서 허브 인용률이 0에서 유의미하게 오른다. 소유 신호(서버 로그 AI 크롤러 히트, GA4 AI 유입)로 잰다.</li><li>상담 신청이 병원으로 전달되고 병원이 응답한 건수를 센다.</li></ul></div>
|
||||
</div>
|
||||
</div></section>
|
||||
|
||||
<!-- 3. 사용자 -->
|
||||
<section id="s3" class="light"><div class="wrap">
|
||||
<div class="eyebrow">03 · Users & Journeys</div><h2 class="serif">Who It Serves</h2>
|
||||
<div class="grid g4" style="margin-top:22px">
|
||||
<div class="card"><h3>외국인 환자</h3><p>일본·중국어권·동남아·영어권. AI와 검색에 질문 → 허브 원문 → 병원 페이지 → 상담 신청 → 방문·회복. 원하는 것은 조건(시간·마취·회복·비용 항목)과 안전, 그리고 의사소통.</p></div>
|
||||
<div class="card"><h3>병원 담당자</h3><p>온보딩 폼(v2 §6 9항목), 글별 검토자·검토일 입력, 상담 신청 응답. 기술 지식 없음. 지금 만든 `/supporters/:id` 패널이 시작점.</p></div>
|
||||
<div class="card"><h3>원장·개설자</h3><p>의학 검토, 게시 승인. 의료광고 주체. 승인 기록(승인자·직함·일시·글 버전)이 법적 근거가 된다.</p></div>
|
||||
<div class="card"><h3>AIO2O 운영자</h3><p>큐·워커 운영, 게이트 실패 처리, 이미지 육안 확인, "확인 필요" 채널 판정, 정정 접수. 비개발자가 운영할 수 있어야 한다.</p></div>
|
||||
</div>
|
||||
<div class="card" style="margin-top:18px"><h3>핵심 여정 (외국인 환자)</h3>
|
||||
<div class="flow" style="margin-top:10px">
|
||||
<div class="st">AI·검색에 질문. 허브의 질문형 글이 인용된다</div><div class="st">시술 조건 표·회복 일정·비용 항목을 언어별로 읽는다</div><div class="st">병원 페이지에서 의료진·안전 체계·확인일을 본다</div><div class="st">상담 신청(언어·희망 시술·일정). 1단계는 병원 직결</div><div class="st">예약 확정·통역·결제 (2단계, 유치업 등록 후)</div><div class="st">회복기 숙박·식사·관광 제휴 링크와 주의사항 안내 (3단계)</div>
|
||||
</div>
|
||||
</div>
|
||||
</div></section>
|
||||
|
||||
<!-- 4. 중립성과 IP -->
|
||||
<section id="s4" class="near"><div class="wrap">
|
||||
<div class="eyebrow">04 · Neutrality & IP</div><h2 class="serif">Ownership Structure</h2>
|
||||
<p class="sub">포털의 생명은 중립성이다. 한 병원의 계열 플랫폼에는 두 번째 병원이 들어오지 않는다. 파이프라인 IP는 AIO2O 사업 자체이므로 어떤 구조에서도 밖에 두지 않는다.</p>
|
||||
<div style="overflow-x:auto;margin-top:22px"><table>
|
||||
<thead><tr><th style="width:150px">기준</th><th>뷰성형외과 자회사</th><th>뷰 · AIO2O 합작법인</th><th>AIO2O 단독 + 뷰 앵커 파트너 (추천)</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><b>다른 병원 참여</b></td><td><span class="dot" style="background:var(--crit-dot)"></span>어렵다. 경쟁 병원 계열사에 의료진·비용 항목을 올릴 이유가 없다</td><td><span class="dot" style="background:var(--warn-dot)"></span>뷰 지분이 보이면 같은 경계. 지분이 작고 공개돼 있으면 완화</td><td><span class="dot" style="background:var(--good-dot)"></span>문제없다</td></tr>
|
||||
<tr><td><b>의료광고·고지</b></td><td>자회사 매체가 모병원을 노출하면 경제적 이해관계 고지가 페이지마다 붙고 추천·보증 심사지침 대상</td><td>같다. 뷰 관련 페이지에 지분 관계 고지</td><td>병원별 지원 관계 고지만</td></tr>
|
||||
<tr><td><b>유치업 등록</b></td><td>의료기관도 유치 등록은 가능하나 타 병원 환자 중개는 별도 법인이 깔끔</td><td>합작법인이 유치업자로 등록하면 자연스럽다</td><td>AIO2O 법인이 등록 (2단계 전)</td></tr>
|
||||
<tr><td><b>자본·앵커</b></td><td>병원이 자본을 댄다</td><td>자본·첫 병원·의료 자문을 같이 얻는다</td><td>자본은 AIO2O 몫. 앵커는 계약으로</td></tr>
|
||||
<tr><td><b>IP·속도</b></td><td>파이프라인이 병원 소유가 된다</td><td>IP를 JV에 넣으면 사업이 JV에 묶인다. 의사결정 둘</td><td>IP·속도 모두 AIO2O</td></tr>
|
||||
<tr><td><b>브랜드 리스크</b></td><td>뷰의 2026-07 공정위 시정명령(후기 뒷광고) 이력이 그대로 붙는다</td><td>같은 이력이 JV 브랜드에 묻는다</td><td>파트너 병원 중 하나의 이력</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<div class="grid g2" style="margin-top:18px">
|
||||
<div class="card grad"><h3>추천 구조</h3><ul style="color:#E9E5FF"><li>플랫폼·파이프라인·게이트·데이터 모델 IP는 AIO2O 100%. 라이선스도 넘기지 않는다.</li><li>뷰성형외과는 앵커 파트너 계약: 첫 병원 무상 온보딩, 다국어 첫 발행, 병원 2~4곳 소개, 의료 자문. 대가는 소액 지분(10% 미만, 공개) 또는 소개 수수료.</li><li>예약 수수료를 받는 2단계에서 유치업 전용 법인이 필요하면 그 법인만 합작 검토. 자본금·배상보험을 나눠 지고 플랫폼 IP는 밖에 둔다.</li></ul></div>
|
||||
<div class="card"><h3>합작을 하게 된다면 계약 필수 조항</h3><ul><li>IP 귀속: 파이프라인·게이트·데이터 모델은 AIO2O 소유, JV는 사용권.</li><li>뷰 지분 상한과 중립성 조항: 노출 순서·비교 금지, 타 병원 정보 접근 제한.</li><li>의료광고 책임 분리: 각 병원 개설자가 광고 주체, JV는 매체·대행. 사전심의·유치 광고 규정 준수는 병원 책임.</li><li>공정위 이력에 대한 표명·보증. JV 이름에 병원명을 넣지 않는다.</li><li>데이터: 병원 자산 사용 허락 범위, 환자 데이터 처리 주체.</li></ul></div>
|
||||
</div>
|
||||
</div></section>
|
||||
|
||||
<!-- 5. 신청·등록 -->
|
||||
<section id="s5" class="dark pb"><div class="wrap">
|
||||
<div class="eyebrow">05 · Registrations & Compliance</div><h2 class="serif">What AIO2O Must Obtain</h2>
|
||||
<p class="sub">단계별로 필요한 등록·신고·계약·계정을 전부 적었다. "확인"은 요건 수치나 적용 여부를 담당 기관 또는 변호사에게 확인해야 하는 항목이다.</p>
|
||||
<div style="overflow-x:auto;margin-top:22px"><table>
|
||||
<thead><tr><th style="width:56px">단계</th><th style="width:230px">항목</th><th>근거·요건</th><th style="width:170px">담당·비고</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><span class="badge b-good">1</span></td><td><b>사업자 업종 추가</b></td><td>정보서비스업(포털·데이터), 광고대행업, 소프트웨어 개발. 의료관광 유치업은 등록 후 추가.</td><td>세무 대리인</td></tr>
|
||||
<tr><td><span class="badge b-good">1</span></td><td><b>병원 파트너 계약 (병원마다)</b></td><td>홈페이지·영상·이미지 자산 사용 허락 범위, 의료광고 주체는 개설자·AIO2O는 제작·운영 대행, 글별 의학 검토·게시 승인 의무와 주기, 지원 관계 고지 문구, 정정 절차, 환자 데이터 처리 역할. 뷰성형외과와의 앵커 조항(소개·자문·지분 또는 수수료)은 별도 부속.</td><td>변호사 검토. 표준 계약서 1종</td></tr>
|
||||
<tr><td><span class="badge b-good">1</span></td><td><b>의료광고 규정 준수 체계</b></td><td>의료법 56조 2항(치료경험담 2호, 비교 4호, 수술 장면 6호, 부작용 누락 7호, 과장 8호, 기사·전문가 형태 10호, 인증·보증 14호)을 발행 게이트와 이미지 규칙으로 차단. 경제적 이해관계 표시는 추천·보증 심사지침대로 글 첫 부분. 외국어 페이지도 동일 적용.</td><td>완료(코드). 외국어 게이트 어휘 추가 필요</td></tr>
|
||||
<tr><td><span class="badge b-warn">1→2</span></td><td><b>의료광고 사전심의 (매체 기준)</b></td><td>의료법 57조. 자체 도메인 신규 매체는 전년도 일평균 이용자 10만 미만이라 의무 아님. 10만을 넘기면 대한의사협회 의료광고심의위원회 심의 대상. 네이버 블로그 재작성본은 게시물별 심의 대상이며 신청은 병원 명의.</td><td>이용자 수 모니터링. 확인: 외국어 매체 적용 여부</td></tr>
|
||||
<tr><td><span class="badge b-warn">1→2</span></td><td><b>외국인환자 유치 광고 규정</b></td><td>의료해외진출 및 외국인환자 유치 지원법. 유치업자·의료기관의 외국인환자 유치 광고는 국내 지정 장소(공항·항만·면세구역 등) 외 제한, 진료 비용 할인·과장 금지. 온라인 다국어 매체가 이 규정에서 어떻게 취급되는지 확인.</td><td>확인: 보건복지부·KHIDI</td></tr>
|
||||
<tr><td><span class="badge b-warn">2</span></td><td><b>외국인환자 유치업자 등록</b></td><td>같은 법 6조. 상담·예약을 중개하고 대가를 받으면 필수. 요건(확인): 법인, 자본금 1억 원 이상, 의료사고 배상책임보험 또는 공제(보장 한도 기준 있음), 사무실. 시·도에 등록, 3년마다 갱신, 유치 실적 연 1회 보고. 미등록 유치·수수료는 형사 처벌 대상.</td><td>AIO2O 법인. 2단계 착수 전 3개월</td></tr>
|
||||
<tr><td><span class="badge b-warn">2</span></td><td><b>통신판매업 신고 · 결제(PG)</b></td><td>예약금·상담비를 온라인으로 받으면 통신판매업 신고(구청). 해외 카드 결제 PG(Stripe·토스 해외결제) 계약, 외화 정산 계좌. 환불·취소 약관.</td><td>2단계</td></tr>
|
||||
<tr><td><span class="badge b-warn">2</span></td><td><b>개인정보·민감정보 처리</b></td><td>개인정보처리방침(한·영·일·중), 건강 정보는 민감정보라 별도 동의, 외국인 데이터의 국외 이전 동의(해외 결제·번역 API 사용 시), 병원과의 처리 위탁·제공 계약. GDPR·일본 개인정보보호법 적용 여부 확인(대상 국가별). 상담 신청 폼은 최소 수집.</td><td>변호사·개인정보 담당자 지정</td></tr>
|
||||
<tr><td><span class="badge b-info">3</span></td><td><b>여행업 등록 (직접 판매 시)</b></td><td>숙박·관광 상품을 직접 판매·알선하면 관광진흥법 여행업 등록. 제휴 링크(아고다·클룩·야놀자 어필리에이트)만 쓰면 불필요. 배달은 제휴 API 부재.</td><td>3단계에서 결정</td></tr>
|
||||
<tr><td><span class="badge b-info">1</span></td><td><b>상표·도메인</b></td><td>허브 브랜드 상표 출원(한국·주요 대상국), 국제 도메인, 언어별 서브패스(/en /ja /zh) 또는 서브도메인 결정(hreflang 설계에 영향).</td><td>브랜드 확정 후</td></tr>
|
||||
<tr><td><span class="badge b-info">1</span></td><td><b>API·플랫폼 계정</b></td><td>Google Cloud 프로젝트 쿼터(신청 중) → Places API(GBP 평점·리뷰 수·NAP 실측), YouTube Data API 쿼터 증량(기본 1만 유닛/일, 병원 10곳 이상 시 신청), OpenAI 조직 한도, Firecrawl·네이버 검색 API, 번역(DeepL 또는 GPT), Vercel Pro(팀·도메인), Supabase Pro, Trigger.dev(워커), Apify 미납 해소(인스타 수집).</td><td>AIO2O 계정 소유자 통일</td></tr>
|
||||
<tr><td><span class="badge b-info">1</span></td><td><b>보험·회계</b></td><td>매체 배상책임(명예훼손·저작권) 보험 검토, 병원 구독·수수료 세금계산서 체계, 외화 수익 회계.</td><td>확인</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div></section>
|
||||
|
||||
<!-- 6. 기술 스택과 기능 -->
|
||||
<section id="s6" class="light pb"><div class="wrap">
|
||||
<div class="eyebrow">06 · Stack & Capabilities</div><h2 class="serif">Done, Partial, New</h2>
|
||||
<p class="sub">완료는 두 병원에서 검증된 것, 부분은 있으나 포털 규모로 바꿔야 하는 것, 신규는 없는 것. 근거 열은 저장소 파일이다.</p>
|
||||
<div class="grid g3" style="margin-top:22px">
|
||||
<div class="card"><h3>현재 스택</h3><p><span class="pill">React 19</span><span class="pill">Vite 6</span><span class="pill">Tailwind 4</span><span class="pill">React Router 7</span><span class="pill">Astro 7 (서포터즈)</span><span class="pill">Supabase (DB·Edge Functions)</span><span class="pill">Vercel</span><span class="pill">Node 22 워커</span><span class="pill">Python (채점기·이미지)</span><span class="pill">GPT-4.1</span><span class="pill">YouTube Data API</span><span class="pill">Firecrawl</span><span class="pill">네이버 검색 API</span></p></div>
|
||||
<div class="card"><h3>추가 스택 (1~2단계)</h3><p><span class="pill">번역: GPT-4.1 근거 프로토콜 재실행 + DeepL 검수</span><span class="pill">Trigger.dev (워커 상시)</span><span class="pill">Supabase Auth (병원·운영자 역할)</span><span class="pill">Stripe / 토스 해외결제</span><span class="pill">Google Places API</span><span class="pill">Resend·SES (알림 메일)</span><span class="pill">Plausible 또는 GA4 (AI 유입 채널그룹)</span><span class="pill">Vercel 로그 드레인 (AI 크롤러 계측)</span></p></div>
|
||||
<div class="card"><h3>원칙 (변하지 않는 것)</h3><ul><li>근거 없는 사실은 생성하지 않는다. "확인 대기".</li><li>사람 게이트(검토·승인·채널 확인·이미지 육안)는 자동화하지 않는다.</li><li>고객 화면에 운영자 설명 없음. 확정 디자인은 텍스트만.</li><li>부재는 증명한다(채널 탐색 다섯 갈래).</li></ul></div>
|
||||
</div>
|
||||
<div style="overflow-x:auto;margin-top:22px"><table>
|
||||
<thead><tr><th style="width:150px">영역</th><th>기능</th><th style="width:78px">상태</th><th style="width:260px">근거 파일 · 비고</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td rowspan="3"><b>진단 (AI Discovery)</b></td><td>기준표 v1.0 36항목 · v2.0 AEO/GEO 분리 채점, 미검증 분모 제외, 치명 게이트</td><td><span class="badge b-good">완료</span></td><td class="mono">src/data/aeoGeoRubric*.ts · src/lib/discoveryScore*.ts</td></tr>
|
||||
<tr><td>자동 채점기(auto 21~22항목) · 리포트 페이지 · 독립 HTML/PDF 리포트</td><td><span class="badge b-good">완료</span></td><td class="mono">scripts/audit_aeo_geo.py · /discovery/:id · scripts/build_discovery_report.ts</td></tr>
|
||||
<tr><td>외국인 질문 뱅크(영·일·중) · 다국어 답변엔진 실측 러너 · GBP·강남언니·플레이스 자동 실측(D1·D2·D4·D5)</td><td><span class="badge b-crit">신규</span></td><td>국문 120문항 러너 `scripts/run_question_bank_openai.py` 확장. Places API 키 필요</td></tr>
|
||||
<tr><td rowspan="4"><b>온보딩 파이프라인</b></td><td>채널 발견·엔티티 검증(5갈래, 근거 점수 3-state) · 근거 수집(223p) · 팩트 시트·의료진 초안</td><td><span class="badge b-good">완료</span></td><td class="mono">supporters/scripts/discover_channels.mjs · collect_evidence.mjs</td></tr>
|
||||
<tr><td>유튜브 집계(정보형 필터·쇼츠 판별) · 로고·파비콘 · 이미지(의료법 규칙·글자 이미지 검사)</td><td><span class="badge b-good">완료</span></td><td class="mono">collect_youtube.mjs · collect_images.mjs · img_process.py · docs/INFINITH_Supporters_Image_Rules.md</td></tr>
|
||||
<tr><td>첫 배치 기획(2층 구조) · GPT-4.1 글 생성 · 수치 대조 · 모델 근거 대조 · 수정 2회</td><td><span class="badge b-good">완료</span></td><td class="mono">default_briefs.mjs · generate_posts.mjs · gen/*</td></tr>
|
||||
<tr><td>뉴스룸 단계 · 감사 재실행(색인 허용 빌드 비교) · 유튜브 자막(IP 차단 대비 큐·프록시)</td><td><span class="badge b-warn">부분</span></td><td>뷰 수작업 스크립트 있음(`build_news.py`·`build_supporters_audit_xlsx.py`). 워커 단계로 미연결. 자막은 미구현</td></tr>
|
||||
<tr><td rowspan="2"><b>발행 게이트</b></td><td>error 11종 + warn 6종 + 비교 수치 · 승인 · 고지 위치 · 기자 화법 · 구조 지문, 픽스처 테스트 16/16</td><td><span class="badge b-good">완료</span></td><td class="mono">supporters/scripts/gate/rules.mjs · check.mjs</td></tr>
|
||||
<tr><td>외국어 금칙어·결론 단정·비교 표현 사전(영·일·중), 외국어 홈페이지 40자 중복 기준</td><td><span class="badge b-crit">신규</span></td><td>언어별 규칙 모듈. 원문 병원 페이지가 국문이면 번역 중복 검사 방식 결정 필요</td></tr>
|
||||
<tr><td rowspan="3"><b>서포터즈 사이트 (병원 페이지)</b></td><td>Astro 템플릿(INFINITH 토큰) · 팩트 시트 단일 원본 · 신뢰 층(작성자·검토·승인·근거 유형·갱신·정정) · MedicalClinic·Physician·Article·FAQPage · noindex→색인 전환</td><td><span class="badge b-good">완료</span></td><td class="mono">templates/supporters-astro · supporters/src/lib.ts</td></tr>
|
||||
<tr><td>다국어(hreflang·언어별 라우팅·언어별 팩트 시트 표기·통화·날짜) · 언어별 상담 신청 폼</td><td><span class="badge b-crit">신규</span></td><td>같은 팩트 시트에서 언어별 렌더. 수치·시점은 언어 간 동일해야 함</td></tr>
|
||||
<tr><td>병원 N개를 한 도메인에서: 병원 서브패스 또는 서브도메인, 공통 홈·시술별 허브·질문별 답 페이지·병원 목록(비교·순위 없음)</td><td><span class="badge b-crit">신규</span></td><td>현재는 병원당 Vercel 프로젝트. 허브 도메인 설계와 canonical·sitemap 분리 필요</td></tr>
|
||||
<tr><td rowspan="3"><b>승인·운영 UI</b></td><td>병원 확인 항목 폼(9항목) · 글별 검토·승인 기록 · 발견 채널 확인 · 미리보기 · 입력 반영 재빌드</td><td><span class="badge b-good">완료</span></td><td class="mono">src/components/discovery/ClinicInputsPanel.tsx · apply_inputs.mjs</td></tr>
|
||||
<tr><td>계정·역할(병원 담당자·원장·운영자) · 로그인 · 병원별 권한 · 승인 서명 기록(승인자·직함·일시·글 버전 해시)</td><td><span class="badge b-crit">신규</span></td><td>지금은 익명 입력. Supabase Auth + RLS 병원 스코프</td></tr>
|
||||
<tr><td>운영자 콘솔: 게이트 실패 목록, 이미지 육안 확인 체크, 확인 필요 채널 판정, 정정 접수, 비용·쿼터 대시보드</td><td><span class="badge b-warn">부분</span></td><td>status.json·report.md로 존재. 화면 없음</td></tr>
|
||||
<tr><td rowspan="2"><b>워커·인프라</b></td><td>워커 11단계 · 큐(supporter_builds) · 폴러 · 랜딩 URL 신청 → 큐 · Vercel 미리보기 배포</td><td><span class="badge b-good">완료</span></td><td class="mono">workers/supporters-build/run.mjs · poll.mjs</td></tr>
|
||||
<tr><td>상시 실행(Trigger.dev) · 입력 변경 시 자동 재빌드 트리거 · 실패 알림 · 병원 10곳 이상 동시 큐</td><td><span class="badge b-warn">부분</span></td><td>launchd plist 준비, 미설치. Trigger.dev 이관은 가입·키만 필요</td></tr>
|
||||
<tr><td rowspan="2"><b>상담·예약 (2단계)</b></td><td>상담 신청 폼(언어·시술·일정·연락처) → 병원 이메일·카카오 알림 · 응답 추적</td><td><span class="badge b-crit">신규</span></td><td>1단계는 병원 직결(수수료 없음)</td></tr>
|
||||
<tr><td>예약 확정·통역 배정·예약금 결제·취소 환불·정산 · 유치 실적 보고 데이터</td><td><span class="badge b-crit">신규</span></td><td>유치업 등록 후. Stripe·토스, 정산 테이블, 실적 보고 양식</td></tr>
|
||||
<tr><td><b>여정 연결 (3단계)</b></td><td>회복 일정 기반 숙박·식사·관광 추천 · 제휴 링크 트래킹 · 축제·행사 데이터 연동(한국관광공사 API)</td><td><span class="badge b-crit">신규</span></td><td>제휴 API·어필리에이트 계정. 직접 판매 없음</td></tr>
|
||||
<tr><td rowspan="2"><b>측정</b></td><td>서버 로그 AI 크롤러 히트 · GA4 AI 유입 채널그룹 · GSC AI Overviews · 기준선 스팟체크(질의 × 반복)</td><td><span class="badge b-crit">신규</span></td><td>E 카테고리 0/4. Vercel 로그 드레인 → Supabase, GA4 채널그룹 정의. 답변엔진 UI 자동 조회는 약관 위반이라 소유 신호만</td></tr>
|
||||
<tr><td>병원별 성과 리포트(인용·유입·상담 신청) 자동 생성</td><td><span class="badge b-warn">부분</span></td><td>리포트 빌더 있음. 측정 데이터가 없어 카드가 비어 있음</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div></section>
|
||||
|
||||
<!-- 7. 아키텍처 -->
|
||||
<section id="s7" class="dark"><div class="wrap">
|
||||
<div class="eyebrow">07 · Architecture</div><h2 class="serif">Data Flow</h2>
|
||||
<p class="sub">공급(병원)은 자동 온보딩 파이프라인, 수요(환자)는 AI·검색 인용, 그 사이를 승인 데이터가 잇는다.</p>
|
||||
<div class="flow" style="margin-top:22px">
|
||||
<div class="st"><b>입력</b><br>병원 이름 또는 URL (랜딩 신청·운영자·앵커 소개) → 큐</div>
|
||||
<div class="st"><b>발견·수집</b><br>채널 엔티티 검증, 근거 223p, 유튜브, 이미지(법 필터), 팩트 시트</div>
|
||||
<div class="st"><b>생성·게이트</b><br>기획 → GPT-4.1 → 수치·근거 대조 → 발행 게이트 → 국문 원문</div>
|
||||
<div class="st"><b>다국어</b><br>같은 팩트 시트·근거로 언어별 재생성(번역 아님) → 언어별 게이트 → hreflang</div>
|
||||
<div class="st"><b>승인</b><br>병원 폼 입력 → 검토·승인 기록 → 색인 허용 빌드에 승인 글만</div>
|
||||
<div class="st"><b>허브 배포·측정</b><br>허브 도메인(병원별 경로) → AI·검색 인용 → 로그·GA4·상담 신청 계측</div>
|
||||
</div>
|
||||
<div class="grid g2" style="margin-top:18px">
|
||||
<div class="card"><h3>데이터 모델 (핵심 테이블)</h3><ul><li><b>clinics</b>: id, 이름(다국어), url, 팩트 시트(JSON, checkedAt/nextCheck), surfaces(확인된 채널), 파트너 계약 상태.</li><li><b>supporter_builds</b>(있음): 빌드 실행·단계·미리보기 URL·리포트.</li><li><b>supporter_inputs</b>(있음): 병원 입력, 글별 검토·승인.</li><li><b>posts</b>: 언어별 글, 근거 유형, 검토·승인, 갱신 기록. 지금은 md frontmatter, 허브 규모에서는 DB로.</li><li><b>inquiries</b>(신규): 상담 신청, 언어, 병원 전달·응답 시각.</li><li><b>bookings·payments</b>(2단계), <b>affiliate_clicks</b>(3단계), <b>ai_crawler_hits·ai_referrals</b>(측정).</li></ul></div>
|
||||
<div class="card"><h3>다국어 설계 원칙</h3><ul><li>번역이 아니라 근거 프로토콜을 언어별로 다시 태운다. 수치·시점·의료진은 팩트 시트 한 곳에서 나온다.</li><li>언어별 게이트: 금칙어·결론 단정·비교 표현 사전을 언어마다 둔다. 부작용 고지·지원 관계 고지는 언어별 문안 고정.</li><li>hreflang 상호 연결, canonical 언어별, sitemap 언어별. 병원 홈페이지 영문 사이트가 있으면 sameAs로 연결.</li><li>통화·단위: 비용 항목만 쓰고 금액은 쓰지 않으므로 환율 문제는 2단계 결제에서만.</li></ul></div>
|
||||
</div>
|
||||
</div></section>
|
||||
|
||||
<!-- 8. 로드맵 -->
|
||||
<section id="s8" class="near"><div class="wrap">
|
||||
<div class="eyebrow">08 · Roadmap</div><h2 class="serif">Three Phases</h2>
|
||||
<div class="grid g3" style="margin-top:22px">
|
||||
<div class="card"><span class="badge b-good">1단계 · 8~12주</span><h3 style="margin-top:10px">글로벌 허브 MVP</h3><ul><li>허브 브랜드·도메인·언어 라우팅 결정</li><li>다국어 생성(영·일·중) + 언어별 게이트</li><li>다병원 허브(공통 홈·시술 허브·병원 페이지·상담 신청 병원 직결)</li><li>뷰성형외과 + 앵커 소개 병원 2~4곳 온보딩(자동)</li><li>외국인 질문 뱅크 실측(기준선)</li><li>측정 인프라: 로그 드레인·GA4 채널그룹</li><li>계정·역할·운영자 콘솔 최소판</li></ul><p class="muted">게이트: 병원 4곳 개설자 승인, 인용 기준선 확보</p></div>
|
||||
<div class="card"><span class="badge b-warn">2단계 · 3~6개월</span><h3 style="margin-top:10px">예약·수익화</h3><ul><li>유치업자 등록(법인·자본금·배상보험) 완료</li><li>예약 확정·통역·예약금 결제·환불·정산</li><li>병원 구독(온보딩·원문 공급·리포트) 요금제</li><li>뉴스룸·감사 재실행·자막 단계 워커 연결</li><li>Trigger.dev 상시 워커, 입력 변경 자동 재빌드</li><li>개인정보 국외 이전·민감정보 동의 체계</li></ul><p class="muted">게이트: 유치업 등록증, PG 계약, 상담→예약 전환 데이터</p></div>
|
||||
<div class="card"><span class="badge b-info">3단계 · 이후</span><h3 style="margin-top:10px">회복기 여정 연결</h3><ul><li>회복 일정 기반 숙박·식사·관광 추천(제휴)</li><li>축제·행사 데이터(관광공사 API)</li><li>미용 서비스 제휴, 배달은 안내</li><li>병원 10곳 이상, 피부과 확장</li><li>여행업 등록 여부 결정</li></ul><p class="muted">게이트: 제휴 계약, 3단계 수익 검증</p></div>
|
||||
</div>
|
||||
<div class="card cta" style="margin-top:18px"><h3>1단계 착수 전 CEO 결정 3가지</h3><p style="color:var(--navy)">(1) 뷰성형외과 앵커 계약 조건(무상 온보딩·소개·자문 대가로 소액 지분 또는 수수료). (2) 유치업 등록을 AIO2O 법인으로 할지, 등록된 유치업자와 제휴할지. (3) 수익 순서: 병원 구독이 먼저인지 예약 수수료가 먼저인지. 이 셋이 정해지면 나머지는 지금 파이프라인 위에 붙는 개발이다.</p></div>
|
||||
</div></section>
|
||||
|
||||
<!-- 9. KPI -->
|
||||
<section id="s9" class="light"><div class="wrap">
|
||||
<div class="eyebrow">09 · Metrics</div><h2 class="serif">How We Measure</h2>
|
||||
<p class="sub">답변엔진 UI 자동 조회는 약관 위반이라 주력 지표는 소유 신호다. 효과는 반복 측정과 신뢰구간으로만 보고한다.</p>
|
||||
<div style="overflow-x:auto;margin-top:22px"><table>
|
||||
<thead><tr><th style="width:170px">축</th><th>지표</th><th style="width:220px">소스</th><th style="width:150px">1단계 목표</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><b>공급</b></td><td>온보딩 병원 수, 언어별 발행 글 수, 개설자 승인 글 비율, 게이트 오류율, 편당 생성 비용</td><td>supporter_builds·inputs, 생성기 리포트</td><td>병원 4곳 · 승인 60% 이상</td></tr>
|
||||
<tr><td><b>인용(AEO/GEO)</b></td><td>외국인 질문 뱅크 인용률(언어별, 5회 반복), 병원 AEO/GEO 점수 변화, AI 크롤러 히트(IP 검증)</td><td>QB 러너, 채점기, 서버 로그</td><td>기준선 확보, 크롤러 히트 발생</td></tr>
|
||||
<tr><td><b>유입</b></td><td>AI 유입 세션(GA4 채널그룹), 검색 유입, 언어별 체류</td><td>GA4·GSC</td><td>월 AI 유입 세션 측정 시작</td></tr>
|
||||
<tr><td><b>전환</b></td><td>상담 신청 수, 병원 응답률·응답 시간, (2단계) 예약 확정·결제</td><td>inquiries·bookings</td><td>상담 신청 월 10건</td></tr>
|
||||
<tr><td><b>신뢰</b></td><td>정정 접수·처리 시간, 게이트 차단 건수, 확인 대기 항목 해소율</td><td>corrections, 게이트 로그</td><td>정정 72시간 내 처리</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div></section>
|
||||
|
||||
<!-- 10. 리스크 -->
|
||||
<section id="s10" class="dark"><div class="wrap">
|
||||
<div class="eyebrow">10 · Risks & Open Questions</div><h2 class="serif">What Can Break</h2>
|
||||
<div class="grid g2" style="margin-top:22px">
|
||||
<div class="card"><h3>리스크와 대응</h3><ul><li><b>규제</b>: 유치업 미등록 상태의 수수료, 외국인 유치 광고 규정, 사전심의 매체 기준. 대응: 1단계 무수수료·병원 직결, 2단계 전 등록, 이용자 수 모니터링.</li><li><b>공급 정체</b>: 병원이 검토·승인을 안 한다. 대응: 미승인이어도 "확인 대기" 미리보기 발행, 검토 담당자·주기를 계약에.</li><li><b>중립성 의심</b>: 앵커 병원 편향. 대응: 지분 공개·고지, 노출 순서 규칙 공개, 비교·순위 없음.</li><li><b>생성 품질</b>: 근거 없는 수치·오역. 대응: 언어별 수치 대조·근거 대조, 사람 확인 플래그, 정정 페이지.</li><li><b>경쟁</b>: 크리에이트립·강남언니 글로벌이 AI 인용 구조를 갖추면 선점 기회가 사라진다. 대응: 속도. 온보딩 자동화가 유일한 시간 우위.</li><li><b>운영</b>: 비개발자 운영, 워커 상시 실행 미결정. 대응: Trigger.dev, 운영자 콘솔.</li><li><b>브랜드</b>: 파트너 병원의 공정위·의료사고 이력. 대응: 계약 표명·보증, 뉴스룸 부정 기사 제외 규칙 유지, 허브 이름에 병원명 배제.</li></ul></div>
|
||||
<div class="card"><h3>미결 (결정 주체)</h3><ul><li>허브 브랜드·도메인·언어 라우팅 (CEO·haewon)</li><li>뷰 앵커 계약 조건, 합작 여부 (CEO)</li><li>유치업 등록 주체와 시점 (CEO·법무)</li><li>수익 모델 순서와 병원 구독 가격 (경영진)</li><li>대상 언어·국가 우선순위 (일본·중국어권·영어권) (CEO)</li><li>실존 서포터즈·편집 책임자 명의 (haewon)</li><li>워커 상시 실행 위치 (haewon)</li><li>기존 미결: 뷰 도메인, POC 8주 범위, 서포터즈 모집</li></ul></div>
|
||||
</div>
|
||||
</div></section>
|
||||
|
||||
<!-- 11. 부록 -->
|
||||
<section id="s11" class="near"><div class="wrap">
|
||||
<div class="eyebrow">11 · Appendix</div><h2 class="serif">References</h2>
|
||||
<div class="grid g2" style="margin-top:22px">
|
||||
<div class="card"><h3>프로젝트 산출물</h3><ul>
|
||||
<li>진단 리포트: <span class="mono">docs/reports/viewclinic/01_readiness_report</span> · <span class="mono">docs/reports/wonjin/01_readiness_report</span> (HTML·PDF)</li>
|
||||
<li>미리보기: supporters-viewclinic.vercel.app · supporters-wonjin.vercel.app (noindex)</li>
|
||||
<li>병원 확인 항목 패널: infinith-demo.vercel.app/supporters/wonjin</li>
|
||||
<li>핸드오버: <span class="mono">docs/NEXT_SESSION_SUPPORTERS_AUTOBUILD_v3.md</span>, 규칙: v2 §3·§4·§6·§12</li>
|
||||
<li>회고: <span class="mono">docs/INFINITH_AI_Discovery_Retrospective_2026-09-08.md</span></li>
|
||||
<li>이미지 규칙: <span class="mono">docs/INFINITH_Supporters_Image_Rules.md</span></li>
|
||||
<li>워커: <span class="mono">workers/supporters-build/README.md</span></li>
|
||||
</ul></div>
|
||||
<div class="card"><h3>법령·기준 (원문 확인 필요)</h3><ul>
|
||||
<li>의료법 제56조(의료광고의 금지 등) 제2항, 제57조(의료광고의 심의), 시행령 제23조·제24조</li>
|
||||
<li>의료 해외진출 및 외국인환자 유치 지원법 제6조(유치업자 등록), 제15조(의료광고 특례·제한), 시행규칙(등록 요건·보험)</li>
|
||||
<li>표시·광고의 공정화에 관한 법률, 추천·보증 등에 관한 표시·광고 심사지침(2024-12 개정)</li>
|
||||
<li>개인정보 보호법(민감정보·국외 이전), 정보통신망법</li>
|
||||
<li>전자상거래법(통신판매업 신고), 관광진흥법(여행업)</li>
|
||||
<li>공정거래위원회 2026-07-12 성형외과 후기 뒷광고 시정명령(뷰성형외과 포함 3곳)</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
</div></section>
|
||||
|
||||
<footer>INFINITH · AI오투오 · o2oteam@o2o.kr · PRD v0.1 초안 2026-09-08 · 법 해석은 자문이 아니며 계약·등록 전 변호사 확인이 필요합니다.</footer>
|
||||
</body></html>
|
||||
@ -1,298 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="ko"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>INFINITH Global Medical Hub PRD v0.2</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com"><link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;900&family=Inter:wght@400;500;600&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css">
|
||||
<style>
|
||||
:root{--navy:#0A1128;--navy800:#1A2B5E;--near:#F4F6FB;--accent:#6C5CE7;--g1:#4F1DA1;--g2:#021341;--slate7:#334155;--slate6:#475569;--slate5:#64748B;--line:#E2E8F0;
|
||||
--crit-bg:#FFF0F0;--crit-tx:#7C3A4B;--crit-bd:#F5D5DC;--crit-dot:#D4889A;--warn-bg:#FFF6ED;--warn-tx:#7C5C3A;--warn-bd:#F5E0C5;--warn-dot:#D4A872;--good-bg:#F3F0FF;--good-tx:#4A3A7C;--good-bd:#D5CDF5;--good-dot:#9B8AD4;--info-bg:#EFF0FF;--info-tx:#3A3F7C;--info-bd:#C5CBF5;--info-dot:#7A84D4}
|
||||
*{box-sizing:border-box}body{margin:0;font-family:Pretendard,Inter,-apple-system,sans-serif;color:var(--navy);background:#fff;line-height:1.65;font-size:15px;word-break:keep-all}
|
||||
.serif{font-family:'Playfair Display',serif}
|
||||
section{padding:96px 24px}.wrap{max-width:1160px;margin:0 auto}
|
||||
.dark{background:var(--navy);color:#fff;position:relative}.dark::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top right,rgba(108,92,231,.15),transparent 60%);pointer-events:none}.dark .wrap{position:relative}
|
||||
.light{background:#fff}.near{background:var(--near)}
|
||||
.eyebrow{font-family:Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--accent)}.dark .eyebrow{color:#C4B5FD}
|
||||
h1{font-size:56px;line-height:1.05;margin:14px 0 10px;letter-spacing:-.02em}h2{font-size:38px;line-height:1.15;margin:10px 0 14px}h3{font-size:18px;font-weight:700;margin:0 0 8px}
|
||||
.dark h2{background:linear-gradient(90deg,#C4B5FD,#93C5FD);-webkit-background-clip:text;background-clip:text;color:transparent}
|
||||
.sub{font-size:17px;color:var(--slate6);max-width:820px}.dark .sub{color:#DDD6FE}
|
||||
p{margin:0 0 10px}.muted{color:var(--slate5);font-size:13.5px}.dark .muted{color:#C4B5FD}
|
||||
.grid{display:grid;gap:18px}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
|
||||
@media(max-width:900px){.g2,.g3,.g4{grid-template-columns:1fr}}
|
||||
.card{background:#fff;border:1px solid #F1F5F9;border-radius:18px;padding:22px 24px;box-shadow:3px 4px 12px rgba(0,0,0,.06);color:var(--navy)}.card:hover{box-shadow:4px 6px 16px rgba(0,0,0,.09)}
|
||||
.card p{color:var(--slate7);font-size:14.5px}
|
||||
.grad{background:linear-gradient(90deg,var(--g1),var(--g2));color:#fff;border:0}.grad p,.grad .muted{color:#DDD6FE}.grad h3{color:#fff}
|
||||
.cta{background:linear-gradient(to right,#fff3eb,#e4cfff,#f5f9ff);border:0}
|
||||
.badge{display:inline-block;font-family:Inter,sans-serif;font-size:11.5px;font-weight:600;border:1px solid;border-radius:999px;padding:3px 10px;line-height:1.3}
|
||||
.b-crit{background:var(--crit-bg);color:var(--crit-tx);border-color:var(--crit-bd)}.b-warn{background:var(--warn-bg);color:var(--warn-tx);border-color:var(--warn-bd)}.b-good{background:var(--good-bg);color:var(--good-tx);border-color:var(--good-bd)}.b-info{background:var(--info-bg);color:var(--info-tx);border-color:var(--info-bd)}
|
||||
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle}
|
||||
table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;font-size:13.5px;box-shadow:3px 4px 12px rgba(0,0,0,.05)}th{background:var(--navy);color:#fff;text-align:left;padding:11px 13px;font-size:12.5px;font-weight:600}td{padding:11px 13px;border-bottom:1px solid #EEF2F7;vertical-align:top;color:var(--slate7)}tr:last-child td{border-bottom:0}td b{color:var(--navy)}
|
||||
.dark table{color:var(--navy)}
|
||||
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi .k{background:#fff;border-radius:16px;padding:18px 20px;box-shadow:3px 4px 12px rgba(0,0,0,.06)}.kpi b{display:block;font-family:'Playfair Display',serif;font-size:34px;color:var(--accent);line-height:1}.kpi span{font-size:12.5px;color:var(--slate5)}
|
||||
@media(max-width:900px){.kpi{grid-template-columns:repeat(2,1fr)}}
|
||||
.flow{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;counter-reset:s}.flow .st{background:#fff;border-radius:14px;padding:14px;box-shadow:3px 4px 12px rgba(0,0,0,.06);color:var(--navy);font-size:13px}.flow .st::before{counter-increment:s;content:counter(s);display:inline-block;font-family:'Playfair Display',serif;font-weight:700;color:var(--accent);font-size:20px;margin-bottom:4px}
|
||||
@media(max-width:900px){.flow{grid-template-columns:repeat(2,1fr)}}
|
||||
ul{margin:6px 0 0 18px;padding:0}li{margin:4px 0;color:var(--slate7)}.dark li{color:#E9E5FF}
|
||||
.pill{display:inline-block;background:#F1F5F9;color:var(--slate6);border-radius:999px;padding:2px 9px;font-size:11.5px;font-family:Inter,sans-serif;font-weight:500;margin:0 4px 4px 0}
|
||||
.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--accent)}
|
||||
.toc a{color:var(--accent);text-decoration:none}.toc li{color:var(--slate6)}
|
||||
footer{padding:36px 24px;font-size:12.5px;color:var(--slate5);border-top:1px solid var(--line);text-align:center}
|
||||
@media print{@page{size:A4;margin:11mm}section{padding:26px 6px;page-break-inside:auto}.pb{page-break-before:always}h1{font-size:40px}h2{font-size:28px}.card,tr{page-break-inside:avoid}.dark,.grad,.badge,.kpi .k,.cta,th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
|
||||
</style></head><body>
|
||||
|
||||
<!-- 0. Cover -->
|
||||
<section class="dark" style="padding-top:120px;padding-bottom:88px"><div class="wrap">
|
||||
<div class="eyebrow">INFINITH · Product Requirements Document · v0.2 Draft</div>
|
||||
<h1 class="serif">Global Medical Hub</h1>
|
||||
<div style="font-size:24px;font-weight:700;margin-bottom:6px">외국인 환자가 AI에 물었을 때 인용되는, AIO2O 운영 중립 의료관광 허브</div>
|
||||
<p class="sub">한국 성형외과·피부과의 시술·의료진·회복·비용 항목을 다국어 원문으로 공급하고, 상담·예약과 회복기 여정(숙박·식사·관광·미용)을 한 곳에서 연결하는 플랫폼. 병원이 아니라 AIO2O가 소유·운영한다. 지금 완성된 AI Discovery 진단과 서포터즈 자동 빌드 파이프라인이 공급 쪽 절반을 이미 자동화했다.</p>
|
||||
<div class="kpi" style="margin-top:34px">
|
||||
<div class="k"><b>3</b><span>제품 층 (정보·발견 / 상담·예약 / 여정 연결)</span></div>
|
||||
<div class="k"><b>2</b><span>검증된 병원 (뷰성형외과 18/18 · 원진 6/6, 사람 개입 0)</span></div>
|
||||
<div class="k"><b>$0.6</b><span>병원 1곳 온보딩 실측 비용 (30분)</span></div>
|
||||
<div class="k"><b>8~12주</b><span>1단계 글로벌 허브 MVP</span></div>
|
||||
</div>
|
||||
<p class="muted" style="margin-top:22px">작성 2026-09-08 · 작성 Claude (haewon 세션) · 검토 haewon · 결정 CEO · 배경: 2026-09-08 CEO·뷰성형외과 미팅 (원장의 의료관광 포털 제안) · 법 해석은 자문이 아니며 계약·등록 전 변호사 확인 필요<br>v0.2 개정 2026-09-09 · 앵커의 병원 소개 역량 반영 (§04 앵커 계약 조항, §05 소개 구조 확인, §08 소개 규모·CEO 결정, §10 앵커 의존 리스크·미결 2건)</p>
|
||||
</div></section>
|
||||
|
||||
<!-- TOC -->
|
||||
<section class="light" style="padding:56px 24px"><div class="wrap toc">
|
||||
<div class="eyebrow">Contents</div>
|
||||
<ol style="columns:2;gap:40px;margin:10px 0 0 18px;font-size:14.5px">
|
||||
<li><a href="#s1">배경과 문제</a></li><li><a href="#s2">제품 정의와 범위</a></li><li><a href="#s3">사용자와 핵심 여정</a></li><li><a href="#s4">중립성과 IP: 운영 구조 비교</a></li><li><a href="#s5">AIO2O가 신청·등록·갖춰야 하는 것</a></li><li><a href="#s6">기술 스택과 기능: 완료 / 부분 / 신규</a></li><li><a href="#s7">아키텍처와 데이터 흐름</a></li><li><a href="#s8">로드맵</a></li><li><a href="#s9">KPI와 측정</a></li><li><a href="#s10">리스크와 미결</a></li><li><a href="#s11">부록: 근거 자료</a></li>
|
||||
</ol>
|
||||
</div></section>
|
||||
|
||||
<!-- 1. 배경 -->
|
||||
<section id="s1" class="near"><div class="wrap">
|
||||
<div class="eyebrow">01 · Why Now</div><h2 class="serif">Why Now</h2>
|
||||
<p class="sub">병원 홈페이지와 네이버 자산은 글로벌 AI 답변에 닿지 않는다. 그 공백을 원문 매체로 채우는 것이 INFINITH의 처방이고, 외국인 환자 시장은 인용할 원문이 가장 부족한 곳이다.</p>
|
||||
<div class="grid g3" style="margin-top:22px">
|
||||
<div class="card"><span class="badge b-crit">진단 근거</span><h3 style="margin-top:10px">병원은 읽히지만 인용되지 않는다</h3><p>뷰성형외과 AEO 42 / GEO 56, 원진성형외과 AEO 15 / GEO 45. 크롤러 접근은 열려 있으나 정의문·FAQ·표·의료진 스키마가 없다. 원진 영문 사이트는 hreflang조차 없다.</p></div>
|
||||
<div class="card"><span class="badge b-warn">시장 신호</span><h3 style="margin-top:10px">병원이 먼저 포털을 원한다</h3><p>2026-09-08 CEO 미팅에서 뷰성형외과 원장이 성형외과·피부과를 모은 글로벌 의료관광 포털을 제안했다. 반응은 좋았으나 "비슷한 제안이 많다"는 말도 들었다. 차별점은 실측 진단과 인용되는 원문, 그리고 자동 온보딩이다.</p></div>
|
||||
<div class="card"><span class="badge b-good">준비된 것</span><h3 style="margin-top:10px">공급 쪽은 이미 자동이다</h3><p>이름 하나로 채널 확인, 근거 수집, 팩트 시트, 의료진, 영상, 이미지(의료법 필터), 글 6편, 발행 게이트, 미리보기까지 30분에 $0.6. 두 병원에서 사람 개입 없이 완주했다.</p></div>
|
||||
</div>
|
||||
<div class="card cta" style="margin-top:18px"><h3>우리가 채울 공백</h3><p style="color:var(--navy)">외국인이 ChatGPT·Perplexity·Gemini에 "best rhinoplasty clinic in Seoul for foreigners"라고 물었을 때 인용할 다국어 원문(시술 조건 표·회복 일정·의료진·안전 체계·비용 항목)이 오픈웹에 사실상 없다. 기존 앱(강남언니 글로벌·바비톡·크리에이트립)은 정보를 앱 안에 가두고, 병원 영문 사이트는 슬로건과 이미지다. 네이버 자산은 robots.txt로 AI 크롤러를 막아 기여도 0이다(2026-08-26 실측).</p></div>
|
||||
</div></section>
|
||||
|
||||
<!-- 2. 제품 정의 -->
|
||||
<section id="s2" class="dark"><div class="wrap">
|
||||
<div class="eyebrow">02 · Product Definition</div><h2 class="serif">What We Build</h2>
|
||||
<p class="sub">세 층으로 나눈다. 첫 층은 우리가 만들고, 둘째 층은 자격을 갖춰 만들며, 셋째 층은 만들지 않고 연결한다.</p>
|
||||
<div class="grid g3" style="margin-top:22px">
|
||||
<div class="card"><span class="badge b-good">1층 · 만든다</span><h3 style="margin-top:10px">정보·발견</h3><p>병원별 다국어 원문 페이지(시술 조건 표·회복 일정·의료진·안전·비용 항목·FAQ), 병원 공통 허브(시술별 비교 없는 목록·질문별 답), AI 답변엔진·검색 인용 구조(MedicalClinic·Physician·Article·FAQPage·hreflang). 지금 파이프라인 그대로.</p></div>
|
||||
<div class="card"><span class="badge b-warn">2층 · 자격 후 만든다</span><h3 style="margin-top:10px">상담·예약</h3><p>병원 선택 → 상담 신청 → 통역 포함 예약 확정 → 결제·정산. 대가를 받는 순간 외국인환자 유치업자 등록이 필요하다. 1단계에서는 상담 신청을 병원에 직접 넘기고 수수료를 받지 않는다.</p></div>
|
||||
<div class="card"><span class="badge b-info">3층 · 연결한다</span><h3 style="margin-top:10px">회복기 여정</h3><p>숙박·식사·관광·축제·미용·배달은 제휴 링크와 파트너 API로 연결한다. 직접 판매하면 여행업·통신판매업 등록이 따라온다. 배달은 국내 앱이 외부 API를 열지 않아 정보 안내 수준.</p></div>
|
||||
</div>
|
||||
<div class="grid g2" style="margin-top:18px">
|
||||
<div class="card"><h3>제품이 아닌 것</h3><ul><li>병원 홈페이지를 대체하는 사이트. 홈페이지는 그대로 두고 sameAs로 같은 엔티티에 묶는다.</li><li>후기·전후 사진·병원 비교·가격 할인으로 설득하는 앱. 의료법 56조 2항이 막는 것은 처음부터 없다.</li><li>슈퍼앱. 예약·숙박·배달 시스템을 처음부터 짓지 않는다.</li><li>특정 병원의 사이트. 뷰성형외과는 앵커 파트너이지 소유자가 아니다.</li></ul></div>
|
||||
<div class="card"><h3>성공의 정의 (1단계)</h3><ul><li>병원 4곳 이상이 다국어 원문으로 발행되고 각 병원 개설자 승인이 데이터로 켜진다.</li><li>외국인 질문 뱅크(영·일·중 각 60문항) 실측에서 허브 인용률이 0에서 유의미하게 오른다. 소유 신호(서버 로그 AI 크롤러 히트, GA4 AI 유입)로 잰다.</li><li>상담 신청이 병원으로 전달되고 병원이 응답한 건수를 센다.</li></ul></div>
|
||||
</div>
|
||||
</div></section>
|
||||
|
||||
<!-- 3. 사용자 -->
|
||||
<section id="s3" class="light"><div class="wrap">
|
||||
<div class="eyebrow">03 · Users & Journeys</div><h2 class="serif">Who It Serves</h2>
|
||||
<div class="grid g4" style="margin-top:22px">
|
||||
<div class="card"><h3>외국인 환자</h3><p>일본·중국어권·동남아·영어권. AI와 검색에 질문 → 허브 원문 → 병원 페이지 → 상담 신청 → 방문·회복. 원하는 것은 조건(시간·마취·회복·비용 항목)과 안전, 그리고 의사소통.</p></div>
|
||||
<div class="card"><h3>병원 담당자</h3><p>온보딩 폼(v2 §6 9항목), 글별 검토자·검토일 입력, 상담 신청 응답. 기술 지식 없음. 지금 만든 `/supporters/:id` 패널이 시작점.</p></div>
|
||||
<div class="card"><h3>원장·개설자</h3><p>의학 검토, 게시 승인. 의료광고 주체. 승인 기록(승인자·직함·일시·글 버전)이 법적 근거가 된다.</p></div>
|
||||
<div class="card"><h3>AIO2O 운영자</h3><p>큐·워커 운영, 게이트 실패 처리, 이미지 육안 확인, "확인 필요" 채널 판정, 정정 접수. 비개발자가 운영할 수 있어야 한다.</p></div>
|
||||
</div>
|
||||
<div class="card" style="margin-top:18px"><h3>핵심 여정 (외국인 환자)</h3>
|
||||
<div class="flow" style="margin-top:10px">
|
||||
<div class="st">AI·검색에 질문. 허브의 질문형 글이 인용된다</div><div class="st">시술 조건 표·회복 일정·비용 항목을 언어별로 읽는다</div><div class="st">병원 페이지에서 의료진·안전 체계·확인일을 본다</div><div class="st">상담 신청(언어·희망 시술·일정). 1단계는 병원 직결</div><div class="st">예약 확정·통역·결제 (2단계, 유치업 등록 후)</div><div class="st">회복기 숙박·식사·관광 제휴 링크와 주의사항 안내 (3단계)</div>
|
||||
</div>
|
||||
</div>
|
||||
</div></section>
|
||||
|
||||
<!-- 4. 중립성과 IP -->
|
||||
<section id="s4" class="near"><div class="wrap">
|
||||
<div class="eyebrow">04 · Neutrality & IP</div><h2 class="serif">Ownership Structure</h2>
|
||||
<p class="sub">포털의 생명은 중립성이다. 한 병원의 계열 플랫폼에는 두 번째 병원이 들어오지 않는다. 파이프라인 IP는 AIO2O 사업 자체이므로 어떤 구조에서도 밖에 두지 않는다.</p>
|
||||
<div style="overflow-x:auto;margin-top:22px"><table>
|
||||
<thead><tr><th style="width:150px">기준</th><th>뷰성형외과 자회사</th><th>뷰 · AIO2O 합작법인</th><th>AIO2O 단독 + 뷰 앵커 파트너 (추천)</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><b>다른 병원 참여</b></td><td><span class="dot" style="background:var(--crit-dot)"></span>어렵다. 경쟁 병원 계열사에 의료진·비용 항목을 올릴 이유가 없다</td><td><span class="dot" style="background:var(--warn-dot)"></span>뷰 지분이 보이면 같은 경계. 지분이 작고 공개돼 있으면 완화</td><td><span class="dot" style="background:var(--good-dot)"></span>문제없다</td></tr>
|
||||
<tr><td><b>의료광고·고지</b></td><td>자회사 매체가 모병원을 노출하면 경제적 이해관계 고지가 페이지마다 붙고 추천·보증 심사지침 대상</td><td>같다. 뷰 관련 페이지에 지분 관계 고지</td><td>병원별 지원 관계 고지만</td></tr>
|
||||
<tr><td><b>유치업 등록</b></td><td>의료기관도 유치 등록은 가능하나 타 병원 환자 중개는 별도 법인이 깔끔</td><td>합작법인이 유치업자로 등록하면 자연스럽다</td><td>AIO2O 법인이 등록 (2단계 전)</td></tr>
|
||||
<tr><td><b>자본·앵커</b></td><td>병원이 자본을 댄다</td><td>자본·첫 병원·의료 자문을 같이 얻는다</td><td>자본은 AIO2O 몫. 앵커는 계약으로</td></tr>
|
||||
<tr><td><b>IP·속도</b></td><td>파이프라인이 병원 소유가 된다</td><td>IP를 JV에 넣으면 사업이 JV에 묶인다. 의사결정 둘</td><td>IP·속도 모두 AIO2O</td></tr>
|
||||
<tr><td><b>브랜드 리스크</b></td><td>뷰의 2026-07 공정위 시정명령(후기 뒷광고) 이력이 그대로 붙는다</td><td>같은 이력이 JV 브랜드에 묻는다</td><td>파트너 병원 중 하나의 이력</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
<div class="grid g2" style="margin-top:18px">
|
||||
<div class="card grad"><h3>추천 구조</h3><ul style="color:#E9E5FF"><li>플랫폼·파이프라인·게이트·데이터 모델 IP는 AIO2O 100%. 라이선스도 넘기지 않는다.</li><li>뷰성형외과는 앵커 파트너 계약: 첫 병원 무상 온보딩, 다국어 첫 발행, 병원 2~4곳 소개, 의료 자문. 대가는 소액 지분(10% 미만, 공개) 또는 소개 수수료.</li><li>예약 수수료를 받는 2단계에서 유치업 전용 법인이 필요하면 그 법인만 합작 검토. 자본금·배상보험을 나눠 지고 플랫폼 IP는 밖에 둔다.</li></ul></div>
|
||||
<div class="card"><h3>합작을 하게 된다면 계약 필수 조항</h3><ul><li>IP 귀속: 파이프라인·게이트·데이터 모델은 AIO2O 소유, JV는 사용권.</li><li>뷰 지분 상한과 중립성 조항: 노출 순서·비교 금지, 타 병원 정보 접근 제한.</li><li>의료광고 책임 분리: 각 병원 개설자가 광고 주체, JV는 매체·대행. 사전심의·유치 광고 규정 준수는 병원 책임.</li><li>공정위 이력에 대한 표명·보증. JV 이름에 병원명을 넣지 않는다.</li><li>데이터: 병원 자산 사용 허락 범위, 환자 데이터 처리 주체.</li></ul></div>
|
||||
</div>
|
||||
<div class="card" style="margin-top:18px;border-color:var(--info-bd)">
|
||||
<span class="badge b-info"><span class="dot" style="background:var(--info-dot)"></span>v0.2 추가 · 2026-09-09</span>
|
||||
<h3 style="margin-top:10px">앵커의 병원 소개 역량이 큰 경우</h3>
|
||||
<p><b>전달 사항(미확인).</b> 2026-09-09 haewon 전달. 뷰성형외과 원장이 다른 병원 네트워크·파트너십이 많아 병원을 유치할 수 있다고 밝혔다. 병원 명단·수·과목·지역·현재 관계 단계는 확인되지 않았다. 이 문서는 이를 사실이 아니라 확인 대상으로 둔다.</p>
|
||||
<p><b>구조 판단은 바뀌지 않는다.</b> 소개는 계약으로 확보할 수 있다. IP 귀속과 중립성 요건은 소개 규모와 무관하다. 위 비교표의 "다른 병원 참여" 행은 자회사·합작법인 구조에 대한 판단이며, 추천 구조는 이미 앵커가 병원을 소개하는 것을 전제로 한다(§07 입력 경로, §08 1단계). 소개 역량이 크다면 바뀌는 것은 구조가 아니라 <b>소개 목표 수치와 그 대가</b>다.</p>
|
||||
<div class="grid g2" style="margin-top:14px">
|
||||
<div>
|
||||
<h3>앵커 계약에 넣을 조항 (신규)</h3>
|
||||
<ul>
|
||||
<li>소개 목표를 수치로: 1단계 소개 N곳, 계약 체결 M곳. 미달·초과 시 대가 조정.</li>
|
||||
<li>대가는 성과 연동: 계약 체결 병원 수에 따른 지분 베스팅(상한 10% 미만·공개 유지) 또는 병원당 소개 수수료.</li>
|
||||
<li>소개받은 병원은 AIO2O와 직접 계약한다. 앵커를 거치는 계약 구조를 두지 않는다.</li>
|
||||
<li>노출 우대 없음: 소개 병원에도 노출 순서 규칙과 비교·순위 금지를 동일 적용한다.</li>
|
||||
<li>앵커 이탈 시 병원 계약 존속: 앵커 관계 종료가 병원 계약의 해지 사유가 아님을 명시한다.</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h3>다음 미팅 확인 질문</h3>
|
||||
<ul>
|
||||
<li>병원 수·이름·과목·지역, 그리고 현재 관계 단계(지인·구두·계약).</li>
|
||||
<li>관계의 성격: 공동 마케팅인지, 환자 리퍼럴인지, 학회·공동구매인지. 성격에 따라 §05 확인 항목이 달라진다.</li>
|
||||
<li>각 병원이 AIO2O와 직접 계약하는 데 동의하는지.</li>
|
||||
<li>대가로 원하는 것: 지분·수수료·노출 우대 중 무엇인지. 노출 우대를 원하면 중립성 원칙과 충돌하므로 재협의가 필요하다.</li>
|
||||
</ul>
|
||||
<p class="muted" style="margin-top:8px">답변 전까지 §08 1단계의 소개 병원 수는 최소선 2~4곳을 유지한다.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div></section>
|
||||
|
||||
<!-- 5. 신청·등록 -->
|
||||
<section id="s5" class="dark pb"><div class="wrap">
|
||||
<div class="eyebrow">05 · Registrations & Compliance</div><h2 class="serif">What AIO2O Must Obtain</h2>
|
||||
<p class="sub">단계별로 필요한 등록·신고·계약·계정을 전부 적었다. "확인"은 요건 수치나 적용 여부를 담당 기관 또는 변호사에게 확인해야 하는 항목이다.</p>
|
||||
<div style="overflow-x:auto;margin-top:22px"><table>
|
||||
<thead><tr><th style="width:56px">단계</th><th style="width:230px">항목</th><th>근거·요건</th><th style="width:170px">담당·비고</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><span class="badge b-good">1</span></td><td><b>사업자 업종 추가</b></td><td>정보서비스업(포털·데이터), 광고대행업, 소프트웨어 개발. 의료관광 유치업은 등록 후 추가.</td><td>세무 대리인</td></tr>
|
||||
<tr><td><span class="badge b-good">1</span></td><td><b>병원 간 상호 소개 구조 확인</b></td><td>의료법 27조 3항(영리 목적 환자 소개·알선·유인 금지). 앵커·파트너 병원이 서로 환자를 소개하는 기존 관계를 허브에 그대로 옮길 때 적용 여부. 앵커에게 지급하는 병원 소개 대가가 이 조항 또는 유치업 등록 전 수수료 제한에 걸리는지 함께 본다. 관계의 성격(공동 마케팅·리퍼럴·학회)에 따라 판단이 갈린다.</td><td>확인: 변호사. 앵커 소개 명단 확보 후</td></tr>
|
||||
<tr><td><span class="badge b-good">1</span></td><td><b>병원 파트너 계약 (병원마다)</b></td><td>홈페이지·영상·이미지 자산 사용 허락 범위, 의료광고 주체는 개설자·AIO2O는 제작·운영 대행, 글별 의학 검토·게시 승인 의무와 주기, 지원 관계 고지 문구, 정정 절차, 환자 데이터 처리 역할. 뷰성형외과와의 앵커 조항(소개·자문·지분 또는 수수료)은 별도 부속.</td><td>변호사 검토. 표준 계약서 1종</td></tr>
|
||||
<tr><td><span class="badge b-good">1</span></td><td><b>의료광고 규정 준수 체계</b></td><td>의료법 56조 2항(치료경험담 2호, 비교 4호, 수술 장면 6호, 부작용 누락 7호, 과장 8호, 기사·전문가 형태 10호, 인증·보증 14호)을 발행 게이트와 이미지 규칙으로 차단. 경제적 이해관계 표시는 추천·보증 심사지침대로 글 첫 부분. 외국어 페이지도 동일 적용.</td><td>완료(코드). 외국어 게이트 어휘 추가 필요</td></tr>
|
||||
<tr><td><span class="badge b-warn">1→2</span></td><td><b>의료광고 사전심의 (매체 기준)</b></td><td>의료법 57조. 자체 도메인 신규 매체는 전년도 일평균 이용자 10만 미만이라 의무 아님. 10만을 넘기면 대한의사협회 의료광고심의위원회 심의 대상. 네이버 블로그 재작성본은 게시물별 심의 대상이며 신청은 병원 명의.</td><td>이용자 수 모니터링. 확인: 외국어 매체 적용 여부</td></tr>
|
||||
<tr><td><span class="badge b-warn">1→2</span></td><td><b>외국인환자 유치 광고 규정</b></td><td>의료해외진출 및 외국인환자 유치 지원법. 유치업자·의료기관의 외국인환자 유치 광고는 국내 지정 장소(공항·항만·면세구역 등) 외 제한, 진료 비용 할인·과장 금지. 온라인 다국어 매체가 이 규정에서 어떻게 취급되는지 확인.</td><td>확인: 보건복지부·KHIDI</td></tr>
|
||||
<tr><td><span class="badge b-warn">2</span></td><td><b>외국인환자 유치업자 등록</b></td><td>같은 법 6조. 상담·예약을 중개하고 대가를 받으면 필수. 요건(확인): 법인, 자본금 1억 원 이상, 의료사고 배상책임보험 또는 공제(보장 한도 기준 있음), 사무실. 시·도에 등록, 3년마다 갱신, 유치 실적 연 1회 보고. 미등록 유치·수수료는 형사 처벌 대상.</td><td>AIO2O 법인. 2단계 착수 전 3개월</td></tr>
|
||||
<tr><td><span class="badge b-warn">2</span></td><td><b>통신판매업 신고 · 결제(PG)</b></td><td>예약금·상담비를 온라인으로 받으면 통신판매업 신고(구청). 해외 카드 결제 PG(Stripe·토스 해외결제) 계약, 외화 정산 계좌. 환불·취소 약관.</td><td>2단계</td></tr>
|
||||
<tr><td><span class="badge b-warn">2</span></td><td><b>개인정보·민감정보 처리</b></td><td>개인정보처리방침(한·영·일·중), 건강 정보는 민감정보라 별도 동의, 외국인 데이터의 국외 이전 동의(해외 결제·번역 API 사용 시), 병원과의 처리 위탁·제공 계약. GDPR·일본 개인정보보호법 적용 여부 확인(대상 국가별). 상담 신청 폼은 최소 수집.</td><td>변호사·개인정보 담당자 지정</td></tr>
|
||||
<tr><td><span class="badge b-info">3</span></td><td><b>여행업 등록 (직접 판매 시)</b></td><td>숙박·관광 상품을 직접 판매·알선하면 관광진흥법 여행업 등록. 제휴 링크(아고다·클룩·야놀자 어필리에이트)만 쓰면 불필요. 배달은 제휴 API 부재.</td><td>3단계에서 결정</td></tr>
|
||||
<tr><td><span class="badge b-info">1</span></td><td><b>상표·도메인</b></td><td>허브 브랜드 상표 출원(한국·주요 대상국), 국제 도메인, 언어별 서브패스(/en /ja /zh) 또는 서브도메인 결정(hreflang 설계에 영향).</td><td>브랜드 확정 후</td></tr>
|
||||
<tr><td><span class="badge b-info">1</span></td><td><b>API·플랫폼 계정</b></td><td>Google Cloud 프로젝트 쿼터(신청 중) → Places API(GBP 평점·리뷰 수·NAP 실측), YouTube Data API 쿼터 증량(기본 1만 유닛/일, 병원 10곳 이상 시 신청), OpenAI 조직 한도, Firecrawl·네이버 검색 API, 번역(DeepL 또는 GPT), Vercel Pro(팀·도메인), Supabase Pro, Trigger.dev(워커), Apify 미납 해소(인스타 수집).</td><td>AIO2O 계정 소유자 통일</td></tr>
|
||||
<tr><td><span class="badge b-info">1</span></td><td><b>보험·회계</b></td><td>매체 배상책임(명예훼손·저작권) 보험 검토, 병원 구독·수수료 세금계산서 체계, 외화 수익 회계.</td><td>확인</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div></section>
|
||||
|
||||
<!-- 6. 기술 스택과 기능 -->
|
||||
<section id="s6" class="light pb"><div class="wrap">
|
||||
<div class="eyebrow">06 · Stack & Capabilities</div><h2 class="serif">Done, Partial, New</h2>
|
||||
<p class="sub">완료는 두 병원에서 검증된 것, 부분은 있으나 포털 규모로 바꿔야 하는 것, 신규는 없는 것. 근거 열은 저장소 파일이다.</p>
|
||||
<div class="grid g3" style="margin-top:22px">
|
||||
<div class="card"><h3>현재 스택</h3><p><span class="pill">React 19</span><span class="pill">Vite 6</span><span class="pill">Tailwind 4</span><span class="pill">React Router 7</span><span class="pill">Astro 7 (서포터즈)</span><span class="pill">Supabase (DB·Edge Functions)</span><span class="pill">Vercel</span><span class="pill">Node 22 워커</span><span class="pill">Python (채점기·이미지)</span><span class="pill">GPT-4.1</span><span class="pill">YouTube Data API</span><span class="pill">Firecrawl</span><span class="pill">네이버 검색 API</span></p></div>
|
||||
<div class="card"><h3>추가 스택 (1~2단계)</h3><p><span class="pill">번역: GPT-4.1 근거 프로토콜 재실행 + DeepL 검수</span><span class="pill">Trigger.dev (워커 상시)</span><span class="pill">Supabase Auth (병원·운영자 역할)</span><span class="pill">Stripe / 토스 해외결제</span><span class="pill">Google Places API</span><span class="pill">Resend·SES (알림 메일)</span><span class="pill">Plausible 또는 GA4 (AI 유입 채널그룹)</span><span class="pill">Vercel 로그 드레인 (AI 크롤러 계측)</span></p></div>
|
||||
<div class="card"><h3>원칙 (변하지 않는 것)</h3><ul><li>근거 없는 사실은 생성하지 않는다. "확인 대기".</li><li>사람 게이트(검토·승인·채널 확인·이미지 육안)는 자동화하지 않는다.</li><li>고객 화면에 운영자 설명 없음. 확정 디자인은 텍스트만.</li><li>부재는 증명한다(채널 탐색 다섯 갈래).</li></ul></div>
|
||||
</div>
|
||||
<div style="overflow-x:auto;margin-top:22px"><table>
|
||||
<thead><tr><th style="width:150px">영역</th><th>기능</th><th style="width:78px">상태</th><th style="width:260px">근거 파일 · 비고</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td rowspan="3"><b>진단 (AI Discovery)</b></td><td>기준표 v1.0 36항목 · v2.0 AEO/GEO 분리 채점, 미검증 분모 제외, 치명 게이트</td><td><span class="badge b-good">완료</span></td><td class="mono">src/data/aeoGeoRubric*.ts · src/lib/discoveryScore*.ts</td></tr>
|
||||
<tr><td>자동 채점기(auto 21~22항목) · 리포트 페이지 · 독립 HTML/PDF 리포트</td><td><span class="badge b-good">완료</span></td><td class="mono">scripts/audit_aeo_geo.py · /discovery/:id · scripts/build_discovery_report.ts</td></tr>
|
||||
<tr><td>외국인 질문 뱅크(영·일·중) · 다국어 답변엔진 실측 러너 · GBP·강남언니·플레이스 자동 실측(D1·D2·D4·D5)</td><td><span class="badge b-crit">신규</span></td><td>국문 120문항 러너 `scripts/run_question_bank_openai.py` 확장. Places API 키 필요</td></tr>
|
||||
<tr><td rowspan="4"><b>온보딩 파이프라인</b></td><td>채널 발견·엔티티 검증(5갈래, 근거 점수 3-state) · 근거 수집(223p) · 팩트 시트·의료진 초안</td><td><span class="badge b-good">완료</span></td><td class="mono">supporters/scripts/discover_channels.mjs · collect_evidence.mjs</td></tr>
|
||||
<tr><td>유튜브 집계(정보형 필터·쇼츠 판별) · 로고·파비콘 · 이미지(의료법 규칙·글자 이미지 검사)</td><td><span class="badge b-good">완료</span></td><td class="mono">collect_youtube.mjs · collect_images.mjs · img_process.py · docs/INFINITH_Supporters_Image_Rules.md</td></tr>
|
||||
<tr><td>첫 배치 기획(2층 구조) · GPT-4.1 글 생성 · 수치 대조 · 모델 근거 대조 · 수정 2회</td><td><span class="badge b-good">완료</span></td><td class="mono">default_briefs.mjs · generate_posts.mjs · gen/*</td></tr>
|
||||
<tr><td>뉴스룸 단계 · 감사 재실행(색인 허용 빌드 비교) · 유튜브 자막(IP 차단 대비 큐·프록시)</td><td><span class="badge b-warn">부분</span></td><td>뷰 수작업 스크립트 있음(`build_news.py`·`build_supporters_audit_xlsx.py`). 워커 단계로 미연결. 자막은 미구현</td></tr>
|
||||
<tr><td rowspan="2"><b>발행 게이트</b></td><td>error 11종 + warn 6종 + 비교 수치 · 승인 · 고지 위치 · 기자 화법 · 구조 지문, 픽스처 테스트 16/16</td><td><span class="badge b-good">완료</span></td><td class="mono">supporters/scripts/gate/rules.mjs · check.mjs</td></tr>
|
||||
<tr><td>외국어 금칙어·결론 단정·비교 표현 사전(영·일·중), 외국어 홈페이지 40자 중복 기준</td><td><span class="badge b-crit">신규</span></td><td>언어별 규칙 모듈. 원문 병원 페이지가 국문이면 번역 중복 검사 방식 결정 필요</td></tr>
|
||||
<tr><td rowspan="3"><b>서포터즈 사이트 (병원 페이지)</b></td><td>Astro 템플릿(INFINITH 토큰) · 팩트 시트 단일 원본 · 신뢰 층(작성자·검토·승인·근거 유형·갱신·정정) · MedicalClinic·Physician·Article·FAQPage · noindex→색인 전환</td><td><span class="badge b-good">완료</span></td><td class="mono">templates/supporters-astro · supporters/src/lib.ts</td></tr>
|
||||
<tr><td>다국어(hreflang·언어별 라우팅·언어별 팩트 시트 표기·통화·날짜) · 언어별 상담 신청 폼</td><td><span class="badge b-crit">신규</span></td><td>같은 팩트 시트에서 언어별 렌더. 수치·시점은 언어 간 동일해야 함</td></tr>
|
||||
<tr><td>병원 N개를 한 도메인에서: 병원 서브패스 또는 서브도메인, 공통 홈·시술별 허브·질문별 답 페이지·병원 목록(비교·순위 없음)</td><td><span class="badge b-crit">신규</span></td><td>현재는 병원당 Vercel 프로젝트. 허브 도메인 설계와 canonical·sitemap 분리 필요</td></tr>
|
||||
<tr><td rowspan="3"><b>승인·운영 UI</b></td><td>병원 확인 항목 폼(9항목) · 글별 검토·승인 기록 · 발견 채널 확인 · 미리보기 · 입력 반영 재빌드</td><td><span class="badge b-good">완료</span></td><td class="mono">src/components/discovery/ClinicInputsPanel.tsx · apply_inputs.mjs</td></tr>
|
||||
<tr><td>계정·역할(병원 담당자·원장·운영자) · 로그인 · 병원별 권한 · 승인 서명 기록(승인자·직함·일시·글 버전 해시)</td><td><span class="badge b-crit">신규</span></td><td>지금은 익명 입력. Supabase Auth + RLS 병원 스코프</td></tr>
|
||||
<tr><td>운영자 콘솔: 게이트 실패 목록, 이미지 육안 확인 체크, 확인 필요 채널 판정, 정정 접수, 비용·쿼터 대시보드</td><td><span class="badge b-warn">부분</span></td><td>status.json·report.md로 존재. 화면 없음</td></tr>
|
||||
<tr><td rowspan="2"><b>워커·인프라</b></td><td>워커 11단계 · 큐(supporter_builds) · 폴러 · 랜딩 URL 신청 → 큐 · Vercel 미리보기 배포</td><td><span class="badge b-good">완료</span></td><td class="mono">workers/supporters-build/run.mjs · poll.mjs</td></tr>
|
||||
<tr><td>상시 실행(Trigger.dev) · 입력 변경 시 자동 재빌드 트리거 · 실패 알림 · 병원 10곳 이상 동시 큐</td><td><span class="badge b-warn">부분</span></td><td>launchd plist 준비, 미설치. Trigger.dev 이관은 가입·키만 필요</td></tr>
|
||||
<tr><td rowspan="2"><b>상담·예약 (2단계)</b></td><td>상담 신청 폼(언어·시술·일정·연락처) → 병원 이메일·카카오 알림 · 응답 추적</td><td><span class="badge b-crit">신규</span></td><td>1단계는 병원 직결(수수료 없음)</td></tr>
|
||||
<tr><td>예약 확정·통역 배정·예약금 결제·취소 환불·정산 · 유치 실적 보고 데이터</td><td><span class="badge b-crit">신규</span></td><td>유치업 등록 후. Stripe·토스, 정산 테이블, 실적 보고 양식</td></tr>
|
||||
<tr><td><b>여정 연결 (3단계)</b></td><td>회복 일정 기반 숙박·식사·관광 추천 · 제휴 링크 트래킹 · 축제·행사 데이터 연동(한국관광공사 API)</td><td><span class="badge b-crit">신규</span></td><td>제휴 API·어필리에이트 계정. 직접 판매 없음</td></tr>
|
||||
<tr><td rowspan="2"><b>측정</b></td><td>서버 로그 AI 크롤러 히트 · GA4 AI 유입 채널그룹 · GSC AI Overviews · 기준선 스팟체크(질의 × 반복)</td><td><span class="badge b-crit">신규</span></td><td>E 카테고리 0/4. Vercel 로그 드레인 → Supabase, GA4 채널그룹 정의. 답변엔진 UI 자동 조회는 약관 위반이라 소유 신호만</td></tr>
|
||||
<tr><td>병원별 성과 리포트(인용·유입·상담 신청) 자동 생성</td><td><span class="badge b-warn">부분</span></td><td>리포트 빌더 있음. 측정 데이터가 없어 카드가 비어 있음</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div></section>
|
||||
|
||||
<!-- 7. 아키텍처 -->
|
||||
<section id="s7" class="dark"><div class="wrap">
|
||||
<div class="eyebrow">07 · Architecture</div><h2 class="serif">Data Flow</h2>
|
||||
<p class="sub">공급(병원)은 자동 온보딩 파이프라인, 수요(환자)는 AI·검색 인용, 그 사이를 승인 데이터가 잇는다.</p>
|
||||
<div class="flow" style="margin-top:22px">
|
||||
<div class="st"><b>입력</b><br>병원 이름 또는 URL (랜딩 신청·운영자·앵커 소개) → 큐</div>
|
||||
<div class="st"><b>발견·수집</b><br>채널 엔티티 검증, 근거 223p, 유튜브, 이미지(법 필터), 팩트 시트</div>
|
||||
<div class="st"><b>생성·게이트</b><br>기획 → GPT-4.1 → 수치·근거 대조 → 발행 게이트 → 국문 원문</div>
|
||||
<div class="st"><b>다국어</b><br>같은 팩트 시트·근거로 언어별 재생성(번역 아님) → 언어별 게이트 → hreflang</div>
|
||||
<div class="st"><b>승인</b><br>병원 폼 입력 → 검토·승인 기록 → 색인 허용 빌드에 승인 글만</div>
|
||||
<div class="st"><b>허브 배포·측정</b><br>허브 도메인(병원별 경로) → AI·검색 인용 → 로그·GA4·상담 신청 계측</div>
|
||||
</div>
|
||||
<div class="grid g2" style="margin-top:18px">
|
||||
<div class="card"><h3>데이터 모델 (핵심 테이블)</h3><ul><li><b>clinics</b>: id, 이름(다국어), url, 팩트 시트(JSON, checkedAt/nextCheck), surfaces(확인된 채널), 파트너 계약 상태.</li><li><b>supporter_builds</b>(있음): 빌드 실행·단계·미리보기 URL·리포트.</li><li><b>supporter_inputs</b>(있음): 병원 입력, 글별 검토·승인.</li><li><b>posts</b>: 언어별 글, 근거 유형, 검토·승인, 갱신 기록. 지금은 md frontmatter, 허브 규모에서는 DB로.</li><li><b>inquiries</b>(신규): 상담 신청, 언어, 병원 전달·응답 시각.</li><li><b>bookings·payments</b>(2단계), <b>affiliate_clicks</b>(3단계), <b>ai_crawler_hits·ai_referrals</b>(측정).</li></ul></div>
|
||||
<div class="card"><h3>다국어 설계 원칙</h3><ul><li>번역이 아니라 근거 프로토콜을 언어별로 다시 태운다. 수치·시점·의료진은 팩트 시트 한 곳에서 나온다.</li><li>언어별 게이트: 금칙어·결론 단정·비교 표현 사전을 언어마다 둔다. 부작용 고지·지원 관계 고지는 언어별 문안 고정.</li><li>hreflang 상호 연결, canonical 언어별, sitemap 언어별. 병원 홈페이지 영문 사이트가 있으면 sameAs로 연결.</li><li>통화·단위: 비용 항목만 쓰고 금액은 쓰지 않으므로 환율 문제는 2단계 결제에서만.</li></ul></div>
|
||||
</div>
|
||||
</div></section>
|
||||
|
||||
<!-- 8. 로드맵 -->
|
||||
<section id="s8" class="near"><div class="wrap">
|
||||
<div class="eyebrow">08 · Roadmap</div><h2 class="serif">Three Phases</h2>
|
||||
<div class="grid g3" style="margin-top:22px">
|
||||
<div class="card"><span class="badge b-good">1단계 · 8~12주</span><h3 style="margin-top:10px">글로벌 허브 MVP</h3><ul><li>허브 브랜드·도메인·언어 라우팅 결정</li><li>다국어 생성(영·일·중) + 언어별 게이트</li><li>다병원 허브(공통 홈·시술 허브·병원 페이지·상담 신청 병원 직결)</li><li>뷰성형외과 + 앵커 소개 병원 온보딩(자동). 최소 2~4곳, 앵커 소개 명단 확인 후 재산정</li><li>외국인 질문 뱅크 실측(기준선)</li><li>측정 인프라: 로그 드레인·GA4 채널그룹</li><li>계정·역할·운영자 콘솔 최소판</li></ul><p class="muted">게이트: 병원 4곳 개설자 승인, 인용 기준선 확보</p></div>
|
||||
<div class="card"><span class="badge b-warn">2단계 · 3~6개월</span><h3 style="margin-top:10px">예약·수익화</h3><ul><li>유치업자 등록(법인·자본금·배상보험) 완료</li><li>예약 확정·통역·예약금 결제·환불·정산</li><li>병원 구독(온보딩·원문 공급·리포트) 요금제</li><li>뉴스룸·감사 재실행·자막 단계 워커 연결</li><li>Trigger.dev 상시 워커, 입력 변경 자동 재빌드</li><li>개인정보 국외 이전·민감정보 동의 체계</li></ul><p class="muted">게이트: 유치업 등록증, PG 계약, 상담→예약 전환 데이터</p></div>
|
||||
<div class="card"><span class="badge b-info">3단계 · 이후</span><h3 style="margin-top:10px">회복기 여정 연결</h3><ul><li>회복 일정 기반 숙박·식사·관광 추천(제휴)</li><li>축제·행사 데이터(관광공사 API)</li><li>미용 서비스 제휴, 배달은 안내</li><li>병원 10곳 이상, 피부과 확장</li><li>여행업 등록 여부 결정</li></ul><p class="muted">게이트: 제휴 계약, 3단계 수익 검증</p></div>
|
||||
</div>
|
||||
<div class="card cta" style="margin-top:18px"><h3>1단계 착수 전 CEO 결정 3가지</h3><p style="color:var(--navy)">(1) 뷰성형외과 앵커 계약 조건(무상 온보딩·소개·자문 대가로 소액 지분 또는 수수료). 소개 목표 수치, 성과 연동 여부, 소개 병원의 AIO2O 직접 계약 원칙, 노출 우대 배제를 함께 정한다(§04). (2) 유치업 등록을 AIO2O 법인으로 할지, 등록된 유치업자와 제휴할지. (3) 수익 순서: 병원 구독이 먼저인지 예약 수수료가 먼저인지. 이 셋이 정해지면 나머지는 지금 파이프라인 위에 붙는 개발이다.</p></div>
|
||||
</div></section>
|
||||
|
||||
<!-- 9. KPI -->
|
||||
<section id="s9" class="light"><div class="wrap">
|
||||
<div class="eyebrow">09 · Metrics</div><h2 class="serif">How We Measure</h2>
|
||||
<p class="sub">답변엔진 UI 자동 조회는 약관 위반이라 주력 지표는 소유 신호다. 효과는 반복 측정과 신뢰구간으로만 보고한다.</p>
|
||||
<div style="overflow-x:auto;margin-top:22px"><table>
|
||||
<thead><tr><th style="width:170px">축</th><th>지표</th><th style="width:220px">소스</th><th style="width:150px">1단계 목표</th></tr></thead>
|
||||
<tbody>
|
||||
<tr><td><b>공급</b></td><td>온보딩 병원 수, 언어별 발행 글 수, 개설자 승인 글 비율, 게이트 오류율, 편당 생성 비용</td><td>supporter_builds·inputs, 생성기 리포트</td><td>병원 4곳 · 승인 60% 이상</td></tr>
|
||||
<tr><td><b>인용(AEO/GEO)</b></td><td>외국인 질문 뱅크 인용률(언어별, 5회 반복), 병원 AEO/GEO 점수 변화, AI 크롤러 히트(IP 검증)</td><td>QB 러너, 채점기, 서버 로그</td><td>기준선 확보, 크롤러 히트 발생</td></tr>
|
||||
<tr><td><b>유입</b></td><td>AI 유입 세션(GA4 채널그룹), 검색 유입, 언어별 체류</td><td>GA4·GSC</td><td>월 AI 유입 세션 측정 시작</td></tr>
|
||||
<tr><td><b>전환</b></td><td>상담 신청 수, 병원 응답률·응답 시간, (2단계) 예약 확정·결제</td><td>inquiries·bookings</td><td>상담 신청 월 10건</td></tr>
|
||||
<tr><td><b>신뢰</b></td><td>정정 접수·처리 시간, 게이트 차단 건수, 확인 대기 항목 해소율</td><td>corrections, 게이트 로그</td><td>정정 72시간 내 처리</td></tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div></section>
|
||||
|
||||
<!-- 10. 리스크 -->
|
||||
<section id="s10" class="dark"><div class="wrap">
|
||||
<div class="eyebrow">10 · Risks & Open Questions</div><h2 class="serif">What Can Break</h2>
|
||||
<div class="grid g2" style="margin-top:22px">
|
||||
<div class="card"><h3>리스크와 대응</h3><ul><li><b>규제</b>: 유치업 미등록 상태의 수수료, 외국인 유치 광고 규정, 사전심의 매체 기준. 대응: 1단계 무수수료·병원 직결, 2단계 전 등록, 이용자 수 모니터링.</li><li><b>공급 정체</b>: 병원이 검토·승인을 안 한다. 대응: 미승인이어도 "확인 대기" 미리보기 발행, 검토 담당자·주기를 계약에.</li><li><b>중립성 의심</b>: 앵커 병원 편향. 대응: 지분 공개·고지, 노출 순서 규칙 공개, 비교·순위 없음.</li><li><b>생성 품질</b>: 근거 없는 수치·오역. 대응: 언어별 수치 대조·근거 대조, 사람 확인 플래그, 정정 페이지.</li><li><b>경쟁</b>: 크리에이트립·강남언니 글로벌이 AI 인용 구조를 갖추면 선점 기회가 사라진다. 대응: 속도. 온보딩 자동화가 유일한 시간 우위.</li><li><b>운영</b>: 비개발자 운영, 워커 상시 실행 미결정. 대응: Trigger.dev, 운영자 콘솔.</li><li><b>앵커 의존</b>: 공급이 앵커 개인의 관계에 붙는다. 소개 병원이 AIO2O와 직접 계약하지 않으면 앵커가 빠질 때 공급도 같이 빠진다. 대응: 병원별 직접 계약, 앵커 관계 종료가 해지 사유가 아님을 명시, 소개 경로와 계약 주체를 분리 기록.</li><li><b>브랜드</b>: 파트너 병원의 공정위·의료사고 이력. 대응: 계약 표명·보증, 뉴스룸 부정 기사 제외 규칙 유지, 허브 이름에 병원명 배제.</li></ul></div>
|
||||
<div class="card"><h3>미결 (결정 주체)</h3><ul><li>허브 브랜드·도메인·언어 라우팅 (CEO·haewon)</li><li>뷰 앵커 계약 조건, 합작 여부 (CEO)</li><li>앵커 소개 병원 명단·수·과목·지역·관계 단계 확인 (CEO)</li><li>소개 대가 구조: 성과 연동 지분 베스팅인지 병원당 수수료인지 (CEO)</li><li>유치업 등록 주체와 시점 (CEO·법무)</li><li>수익 모델 순서와 병원 구독 가격 (경영진)</li><li>대상 언어·국가 우선순위 (일본·중국어권·영어권) (CEO)</li><li>실존 서포터즈·편집 책임자 명의 (haewon)</li><li>워커 상시 실행 위치 (haewon)</li><li>기존 미결: 뷰 도메인, POC 8주 범위, 서포터즈 모집</li></ul></div>
|
||||
</div>
|
||||
</div></section>
|
||||
|
||||
<!-- 11. 부록 -->
|
||||
<section id="s11" class="near"><div class="wrap">
|
||||
<div class="eyebrow">11 · Appendix</div><h2 class="serif">References</h2>
|
||||
<div class="grid g2" style="margin-top:22px">
|
||||
<div class="card"><h3>프로젝트 산출물</h3><ul>
|
||||
<li>진단 리포트: <span class="mono">docs/reports/viewclinic/01_readiness_report</span> · <span class="mono">docs/reports/wonjin/01_readiness_report</span> (HTML·PDF)</li>
|
||||
<li>미리보기: supporters-viewclinic.vercel.app · supporters-wonjin.vercel.app (noindex)</li>
|
||||
<li>병원 확인 항목 패널: infinith-demo.vercel.app/supporters/wonjin</li>
|
||||
<li>핸드오버: <span class="mono">docs/NEXT_SESSION_SUPPORTERS_AUTOBUILD_v3.md</span>, 규칙: v2 §3·§4·§6·§12</li>
|
||||
<li>회고: <span class="mono">docs/INFINITH_AI_Discovery_Retrospective_2026-09-08.md</span></li>
|
||||
<li>이미지 규칙: <span class="mono">docs/INFINITH_Supporters_Image_Rules.md</span></li>
|
||||
<li>워커: <span class="mono">workers/supporters-build/README.md</span></li>
|
||||
</ul></div>
|
||||
<div class="card"><h3>법령·기준 (원문 확인 필요)</h3><ul>
|
||||
<li>의료법 제56조(의료광고의 금지 등) 제2항, 제57조(의료광고의 심의), 시행령 제23조·제24조</li>
|
||||
<li>의료 해외진출 및 외국인환자 유치 지원법 제6조(유치업자 등록), 제15조(의료광고 특례·제한), 시행규칙(등록 요건·보험)</li>
|
||||
<li>표시·광고의 공정화에 관한 법률, 추천·보증 등에 관한 표시·광고 심사지침(2024-12 개정)</li>
|
||||
<li>개인정보 보호법(민감정보·국외 이전), 정보통신망법</li>
|
||||
<li>전자상거래법(통신판매업 신고), 관광진흥법(여행업)</li>
|
||||
<li>공정거래위원회 2026-07-12 성형외과 후기 뒷광고 시정명령(뷰성형외과 포함 3곳)</li>
|
||||
</ul></div>
|
||||
</div>
|
||||
</div></section>
|
||||
|
||||
<footer>INFINITH · AI오투오 · o2oteam@o2o.kr · PRD v0.1 초안 2026-09-08 · 법 해석은 자문이 아니며 계약·등록 전 변호사 확인이 필요합니다.</footer>
|
||||
</body></html>
|
||||
@ -1,412 +0,0 @@
|
||||
"""GEO/AEO 최적화 병원 웹사이트 PRD — ADO2 AEO-GEO 경쟁분석 덱 포맷(13.333×7.5in, Pretendard, 333/666, 5D61D1/ADB0FF)."""
|
||||
from pptx import Presentation
|
||||
from pptx.util import Inches, Pt, Emu
|
||||
from pptx.dml.color import RGBColor
|
||||
from pptx.enum.shapes import MSO_SHAPE
|
||||
from pptx.enum.text import PP_ALIGN, MSO_ANCHOR
|
||||
from pptx.oxml.ns import qn
|
||||
from lxml import etree
|
||||
|
||||
INK, MUTED, DIM, WHITE, BLACK = "333333", "666666", "444444", "FFFFFF", "000000"
|
||||
VIO, VIO_LT, VIO_BG, GRAY_BG, ZEBRA, LINE = "5D61D1", "ADB0FF", "F3F3FF", "F0F0F0", "F7F8FA", "CCCCCC"
|
||||
FONT = "Pretendard"
|
||||
DATE = "2026.08.28"
|
||||
FOOT = f"INFINITH AI Discovery · 분석 → 진단 → 빌드 → 측정 PRD | {DATE}"
|
||||
M, CW = 0.44, 12.46
|
||||
|
||||
prs = Presentation(); prs.slide_width = Inches(13.333); prs.slide_height = Inches(7.5)
|
||||
BLANK = prs.slide_layouts[6]
|
||||
page = 0
|
||||
|
||||
def rgb(h): return RGBColor.from_string(h)
|
||||
def rect(s, x, y, w, h, fill=None, line=None):
|
||||
sh = s.shapes.add_shape(MSO_SHAPE.RECTANGLE, Inches(x), Inches(y), Inches(w), Inches(h))
|
||||
if fill: sh.fill.solid(); sh.fill.fore_color.rgb = rgb(fill)
|
||||
else: sh.fill.background()
|
||||
if line: sh.line.color.rgb = rgb(line); sh.line.width = Pt(0.75)
|
||||
else: sh.line.fill.background()
|
||||
sh.shadow.inherit = False
|
||||
return sh
|
||||
def tb(s, x, y, w, h, text, size, color=INK, bold=False, align=PP_ALIGN.LEFT, anchor=MSO_ANCHOR.TOP, spc=None, ls=1.1):
|
||||
t = s.shapes.add_textbox(Inches(x), Inches(y), Inches(w), Inches(h))
|
||||
tf = t.text_frame; tf.word_wrap = True; tf.vertical_anchor = anchor
|
||||
tf.margin_left = tf.margin_right = tf.margin_top = tf.margin_bottom = 0
|
||||
lines = text if isinstance(text, list) else [text]
|
||||
for i, ln in enumerate(lines):
|
||||
p = tf.paragraphs[0] if i == 0 else tf.add_paragraph()
|
||||
p.alignment = align; p.line_spacing = ls
|
||||
r = p.add_run(); r.text = ln
|
||||
r.font.name = FONT; r.font.size = Pt(size); r.font.bold = bold; r.font.color.rgb = rgb(color)
|
||||
if spc: r.font._element.set("spc", str(spc))
|
||||
return t
|
||||
|
||||
def chrome(s, eyebrow, title, lede=None):
|
||||
global page; page += 1
|
||||
tb(s, M, 0.31, 8, 0.19, eyebrow.upper(), 11.25, MUTED, True, spc=200)
|
||||
tb(s, M, 0.60, 11.85, 0.60, title, 30, INK, True)
|
||||
if lede: tb(s, M, 1.26, 11.85, 0.40, lede, 15.75, MUTED)
|
||||
rect(s, M, 1.73, CW, 0.02, BLACK)
|
||||
rect(s, M, 7.10, CW, 0.01, LINE)
|
||||
tb(s, M, 7.20, 6, 0.16, FOOT, 10.5, MUTED)
|
||||
tb(s, 12.4, 7.18, 0.5, 0.19, f"{page:02d}", 11.25, INK, True, PP_ALIGN.RIGHT)
|
||||
|
||||
def new(eyebrow, title, lede=None):
|
||||
s = prs.slides.add_slide(BLANK); chrome(s, eyebrow, title, lede); return s
|
||||
|
||||
def card(s, x, y, w, h, tag, head, body, bar=VIO_LT):
|
||||
rect(s, x, y, w, h, WHITE, LINE); rect(s, x, y, 0.07, h, bar)
|
||||
tb(s, x + 0.23, y + 0.19, w - 0.4, 0.17, tag, 11.25, bar if bar != BLACK else DIM, True)
|
||||
tb(s, x + 0.23, y + 0.45, w - 0.4, 0.42, head, 18, INK, True)
|
||||
tb(s, x + 0.23, y + 0.95, w - 0.4, h - 1.1, body, 13.5, MUTED, ls=1.2)
|
||||
|
||||
def cards3(s, items, y=2.10, h=1.88):
|
||||
w = 3.85; gap = (CW - 3 * w) / 2
|
||||
bars = [VIO_LT, DIM, VIO]
|
||||
for i, (tag, head, body) in enumerate(items):
|
||||
card(s, M + i * (w + gap), y, w, h, tag, head, body, bars[i % 3])
|
||||
|
||||
def band(s, y, h, label, big, small=None):
|
||||
rect(s, M, y, CW, h, BLACK)
|
||||
tb(s, M + 0.29, y + 0.27, 11.56, 0.23, label, 12.75, VIO_LT, True)
|
||||
tb(s, M + 0.29, y + 0.62, 11.56, 0.75, big, 18, WHITE, True, ls=1.15)
|
||||
if small: tb(s, M + 0.29, y + h - 0.42, 11.56, 0.23, small, 12.75, LINE)
|
||||
|
||||
def table(s, headers, rows, col_w, y=2.14, row_h=0.52, size=12.5, first_bold=True):
|
||||
n, m = len(rows) + 1, len(headers)
|
||||
gs = s.shapes.add_table(n, m, Inches(M), Inches(y), Inches(CW), Inches(row_h * n))
|
||||
t = gs.table
|
||||
tblPr = t._tbl.tblPr
|
||||
for a in ("bandRow", "firstRow"): tblPr.set(a, "0")
|
||||
st = tblPr.find(qn("a:tableStyleId"))
|
||||
if st is not None: tblPr.remove(st)
|
||||
for i, w in enumerate(col_w): t.columns[i].width = Inches(w)
|
||||
for r in range(n): t.rows[r].height = Inches(row_h)
|
||||
for r in range(n):
|
||||
for c in range(m):
|
||||
cell = t.cell(r, c)
|
||||
txt = headers[c] if r == 0 else rows[r - 1][c]
|
||||
cell.margin_left, cell.margin_right = Inches(0.10), Inches(0.08)
|
||||
cell.margin_top, cell.margin_bottom = Inches(0.05), Inches(0.05)
|
||||
cell.vertical_anchor = MSO_ANCHOR.MIDDLE
|
||||
cell.fill.solid()
|
||||
cell.fill.fore_color.rgb = rgb(BLACK if r == 0 else (ZEBRA if r % 2 == 0 else WHITE))
|
||||
tf = cell.text_frame; tf.word_wrap = True
|
||||
p = tf.paragraphs[0]; p.text = ""
|
||||
run = p.add_run(); run.text = txt
|
||||
run.font.name = FONT; run.font.size = Pt(size)
|
||||
run.font.bold = (r == 0) or (first_bold and c == 0)
|
||||
run.font.color.rgb = rgb(WHITE if r == 0 else INK)
|
||||
tcPr = cell._tc.get_or_add_tcPr()
|
||||
for side in ("lnL", "lnR", "lnT", "lnB"):
|
||||
ln = etree.SubElement(tcPr, qn(f"a:{side}"), w="6350")
|
||||
sf = etree.SubElement(ln, qn("a:solidFill")); etree.SubElement(sf, qn("a:srgbClr"), val=LINE)
|
||||
return t
|
||||
|
||||
def step_rows(s, items, y=2.10, h=0.81, gap=0.21):
|
||||
"""번호 밴드 리스트(레퍼런스 S3). items: (num, label, mid, right). 위에서 아래로 진해짐 반대: 첫 줄 검정."""
|
||||
fills = [BLACK, VIO_LT, VIO_LT, GRAY_BG, GRAY_BG, GRAY_BG]
|
||||
for i, (num, label, mid, right) in enumerate(items):
|
||||
f = fills[i]; fg = WHITE if f in (BLACK, VIO_LT) else INK
|
||||
yy = y + i * (h + gap)
|
||||
rect(s, M, yy, CW, h, f)
|
||||
tb(s, M + 0.18, yy + 0.20, 1.1, 0.4, num, 22, fg, True)
|
||||
tb(s, M + 1.35, yy + 0.25, 2.0, 0.3, label, 15, fg, True)
|
||||
tb(s, M + 3.4, yy + 0.25, 4.3, 0.3, mid, 13.5, fg)
|
||||
tb(s, M + 7.8, yy + 0.25, 4.5, 0.3, right, 13.5, fg, True)
|
||||
|
||||
def bullets(s, x, y, w, items, size=13.5, step=0.42, color=MUTED, dot=VIO):
|
||||
for i, t in enumerate(items):
|
||||
yy = y + i * step
|
||||
d = s.shapes.add_shape(MSO_SHAPE.OVAL, Inches(x), Inches(yy + 0.08), Inches(0.09), Inches(0.09))
|
||||
d.fill.solid(); d.fill.fore_color.rgb = rgb(dot); d.line.fill.background(); d.shadow.inherit = False
|
||||
tb(s, x + 0.22, yy, w - 0.22, step, t, size, color, ls=1.15)
|
||||
|
||||
def takeaway(s, text, y=6.30):
|
||||
tb(s, M, y, CW, 0.47, text, 16, VIO, True)
|
||||
|
||||
|
||||
# ───────────────────────────── 01 표지
|
||||
s = prs.slides.add_slide(BLANK); page += 1
|
||||
tb(s, M, 0.42, 6, 0.19, "PRODUCT REQUIREMENTS DOCUMENT · v0.2", 11.25, MUTED, True, spc=200)
|
||||
rect(s, M, 0.77, CW, 0.02, BLACK)
|
||||
tb(s, M, 1.40, 7.5, 1.56, ["AI Discovery PRD", "분석 · 진단 · 빌드 · 측정"], 40.5, INK, True, ls=1.05)
|
||||
tb(s, M, 3.46, 7.2, 0.73, ["병원 URL 하나를 넣으면 채널 분석과 AEO · GEO 진단이 나오고,", "진단 항목이 그대로 빌드 요구사항과 측정 지표가 되는 제품"], 18.75, MUTED, ls=1.2)
|
||||
for x, w, bg, num, cap, col in [
|
||||
(8.18, 2.14, VIO_BG, "36항목", "AEO · GEO 루브릭 v1.0", VIO_LT),
|
||||
(10.52, 2.14, GRAY_BG, "C · 48점", "뷰성형외과 실측 2026.08.28", VIO),
|
||||
]:
|
||||
rect(s, x, 1.51, w, 1.38, bg); tb(s, x + 0.18, 1.70, w - 0.36, 0.54, num, 29.25, col, True); tb(s, x + 0.18, 2.36, w - 0.36, 0.36, cap, 13, INK, True)
|
||||
rect(s, 8.18, 3.09, 4.48, 1.38, GRAY_BG); tb(s, 8.36, 3.28, 4.1, 0.54, "v1.0 · 10주", 29.25, DIM, True); tb(s, 8.36, 3.95, 4.1, 0.36, "목표 릴리스 · 2026.11.06", 13, INK, True)
|
||||
tb(s, M, 6.75, 6.5, 0.21, f"작성 INFINITH Product | {DATE} | 상태 Draft for Engineering Review", 12, INK, True)
|
||||
tb(s, 8.5, 6.75, 4.4, 0.21, "대상 · 프론트엔드 · 백엔드 · 인프라 · 콘텐츠 운영", 12, MUTED, align=PP_ALIGN.RIGHT)
|
||||
|
||||
# ───────────────────────────── 02 제품 흐름
|
||||
s = new("Product Flow", "URL 하나로 분석, 진단, 빌드, 측정까지 한 흐름",
|
||||
"1 · 2단계는 이미 동작한다. 이 PRD는 2단계를 자동화하고 3 · 4단계를 새로 만든다.")
|
||||
step_rows(s, [
|
||||
("4", "측정", "크롤러 로그 · GA4 AI 채널 · 재진단으로 점수 변화 증명", "신규 · 루브릭 E 카테고리를 채운다"),
|
||||
("3", "빌드", "진단 P0 · P1을 사이트 수정 또는 표준 사이트로 실행", "신규 · 진단 항목이 곧 요구사항"),
|
||||
("2", "진단", "36항목 AEO · GEO 스코어카드 · 등급 · 액션 플랜", "프로토타입 동작 · 수동 채점 → 자동화 대상"),
|
||||
("1", "분석", "채널 발견 · 6채널 데이터 수집 · 마케팅 리포트", "구현 완료 · discover → collect → generate-report"),
|
||||
], h=0.81, gap=0.21)
|
||||
takeaway(s, "뷰성형외과는 1 · 2단계를 거쳐 P0 3건이 나왔다. 3 · 4단계가 없어 여기서 멈춘다. 그 공백이 이 PRD의 범위다.", y=6.35)
|
||||
|
||||
# ───────────────────────────── 03 배경
|
||||
s = new("Background", "AI 답변엔진은 JS를 실행하지 않는다",
|
||||
"GPTBot, ClaudeBot, PerplexityBot은 서버가 내려준 HTML만 읽는다. 진단은 이 사실에서 출발한다.")
|
||||
cards3(s, [
|
||||
("실측", "01 뷰성형외과: 읽히지만 라벨뿐", "AI 봇 12종 전부 200, JS 없이 본문 10,757자. 그런데 H1 5개가 전부 영문 라벨이고 JSON-LD는 문법 오류로 무효."),
|
||||
("시장", "02 네이버 자산은 AI에 차단됨", "블로그 · 플레이스 · 카페는 robots.txt로 AI 크롤러를 차단한다. 인용되려면 오픈웹 소유 자산이 필요하다."),
|
||||
("실측", "03 INFINITH 랜딩: 4단어", "크롤러 UA 요청 결과 title 4단어 외 본문 0. 1.5 MB JS를 실행해야 본문이 나왔다. 프리렌더 후 810단어."),
|
||||
])
|
||||
band(s, 4.31, 2.03, "문제 정의",
|
||||
"진단은 나오는데 다음이 없다. 진단 결과를 받은 병원이 무엇을 고쳐야 하는지, 고친 뒤 점수가 올랐는지 증명할 수단이 제품 안에 없다.",
|
||||
"이 PRD의 범위 · 진단 자동화 · 빌드(수정 · 표준 사이트) · 측정 인프라 · 재진단 루프")
|
||||
|
||||
# ───────────────────────────── 04 뷰성형외과 케이스
|
||||
s = new("Case · 뷰성형외과 (2026.08.28)", "진단 결과가 빌드 요구사항으로 바로 이어진다",
|
||||
"카테고리 점수는 검증 항목 기준 정규화. 미검증(A6 · D6 · E1~E3)은 분모 제외.")
|
||||
table(s, ["카테고리", "배점", "획득", "점수", "핵심 발견", "→ 빌드 · 측정 요구사항"], [
|
||||
["A 크롤러 접근성", "20", "15.7 / 17", "92%", "robots · SSR · HTTPS 정상. sitemap lastmod 15개월 전", "FR-B05 sitemap 자동 갱신"],
|
||||
["B 엔티티 구조화", "20", "6.0 / 20", "30%", "JSON-LD 깨짐 · MedicalClinic 없음 · Physician 없음", "FR-B03 스키마 단일 소스"],
|
||||
["C 인용 가능 콘텐츠", "25", "5.0 / 25", "20%", "정의문 · FAQ · 서술형 H1 없음. 수치 부족", "FR-B02 질문 템플릿 · FR-B06 검사"],
|
||||
["D 인용 표면", "20", "13.7 / 19", "72%", "강남언니 19,316건 강함. GBP 전화 없음 · NAP 3종", "FR-B08 NAP 통일 체크리스트"],
|
||||
["E 측정 인프라", "10", "0 / 2", "0%", "로그 · GA4 · GSC 오너 접근 필요. 기준선 없음", "FR-M01 ~ M03"],
|
||||
["F 기술 위생", "5", "1.7 / 5", "33%", "WordPress 5.5.3 · alt 누락 · 페이지 무게", "NFR-04 · FR-B09 CMS 업그레이드"],
|
||||
], [2.1, 0.7, 1.2, 0.8, 4.2, 3.46], row_h=0.5)
|
||||
takeaway(s, "종합 48점 · C등급. P0 3건: JSON-LD 수정 + MedicalClinic 삽입, GBP 전화 등록 + NAP 통일, 측정 인프라 설치.", y=6.2)
|
||||
|
||||
# ───────────────────────────── 05 목표와 지표
|
||||
s = new("Goals & Metrics", "목표는 진단 자동화와 점수 개선의 증명이다",
|
||||
"출시 10주 후 기준. 모든 지표는 제품 안에서 자동 측정된다.")
|
||||
table(s, ["단계", "지표", "현재", "v1.0 목표", "측정 방법"], [
|
||||
["진단", "자동 채점 항목 비율", "0% (36항목 수동)", "24 / 36 자동 (67%)", "discover-aeo-geo 실행 로그"],
|
||||
["진단", "URL 입력 → 리포트 소요 시간", "약 4시간 (수동)", "10분 이내", "analysis_runs 타임스탬프"],
|
||||
["진단", "재진단 재현성", "미검증", "동일 URL 2회 점수 편차 3점 이내", "회귀 테스트"],
|
||||
["빌드", "P0 액션 완료 → 재진단 점수 상승", "측정 불가", "뷰성형외과 48 → 65+ (B)", "재진단 비교"],
|
||||
["빌드", "질문 페이지 발행 (표준 사이트)", "0", "8주 내 40개", "CMS 발행 로그"],
|
||||
["측정", "AI 크롤러 · AI 유입 계측 병원", "0", "파일럿 100%", "로그 파서 · GA4"],
|
||||
], [1.0, 3.0, 2.4, 3.0, 3.06], row_h=0.5)
|
||||
takeaway(s, "답변엔진 언급률은 지표에서 제외한다. 소비자 UI 자동 조회는 약관 위반이고 단발 조회는 무효다.")
|
||||
|
||||
# ───────────────────────────── 06 범위
|
||||
s = new("Scope", "v1.0은 진단 자동화부터 재진단 루프까지",
|
||||
"분석(1단계)은 기존 구현을 그대로 쓴다. 콘텐츠 작성과 광고 · SNS 운영은 범위 밖이다.")
|
||||
w = 6.08
|
||||
rect(s, M, 2.10, w, 3.95, WHITE, LINE); rect(s, M, 2.10, 0.07, 3.95, VIO)
|
||||
tb(s, M + 0.25, 2.28, 5.6, 0.3, "IN SCOPE", 12.75, VIO, True, spc=200)
|
||||
bullets(s, M + 0.25, 2.70, 5.6, [
|
||||
"진단 Edge Function discover-aeo-geo (자동 채점 1 · 2 · 3단계)",
|
||||
"수동 항목 입력 슬롯 (A6 · D1 · D2 · D4 · E1~E4)과 미검증 처리",
|
||||
"진단 리포트 DB 저장 · /discovery/:id 실데이터 연결 · PDF",
|
||||
"빌드 A: 기존 사이트 수정 패키지 (스키마 · NAP · CMS · FAQ 삽입)",
|
||||
"빌드 B: 병원용 워드프레스 표준 사이트 (템플릿 4종 · 검사)",
|
||||
"측정: 크롤러 로그 파서 · GA4 AI 채널 · 재진단 비교 뷰",
|
||||
"INFINITH 랜딩 파일럿: FAQ 섹션 · FAQPage 스키마",
|
||||
], step=0.44)
|
||||
x2 = M + w + 0.30
|
||||
rect(s, x2, 2.10, w, 3.95, WHITE, LINE); rect(s, x2, 2.10, 0.07, 3.95, DIM)
|
||||
tb(s, x2 + 0.25, 2.28, 5.6, 0.3, "OUT OF SCOPE (v1.0)", 12.75, DIM, True, spc=200)
|
||||
bullets(s, x2 + 0.25, 2.70, 5.6, [
|
||||
"분석 파이프라인 변경 (discover · collect · generate-report)",
|
||||
"Q&A 콘텐츠 작성 (운영팀 · 병원 담당, 별도 가이드)",
|
||||
"네이버 블로그 · 플레이스 운영 (AI 크롤러 차단 자산)",
|
||||
"답변엔진 UI 자동 조회 · 언급률 리포트 (약관 위반)",
|
||||
"llms.txt 납품 (Google 효과 0 · 채택률 0.13%)",
|
||||
"헤드리스(WordPress + Astro) 전환 (v2.0 후보)",
|
||||
], step=0.44, dot=DIM)
|
||||
takeaway(s, "빌드 A와 B를 나눈 이유: 뷰성형외과처럼 사이트가 있는 병원은 수정이고, 없는 병원은 표준 사이트다.")
|
||||
|
||||
# ───────────────────────────── 07 사용자
|
||||
s = new("Users", "세 사용자, 세 가지 다른 성공 기준",
|
||||
"설계 기준은 병원 마케팅 담당자다. 진단을 읽고, 고치고, 다시 점수를 볼 수 있어야 한다.")
|
||||
cards3(s, [
|
||||
("PRIMARY", "병원 마케팅 담당자", "URL을 넣고 10분 안에 스코어카드와 P0를 본다. 수정 후 재진단으로 점수 변화를 확인한다. 표준 사이트면 질문 페이지를 직접 추가한다."),
|
||||
("SECONDARY", "INFINITH 운영팀", "수동 항목(GBP · 강남언니 · 로그)을 입력하고 여러 병원의 점수 · 크롤 수 · 오류를 한 화면에서 본다. 성공 기준: 병원 온보딩 1일."),
|
||||
("SYSTEM", "AI 크롤러 · 검색엔진", "GPTBot · ClaudeBot · PerplexityBot · Googlebot · Yeti. 진단은 이들의 UA로 실제 요청해 채점한다. 빌드 결과도 같은 방법으로 검증한다."),
|
||||
], h=2.3)
|
||||
band(s, 4.75, 1.55, "설계 원칙", "확인 못 한 것은 감점하지 않는다(미검증은 분모 제외). 근거 없는 것은 팔지 않는다. 담당자의 실수는 시스템이 발행 전에 막는다.")
|
||||
|
||||
# ───────────────────────────── 08 FR 진단
|
||||
s = new("Functional Requirements · 진단", "FR-D01 ~ D07: 36항목을 제품 안에서 채점한다",
|
||||
"AEO-GEO-Audit 브랜치의 루브릭 · 타입 · 집계 로직을 그대로 쓰고, 채점 데이터만 수동에서 자동으로 바꾼다.")
|
||||
table(s, ["ID", "요구사항", "상세", "루브릭", "우선순위"], [
|
||||
["FR-D01", "자동 채점 1단계", "robots 파싱 · 12개 AI 봇 UA GET · HTML 파서 (crawler_audit.py 이식)", "A1~A5 · A7 · B1 · B4 · B6 · B7 · C2 · C3 · C5 · C6 · F1~F4", "P0"],
|
||||
["FR-D02", "자동 채점 2단계", "본문 텍스트를 Perplexity 또는 Claude에 투입해 구조화 판정", "B2 · B3 · C1 · C4 · C7 · C8", "P0"],
|
||||
["FR-D03", "자동 채점 3단계", "검색 그라운딩 도메인 집계 · Wikidata API", "D3 · D6", "P1"],
|
||||
["FR-D04", "수동 입력 슬롯", "운영팀이 근거 · 레벨 입력. 미입력은 unverified로 분모 제외", "A6 · D1 · D2 · D4 · E1~E4", "P0"],
|
||||
["FR-D05", "결과 저장 · 리포트", "DiscoveryResult를 DB 저장. /discovery/:id가 mock 대신 DB를 읽음", "전체", "P0"],
|
||||
["FR-D06", "액션 플랜 생성", "level 0 · 1 항목에서 P0 · P1 · P2 액션 자동 생성. 빌드 FR과 연결", "전체", "P1"],
|
||||
["FR-D07", "재진단 비교", "같은 URL의 이전 결과와 항목별 diff · 점수 변화 표시", "전체", "P1"],
|
||||
], [1.0, 1.8, 5.2, 3.5, 0.96], row_h=0.5, size=12)
|
||||
takeaway(s, "1단계만으로 36항목 중 17개가 자동이다. 2단계까지 23개. 나머지는 오너 계정 접근이 필요해 수동이 맞다.", y=6.3)
|
||||
|
||||
# ───────────────────────────── 09 FR 빌드 A
|
||||
s = new("Functional Requirements · 빌드 A (기존 사이트 수정)", "FR-B01 ~ B09: 진단 P0 · P1을 실행 가능한 패키지로",
|
||||
"뷰성형외과 액션 플랜에서 역산했다. 병원 개발사나 INFINITH가 붙여 넣을 수 있는 산출물이어야 한다.")
|
||||
table(s, ["ID", "요구사항", "상세", "루브릭", "우선순위"], [
|
||||
["FR-B01", "서버 렌더링 검증 · 처방", "A3 실패 시 프리렌더 · SSR 처방 (INFINITH 랜딩 방식 문서)", "A3", "P0"],
|
||||
["FR-B03", "스키마 패키지 생성", "진단 데이터로 MedicalClinic · Physician JSON-LD 생성. 기존 스키마 차단 안내", "B1 · B2 · B3 · B5", "P0"],
|
||||
["FR-B08", "NAP 통일 체크리스트", "홈페이지 · 강남언니 · GBP · 플레이스 표기를 나열하고 정본 지정", "B4 · D2 · D4", "P0"],
|
||||
["FR-B04", "메타 패키지", "title · description · canonical · OG · hreflang 코드 생성", "B6 · B7", "P1"],
|
||||
["FR-B05", "robots · sitemap 처방", "AI 봇 허용 robots.txt · lastmod 갱신 규칙", "A1 · A5", "P1"],
|
||||
["FR-B07", "FAQ 삽입 패키지", "시술별 질문 · 요약 답변 초안 + FAQPage 스키마 코드", "C1 · C2 · C4", "P1"],
|
||||
["FR-B09", "CMS 위생 처방", "WordPress 버전 · alt 누락 목록 · 페이지 무게 리포트", "F1 · F2 · F3", "P1"],
|
||||
], [1.0, 2.1, 5.4, 2.4, 1.56], row_h=0.5, size=12)
|
||||
takeaway(s, "빌드 A의 산출물은 코드 조각과 체크리스트다. 병원 사이트를 INFINITH가 직접 호스팅하지 않는다.", y=6.3)
|
||||
|
||||
# ───────────────────────────── 10 FR 빌드 B
|
||||
s = new("Functional Requirements · 빌드 B (표준 사이트)", "FR-B02 · B06 · B10 ~ B12: 사이트가 없는 병원용 표준 스택",
|
||||
"루브릭 A · B · C · F를 처음부터 통과하는 워드프레스 사이트. 담당자가 질문 페이지를 직접 늘린다.")
|
||||
table(s, ["ID", "요구사항", "상세", "루브릭", "우선순위"], [
|
||||
["FR-B10", "표준 스택 프리셋", "경량 테마 · Rank Math · WP Rocket · ACF · 관리형 호스팅. 1회 명령 복제", "A · F 전체", "P1"],
|
||||
["FR-B02", "질문 페이지 템플릿", "질문(h1) · 요약 답변(p, 60자) · 상세 · 관련 시술 · 의료진. 필드 입력만으로 생성", "C1 · C2 · C3 · C8", "P1"],
|
||||
["FR-B11", "시술 · 의료진 템플릿", "MedicalProcedure · Physician 스키마 포함. 가격대 · 시간 · 회복 필드", "B3 · C4 · C7", "P1"],
|
||||
["FR-B12", "스키마 단일 소스", "페이지 유형별 JSON-LD 1개 자동 출력. 테마 · 타 플러그인 출력 차단", "B1 · B2 · B3", "P1"],
|
||||
["FR-B06", "발행 전 검사", "스키마 중복 · h1 2개 · alt 누락 · 요약 답변 누락 시 발행 차단", "B1 · C3 · F1", "P1"],
|
||||
["FR-B13", "sitemap · robots 자동", "발행 시 lastmod 갱신 · AI 봇 9종 허용", "A1 · A5 · C6", "P1"],
|
||||
], [1.0, 2.1, 5.4, 2.4, 1.56], row_h=0.5, size=12)
|
||||
takeaway(s, "빌드 B는 P1이다. 뷰성형외과처럼 사이트가 있는 병원이 먼저이므로 빌드 A가 P0다.", y=6.0)
|
||||
|
||||
# ───────────────────────────── 11 FR 측정
|
||||
s = new("Functional Requirements · 측정", "FR-M01 ~ M05: 루브릭 E를 채우고 개선을 증명한다",
|
||||
"인용 여부를 직접 볼 수 없으므로 소유한 신호를 계측한다. 재진단이 개선의 증거다.")
|
||||
table(s, ["ID", "요구사항", "상세", "루브릭", "우선순위"], [
|
||||
["FR-M01", "AI 크롤러 로그 파서", "액세스 로그 또는 Cloudflare Logpush에서 GPTBot · ClaudeBot · PerplexityBot 히트를 IP 검증 후 일 집계", "E1", "P0"],
|
||||
["FR-M02", "GA4 AI 채널", "chatgpt.com · perplexity.ai · gemini.google.com 리퍼러를 커스텀 채널로 분리 · 설정 가이드", "E2", "P0"],
|
||||
["FR-M03", "기준선 스팟체크 기록", "분기 반복 측정 프로토콜과 입력 슬롯 (수동)", "E4", "P1"],
|
||||
["FR-M04", "재진단 스케줄", "월 1회 자동 재진단 · 점수 변화 알림", "전체", "P1"],
|
||||
["FR-M05", "운영 대시보드", "병원별 점수 · 크롤 수 · AI 세션 · 스키마 오류 · LCP 주간 표시", "E 전체", "P1"],
|
||||
], [1.0, 2.1, 6.2, 1.6, 1.56], row_h=0.55, size=12)
|
||||
takeaway(s, "FR-M01 · M02는 뷰성형외과 P0 3번(측정 인프라 설치)이다. 빌드보다 먼저 깔아야 전후 비교가 된다.", y=5.9)
|
||||
|
||||
# ───────────────────────────── 12 NFR
|
||||
s = new("Non-Functional Requirements", "진단 재현성, 성능, 보안 예산",
|
||||
"진단은 같은 입력에 같은 점수를 내야 한다. 빌드 B의 예산은 CI에서 강제한다.")
|
||||
table(s, ["ID", "영역", "요구사항", "예산 · 기준"], [
|
||||
["NFR-01", "진단", "재현성", "동일 URL 2회 실행 점수 편차 3점 이내 · LLM 판정 항목은 temperature 0"],
|
||||
["NFR-02", "진단", "소요 시간 · 비용", "URL당 10분 이내 · API 비용 2,000원 이내"],
|
||||
["NFR-03", "진단", "대상 사이트 부하", "UA 테스트 요청 30회 이내 · 1초 간격 · 429 시 중단"],
|
||||
["NFR-04", "빌드 B", "성능", "모바일 LCP p75 2.5초 · CLS 0.1 · 플러그인 10개 이하 · HTML 80 KB 이하"],
|
||||
["NFR-05", "빌드 B", "HTML 품질 · 보안", "h1 1개 · div 중첩 6단계 이하 · 관리형 호스팅 · 자동 업데이트 · 일 백업"],
|
||||
["NFR-06", "측정", "로그 보존 · 정확도", "90일 보존 · 봇 IP 역DNS 검증 (위장 UA 제외)"],
|
||||
["NFR-07", "공통", "정직성 규약", "리포트에 '하지 않을 것' 섹션 고정 · 근거 등급(실측 · 학술 · 벤더 · 추정) 표기"],
|
||||
], [1.1, 1.1, 2.6, 7.66], row_h=0.5, size=12.5)
|
||||
takeaway(s, "Elementor · Divi 같은 페이지빌더는 NFR-04 · 05를 통과하지 못하므로 빌드 B에서 금지다.", y=6.2)
|
||||
|
||||
# ───────────────────────────── 13 아키텍처
|
||||
s = new("Architecture", "기존 파이프라인 뒤에 진단 · 빌드 · 측정 함수를 잇는다",
|
||||
"Supabase Edge Functions 체인. 분석 3개 함수는 그대로, 신규 4개를 추가한다.")
|
||||
step_rows(s, [
|
||||
("4", "측정", "log-ingest · GA4 커넥터 · 재진단 cron", "신규 · discovery_results 시계열"),
|
||||
("3", "빌드", "build-package: 스키마 · 메타 · NAP · FAQ 코드", "신규 · 빌드 A는 함수, B는 플러그인"),
|
||||
("2", "진단", "discover-aeo-geo: UA 테스트 · 파서 · LLM 판정", "신규 · 루브릭 · 집계는 AEO-GEO-Audit 코드 이식"),
|
||||
("1", "분석", "discover → collect → generate-report", "기존 · marketing_reports · clinic_registry"),
|
||||
], h=0.81, gap=0.21)
|
||||
takeaway(s, "신규 테이블 2개: discovery_results (결과 · 버전) · crawler_hits (봇 · IP · 경로 · 일자).", y=6.35)
|
||||
|
||||
# ───────────────────────────── 14 진단 → 빌드 매핑
|
||||
s = new("Rubric → Build Mapping", "level 0 · 1 항목이 어떤 빌드 산출물로 이어지는지",
|
||||
"FR-D06 액션 플랜 생성의 규칙표. 모든 항목이 빌드 또는 측정 FR 하나에 매핑된다.")
|
||||
table(s, ["루브릭 항목", "level 0 · 1이면", "빌드 산출물", "FR"], [
|
||||
["A3 서버 렌더링 본문", "본문이 JS에만 있음", "프리렌더 · SSR 처방 문서 + 검증 스크립트", "FR-B01"],
|
||||
["B1 · B2 · B3 스키마", "JSON-LD 깨짐 · 엔티티 없음", "MedicalClinic · Physician JSON-LD 코드 + 차단 안내", "FR-B03 · B12"],
|
||||
["B4 · D2 · D4 NAP", "표면 간 표기 불일치", "정본 NAP 체크리스트 · GBP 수정 항목", "FR-B08"],
|
||||
["C1 · C2 · C4 콘텐츠", "정의문 · FAQ · 수치 없음", "시술별 질문 · 요약 답변 초안 + FAQPage 코드", "FR-B07 · B02"],
|
||||
["C3 제목 계층", "H1 없음 · 이미지 텍스트", "H1 재설계안 · 이미지 정보 텍스트화 목록", "FR-B07"],
|
||||
["C6 신선도", "dateModified 없음", "dateModified 활성화 · 갱신 주기 규칙", "FR-B13"],
|
||||
["E1 · E2 측정", "미설치", "로그 파서 · GA4 채널 설정", "FR-M01 · M02"],
|
||||
["F2 CMS", "구버전", "업그레이드 절차 · 백업 체크리스트", "FR-B09"],
|
||||
], [2.6, 2.6, 5.3, 1.96], row_h=0.46, size=12)
|
||||
|
||||
# ───────────────────────────── 15 스키마 스펙
|
||||
s = new("Schema Specification", "페이지 유형별 JSON-LD 1개, 단일 소스",
|
||||
"빌드 A는 코드 조각으로, 빌드 B는 Rank Math 훅으로 같은 스펙을 출력한다. 테마 내장 스키마는 끈다.")
|
||||
table(s, ["페이지", "@type", "필수 속성", "데이터 소스"], [
|
||||
["홈", "MedicalClinic + WebSite", "name · address · telephone · openingHours · sameAs", "분석 1단계 clinics · 병원 정보 ACF"],
|
||||
["시술", "MedicalProcedure", "name · procedureType · bodyLocation · howPerformed · preparation", "시술 ACF"],
|
||||
["의료진", "Physician", "name · medicalSpecialty · memberOf · image · alumniOf", "의료진 ACF · 강남언니 의료진"],
|
||||
["질문", "FAQPage (+ Article)", "mainEntity[Question · acceptedAnswer] · author · dateModified", "질문 템플릿 필드"],
|
||||
["공통", "BreadcrumbList", "itemListElement", "자동"],
|
||||
], [1.4, 2.6, 5.0, 3.46], row_h=0.55)
|
||||
band(s, 5.75, 1.15, "수용 기준", "Rich Results Test 오류 0. 응답에 ld+json 블록 정확히 1개 (Breadcrumb 포함 시 @graph 병합). 루브릭 B1 · B2 · B3 level 3.")
|
||||
|
||||
# ───────────────────────────── 16 질문 페이지 템플릿
|
||||
s = new("Q&A Page Template", "AI가 인용하는 단락 구조를 템플릿이 강제한다",
|
||||
"루브릭 C1 · C2 · C3 · C4 · C8을 동시에 통과하는 구조. 담당자는 필드를 채우고, 템플릿이 HTML과 스키마를 만든다.")
|
||||
table(s, ["필드", "HTML 출력", "제약", "예시", "루브릭"], [
|
||||
["질문", "h1", "물음표로 끝남 · 40자 이내", "코 재수술은 언제 가능한가요?", "C3"],
|
||||
["요약 답변", "p (h1 직후)", "60자 이내 · 숫자 · 기간 포함 권장", "1차 수술 후 최소 6개월, 보통 1년 뒤 가능합니다.", "C1 · C8"],
|
||||
["상세 답변", "h2 + p 반복", "h2는 하위 질문형 · 단락 3문장 이내", "왜 6개월을 기다려야 하나요?", "C3 · C8"],
|
||||
["가격 · 시간 · 회복", "표", "숫자 범위 필수", "300~500만원 · 2시간 · 회복 2주", "C4 · C5"],
|
||||
["관련 시술 · 의료진", "링크 + Physician", "각 1개 이상", "코 재수술 · 김OO 원장", "C7"],
|
||||
["갱신일", "dateModified", "자동", "2026-08-28", "C6"],
|
||||
], [1.6, 1.6, 3.0, 4.3, 1.96], row_h=0.52)
|
||||
takeaway(s, "요약 답변 60자는 AI 답변엔진이 한 단락으로 인용하는 길이다. 이 필드가 비면 발행이 막힌다(FR-B06).", y=6.0)
|
||||
|
||||
# ───────────────────────────── 17 수용 테스트
|
||||
s = new("Acceptance Tests", "수용 기준은 전부 스크립트로 검증한다",
|
||||
"진단은 뷰성형외과 · INFINITH 랜딩을 회귀 기준으로 삼는다. 빌드는 크롤러 UA 테스트를 CI로 옮긴다.")
|
||||
table(s, ["ID", "단계", "테스트", "통과 기준"], [
|
||||
["AT-01", "진단", "viewclinic.com 자동 진단 실행", "수동 채점 대비 자동 항목 일치율 90% · 소요 10분 이내"],
|
||||
["AT-02", "진단", "infinith-demo.vercel.app 진단", "A3 level 3 · B1 level 3 · 재실행 편차 3점 이내"],
|
||||
["AT-03", "진단", "미검증 처리", "수동 슬롯 비운 채 실행 시 해당 항목 분모 제외 · 점수 계산 일치"],
|
||||
["AT-04", "빌드 A", "스키마 패키지 적용 후 Rich Results Test", "오류 0 · 블록 1개"],
|
||||
["AT-05", "빌드 B", "curl -A GPTBot 5종 UA 본문 단어 수", "300단어 이상 · 5개 UA 동일 · 429 · 403 0건"],
|
||||
["AT-06", "빌드 B", "발행 검사", "요약 답변 비운 채 발행 시 차단 + 안내"],
|
||||
["AT-07", "측정", "로그 파서 위장 UA 테스트", "역DNS 실패 히트 제외 · 일 집계 정확"],
|
||||
["AT-08", "루프", "빌드 후 재진단", "변경 항목 level 상승이 diff에 표시 · 점수 상승"],
|
||||
], [1.0, 1.0, 4.5, 5.96], row_h=0.46)
|
||||
takeaway(s, "AT-02 · 05는 2026.08.28 INFINITH 랜딩 점검 스크립트를 그대로 쓴다.", y=6.3)
|
||||
|
||||
# ───────────────────────────── 18 마일스톤
|
||||
s = new("Milestones", "10주 · 5단계 · 뷰성형외과 파일럿 포함",
|
||||
"2주 단위. 각 단계 끝에 수용 테스트를 통과해야 다음 단계로 간다.")
|
||||
step_rows(s, [
|
||||
("W9-10", "파일럿 · 릴리스", "뷰성형외과 빌드 A 적용 · 재진단 · 표준 사이트 1곳", "AT-08 · 48 → 65+ · v1.0"),
|
||||
("W7-8", "빌드 B", "표준 스택 · 템플릿 3종 · 검사 · 플러그인", "FR-B02 · B06 · B10~B13 · AT-05 · 06"),
|
||||
("W5-6", "빌드 A", "스키마 · NAP · FAQ · CMS 패키지 생성", "FR-B01 · B03 · B04 · B07 · B08 · AT-04"),
|
||||
("W3-4", "측정 · 진단 2단계", "로그 파서 · GA4 · LLM 판정 · 재진단 diff", "FR-M01 · M02 · D02 · D07 · AT-07"),
|
||||
("W1-2", "진단 1단계", "discover-aeo-geo · UA 테스트 · 파서 · DB · 리포트 연결", "FR-D01 · D04 · D05 · AT-01~03"),
|
||||
], h=0.72, gap=0.16)
|
||||
takeaway(s, "측정(W3-4)을 빌드보다 앞에 둔 이유: 전후 비교의 기준선이 빌드 전에 있어야 한다.", y=6.45)
|
||||
|
||||
# ───────────────────────────── 19 리스크
|
||||
s = new("Risks & Mitigations", "가장 큰 리스크는 진단 신뢰도와 병원 측 실행이다",
|
||||
"진단이 틀리면 빌드가 틀리고, 병원이 안 고치면 측정할 것이 없다.")
|
||||
table(s, ["리스크", "영향", "가능성", "대응"], [
|
||||
["LLM 판정 항목(2단계)의 채점 불일치", "높음", "중간", "temperature 0 · 근거 인용 강제 · 수동 채점과 90% 일치 회귀 테스트"],
|
||||
["대상 사이트가 진단 요청을 차단", "중간", "중간", "요청 30회 · 1초 간격 · 429 시 중단 후 unverified 처리"],
|
||||
["병원이 빌드 A 패키지를 적용하지 않음", "높음", "높음", "적용 대행 옵션 · 재진단 알림 · P0만 먼저"],
|
||||
["담당자가 질문 페이지를 추가하지 않음", "높음", "높음", "분석 리포트의 질문 목록을 초안으로 제공 · 주간 발행 목표"],
|
||||
["AI 크롤러 UA · 정책 변경", "중간", "높음", "봇 목록 중앙 관리 · 분기 점검 · 루브릭 버전 관리"],
|
||||
["스키마 플러그인 업데이트로 출력 변경", "중간", "중간", "AT-04 매 배포 실행 · 버전 고정"],
|
||||
], [3.8, 0.9, 0.9, 6.86], row_h=0.55)
|
||||
|
||||
# ───────────────────────────── 20 오픈 이슈
|
||||
s = new("Open Questions", "개발 착수 전 결정이 필요한 다섯 가지",
|
||||
"리뷰 미팅에서 결정한다. 기본안을 함께 적었다.")
|
||||
table(s, ["#", "질문", "선택지", "기본안 · 근거"], [
|
||||
["1", "2단계 LLM 판정 모델", "Perplexity · Claude · 둘 다", "Claude. 판정 일관성 · 근거 인용. Perplexity는 D3 그라운딩에만"],
|
||||
["2", "로그 수집 방식", "호스팅 로그 API · Cloudflare Logpush · WP 플러그인", "Cloudflare Logpush → Supabase. 호스팅 무관"],
|
||||
["3", "빌드 A 적용 주체", "병원 개발사 · INFINITH 대행 · 둘 다", "둘 다. 패키지는 개발사용, 대행은 유료 옵션"],
|
||||
["4", "빌드 B 호스팅 · 스키마 플러그인", "Kinsta · WP Engine · Cafe24 / Rank Math · Yoast", "Kinsta + Rank Math. Cloudflare 통합 · 의료 타입 · 훅"],
|
||||
["5", "헤드리스 전환 시점", "병원 5곳 · 10곳 · 미정", "병원 5곳 시 v2.0 검토. 콘텐츠는 WP DB에 남아 이전 비용 낮음"],
|
||||
], [0.5, 2.6, 4.0, 5.36], row_h=0.62)
|
||||
takeaway(s, "결정되지 않은 항목은 기본안으로 W1을 시작하고, 리뷰에서 뒤집히면 W2에 반영한다.", y=6.1)
|
||||
|
||||
# ───────────────────────────── 21 부록
|
||||
s = new("Appendix · Evidence", "실측 두 건 (2026.08.28)",
|
||||
"이 PRD의 수용 기준은 아래 두 실측에서 나왔다.")
|
||||
table(s, ["대상", "항목", "결과", "방법"], [
|
||||
["뷰성형외과", "종합 · 등급", "48점 · C (검증 31 / 36항목)", "crawler_audit.py + curl + HTML 파서 · 수동 채점"],
|
||||
["뷰성형외과", "카테고리", "A 92 · B 30 · C 20 · D 72 · E 0 · F 33", "루브릭 v1.0 · unverified 분모 제외"],
|
||||
["뷰성형외과", "P0", "JSON-LD 수정 + MedicalClinic · GBP 전화 + NAP 통일 · 측정 인프라", "액션 플랜"],
|
||||
["INFINITH 랜딩", "크롤러 5종 본문 단어", "4 → 810", "vite build --ssr + renderToString 프리렌더"],
|
||||
["INFINITH 랜딩", "JSON-LD · lang · 메타", "0 → 3 · en → ko · description · OG 추가", "index.html 정적 삽입"],
|
||||
["INFINITH 랜딩", "robots · sitemap · llms.txt", "HTML 반환 → text/plain · xml 정상", "public/ 정적 파일"],
|
||||
], [1.6, 2.2, 4.6, 4.06], row_h=0.5)
|
||||
band(s, 5.95, 1.0, "재현", "curl -A GPTBot infinith-demo.vercel.app | sed 's/<[^>]*>//g' | wc -w · /discovery/viewclinic")
|
||||
|
||||
out = "docs/prd/INFINITH_AI-Discovery_PRD_20260828_v02.pptx"
|
||||
prs.save(out); print("saved", out, "slides", len(prs.slides))
|
||||
@ -8,11 +8,9 @@ docs/reports/
|
||||
│ ├── 01_readiness_report/ AI Answer Readiness 진단 덱 (v1.0 정본 · v2_표준캔버스 · v1.1 정정판) + 빌더
|
||||
│ ├── 02_poc_proposal/ POC 제안서 덱 (정본 · v3 · v3_표준캔버스) + 빌더
|
||||
│ ├── 03_question_bank/ 질문 뱅크 120문항 · ChatGPT/Perplexity 실측 결과 · TOP50 엑셀
|
||||
│ ├── 04_supporters/ 서포터즈 GEO 개선 계획 · 2단계 콘텐츠 기획 · 서포터즈 vs 공식 AEO 감사 엑셀
|
||||
│ └── 05_global_en/ 영문 사이트(viewplasticsurgery.com) 외국인 관점 AEO/GEO 진단 (2026-09-10) · 영문 60문항 뱅크 · Perplexity/OpenAI(뉴욕) 실측 · HTML/PDF 보고서 + 빌더
|
||||
│ └── 04_supporters/ 서포터즈 GEO 개선 계획 · 2단계 콘텐츠 기획 · 서포터즈 vs 공식 AEO 감사 엑셀
|
||||
├── taeha/ 태하 AI Answer Readiness 리포트 (html · pdf · pptx) + 빌더
|
||||
├── ibk/ 기업은행 블로그 AEO/GEO 감사
|
||||
├── answer_engines/ 답변엔진 확장 검토 보고서(.docx, 120문항 비용 추정 · 후보별 약관 검토) + 빌더
|
||||
└── landing/ AI Discovery 랜딩 시안 (픽셀 정답 HTML) · 스크린샷 · 리포트 페이지 HTML 내보내기 스크립트
|
||||
```
|
||||
|
||||
|
||||
Binary file not shown.
@ -1,367 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
"""답변엔진 확장 검토 보고서(.docx) 빌더.
|
||||
|
||||
질문 뱅크 120문항 기준으로 후보 답변엔진별 비용을 추정하고, 약관 검토 결과와 함께 워드 문서로 낸다.
|
||||
단가는 2026-09-15 각사 공식 가격표 확인값. 토큰량은 가정이며 4장 표에 근거를 적는다.
|
||||
|
||||
사용:
|
||||
python3 docs/reports/answer_engines/build_engine_review_docx.py
|
||||
"""
|
||||
from pathlib import Path
|
||||
|
||||
from docx import Document
|
||||
from docx.enum.table import WD_TABLE_ALIGNMENT
|
||||
from docx.enum.text import WD_ALIGN_PARAGRAPH
|
||||
from docx.oxml import OxmlElement
|
||||
from docx.oxml.ns import qn
|
||||
from docx.shared import Cm, Pt, RGBColor
|
||||
|
||||
OUT = Path(__file__).with_name("INFINITH_답변엔진_확장검토_2026-09-15.docx")
|
||||
|
||||
INDIGO = RGBColor(0x1D, 0x00, 0x24)
|
||||
VIOLET = RGBColor(0x4F, 0x1D, 0xA1)
|
||||
GRAY = RGBColor(0x55, 0x55, 0x60)
|
||||
FONT = "Pretendard"
|
||||
|
||||
KRW = 1345 # 2026-09-13 USD/KRW 1,343.56 기준 반올림
|
||||
QUESTIONS = 120
|
||||
REPEAT = 5
|
||||
|
||||
M = 1_000_000
|
||||
|
||||
# ── 후처리 단가(답변 1건당): 병원명 추출 gpt-4o-mini + 어조 판정 gpt-4.1 ──
|
||||
def post_cost(level):
|
||||
rubric_in = {"low": 4000, "mid": 5000, "high": 6000}[level]
|
||||
answer_in = {"low": 600, "mid": 1000, "high": 2900}[level]
|
||||
extract = (500 + answer_in) * 0.15 / M + 150 * 0.60 / M
|
||||
judge = (rubric_in + answer_in) * 2.00 / M + 300 * 8.00 / M
|
||||
return extract + judge
|
||||
|
||||
|
||||
# ── 엔진별 1문항 1회 호출 비용 모델 ──
|
||||
# searches: 호출당 검색 횟수, search_fee: 검색 1회 단가, tin/tout: 입력·출력 토큰, pin/pout: 1M 토큰 단가
|
||||
ENGINES = [
|
||||
dict(key="gpt4o", name="ChatGPT (현행)", setup="gpt-4o + web_search", status="운영 중",
|
||||
search_fee=0.025, pin=2.50, pout=10.00,
|
||||
low=dict(searches=1, tin=300, tout=400), mid=dict(searches=1, tin=300, tout=1000), high=dict(searches=1, tin=300, tout=2900),
|
||||
note="비추론 모델은 검색 호출 $25/1천 회, 검색 본문 토큰 무료. 출력은 실측 평균 962자·상위 10% 2,850자."),
|
||||
dict(key="gpt56", name="ChatGPT (최신화)", setup="GPT-5.6 Sol + web_search", status="모델 교체안",
|
||||
search_fee=0.010, pin=4.00, pout=20.00,
|
||||
low=dict(searches=1, tin=8000, tout=1500), mid=dict(searches=2, tin=20000, tout=3000), high=dict(searches=3, tin=40000, tout=5000),
|
||||
note="추론 모델은 검색 호출 $10/1천 회, 검색 본문 토큰을 모델 단가로 과금. 출력에 추론 토큰 포함."),
|
||||
dict(key="sonar", name="Perplexity (현행)", setup="sonar, 검색 컨텍스트 low", status="운영 중",
|
||||
search_fee=0.005, pin=1.00, pout=1.00,
|
||||
low=dict(searches=1, tin=50, tout=400), mid=dict(searches=1, tin=50, tout=650), high=dict(searches=1, tin=50, tout=1000),
|
||||
note="요청 수수료 $5/1천 회(low). 출력은 실측 평균 618자."),
|
||||
dict(key="sonarpro", name="Perplexity (상위)", setup="sonar-pro, 검색 컨텍스트 medium", status="모델 교체안",
|
||||
search_fee=0.010, pin=3.00, pout=15.00,
|
||||
low=dict(searches=1, tin=50, tout=700), mid=dict(searches=1, tin=50, tout=1000), high=dict(searches=1, tin=50, tout=1400),
|
||||
note="요청 수수료 $10/1천 회(medium)."),
|
||||
dict(key="sonnet5", name="Claude", setup="Claude Sonnet 5 + web_search", status="추가 권고",
|
||||
search_fee=0.010, pin=2.00, pout=10.00,
|
||||
low=dict(searches=1, tin=12000, tout=800), mid=dict(searches=2, tin=30000, tout=1500), high=dict(searches=3, tin=60000, tout=3000),
|
||||
note="검색 $10/1천 회. 검색 결과가 입력 토큰으로 과금되어 입력 토큰이 비용의 대부분."),
|
||||
dict(key="haiku45", name="Claude (저가)", setup="Claude Haiku 4.5 + web_search", status="대안",
|
||||
search_fee=0.010, pin=1.00, pout=5.00,
|
||||
low=dict(searches=1, tin=12000, tout=800), mid=dict(searches=2, tin=30000, tout=1500), high=dict(searches=3, tin=60000, tout=3000),
|
||||
note="Sonnet 5와 같은 토큰량 가정. 동적 필터링(입력 절감)은 4.6 이상 모델만 지원."),
|
||||
dict(key="gemini", name="Gemini", setup="Gemini 3.8 Flash + Google 검색 그라운딩", status="약관 확인 전 보류",
|
||||
search_fee=0.0, pin=0.75, pout=3.75,
|
||||
low=dict(searches=1, tin=300, tout=1000), mid=dict(searches=2, tin=300, tout=2000), high=dict(searches=3, tin=300, tout=4000),
|
||||
note="그라운딩 월 5,000회 무료(3.x 공통), 초과 시 $14/1천 회. 120문항 5회 반복은 최대 1,800회라 무료 범위 안."),
|
||||
dict(key="grok", name="Grok", setup="Grok 4.3 + web search", status="후순위",
|
||||
search_fee=0.005, pin=1.25, pout=2.50,
|
||||
low=dict(searches=1, tin=8000, tout=800), mid=dict(searches=2, tin=20000, tout=1500), high=dict(searches=3, tin=40000, tout=3000),
|
||||
note="검색 $5/1천 회는 제3자 정리 기준. 공식 가격표 재확인 필요."),
|
||||
dict(key="bing", name="Copilot 계열", setup="Azure Foundry + Grounding with Bing + gpt-4o", status="제외 (약관)",
|
||||
search_fee=0.014, pin=2.50, pout=10.00,
|
||||
low=dict(searches=1, tin=5000, tout=400), mid=dict(searches=1, tin=10000, tout=1000), high=dict(searches=2, tin=20000, tout=2900),
|
||||
note="참고용 산정. 결과 저장·데이터베이스화 금지 조항으로 측정에 쓸 수 없음."),
|
||||
dict(key="aio", name="Google AI Mode", setup="DataForSEO AI Mode SERP API", status="결정 필요",
|
||||
search_fee=0.004, pin=0.0, pout=0.0,
|
||||
low=dict(searches=1, tin=0, tout=0), mid=dict(searches=1, tin=0, tout=0), high=dict(searches=1, tin=0, tout=0),
|
||||
note="Live $0.004, Standard 대기열 $0.0012 / 요청. 모델 토큰 없음. 소비자 화면을 제3자가 수집하는 방식."),
|
||||
]
|
||||
|
||||
|
||||
def call_cost(e, level):
|
||||
p = e[level]
|
||||
return p["searches"] * e["search_fee"] + p["tin"] * e["pin"] / M + p["tout"] * e["pout"] / M
|
||||
|
||||
|
||||
def per_question(e, level, with_post=True):
|
||||
return call_cost(e, level) + (post_cost(level) if with_post else 0)
|
||||
|
||||
|
||||
def usd(x):
|
||||
return f"${x:,.2f}" if x >= 0.995 else f"${x:.3f}"
|
||||
|
||||
|
||||
def won(x):
|
||||
return f"₩{round(x * KRW, -1):,.0f}"
|
||||
|
||||
|
||||
# ── 문서 헬퍼 ──
|
||||
def set_font(run, size=11, bold=False, color=INDIGO):
|
||||
run.font.name = FONT
|
||||
run.font.size = Pt(size)
|
||||
run.font.bold = bold
|
||||
run.font.color.rgb = color
|
||||
rpr = run._element.get_or_add_rPr()
|
||||
rfonts = rpr.find(qn("w:rFonts"))
|
||||
if rfonts is None:
|
||||
rfonts = OxmlElement("w:rFonts")
|
||||
rpr.append(rfonts)
|
||||
for attr in ("w:ascii", "w:hAnsi", "w:cs", "w:eastAsia"):
|
||||
rfonts.set(qn(attr), FONT)
|
||||
|
||||
|
||||
def para(doc, text, size=11, bold=False, color=INDIGO, space_after=6, align=None):
|
||||
p = doc.add_paragraph()
|
||||
p.paragraph_format.space_after = Pt(space_after)
|
||||
p.paragraph_format.line_spacing = 1.35
|
||||
if align:
|
||||
p.alignment = align
|
||||
set_font(p.add_run(text), size, bold, color)
|
||||
return p
|
||||
|
||||
|
||||
def heading(doc, text, level=1):
|
||||
size = {0: 24, 1: 16, 2: 13}[level]
|
||||
p = doc.add_paragraph()
|
||||
p.paragraph_format.space_before = Pt(18 if level == 1 else 10)
|
||||
p.paragraph_format.space_after = Pt(8)
|
||||
p.paragraph_format.keep_with_next = True
|
||||
set_font(p.add_run(text), size, True, INDIGO if level != 2 else VIOLET)
|
||||
return p
|
||||
|
||||
|
||||
def bullets(doc, items, size=11):
|
||||
for t in items:
|
||||
p = doc.add_paragraph(style="List Bullet")
|
||||
p.paragraph_format.space_after = Pt(3)
|
||||
p.paragraph_format.line_spacing = 1.3
|
||||
if isinstance(t, tuple):
|
||||
set_font(p.add_run(t[0]), size, True)
|
||||
set_font(p.add_run(t[1]), size)
|
||||
else:
|
||||
set_font(p.add_run(t), size)
|
||||
|
||||
|
||||
def shade(cell, hex_fill):
|
||||
tcpr = cell._element.get_or_add_tcPr()
|
||||
shd = OxmlElement("w:shd")
|
||||
shd.set(qn("w:val"), "clear")
|
||||
shd.set(qn("w:color"), "auto")
|
||||
shd.set(qn("w:fill"), hex_fill)
|
||||
tcpr.append(shd)
|
||||
|
||||
|
||||
def table(doc, header, rows, widths=None, size=9.5, bold_first_col=True, highlight_rows=()):
|
||||
t = doc.add_table(rows=1, cols=len(header))
|
||||
t.style = "Table Grid"
|
||||
t.alignment = WD_TABLE_ALIGNMENT.CENTER
|
||||
for i, h in enumerate(header):
|
||||
c = t.rows[0].cells[i]
|
||||
c.text = ""
|
||||
set_font(c.paragraphs[0].add_run(h), size, True, RGBColor(0xFF, 0xFF, 0xFF))
|
||||
shade(c, "1D0024")
|
||||
trpr = t.rows[0]._tr.get_or_add_trPr()
|
||||
for tag in ("w:tblHeader", "w:cantSplit"):
|
||||
el = OxmlElement(tag)
|
||||
el.set(qn("w:val"), "true")
|
||||
trpr.append(el)
|
||||
for ri, r in enumerate(rows):
|
||||
cells = t.add_row().cells
|
||||
for i, v in enumerate(r):
|
||||
cells[i].text = ""
|
||||
bold = (i == 0 and bold_first_col) or ri in highlight_rows
|
||||
set_font(cells[i].paragraphs[0].add_run(str(v)), size, bold)
|
||||
if ri in highlight_rows:
|
||||
shade(cells[i], "F1ECFA")
|
||||
if widths:
|
||||
t.autofit = False
|
||||
for i, w in enumerate(widths):
|
||||
t.columns[i].width = Cm(w)
|
||||
for row in t.rows:
|
||||
for i, w in enumerate(widths):
|
||||
row.cells[i].width = Cm(w)
|
||||
doc.add_paragraph().paragraph_format.space_after = Pt(2)
|
||||
return t
|
||||
|
||||
|
||||
def build():
|
||||
E = {e["key"]: e for e in ENGINES}
|
||||
doc = Document()
|
||||
sec = doc.sections[0]
|
||||
sec.page_width, sec.page_height = Cm(21.0), Cm(29.7)
|
||||
sec.left_margin = sec.right_margin = Cm(2.0)
|
||||
sec.top_margin = sec.bottom_margin = Cm(2.0)
|
||||
|
||||
# 표지 블록
|
||||
para(doc, "INFINITH AI Discovery", 11, True, VIOLET, 4)
|
||||
heading(doc, "답변엔진 확장 검토 보고서", 0)
|
||||
para(doc, "질문 뱅크 120문항 기준 비용 추정과 후보 엔진별 약관 검토", 13, False, INDIGO, 4)
|
||||
para(doc, "작성일 2026-09-15 · 단가 확인일 2026-09-15 · 환율 1 USD = ₩1,345 가정", 10, False, GRAY, 14)
|
||||
|
||||
# 1. 요약
|
||||
heading(doc, "1. 요약")
|
||||
gpt4o, sonar, sonnet, gem = E["gpt4o"], E["sonar"], E["sonnet5"], E["gemini"]
|
||||
cur_q = per_question(gpt4o, "mid") + per_question(sonar, "mid")
|
||||
add_claude_q = per_question(sonnet, "mid")
|
||||
bullets(doc, [
|
||||
("현재 실측 엔진은 2개입니다. ", "ChatGPT(gpt-4o + 웹 검색)와 Perplexity(sonar)입니다. 36개 진단 항목은 AI 모델 없이 규칙 검사로 판정합니다."),
|
||||
("바로 추가할 수 있는 엔진은 Claude입니다. ", "공식 API에 웹 검색 도구가 있고, 결과 저장·분석을 막는 조항을 확인하지 못했습니다."),
|
||||
("Gemini와 Copilot은 약관이 측정 용도와 충돌합니다. ", "Gemini는 그라운딩 결과의 분석·자동 수집을, Bing 그라운딩은 결과 저장·데이터베이스화를 금지합니다."),
|
||||
("비용은 크지 않습니다. ",
|
||||
f"현행 2개 엔진의 120문항 1회 측정은 약 {usd(cur_q * QUESTIONS)}({won(cur_q * QUESTIONS)})이고, "
|
||||
f"Claude를 더하면 1회 약 {usd(add_claude_q * QUESTIONS)}({won(add_claude_q * QUESTIONS)})가 늘어납니다. 모두 중앙 추정치이며 후처리(병원명 추출·어조 판정) 비용을 포함합니다."),
|
||||
("네이버 AI 브리핑은 측정 API가 없습니다. ", "수동 스팟체크를 유지합니다."),
|
||||
])
|
||||
|
||||
# 2. 현재 구성
|
||||
heading(doc, "2. 현재 측정 구성")
|
||||
table(doc, ["역할", "모델 · 방식", "코드 위치"], [
|
||||
["답변엔진 실측 ①", "OpenAI gpt-4o + Responses API web_search (서울 고정, 영문판 뉴욕)", "scripts/run_question_bank_openai.py"],
|
||||
["답변엔진 실측 ②", "Perplexity sonar (웹 검색 내장)", "scripts/run_question_bank_openai.py"],
|
||||
["병원명·순위 추출", "OpenAI gpt-4o-mini (키 없으면 Gemini 2.5 Flash)", "scripts/run_question_bank_openai.py"],
|
||||
["어조 판정", "OpenAI gpt-4.1, temperature 0", "scripts/sentiment_qb.py"],
|
||||
["36개 항목 진단", "AI 모델 미사용. 크롤링 규칙 검사 + Wikidata 조회", "scripts/audit_aeo_geo.py"],
|
||||
], widths=[3.2, 8.6, 5.2])
|
||||
para(doc, "측정은 공식 API 답변 기준입니다. 소비자 화면(chatgpt.com 등) 자동 조회는 약관상 하지 않으므로, API 답변과 화면 답변은 다를 수 있습니다.", 10, False, GRAY)
|
||||
|
||||
# 3. 후보별 검토
|
||||
heading(doc, "3. 후보 엔진별 검토")
|
||||
table(doc, ["엔진", "공식 API", "약관상 측정 가능 여부", "판정"], [
|
||||
["Claude", "Messages API web_search 도구. user_location으로 도시·국가 지정", "저장·분석 금지 조항 미확인. 최종 사용자에게 보여줄 때 출처 표시 필요", "추가 권고"],
|
||||
["Gemini", "Grounding with Google Search. GEMINI_API_KEY 보유", "그라운딩 결과의 cache·analyze·자동 수집 금지. 질문한 사용자에게 보여주는 용도만 허용", "법무 확인 전 보류"],
|
||||
["Copilot 계열", "Azure Foundry Grounding with Bing Search", "결과의 store·cache·archive·데이터베이스화 금지. 검색 경험 앱에서만 사용", "제외"],
|
||||
["Grok", "xAI API web search 도구", "저장 금지 조항 별도 확인 안 함", "후순위 (국내 이용 비중 낮음)"],
|
||||
["Google AI Overview · AI Mode", "Google 공식 API 없음. DataForSEO·SerpApi가 결과 화면을 수집해 제공", "제3자가 소비자 화면을 수집하는 방식. 현재 수집 원칙과 불일치", "haewon 결정 필요"],
|
||||
["네이버 AI 브리핑", "없음. CLOVA Studio는 모델 API이며 브리핑 화면을 재현하지 못함", "해당 없음", "제외, 수동 스팟체크"],
|
||||
["DeepSeek · 뤼튼 · 라이너", "웹 검색이 붙은 공식 측정 API 미확인", "해당 없음", "제외"],
|
||||
], widths=[3.0, 5.2, 6.0, 2.8])
|
||||
|
||||
heading(doc, "3.1 엔진별 판단 근거", 2)
|
||||
bullets(doc, [
|
||||
("Claude. ", "검색 1,000회당 $10에 검색 결과가 입력 토큰으로 과금됩니다. 응답에 인용 URL과 인용 문장(최대 150자)이 구조화되어 와서 현재 추출 로직에 붙이기 쉽습니다. 국내 병원 고객의 이용 비중은 ChatGPT보다 낮습니다."),
|
||||
("Gemini. ", "기술 난이도는 가장 낮고 국내 비중은 Claude보다 높습니다. 다만 Gemini API 추가 약관이 Grounded Results를 \"cache, frame, syndicate, resell, analyze\" 하는 것을 금지하고, 자동 수집을 허용하지 않습니다. Vertex AI 경로의 약관이 다른지와, 진단을 요청한 고객에게 결과를 보여주는 용도로 인정되는지 법무 판단이 필요합니다."),
|
||||
("Copilot 계열. ", "Bing 그라운딩 약관이 결과를 \"Copy, store, cache, archive, or create a database of Output\" 하는 것을 금지합니다. 질문 뱅크 결과를 누적하는 방식과 양립하지 않습니다."),
|
||||
("Google AI Overview · AI Mode. ", "병원 검색에서 노출 비중이 큰 화면이고 비용도 가장 낮습니다. 대신 Google 검색 결과를 제3자 도구로 수집하는 구조라, \"소비자 화면을 자동 조회하지 않는다\"는 현재 원칙을 바꾸는 결정입니다."),
|
||||
("기존 엔진 모델 점검. ", "ChatGPT 소비자 화면은 gpt-4o보다 새 모델로 답합니다. 측정 모델을 최신 추론 모델로 바꾸면 화면 답변과의 차이가 줄지만, 문항당 비용이 약 3.5배 늘어납니다(5장 표)."),
|
||||
])
|
||||
|
||||
# 4. 비용 산정 기준
|
||||
heading(doc, "4. 비용 산정 기준")
|
||||
table(doc, ["항목", "가정", "근거"], [
|
||||
["문항 수", "120문항", "질문 뱅크 v0.1"],
|
||||
["반복", "1회, 5회 반복 두 가지", "답변 변동을 신뢰구간으로 보고하려면 5~7회 반복 필요"],
|
||||
["답변 길이", "ChatGPT 평균 962자(상위 10% 2,850자), Perplexity 평균 618자", "scripts/out 실측 결과 240건"],
|
||||
["한국어 토큰 환산", "1자 ≈ 1토큰 (보수적)", "모델별 토크나이저 차이는 범위(최소·최대)로 흡수"],
|
||||
["검색 결과 입력 토큰", "Claude 1.2만~6만, OpenAI 추론 모델 0.8만~4만, Grok 0.8만~4만", "검색 1~3회 × 결과 본문. 실측 전 가정"],
|
||||
["후처리", f"답변 1건당 약 {usd(post_cost('mid'))}", "gpt-4o-mini 추출 + gpt-4.1 어조 판정(기준표 프롬프트 약 5천 토큰)"],
|
||||
["환율", "1 USD = ₩1,345", "2026-09-13 USD/KRW 1,343.56"],
|
||||
["할인", "미적용", "Batch API 50% 할인은 적용 시 토큰 비용만 절감"],
|
||||
], widths=[3.2, 7.3, 6.5])
|
||||
|
||||
# 5. 엔진별 비용
|
||||
heading(doc, "5. 120문항 비용 추정 (엔진별)")
|
||||
para(doc, "문항당 단가는 엔진 호출 1회와 후처리 1건을 합한 값입니다. 범위는 최소·최대 가정, 굵은 값은 중앙 추정입니다.", 10, False, GRAY)
|
||||
rows = []
|
||||
for e in ENGINES:
|
||||
lo, mid, hi = (per_question(e, lv) for lv in ("low", "mid", "high"))
|
||||
rows.append([
|
||||
e["name"], e["setup"], e["status"], usd(mid),
|
||||
f"{usd(mid * QUESTIONS)}\n{won(mid * QUESTIONS)}",
|
||||
f"{usd(mid * QUESTIONS * REPEAT)}\n{won(mid * QUESTIONS * REPEAT)}",
|
||||
f"{usd(lo * QUESTIONS * REPEAT)} ~ {usd(hi * QUESTIONS * REPEAT)}",
|
||||
])
|
||||
table(doc, ["엔진", "구성", "상태", "문항당", "120문항 1회", "120문항 5회", "5회 범위"], rows,
|
||||
widths=[2.4, 3.9, 2.2, 1.6, 2.3, 2.3, 2.6], size=9, highlight_rows=(0, 2, 4))
|
||||
bullets(doc, [
|
||||
"Gemini 행은 그라운딩 무료 범위(월 5,000회) 안에서 계산했습니다. 무료 범위를 넘으면 검색 1,000회당 $14가 더해져 5회 반복 기준 최대 "
|
||||
f"{usd(1800 * 0.014)}가 늘어납니다.",
|
||||
"Copilot 계열은 약관상 사용할 수 없어 참고용으로만 적었습니다.",
|
||||
"Google AI Mode는 모델 호출이 없어 비용 대부분이 후처리입니다. Standard 대기열($0.0012)을 쓰면 수집 비용이 70% 줄어듭니다.",
|
||||
], size=10)
|
||||
heading(doc, "5.1 엔진별 산정 메모", 2)
|
||||
table(doc, ["엔진", "과금 구조"], [[e["name"], e["note"]] for e in ENGINES], widths=[3.2, 13.8], size=9)
|
||||
|
||||
# 6. 구성안
|
||||
heading(doc, "6. 구성안별 합계")
|
||||
plans = [
|
||||
("A. 현행 유지", ["gpt4o", "sonar"], "현재 운영 구성"),
|
||||
("B. 현행 + Claude", ["gpt4o", "sonar", "sonnet5"], "권고안. 랜딩에 ChatGPT·Perplexity·Claude 표기 가능"),
|
||||
("C. 모델 최신화 + Claude", ["gpt56", "sonarpro", "sonnet5"], "소비자 화면과의 차이를 줄이는 안"),
|
||||
("D. B + Gemini", ["gpt4o", "sonar", "sonnet5", "gemini"], "Gemini 약관 확인이 끝난 경우"),
|
||||
("E. D + Google AI Mode", ["gpt4o", "sonar", "sonnet5", "gemini", "aio"], "수집 원칙 변경을 결정한 경우"),
|
||||
]
|
||||
prow = []
|
||||
for name, keys, desc in plans:
|
||||
lo = sum(per_question(E[k], "low") for k in keys)
|
||||
mid = sum(per_question(E[k], "mid") for k in keys)
|
||||
hi = sum(per_question(E[k], "high") for k in keys)
|
||||
prow.append([name, f"{len(keys)}개", desc,
|
||||
f"{usd(mid * QUESTIONS)}\n{won(mid * QUESTIONS)}",
|
||||
f"{usd(mid * QUESTIONS * REPEAT)}\n{won(mid * QUESTIONS * REPEAT)}",
|
||||
f"{won(lo * QUESTIONS * REPEAT)} ~ {won(hi * QUESTIONS * REPEAT)}"])
|
||||
table(doc, ["구성안", "엔진", "설명", "120문항 1회", "120문항 5회", "5회 범위(원)"], prow,
|
||||
widths=[3.2, 1.3, 4.8, 2.5, 2.5, 3.0], size=9, highlight_rows=(1,))
|
||||
para(doc, "병원 1곳을 월 1회, 5회 반복으로 측정하면 월 비용은 \"120문항 5회\" 열과 같습니다. 병원 수에 비례해 늘어납니다.", 10, False, GRAY)
|
||||
|
||||
# 7. 권고
|
||||
heading(doc, "7. 권고와 결정 필요 사항")
|
||||
heading(doc, "7.1 권고 순서", 2)
|
||||
bullets(doc, [
|
||||
("1단계. Claude 엔진 추가 (구성안 B). ", "run_question_bank_openai.py에 엔진 클래스를 하나 추가합니다. 10문항 시험 실행으로 실제 토큰량을 확인한 뒤 120문항을 돌립니다."),
|
||||
("2단계. 기존 엔진 모델 점검. ", "10문항을 gpt-4o와 최신 추론 모델로 나란히 돌려 병원 언급률 차이를 봅니다. 차이가 크면 구성안 C로 올립니다."),
|
||||
("3단계. Gemini 약관 확인. ", "Vertex AI 약관과 AI Studio 약관을 비교하고 법무 판단을 받습니다."),
|
||||
("4단계. Google AI Mode 수집 여부 결정. ", "수집 원칙 변경이 필요합니다."),
|
||||
])
|
||||
heading(doc, "7.2 haewon 결정 필요", 2)
|
||||
table(doc, ["번호", "결정 사항", "선택지"], [
|
||||
["1", "Claude 엔진 추가와 10문항 시험 실행", "진행 / 보류"],
|
||||
["2", "측정 모델 최신화 시험 (gpt-4o 대비 최신 모델)", "진행 / 보류"],
|
||||
["3", "Gemini 약관 법무 검토 요청", "요청 / 보류"],
|
||||
["4", "Google AI Overview · AI Mode 제3자 수집 허용", "허용 / 불허"],
|
||||
["5", "Anthropic API 회사 키 발급", "발급 / 기존 키 사용"],
|
||||
], widths=[1.4, 10.0, 5.6])
|
||||
|
||||
# 8. 한계
|
||||
heading(doc, "8. 이 추정의 한계")
|
||||
bullets(doc, [
|
||||
"검색 결과 입력 토큰은 실측 전 가정입니다. Claude·OpenAI 추론 모델·Grok 비용은 이 값에 따라 2배 안팎 달라질 수 있습니다. 10문항 시험 실행 후 5장 표를 갱신합니다.",
|
||||
"Grok 검색 단가는 제3자 정리 기준이고, 약관 조항은 요약본을 읽은 것입니다. 도입 판단 전에 원문을 다시 확인해야 합니다.",
|
||||
"Gemini 3.x Flash 할인 단가는 2026-12-31까지이며, 2027-01-01부터 입력·출력 단가가 2배로 오릅니다.",
|
||||
"API 답변은 각 서비스의 소비자 앱 답변과 같지 않습니다. 엔진을 늘려도 보고서에는 \"공식 API 답변 기준\"으로 표기해야 합니다.",
|
||||
"환율 변동과 부가세는 반영하지 않았습니다.",
|
||||
], size=10)
|
||||
|
||||
# 9. 출처
|
||||
heading(doc, "9. 출처 (2026-09-15 확인)")
|
||||
for label, url in [
|
||||
("OpenAI API Pricing", "https://developers.openai.com/api/docs/pricing"),
|
||||
("Perplexity Sonar Pricing", "https://docs.perplexity.ai/getting-started/pricing"),
|
||||
("Claude Pricing", "https://platform.claude.com/docs/en/about-claude/pricing"),
|
||||
("Claude Web search tool", "https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool"),
|
||||
("Gemini API Pricing", "https://ai.google.dev/gemini-api/docs/pricing"),
|
||||
("Gemini API Additional Terms", "https://ai.google.dev/gemini-api/terms"),
|
||||
("Grounding with Bing pricing", "https://www.microsoft.com/en-us/bing/apis/grounding-pricing"),
|
||||
("Grounding with Bing legal", "https://www.microsoft.com/en-us/bing/apis/grounding-legal"),
|
||||
("xAI models", "https://docs.x.ai/docs/models"),
|
||||
("xAI Grok API pricing (제3자 정리)", "https://mem0.ai/blog/xai-grok-api-pricing"),
|
||||
("DataForSEO Google AI Mode SERP API", "https://dataforseo.com/pricing/google-serp/google-ai-mode-serp-api"),
|
||||
("CLOVA Studio API 가이드", "https://api.ncloud-docs.com/docs/ai-naver-clovastudio-summary"),
|
||||
("원·달러 환율 (2026-09-13)", "https://ko.tradingeconomics.com/south-korea/currency"),
|
||||
]:
|
||||
p = doc.add_paragraph()
|
||||
p.paragraph_format.space_after = Pt(2)
|
||||
set_font(p.add_run(f"{label} "), 9.5, True)
|
||||
set_font(p.add_run(url), 9.5, False, GRAY)
|
||||
|
||||
doc.save(OUT)
|
||||
print(OUT)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
build()
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,317 +0,0 @@
|
||||
"""
|
||||
Viewclinic AI Answer Readiness Report v2.0 덱 빌드 (INFINITH Deck 규격)
|
||||
|
||||
v1.1(2026-09-07 재검증 정정)의 실측을 그대로 두고, 점수를 기준표 v2.0(AEO 답변 준비도 100 · GEO 출처 준비도 100)으로
|
||||
바꾼 판. v1.0·v1.1 파일은 haewon이 손본 정본이라 덮어쓰지 않고 v2.0 파일로 새로 저장한다.
|
||||
|
||||
바뀐 것: 표지 배지·부제, Executive Summary KPI(AEO 42 / GEO 56), 스코어카드 2장(AEO·GEO 항목별), 로드맵 제목,
|
||||
Method(두 점수·게이트·36개 실측 신호). A~E 실측 슬라이드와 정정·요청·정직성 슬라이드는 v1.1과 같다.
|
||||
점수 원본: src/data/aeoGeoRubricV2.ts + src/lib/discoveryScoreV2.ts (docs/AEO_GEO_RUBRIC_v2.md 재채점 표).
|
||||
|
||||
폰트: haewon 확정 기준(본문 20 / 리드 24 / 카드 제목 28). ifd 분량 검사 안에서 카피를 줄였다.
|
||||
|
||||
python3 docs/reports/viewclinic/01_readiness_report/build_viewclinic_deck_v2_0.py docs/reports/viewclinic/01_readiness_report/Viewclinic_AI_Answer_Readiness_Report_v2.0.pptx
|
||||
"""
|
||||
import sys
|
||||
sys.path.insert(0, "/Users/haewonkam/.claude/skills/infinith-deck/scripts")
|
||||
from ifd import Deck
|
||||
|
||||
OUT = sys.argv[1] if len(sys.argv) > 1 else "Viewclinic_AI_Answer_Readiness_Report_v2.0.pptx"
|
||||
BODY, HEAD = 20.0, 28.0
|
||||
d = Deck()
|
||||
|
||||
# 01 Cover
|
||||
d.cover(
|
||||
eyebrow="AI DISCOVERY · AEO / GEO AUDIT v2.0",
|
||||
title_lines=["AI Answer", "Readiness Report."],
|
||||
subtitle="뷰성형외과 · viewclinic.com · 실측 2026. 08. 28 · 재검증 09. 07 · 기준표 v2.0 채점 09. 07",
|
||||
meta_right="AI Discovery Report · 2026",
|
||||
)
|
||||
|
||||
# 02 Executive summary
|
||||
s = d.slide(eyebrow="Executive Summary",
|
||||
title="답은 부족하고, ", title_accent="출처로는 절반쯤 됩니다",
|
||||
lede=["답변 준비도(AEO) 42점, 출처 준비도(GEO) 56점. 각각 100점의 독립 지표입니다.",
|
||||
"36개 실측 항목 중 32개를 확인했고, 오너 계정이 필요한 4개는 분모에서 제외했습니다."],
|
||||
section="Summary")
|
||||
k1, k2, k3, k4 = s.cards4(y=s.band_y, h=3.4)
|
||||
k1.kpi("42 / 100", "AEO · 답변 준비도", "등급 C · 정의문 0 · 라벨형 H1 · 표 0")
|
||||
k2.kpi("56 / 100", "GEO · 출처 준비도", "등급 C · 근거 없는 주장 · 후기 광고 이력")
|
||||
k3.kpi("2 / 2", "게이트 통과", "크롤러 접근 · 본문 렌더링")
|
||||
k4.kpi("4 / 36", "미검증 실측 항목", "GA4 · 서버로그 · GSC · Bing")
|
||||
|
||||
# 03 What AI sees (dark)
|
||||
s = d.slide(eyebrow="What AI Sees · 진단의 결론",
|
||||
title="문제는 차단이 아니라 ", title_accent="내용에 있습니다", dark=True, section="Findings")
|
||||
L, R = s.cards2(y=s.band_y)
|
||||
L.chip("정상", "good").rows([
|
||||
("크롤러 접근 정상", "robots.txt가 AI 검색봇 12종을 허용. Cloudflare 차단 없음."),
|
||||
("서버 렌더링 본문", "WordPress가 본문을 서버에서 렌더. JS 없이 10,757자 추출."),
|
||||
("표면이 넓습니다", "강남언니 후기 19,373건. 유튜브 1,215편. 블로그는 발행 중이고 AI 봇 허용."),
|
||||
], t_size=HEAD, b_size=BODY)
|
||||
R.chip("치명", "critical").rows([
|
||||
("누구인지 확정 불가", "MedicalClinic 스키마 없음, sameAs 비어 있음. 시술 목록 JSON-LD 무효."),
|
||||
("인용할 문장 부족", "H1 5개가 영문 라벨. HTML 표 0, 병원 정의문 0. FAQ는 프리저베뿐."),
|
||||
("표면 간 NAP 불일치", "GBP 전화번호 없음. 웹사이트가 영문 도메인. 주소 표기 3종."),
|
||||
], t_size=HEAD, b_size=BODY)
|
||||
|
||||
# 04 AEO scorecard
|
||||
s = d.slide(eyebrow="Scorecard · AEO Answer Readiness · 42",
|
||||
title="답변 준비도 ", title_accent="8개 항목",
|
||||
lede="고객의 질문에 얼마나 명확하고 충분하게 답하는가. 항목 점수는 36개 실측 항목에서 파생하고, 실측이 없는 항목은 사람이 판정했습니다.",
|
||||
section="AEO")
|
||||
W, Rail = s.cards2(y=s.band_y, split=0.66)
|
||||
W.grid(
|
||||
headers=["항목", "배점", "점수", "근거", "판정"],
|
||||
col_w=[3.5, 1.0, 1.2, 3.7, 1.5],
|
||||
rows=[
|
||||
["AEO1 질문 수요 충족", "20", "13.3", "FAQ 프리저베 1페이지뿐", "양호"],
|
||||
["AEO2 답변의 직접성", "20", "0", "병원 정의문 없음", "치명"],
|
||||
["AEO3 자기완결성", "15", "5.0", "단락에 상호·시술명 부족", "미흡"],
|
||||
["AEO4 의사결정 정보", "15", "6.0", "수치 일부 · 표 0", "미흡"],
|
||||
["AEO5 정보 구조·가독성", "10", "0", "H1 5개 영문 라벨", "치명"],
|
||||
["AEO6 다음 행동", "10", "10", "전화·예약·방문 텍스트", "우수"],
|
||||
["AEO7 텍스트 추출", "5", "3.7", "SSR 정상, alt 37% 누락", "양호"],
|
||||
["AEO8 사이트 내 발견", "5", "4.3", "sitemap · canonical", "우수"],
|
||||
],
|
||||
tones=[[None, None, None, None, "good"], [None, None, None, None, "critical"],
|
||||
[None, None, None, None, "warning"], [None, None, None, None, "warning"],
|
||||
[None, None, None, None, "critical"], [None, None, None, None, "info"],
|
||||
[None, None, None, None, "good"], [None, None, None, None, "info"]],
|
||||
row_h=0.56, size=BODY - 2,
|
||||
)
|
||||
Rail.title("읽는 법", size=HEAD).bullets([
|
||||
"8항목 합 100. 검증 8/8, 42.3점 = 42.",
|
||||
"0점 두 항목(정의문·H1)이 40점을 비웁니다.",
|
||||
"AEO6은 사람 판정. 나머지는 실측 파생.",
|
||||
], size=BODY)
|
||||
|
||||
# 05 GEO scorecard
|
||||
s = d.slide(eyebrow="Scorecard · GEO Source Readiness · 56",
|
||||
title="출처 준비도 ", title_accent="8개 항목",
|
||||
lede="그 답을 얼마나 검증하고 신뢰할 수 있는 출처로 쓸 수 있는가. 정본 URL과 갱신 신호는 만점, 근거와 투명성이 깎입니다.",
|
||||
section="GEO")
|
||||
W, Rail = s.cards2(y=s.band_y, split=0.66)
|
||||
W.grid(
|
||||
headers=["항목", "배점", "점수", "근거", "판정"],
|
||||
col_w=[3.5, 1.0, 1.2, 3.7, 1.5],
|
||||
rows=[
|
||||
["GEO1 주장·근거 일치", "20", "6.7", "수상·1위 주장 원문 없음", "미흡"],
|
||||
["GEO2 출처 추적성", "15", "15", "http → 301 정본 수렴", "우수"],
|
||||
["GEO3 전문성·책임", "15", "6.0", "약력 일부, 스키마 없음", "미흡"],
|
||||
["GEO4 엔티티 정합성", "15", "7.0", "강남언니 강함, NAP 3종", "미흡"],
|
||||
["GEO5 최신성·정정", "10", "10", "수정일 표기, sitemap 최신", "우수"],
|
||||
["GEO6 원천 대비 가치", "10", "6.7", "주의사항·애프터케어 고유", "양호"],
|
||||
["GEO7 발행 투명성", "10", "3.3", "후기 광고 시정명령 07-12", "미흡"],
|
||||
["GEO8 인용 메타데이터", "5", "1.7", "JSON-LD 1블록 무효", "미흡"],
|
||||
],
|
||||
tones=[[None, None, None, None, "warning"], [None, None, None, None, "info"],
|
||||
[None, None, None, None, "warning"], [None, None, None, None, "warning"],
|
||||
[None, None, None, None, "info"], [None, None, None, None, "good"],
|
||||
[None, None, None, None, "warning"], [None, None, None, None, "warning"]],
|
||||
row_h=0.56, size=BODY - 2,
|
||||
)
|
||||
Rail.title("읽는 법", size=HEAD).bullets([
|
||||
"8항목 합 100. 검증 8/8, 56.4점 = 56.",
|
||||
"GEO1·GEO6·GEO7은 사람 판정(09-07 초안).",
|
||||
"근거 원문 링크만 붙여도 20점이 열립니다.",
|
||||
], size=BODY)
|
||||
|
||||
# 06 A 접근성
|
||||
s = d.slide(eyebrow="A · Access & Crawlability · 실측 98%",
|
||||
title="크롤러 접근은 ", title_accent="열려 있습니다", section="A · Access")
|
||||
L, R = s.cards2(y=s.band_y)
|
||||
L.chip("우수 · 3/3", "info").rows([
|
||||
("A1 검색용 AI 봇 허용", "Disallow는 /wp-admin/ 뿐. 12종 UA로 GET, 전부 200."),
|
||||
("A2 CDN 차단 없음", "nginx 직접 응답. Cloudflare 헤더와 AI UA 챌린지 없음."),
|
||||
("A4 HTTPS 정합", "http → 301 → https://www.viewclinic.com/ 정본 수렴."),
|
||||
], t_size=HEAD, b_size=BODY)
|
||||
R.chip("보완·미검증", "warning").rows([
|
||||
("A5 sitemap 우수", "page·portfolio lastmod 2026-08-31. 블로그는 별도 서브도메인."),
|
||||
("A7 응답 속도·무게", "TTFB 0.135s 양호. 초기 HTML 838KB, 기준 300KB의 2.8배."),
|
||||
("A6 Bing 색인 (미검증)", "ChatGPT 검색은 Bing 인덱스 의존. 계정 확인 필요."),
|
||||
], t_size=HEAD, b_size=BODY)
|
||||
|
||||
# 07 B 엔티티 (dark)
|
||||
s = d.slide(eyebrow="B · Entity & Structured Data · 실측 25%",
|
||||
title="AI가 병원을 아직 ", title_accent="하나로 묶지 못합니다", dark=True, section="B · Entity")
|
||||
L, R = s.cards2(y=s.band_y)
|
||||
L.chip("치명", "critical").rows([
|
||||
("B1 JSON-LD 문법 무효", "ItemList 블록 쉼표 누락. 09-07에도 그대로. 파서가 통째로 버림."),
|
||||
("B2 MedicalClinic 없음", "Organization·WebSite·WebPage만. 주소·전화·진료시간 미구조화."),
|
||||
("B3 Physician 없음", "의료진은 텍스트와 이미지뿐. 누가 수술하는지 기계가 못 읽음."),
|
||||
], t_size=HEAD, b_size=BODY)
|
||||
R.chip("미흡", "warning").rows([
|
||||
("B5 sameAs 비어 있음", "푸터에 유튜브·인스타·블로그 링크가 있으나 스키마 미연결."),
|
||||
("B4 NAP 표기 3종 혼재", "주소 표기 3종. 전화도 2회선과 휴대폰 혼재."),
|
||||
("B7 영문 사이트 미연결", "viewplasticsurgery.com이 별도. hreflang 없음."),
|
||||
], t_size=HEAD, b_size=BODY)
|
||||
|
||||
# 08 C 콘텐츠
|
||||
s = d.slide(eyebrow="C · Answer-Ready Content · 실측 44%",
|
||||
title="프리저베 페이지가 ", title_accent="인용 구조의 기준입니다", section="C · Content")
|
||||
L, R = s.cards2(y=s.band_y)
|
||||
L.chip("0점 항목", "critical").rows([
|
||||
("C1 병원 정의문 없음", "메인은 슬라이더와 라벨. 가슴성형 페이지 첫 텍스트는 상담 폼."),
|
||||
("C3 H1 5개, 전부 라벨", "가슴·코·오시는길은 H1 없음. 프리저베만 H1 1개 서술형."),
|
||||
("C5 HTML 표 없음", "5개 페이지 모두 table 0개. 비교 정보는 이미지."),
|
||||
], t_size=HEAD, b_size=BODY)
|
||||
R.chip("부분 점수", "warning").rows([
|
||||
("C2 FAQ는 프리저베에만", "FAQ 7문항과 유효한 FAQPage 스키마. 다른 시술 페이지는 없음."),
|
||||
("C4 수치는 시술 상세에", "프리저베 20~40분·회복 1~3일, 코 1~2시간·실밥 7일. 가격대 없음."),
|
||||
("C6 신선도 정상", "시술 페이지 2026-04-17, sitemap 08-31, 블로그 09-07 게시."),
|
||||
], t_size=HEAD, b_size=BODY)
|
||||
|
||||
# 09 D 표면 / E 측정 (dark)
|
||||
s = d.slide(eyebrow="D · Surfaces / E · Measurement",
|
||||
title="강남언니는 강하고, ", title_accent="GBP 보완이 필요합니다", dark=True, section="D · Surfaces")
|
||||
L, R = s.cards2(y=s.band_y)
|
||||
L.chip("D · 표면 실측 68%", "good").rows([
|
||||
("D1 강남언니 우수", "후기 19,373건, 의료진 26명, 이벤트 52건. 핵심 표면 확보."),
|
||||
("D2 GBP 4.9점 (901)", "게시물 활성. 전화번호 미등록, 웹사이트 영문 도메인(08-28 실측)."),
|
||||
("D3 오픈웹 표면", "유튜브 1,215편, 블로그 발행 중, 언론 1,137건. NAP 불일치로 3점 보류."),
|
||||
], t_size=HEAD, b_size=BODY)
|
||||
R.chip("E · 측정 (점수 밖 부가 지표)", "critical").rows([
|
||||
("E1 크롤러 로그", "nginx 직접 호스팅. AI 봇 히트 추출 파이프라인 없음."),
|
||||
("E2 GA4 AI 유입 채널", "chatgpt.com·perplexity.ai 채널그룹 없음. 계정 접근 필요."),
|
||||
("E4 기준선 반복 측정", "120문항 API 실측 1회(09-01). 반복 측정은 미실시."),
|
||||
], t_size=HEAD, b_size=BODY)
|
||||
|
||||
# 10 Action plan
|
||||
s = d.slide(eyebrow="Action Plan",
|
||||
title="지금 고칠 것과 ", title_accent="4주 안에 만들 것", section="Action Plan")
|
||||
a, b, c = s.cards3(y=s.band_y)
|
||||
a.chip("P0 · 1일~1주 · GEO", "critical").title("엔티티·근거·측정", size=HEAD).bullets([
|
||||
"깨진 JSON-LD 수정, MedicalClinic 스키마.",
|
||||
"수상·1위 주장에 원문 링크와 시점.",
|
||||
"GBP 전화번호 등록, 4개 표면 NAP 통일.",
|
||||
"GA4 AI 채널, 서버로그, GSC·Bing.",
|
||||
], size=BODY)
|
||||
b.chip("P1 · 4주 내 · AEO", "warning").title("콘텐츠 구조", size=HEAD).bullets([
|
||||
"핵심 페이지 첫 단락에 병원 정의문.",
|
||||
"프리저베 구조를 가슴·코·눈·윤곽으로 확산.",
|
||||
"비교표를 HTML 표로. H1 재설계.",
|
||||
"Physician 스키마, alt 111개 보완.",
|
||||
], size=BODY)
|
||||
c.chip("P2 · 지속", "good").title("연결·시딩", size=HEAD).bullets([
|
||||
"블로그 글과 시술 페이지를 내부 링크로.",
|
||||
"유튜브 영상을 블로그 글로 전사.",
|
||||
"월 1회 갱신, 분기 1회 반복 측정.",
|
||||
], size=BODY)
|
||||
|
||||
# 11 Roadmap (dark)
|
||||
s = d.slide(eyebrow="Roadmap · 8 Weeks",
|
||||
title="8주 안에 ", title_accent="AEO·GEO 모두 C에서 B로", dark=True, section="Roadmap")
|
||||
s.stats3([
|
||||
("W1–2", "스키마·NAP·근거 링크·측정 인프라.\n기준선 반복 측정 1회."),
|
||||
("W3–6", "정의문·FAQ·H1 재설계·HTML 표.\nWordPress 업그레이드."),
|
||||
("W7–8", "재진단. 미검증 4개 반영해\nAEO·GEO 재산정."),
|
||||
], y=s.band_y + 0.6)
|
||||
|
||||
# 12 Validation
|
||||
s = d.slide(eyebrow="Validation · 120-Question Live Test",
|
||||
title="진단을 120문항 실측으로 ", title_accent="검증했습니다",
|
||||
lede="잠재 환자 질문 120개를 OpenAI·Perplexity 정식 API로 질의해 예측력을 채점했습니다 (09-01).",
|
||||
section="Validation")
|
||||
L, R = s.cards2(y=s.band_y)
|
||||
L.chip("예측 적중", "good").rows([
|
||||
("논브랜드 질문에서 부재", "84문항 중 Perplexity 3, ChatGPT 10문항만 언급. 시술 정보 52문항은 0건."),
|
||||
("원인은 답변 준비도(AEO)", "병원 정의문 0, HTML 표 0, FAQ는 한 페이지. 시술별 인용 단락 부재."),
|
||||
("표면이 브랜드 방어", "병원명을 아는 36문항은 97~100% 답변. 근거는 강남언니·GBP·뉴스."),
|
||||
], t_size=HEAD, b_size=BODY)
|
||||
R.chip("진단 밖 발견", "info").rows([
|
||||
("제3자 표면이 더 넓습니다", "뉴스·채용공고·바비톡·네이버 예약이 개원연도·주차·휴진을 답함."),
|
||||
("발행 중인 블로그가 인용됨", "ChatGPT 추천 근거가 blog.viewclinic.com. 정정 반영."),
|
||||
("엔진별 오답 편차", "주차 질문에 Perplexity는 정답, ChatGPT는 추측. 구조화 부재의 비용."),
|
||||
], t_size=HEAD, b_size=BODY)
|
||||
|
||||
# 13 Corrections (dark)
|
||||
s = d.slide(eyebrow="Corrections · 2026-09-07 재검증",
|
||||
title="v1.0에서 틀린 것 ", title_accent="세 가지를 바로잡습니다", dark=True,
|
||||
lede="홈·프리저베·가슴·코·오시는길 5개 URL의 원본 HTML을 다시 받아 파싱했습니다. 이 실측이 v2.0 점수의 신호입니다.",
|
||||
section="Corrections")
|
||||
L, R = s.cards2(y=s.band_y)
|
||||
L.chip("정정", "warning").rows([
|
||||
("블로그 정지 → 발행 중", "www post-sitemap만 본 오판. blog.viewclinic.com은 09-07까지 발행, AI 봇 14종 허용."),
|
||||
("FAQ 0개 → 프리저베 7문항", "2개 URL 결과를 전체로 일반화. 프리저베에 FAQ 7문항과 FAQPage 스키마. C2 0→2."),
|
||||
("수치 없음 → 시술 상세에 있음", "프리저베·코·윤곽 페이지에 수술시간·마취·회복 텍스트. 가격대는 없음. C4 1→2."),
|
||||
], t_size=HEAD, b_size=BODY)
|
||||
R.chip("유지 · 재확인", "info").rows([
|
||||
("그대로 확인된 것", "H1 5개 라벨, ItemList 파싱 실패, sameAs 빈 값, 표 0개, 진료시간 이미지, WP 5.5.3."),
|
||||
("점수 체계 변경", "v1.0 종합 54점(C)은 참고값. v2.0은 AEO 42 · GEO 56 두 점수로 봅니다."),
|
||||
("재확인 필요", "GBP 전화번호·웹사이트는 08-28 실측값. 병원이 고쳤다면 GEO4 재채점."),
|
||||
], t_size=HEAD, b_size=BODY)
|
||||
|
||||
# 14 Request to the clinic
|
||||
s = d.slide(eyebrow="Request · 뷰 서포터즈 강화를 위해",
|
||||
title="뷰성형외과에 ", title_accent="부탁드리는 것",
|
||||
lede=["서포터즈 사이트 18편(검토 완료 10편)을 병원의 공식 답으로 완성하려면 병원만 아는 정보가 필요합니다.",
|
||||
"아래 항목은 담당자 한 분이 1~2주 안에 처리하실 수 있는 범위로 추렸습니다."],
|
||||
section="Request")
|
||||
a, b, c = s.cards3(y=s.band_y)
|
||||
a.chip("정보 · 병원만 아는 사실", "info").title("알려 주시면 반영합니다", size=HEAD).bullets([
|
||||
"가슴성형 견적 기본 포함 항목과 결제 방식.",
|
||||
"가슴성형 후 출근 기준과 걷기 시작 시점.",
|
||||
"타원 수술 재수술 상담 가능 여부.",
|
||||
"코·윤곽 재수술 대기 기간, 코 실밥 제거일.",
|
||||
], size=BODY)
|
||||
b.chip("확인 · 검토와 승인", "warning").title("확인해 주시면 켜집니다", size=HEAD).bullets([
|
||||
"검토 대기 5편의 담당 원장 확정과 검토일.",
|
||||
"검토 완료 10편의 기록을 병원 기록과 대조.",
|
||||
"서포터즈 지원 관계 문구 확정.",
|
||||
"작성자 실명·편집 책임자 표기 승인.",
|
||||
], size=BODY)
|
||||
c.chip("액션 · 홈페이지 쪽", "critical").title("병원이 직접 고쳐야 합니다", size=HEAD).bullets([
|
||||
"ItemList JSON-LD 오류 수정, MedicalClinic 추가.",
|
||||
"GBP 전화번호 등록, 웹사이트 교정.",
|
||||
"프리저베 구조를 다른 시술 페이지로 확산.",
|
||||
"서포터즈 정식 도메인 확정과 링크 연결.",
|
||||
], size=BODY)
|
||||
|
||||
# 15 Integrity
|
||||
s = d.slide(eyebrow="What We Don't Sell · 정직성 규약",
|
||||
title="근거 없는 것은 ", title_accent="약속하지 않습니다", section="Integrity")
|
||||
a, b, c = s.cards3(y=s.band_y)
|
||||
a.icon_square().title("만들지 않는 것", size=HEAD).bullets([
|
||||
"llms.txt. Google 공식 효과 0, 요청 로그 없음.",
|
||||
"네이버 블로그 증량. AI 크롤링 금지 도메인.",
|
||||
], size=BODY)
|
||||
b.icon_square().title("약속하지 않는 것", size=HEAD).bullets([
|
||||
"\"스키마 넣으면 인용됩니다\". 인과 증거 없음.",
|
||||
"순위·노출 보장. 답변은 10~34% 흔들림.",
|
||||
], size=BODY)
|
||||
c.icon_square().title("측정 규율", size=HEAD).bullets([
|
||||
"단발 조회 보고 금지. 반복 측정만.",
|
||||
"답변엔진 UI 자동 조회 금지. 약관 위반.",
|
||||
"틀린 판정은 정정 슬라이드로 남깁니다.",
|
||||
], size=BODY)
|
||||
|
||||
# 16 Method
|
||||
s = d.slide(eyebrow="Method · AEO / GEO Rubric v2.0",
|
||||
title="두 점수, 각 100점, ", title_accent="36개 실측 신호", section="Method")
|
||||
a, b, c = s.cards3(y=s.band_y)
|
||||
a.icon_square().title("두 축의 질문", size=HEAD).bullets([
|
||||
"AEO: 질문에 얼마나 명확히 답하는가.",
|
||||
"GEO: 그 답을 출처로 믿을 수 있는가.",
|
||||
"같은 항목을 두 점수에 겹쳐 넣지 않습니다.",
|
||||
], size=BODY)
|
||||
b.icon_square().title("채점 방식", size=HEAD).bullets([
|
||||
"축당 8항목 × 배점. 미검증은 분모 제외.",
|
||||
"실측 36항목의 0~3 레벨을 신호로 씁니다.",
|
||||
"실측이 없는 4항목은 사람이 근거와 함께 판정.",
|
||||
], size=BODY)
|
||||
c.icon_square().title("게이트와 등급", size=HEAD).bullets([
|
||||
"크롤러 차단·본문 미렌더는 점수 아닌 상한 40.",
|
||||
"등급 A 81+ · B 61~80 · C 41~60 · D 40 이하.",
|
||||
"제품용 기준이며 인용 확률이 아닙니다.",
|
||||
], size=BODY)
|
||||
|
||||
# 17 Closing
|
||||
d.closing(eyebrow="Next Step",
|
||||
title_lines=["출처는 절반쯤 왔습니다.", "답을 먼저 쓰면 됩니다."],
|
||||
lede="P0 세 가지: 스키마, 근거 링크, NAP 통일. 서포터즈 요청은 담당자 한 분이 처리할 수 있습니다.",
|
||||
cta_primary="P0 착수하기 →", cta_secondary="서포터즈 사이트 보기",
|
||||
contact="o2oteam@o2o.kr")
|
||||
|
||||
d.save(OUT)
|
||||
print("saved", OUT)
|
||||
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
# 뷰성형외과 Question Bank 실측 결과: ChatGPT(OpenAI) x Perplexity x 네이버 AI 브리핑 통합
|
||||
# 뷰성형외과 Question Bank 실측 결과: ChatGPT(OpenAI) x Perplexity 통합
|
||||
|
||||
측정일: ChatGPT(OpenAI) 2026-09-01 · Perplexity 2026-09-01 · 네이버 AI 브리핑 2026-09-15
|
||||
측정 방식: OpenAI Responses API + web_search(gpt-4o, 서울 고정) / Perplexity API(sonar) / 네이버 AI 브리핑(SerpApi naver_ai_overview, 제3자 SERP API, 모바일). 답변엔진 소비자 UI 자동 조회는 약관 위반이므로 정식 API로 측정했다. 네이버는 공식 API가 없어 제3자 API를 썼으며, 고객 리포트 사용 전 법무 확인이 필요하다.
|
||||
측정일: 2026-09-01
|
||||
측정 방식: OpenAI Responses API + web_search(gpt-4o, 서울 고정) / Perplexity API(sonar). 답변엔진 소비자 UI 자동 조회는 약관 위반이므로 정식 API로 측정했다.
|
||||
|
||||
## 요약
|
||||
|
||||
@ -9,9 +9,6 @@
|
||||
|---|---|---|
|
||||
| ChatGPT(OpenAI) | 35/36 (97%) | 10/84 (11%) |
|
||||
| Perplexity | 36/36 (100%) | 3/84 (3%) |
|
||||
| 네이버 AI 브리핑 | 36/36 (100%) | 1/84 (1%) |
|
||||
|
||||
네이버 AI 브리핑 노출: 119/120문항. 브리핑이 뜨지 않은 문항은 언급 없음으로 셌다.
|
||||
|
||||
브랜드 질문은 질문 문장에 '뷰성형외과'가 들어간 문항이다. 승부처인 논브랜드 질문(추천·비교·시술 정보)에서의 언급률이 AI Discovery의 실제 성적이다.
|
||||
|
||||
@ -55,199 +52,179 @@
|
||||
| 원진성형외과 | 2 | 0 |
|
||||
| 노트성형외과 | 2 | 0 |
|
||||
|
||||
### 네이버 AI 브리핑: 논브랜드 질문에서 언급된 병원 상위 15
|
||||
|
||||
| 병원 | 언급 질문 수 | 1순위 등장 수 |
|
||||
|---|---|---|
|
||||
| 더성형외과 | 2 | 2 |
|
||||
| 나나 | 2 | 0 |
|
||||
| 위쉬 | 2 | 0 |
|
||||
| 노트성형외과 | 2 | 0 |
|
||||
| 디에이성형외과 | 2 | 1 |
|
||||
| 플레저성형외과의원 | 1 | 1 |
|
||||
| 강남오엘의원 | 1 | 0 |
|
||||
| 밴스성형외과의원 | 1 | 0 |
|
||||
| 업투유 | 1 | 1 |
|
||||
| 뷰성형외과 | 1 | 0 |
|
||||
| 아이니크성형외과의원 | 1 | 1 |
|
||||
| 청담여신성형외과의원 | 1 | 0 |
|
||||
| 아이앤지성형외과의원 | 1 | 0 |
|
||||
| 오인성형외과의원 | 1 | 0 |
|
||||
| 강남제일 성형외과 | 1 | 0 |
|
||||
|
||||
## 문항별 결과
|
||||
|
||||
GPT/PPLX/NAVER 컬럼: O(순위) = 뷰성형외과 언급과 답변 내 등장 순번, X = 미언급, 브리핑 없음 = 네이버가 AI 브리핑을 띄우지 않음.
|
||||
GPT/PPLX 컬럼: O(순위) = 뷰성형외과 언급과 답변 내 등장 순번, X = 미언급.
|
||||
|
||||
### A. 브랜드 직접
|
||||
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 | NAVER | NAVER 상위 병원 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| A-01 | 뷰성형외과 어때? 믿을만한 병원이야? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| A-02 | 뷰성형외과는 어떤 병원이야? 소개해줘 | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| A-03 | 뷰성형외과는 무슨 수술을 주로 해? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| A-04 | 뷰성형외과 최순우 원장 어떤 의사야? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과, 서울대학교병원 성형외과 | O (1위) | 뷰성형외과 |
|
||||
| A-05 | 뷰성형외과 의료진 몇 명이야? 다 전문의야? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과의원 | O (1위) | 뷰성형외과의원 |
|
||||
| A-06 | 뷰성형외과가 렛미인 나온 병원 맞아? | ✕ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| A-07 | 뷰성형외과 언제 생긴 병원이야? 오래됐어? | ✕ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| A-08 | 뷰성형외과 건물이 통째로 병원이라던데 맞아? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과, 스마일뷰치과의원 | O (1위) | 뷰성형외과의원 |
|
||||
| A-09 | 뷰성형외과 강남언니 평점 몇 점이야? | ◯ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과의원 | O (1위) | 뷰성형외과의원 |
|
||||
| A-10 | 뷰성형외과 유튜브 채널 있어? | ◯ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과, 레아트성형외과의원 |
|
||||
| A-11 | 뷰성형외과랑 다른 강남 대형 성형외과랑 뭐가 달라? | ✕ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| A-12 | 뷰성형외과 단점이나 주의할 점 있어? | ✕ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| A-01 | 뷰성형외과 어때? 믿을만한 병원이야? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| A-02 | 뷰성형외과는 어떤 병원이야? 소개해줘 | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| A-03 | 뷰성형외과는 무슨 수술을 주로 해? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| A-04 | 뷰성형외과 최순우 원장 어떤 의사야? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과, 서울대학교병원 성형외과 |
|
||||
| A-05 | 뷰성형외과 의료진 몇 명이야? 다 전문의야? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과의원 |
|
||||
| A-06 | 뷰성형외과가 렛미인 나온 병원 맞아? | ✕ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| A-07 | 뷰성형외과 언제 생긴 병원이야? 오래됐어? | ✕ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| A-08 | 뷰성형외과 건물이 통째로 병원이라던데 맞아? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과, 스마일뷰치과의원 |
|
||||
| A-09 | 뷰성형외과 강남언니 평점 몇 점이야? | ◯ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과의원 |
|
||||
| A-10 | 뷰성형외과 유튜브 채널 있어? | ◯ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| A-11 | 뷰성형외과랑 다른 강남 대형 성형외과랑 뭐가 달라? | ✕ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| A-12 | 뷰성형외과 단점이나 주의할 점 있어? | ✕ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
### B. 위치·운영
|
||||
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 | NAVER | NAVER 상위 병원 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| B-01 | 뷰성형외과 주소 어디야? | ◯ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과의원 |
|
||||
| B-02 | 뷰성형외과 신논현역에서 얼마나 걸려? | ◯ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과의원 |
|
||||
| B-03 | 뷰성형외과 전화번호 알려줘 | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| B-04 | 뷰성형외과 진료시간 어떻게 돼? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과의원 |
|
||||
| B-05 | 뷰성형외과 일요일이나 공휴일에도 해? | ✕ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과의원 |
|
||||
| B-06 | 뷰성형외과 주차 되나? | ✕ | O (1위) | 뷰성형외과, 아이비성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| B-07 | 뷰성형외과 상담 예약 어떻게 해? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| B-08 | 뷰성형외과 카톡으로 상담돼? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| B-09 | 뷰성형외과 상담받으러 가면 몇 층으로 가? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과, 뷰성형외과의원 |
|
||||
| B-10 | 신논현역 3번 출구 근처 성형외과 뭐 있어? | ◯ | O (1위) | VIEW Plastic Surgery, 스타라인성형외과, 포레성형외과의원, 링크성형외과, 플레저성형외과 | O (8위) | 우아인성형외과, 플레저성형외과, 링크성형외과, 나나성형외과, 밴스성형외과(신논현점) | X | 플레저성형외과의원, 강남오엘의원, 밴스성형외과의원 |
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| B-01 | 뷰성형외과 주소 어디야? | ◯ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| B-02 | 뷰성형외과 신논현역에서 얼마나 걸려? | ◯ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| B-03 | 뷰성형외과 전화번호 알려줘 | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| B-04 | 뷰성형외과 진료시간 어떻게 돼? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| B-05 | 뷰성형외과 일요일이나 공휴일에도 해? | ✕ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| B-06 | 뷰성형외과 주차 되나? | ✕ | O (1위) | 뷰성형외과, 아이비성형외과 | O (1위) | 뷰성형외과 |
|
||||
| B-07 | 뷰성형외과 상담 예약 어떻게 해? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| B-08 | 뷰성형외과 카톡으로 상담돼? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| B-09 | 뷰성형외과 상담받으러 가면 몇 층으로 가? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| B-10 | 신논현역 3번 출구 근처 성형외과 뭐 있어? | ◯ | O (1위) | VIEW Plastic Surgery, 스타라인성형외과, 포레성형외과의원, 링크성형외과, 플레저성형외과 | O (8위) | 우아인성형외과, 플레저성형외과, 링크성형외과, 나나성형외과, 밴스성형외과(신논현점) |
|
||||
### C. 지역 추천·비교
|
||||
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 | NAVER | NAVER 상위 병원 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| C-01 | 강남 성형외과 추천해줘 | ✕ | O (5위) | Honesty Plastic Surgery, Kokoline Clinic, Sketch Plastic Surgery, Shimmian Clinic, The Door Plastic Surgery | X | 바노바기성형외과, 디에이성형외과, 1mm성형외과, 에디션성형외과의원, 시크릿성형외과·피부과 | O (1위) | 업투유, 뷰성형외과 |
|
||||
| C-02 | 강남에서 가슴성형 잘하는 병원 어디야? | ✕ | O (2위) | 우아성형외과, 뷰성형외과의원, 아이디병원, 바탕성형외과, 위쉬성형외과 | X | 엄나구모 성형외과, 유앤유성형외과, 윈느성형외과, 바노바기성형외과, 마블성형외과 | X | (병원 언급 없음) |
|
||||
| C-03 | 강남 안면윤곽 유명한 병원 알려줘 | ✕ | X | 플랜에스의원 강남, 한미인의원 강남본점, 오르타의원 신관, 팽팽의원 강남, Bondi Plastic Surgery | X | 아이디병원, 삼사오성형외과, 오늘성형외과, 유노성형외과, 현대미학성형외과 | X | 아이니크성형외과의원, 청담여신성형외과의원, 아이앤지성형외과의원, 오인성형외과의원, 강남제일 성형외과 |
|
||||
| C-04 | 코성형 잘하는 강남 병원 추천해줘 | ✕ | O (4위) | 기린성형외과 서초, 어린공주성형외과 강남, ID병원 강남, 뷰성형외과 강남, 프리미엄 리벤스 이비인후과의원 | X | 코원성형외과의원, 링크성형외과, 오엠성형외과, 코비쥬의원, 베리굿 성형외과 | X | (병원 언급 없음) |
|
||||
| C-05 | 눈 재수술 잘하는 병원 어디야? | ✕ | X | (병원 언급 없음) | X | 더스완성형외과, 강남서연성형외과, 팝성형외과, JK성형외과 | X | (병원 언급 없음) |
|
||||
| C-06 | 강남 성형외과 톱5 알려줘 | ✕ | O (2위) | The Door Plastic Surgery, View Plastic Surgery, Rohsanghoon Plastic Surgery, Gangnam Oz Plastic Surgery, The Plastic Surgery | X | 아이디병원, 원진성형외과, JK성형외과, 바노바기성형외과, 그랜드성형외과 | X | 탑클래스성형외과의원, 강남성형외과 |
|
||||
| C-07 | 가슴성형 병원 3곳만 골라서 비교해줘 | ✕ | X | 강남 세란성형외과, 병원ABC, 병원XYZ | X | 땡큐성형외과의원, 밴스성형외과의원, 티제이성형외과의원 | X | 더성형외과, 나나, 위쉬, 조이플, 노트성형외과 |
|
||||
| C-08 | 마취과 전문의가 상주하는 강남 성형외과 어디야? | △ | O (3위) | 디에이성형외과, 윈느성형외과, 뷰성형외과의원, 더성형외과, 제이스성형외과 | X | 디에이성형외과, 현대미학성형외과, 노트성형외과, 에이비성형외과, 우리성형외과 | X | 디에이성형외과, 현대미학성형외과, V&MJ피부과의원, 서울페이스21, 강남수병원 |
|
||||
| C-09 | 수술실 CCTV 있는 성형외과 추천해줘 | △ | X | 리브리 성형외과, 브라운 성형외과, 스케치 성형외과, 이룸 성형외과, 에이펙스 성형외과 | X | 이룸성형외과, BK성형외과, 라이크성형외과, 티와이성형외과 | X | 마인성형외과의원, 옐로우성형외과의원, 특정 강남역 성형외과 |
|
||||
| C-10 | 여의사한테 수술받을 수 있는 성형외과 있어? | △ | X | (병원 언급 없음) | X | 조이플성형외과의원, 시크릿성형외과, 홍승현성형외과의원 | X | (병원 언급 없음) |
|
||||
| C-11 | 후기 제일 많은 강남 성형외과 어디야? | △ | O (5위) | 한미인의원 강남본점, 쁨글로벌의원 강남점, 팽팽의원 강남, 아비쥬의원 강남점, 릴리브의원 압구정 | X | 우리성형외과의원, 어린공주성형외과의원, 반니성형외과의원 | X | (병원 언급 없음) |
|
||||
| C-12 | 강남언니에서 평점 높은 성형외과 알려줘 | △ | O (6위) | 디에이성형외과의원, 팝성형외과의원, 나나성형외과의원, 에이트성형외과의원, 아이디병원‑본원 | O (6위) | 인트로성형외과의원, 그날성형외과의원, 우리성형외과의원, 팝성형외과의원, 삼사오성형외과의원 | 브리핑 없음 | - |
|
||||
| C-13 | 20년 넘게 운영한 강남 성형외과 있어? | ✕ | X | 제림성형외과, 김종서 성형외과, JK 성형외과, 아이디 병원, JW 성형외과 | X | JK성형외과, 드림성형외과, 강남서연성형외과, 글램성형외과, 마이라인성형외과의원 | X | 함희정성형외과의원, JK성형외과의원, 더올림성형외과의원 |
|
||||
| C-14 | 리프팅 잘하는 강남 병원 추천해줘 | ✕ | O (None위) | 한미인의원 강남본점, 오르타의원 신관, 팽팽의원, 더클리닉 강남점, 청담 라비앙로즈 | X | 온리프의원, 리팅성형외과의원, 윌비성형외과의원, 톡스앤필 강남본점, 리베리의원 강남점 | X | (병원 언급 없음) |
|
||||
| C-15 | 의사 여러 명 있는 대형 성형외과가 나아? 어디 추천해? | ✕ | X | (병원 언급 없음) | X | 디에이성형외과의원, 미인성형외과, 베리굿 성형외과, 삼성서울병원 성형외과 | X | (병원 언급 없음) |
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| C-01 | 강남 성형외과 추천해줘 | ✕ | O (5위) | Honesty Plastic Surgery, Kokoline Clinic, Sketch Plastic Surgery, Shimmian Clinic, The Door Plastic Surgery | X | 바노바기성형외과, 디에이성형외과, 1mm성형외과, 에디션성형외과의원, 시크릿성형외과·피부과 |
|
||||
| C-02 | 강남에서 가슴성형 잘하는 병원 어디야? | ✕ | O (2위) | 우아성형외과, 뷰성형외과의원, 아이디병원, 바탕성형외과, 위쉬성형외과 | X | 엄나구모 성형외과, 유앤유성형외과, 윈느성형외과, 바노바기성형외과, 마블성형외과 |
|
||||
| C-03 | 강남 안면윤곽 유명한 병원 알려줘 | ✕ | X | 플랜에스의원 강남, 한미인의원 강남본점, 오르타의원 신관, 팽팽의원 강남, Bondi Plastic Surgery | X | 아이디병원, 삼사오성형외과, 오늘성형외과, 유노성형외과, 현대미학성형외과 |
|
||||
| C-04 | 코성형 잘하는 강남 병원 추천해줘 | ✕ | O (4위) | 기린성형외과 서초, 어린공주성형외과 강남, ID병원 강남, 뷰성형외과 강남, 프리미엄 리벤스 이비인후과의원 | X | 코원성형외과의원, 링크성형외과, 오엠성형외과, 코비쥬의원, 베리굿 성형외과 |
|
||||
| C-05 | 눈 재수술 잘하는 병원 어디야? | ✕ | X | (병원 언급 없음) | X | 더스완성형외과, 강남서연성형외과, 팝성형외과, JK성형외과 |
|
||||
| C-06 | 강남 성형외과 톱5 알려줘 | ✕ | O (2위) | The Door Plastic Surgery, View Plastic Surgery, Rohsanghoon Plastic Surgery, Gangnam Oz Plastic Surgery, The Plastic Surgery | X | 아이디병원, 원진성형외과, JK성형외과, 바노바기성형외과, 그랜드성형외과 |
|
||||
| C-07 | 가슴성형 병원 3곳만 골라서 비교해줘 | ✕ | X | 강남 세란성형외과, 병원ABC, 병원XYZ | X | 땡큐성형외과의원, 밴스성형외과의원, 티제이성형외과의원 |
|
||||
| C-08 | 마취과 전문의가 상주하는 강남 성형외과 어디야? | △ | O (3위) | 디에이성형외과, 윈느성형외과, 뷰성형외과의원, 더성형외과, 제이스성형외과 | X | 디에이성형외과, 현대미학성형외과, 노트성형외과, 에이비성형외과, 우리성형외과 |
|
||||
| C-09 | 수술실 CCTV 있는 성형외과 추천해줘 | △ | X | 리브리 성형외과, 브라운 성형외과, 스케치 성형외과, 이룸 성형외과, 에이펙스 성형외과 | X | 이룸성형외과, BK성형외과, 라이크성형외과, 티와이성형외과 |
|
||||
| C-10 | 여의사한테 수술받을 수 있는 성형외과 있어? | △ | X | (병원 언급 없음) | X | 조이플성형외과의원, 시크릿성형외과, 홍승현성형외과의원 |
|
||||
| C-11 | 후기 제일 많은 강남 성형외과 어디야? | △ | O (5위) | 한미인의원 강남본점, 쁨글로벌의원 강남점, 팽팽의원 강남, 아비쥬의원 강남점, 릴리브의원 압구정 | X | 우리성형외과의원, 어린공주성형외과의원, 반니성형외과의원 |
|
||||
| C-12 | 강남언니에서 평점 높은 성형외과 알려줘 | △ | O (6위) | 디에이성형외과의원, 팝성형외과의원, 나나성형외과의원, 에이트성형외과의원, 아이디병원‑본원 | O (6위) | 인트로성형외과의원, 그날성형외과의원, 우리성형외과의원, 팝성형외과의원, 삼사오성형외과의원 |
|
||||
| C-13 | 20년 넘게 운영한 강남 성형외과 있어? | ✕ | X | 제림성형외과, 김종서 성형외과, JK 성형외과, 아이디 병원, JW 성형외과 | X | JK성형외과, 드림성형외과, 강남서연성형외과, 글램성형외과, 마이라인성형외과의원 |
|
||||
| C-14 | 리프팅 잘하는 강남 병원 추천해줘 | ✕ | O (None위) | 한미인의원 강남본점, 오르타의원 신관, 팽팽의원, 더클리닉 강남점, 청담 라비앙로즈 | X | 온리프의원, 리팅성형외과의원, 윌비성형외과의원, 톡스앤필 강남본점, 리베리의원 강남점 |
|
||||
| C-15 | 의사 여러 명 있는 대형 성형외과가 나아? 어디 추천해? | ✕ | X | (병원 언급 없음) | X | 디에이성형외과의원, 미인성형외과, 베리굿 성형외과, 삼성서울병원 성형외과 |
|
||||
### D1. 가슴성형
|
||||
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 | NAVER | NAVER 상위 병원 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| D1-01 | 뷰성형외과 가슴성형 잘해? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| D1-02 | 가슴 보형물 종류 뭐가 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-03 | 모티바랑 멘토 보형물 차이가 뭐야? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-04 | 가슴성형 수술시간 얼마나 걸려? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-05 | 가슴성형 회복기간 어느 정도야? 언제 출근해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-06 | 가슴성형 흉터 어디에 남아? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-07 | 구형구축이 뭐야? 예방할 수 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-08 | 가슴 지방이식이랑 보형물 중에 뭐가 나아? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-09 | 가슴 재수술은 언제 해야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-10 | 가슴성형하면 수유에 영향 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-11 | 가슴성형 후 정기검진 뭐 받아야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-12 | 가슴성형 과정 잘 설명해주는 영상 있어? | △ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| D1-01 | 뷰성형외과 가슴성형 잘해? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| D1-02 | 가슴 보형물 종류 뭐가 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-03 | 모티바랑 멘토 보형물 차이가 뭐야? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-04 | 가슴성형 수술시간 얼마나 걸려? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-05 | 가슴성형 회복기간 어느 정도야? 언제 출근해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-06 | 가슴성형 흉터 어디에 남아? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-07 | 구형구축이 뭐야? 예방할 수 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-08 | 가슴 지방이식이랑 보형물 중에 뭐가 나아? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-09 | 가슴 재수술은 언제 해야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-10 | 가슴성형하면 수유에 영향 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-11 | 가슴성형 후 정기검진 뭐 받아야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D1-12 | 가슴성형 과정 잘 설명해주는 영상 있어? | △ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
### D2. 눈성형
|
||||
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 | NAVER | NAVER 상위 병원 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| D2-01 | 뷰성형외과 눈성형 어때? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| D2-02 | 쌍수 절개랑 매몰 차이가 뭐야? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D2-03 | 자연유착 쌍수가 뭐야? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D2-04 | 눈매교정은 쌍수랑 같이 해야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D2-05 | 앞트임 뒤트임 밑트임 뭐가 달라? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D2-06 | 쌍수 회복기간 얼마나 걸려? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D2-07 | 눈 재수술은 첫 수술 후 언제부터 가능해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D2-08 | 앞트임하면 잘 어울리는 얼굴이 따로 있어? | △ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D2-09 | 쌍수 붓기 빨리 빼는 법 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| D2-01 | 뷰성형외과 눈성형 어때? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| D2-02 | 쌍수 절개랑 매몰 차이가 뭐야? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D2-03 | 자연유착 쌍수가 뭐야? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D2-04 | 눈매교정은 쌍수랑 같이 해야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D2-05 | 앞트임 뒤트임 밑트임 뭐가 달라? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D2-06 | 쌍수 회복기간 얼마나 걸려? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D2-07 | 눈 재수술은 첫 수술 후 언제부터 가능해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D2-08 | 앞트임하면 잘 어울리는 얼굴이 따로 있어? | △ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D2-09 | 쌍수 붓기 빨리 빼는 법 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
### D3. 코성형
|
||||
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 | NAVER | NAVER 상위 병원 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| D3-01 | 뷰성형외과 코성형 어때? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | VIEW성형외과 |
|
||||
| D3-02 | 코성형 재료 뭐뭐 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D3-03 | 실리콘이랑 자가연골 중에 뭐가 나아? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D3-04 | 콧대만 할까 코끝까지 같이 할까? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D3-05 | 코성형 회복기간 얼마나 돼? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D3-06 | 코 재수술은 언제부터 할 수 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D3-07 | 휜코 교정도 성형외과에서 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D3-08 | 복코 수술 어떻게 하는 거야? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D3-09 | 내 얼굴형에 맞는 코 모양 어떻게 정해? | △ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| D3-01 | 뷰성형외과 코성형 어때? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| D3-02 | 코성형 재료 뭐뭐 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D3-03 | 실리콘이랑 자가연골 중에 뭐가 나아? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D3-04 | 콧대만 할까 코끝까지 같이 할까? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D3-05 | 코성형 회복기간 얼마나 돼? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D3-06 | 코 재수술은 언제부터 할 수 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D3-07 | 휜코 교정도 성형외과에서 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D3-08 | 복코 수술 어떻게 하는 거야? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D3-09 | 내 얼굴형에 맞는 코 모양 어떻게 정해? | △ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
### D4. 안면윤곽·양악
|
||||
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 | NAVER | NAVER 상위 병원 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| D4-01 | 뷰성형외과 안면윤곽 잘하는 곳 맞아? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| D4-02 | 광대축소 수술 어떻게 하는 거야? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D4-03 | V라인 사각턱 수술 부작용 없어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D4-04 | 양악수술은 어떤 경우에 해야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D4-05 | 윤곽수술 신경 손상 위험 얼마나 돼? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D4-06 | 윤곽수술 회복기간 얼마나 걸려? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D4-07 | 윤곽수술 붓기 언제 빠져? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D4-08 | 윤곽이랑 코성형 같이 해도 돼? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D4-09 | 안면윤곽으로 상 받은 병원 있어? | ✕ | X | 강남 오앤의원 | X | 서울페이스21치과병원, 디에이성형외과의원, 1퍼센트성형외과 | X | (병원 언급 없음) |
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| D4-01 | 뷰성형외과 안면윤곽 잘하는 곳 맞아? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| D4-02 | 광대축소 수술 어떻게 하는 거야? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D4-03 | V라인 사각턱 수술 부작용 없어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D4-04 | 양악수술은 어떤 경우에 해야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D4-05 | 윤곽수술 신경 손상 위험 얼마나 돼? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D4-06 | 윤곽수술 회복기간 얼마나 걸려? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D4-07 | 윤곽수술 붓기 언제 빠져? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D4-08 | 윤곽이랑 코성형 같이 해도 돼? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D4-09 | 안면윤곽으로 상 받은 병원 있어? | ✕ | X | 강남 오앤의원 | X | 서울페이스21치과병원, 디에이성형외과의원, 1퍼센트성형외과 |
|
||||
### D5. 지방성형
|
||||
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 | NAVER | NAVER 상위 병원 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| D5-01 | 지방흡입 부위별로 뭐가 달라? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D5-02 | 얼굴 지방이식하면 자연스러워? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D5-03 | 지방이식 생착률 얼마나 돼? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D5-04 | 복부 지방흡입 회복 얼마나 걸려? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D5-05 | 뷰성형외과에서 지방성형도 해? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| D5-06 | 지방흡입 흉터 남아? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| D5-01 | 지방흡입 부위별로 뭐가 달라? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D5-02 | 얼굴 지방이식하면 자연스러워? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D5-03 | 지방이식 생착률 얼마나 돼? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D5-04 | 복부 지방흡입 회복 얼마나 걸려? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D5-05 | 뷰성형외과에서 지방성형도 해? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| D5-06 | 지방흡입 흉터 남아? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
### D6. 피부·리프팅
|
||||
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 | NAVER | NAVER 상위 병원 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| D6-01 | 리프팅 종류별로 뭐가 달라? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D6-02 | 실리프팅이랑 안면거상 중에 뭐 해야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D6-03 | 울쎄라 효과 진짜 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D6-04 | 리프팅 효과 얼마나 유지돼? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D6-05 | 40대인데 안티에이징 뭐부터 시작해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D6-06 | 뷰성형외과에서 리프팅도 받을 수 있어? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| D6-07 | 수술 흉터 관리 어떻게 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| D6-01 | 리프팅 종류별로 뭐가 달라? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D6-02 | 실리프팅이랑 안면거상 중에 뭐 해야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D6-03 | 울쎄라 효과 진짜 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D6-04 | 리프팅 효과 얼마나 유지돼? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D6-05 | 40대인데 안티에이징 뭐부터 시작해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D6-06 | 뷰성형외과에서 리프팅도 받을 수 있어? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| D6-07 | 수술 흉터 관리 어떻게 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
### D7. 재수술
|
||||
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 | NAVER | NAVER 상위 병원 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| D7-01 | 재수술 전문 병원은 뭐가 달라? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D7-02 | 뷰성형외과 재수술 잘해? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| D7-03 | 성형 재수술은 왜 하게 되는 거야? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D7-04 | 재수술은 처음보다 비용 더 비싸? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D7-05 | 재수술 하려면 첫 수술 후 얼마나 기다려야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D7-06 | 다른 병원에서 한 수술도 재수술 상담해줘? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| D7-01 | 재수술 전문 병원은 뭐가 달라? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D7-02 | 뷰성형외과 재수술 잘해? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| D7-03 | 성형 재수술은 왜 하게 되는 거야? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D7-04 | 재수술은 처음보다 비용 더 비싸? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D7-05 | 재수술 하려면 첫 수술 후 얼마나 기다려야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| D7-06 | 다른 병원에서 한 수술도 재수술 상담해줘? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
### E. 신뢰·안전
|
||||
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 | NAVER | NAVER 상위 병원 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| E-01 | 성형외과 고를 때 뭘 확인해야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| E-02 | 성형수술 마취 사고 안 나려면 어떤 병원 가야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| E-03 | 수술실 CCTV 있는지 어떻게 확인해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| E-04 | 전신마취랑 수면마취 차이가 뭐야? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| E-05 | 성형외과 전문의인지 어떻게 확인해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| E-06 | 응급상황 대응 시스템 갖춘 성형외과 어디야? | △ | X | 압구정서울성형외과, 아인병원 성형외과, PDM 박동만 성형외과, 리프트리성형외과, 엄나구모 성형외과 | X | 우리성형외과, 소다성형외과, Wannap 성형외과, 원진성형외과, 플레저 성형외과 | X | 압구정서울성형외과, 마침표성형외과, 디에이성형외과 |
|
||||
| E-07 | 성형 부작용 생기면 어떻게 해야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| E-08 | 상담실장 말고 의사가 직접 상담해주는 병원 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| E-09 | 뷰성형외과 안전 시스템 어때? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| E-01 | 성형외과 고를 때 뭘 확인해야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| E-02 | 성형수술 마취 사고 안 나려면 어떤 병원 가야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| E-03 | 수술실 CCTV 있는지 어떻게 확인해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| E-04 | 전신마취랑 수면마취 차이가 뭐야? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| E-05 | 성형외과 전문의인지 어떻게 확인해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| E-06 | 응급상황 대응 시스템 갖춘 성형외과 어디야? | △ | X | 압구정서울성형외과, 아인병원 성형외과, PDM 박동만 성형외과, 리프트리성형외과, 엄나구모 성형외과 | X | 우리성형외과, 소다성형외과, Wannap 성형외과, 원진성형외과, 플레저 성형외과 |
|
||||
| E-07 | 성형 부작용 생기면 어떻게 해야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| E-08 | 상담실장 말고 의사가 직접 상담해주는 병원 있어? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| E-09 | 뷰성형외과 안전 시스템 어때? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
### F. 가격·이벤트
|
||||
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 | NAVER | NAVER 상위 병원 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| F-01 | 강남 가슴성형 평균 비용 얼마야? | ✕ | X | Gangnam Beauty Guide, Seoul Plastic Surgery Guide, SeoulBeautyTalk, ClinicSeoul.net, Gangnam Plastic Surgeon Cost Guide | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| F-02 | 뷰성형외과 가슴성형 얼마야? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| F-03 | 쌍수 가격 보통 얼마 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| F-04 | 코성형 견적 어느 정도 잡아야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| F-05 | 뷰성형외과 지금 하는 이벤트 있어? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| F-06 | 성형외과 이벤트가 믿어도 돼? 싼 데는 왜 싸? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| F-07 | 성형 비용 카드 할부나 분할 돼? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| F-08 | 성형 견적 여러 병원 비교하려면 어떻게 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| F-01 | 강남 가슴성형 평균 비용 얼마야? | ✕ | X | Gangnam Beauty Guide, Seoul Plastic Surgery Guide, SeoulBeautyTalk, ClinicSeoul.net, Gangnam Plastic Surgeon Cost Guide | X | (병원 언급 없음) |
|
||||
| F-02 | 뷰성형외과 가슴성형 얼마야? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| F-03 | 쌍수 가격 보통 얼마 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| F-04 | 코성형 견적 어느 정도 잡아야 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| F-05 | 뷰성형외과 지금 하는 이벤트 있어? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| F-06 | 성형외과 이벤트가 믿어도 돼? 싼 데는 왜 싸? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| F-07 | 성형 비용 카드 할부나 분할 돼? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| F-08 | 성형 견적 여러 병원 비교하려면 어떻게 해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
### G. 후기·평판
|
||||
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 | NAVER | NAVER 상위 병원 |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| G-01 | 뷰성형외과 실제 후기 어때? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| G-02 | 뷰성형외과 부작용 후기나 안 좋은 얘기 있어? | ✕ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| G-03 | 강남언니 후기 믿을만해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| G-04 | 뷰성형외과 수술 전후 사진 어디서 봐? | △ | X | (병원 언급 없음) | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| G-05 | 성형 후기는 어디서 봐야 정확해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| G-06 | 뷰성형외과 인스타그램 있어? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| G-07 | 뷰성형외과는 뭘로 유명한 병원이야? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| G-08 | 가슴성형 후기 많은 병원 어디야? | △ | O (5위) | WOOA Plastic Surgery Clinic, JW Plastic Surgery Center, SAERO Plastic Surgery, Dite Plastic Surgery, TJ Plastic Surgery | O (1위) | 뷰성형외과의원, 아이디병원-본원, 우아성형외과의원, 노트성형외과의원, 엄나구모성형외과의원 | X | 더성형외과, 노트성형외과, 위쉬성형외과, 나나성형외과, 물방울성형외과 |
|
||||
| # | 질문 | 사전판정 | GPT | GPT 상위 병원 | PPLX | PPLX 상위 병원 |
|
||||
|---|---|---|---|---|---|---|
|
||||
| G-01 | 뷰성형외과 실제 후기 어때? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| G-02 | 뷰성형외과 부작용 후기나 안 좋은 얘기 있어? | ✕ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| G-03 | 강남언니 후기 믿을만해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| G-04 | 뷰성형외과 수술 전후 사진 어디서 봐? | △ | X | (병원 언급 없음) | O (1위) | 뷰성형외과 |
|
||||
| G-05 | 성형 후기는 어디서 봐야 정확해? | ✕ | X | (병원 언급 없음) | X | (병원 언급 없음) |
|
||||
| G-06 | 뷰성형외과 인스타그램 있어? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| G-07 | 뷰성형외과는 뭘로 유명한 병원이야? | △ | O (1위) | 뷰성형외과 | O (1위) | 뷰성형외과 |
|
||||
| G-08 | 가슴성형 후기 많은 병원 어디야? | △ | O (5위) | WOOA Plastic Surgery Clinic, JW Plastic Surgery Center, SAERO Plastic Surgery, Dite Plastic Surgery, TJ Plastic Surgery | O (1위) | 뷰성형외과의원, 아이디병원-본원, 우아성형외과의원, 노트성형외과의원, 엄나구모성형외과의원 |
|
||||
|
||||
@ -1,98 +0,0 @@
|
||||
# AI 답변 감성 판정 결과 · 뷰성형외과
|
||||
|
||||
판정 2026-09-15 · 기준표 v0.3(`docs/AI_ANSWER_SENTIMENT_RUBRIC_v0.3.md`) · 모델 gpt-4.1 · 답변 360건
|
||||
|
||||
감성 점수 = (positive×100 + neutral×50 + mixed×25 + negative×0) ÷ 언급된 답변 수. 규제 언급률과 추천율은 언급된 답변 기준.
|
||||
|
||||
## 1. 엔진별
|
||||
|
||||
| 엔진 | 질문군 | 답변 | 언급 | 감성 점수 | 긍정 | 중립 | 혼합 | 부정 | 부정 비율 | 규제 언급률 | 추천율 |
|
||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||
| naver_briefing | 전체 | 120 | 36 | **75.0** | 21 | 12 | 0 | 3 | 8.3% | 0.0% | 58.3% |
|
||||
| naver_briefing | 브랜드(A·B) | 22 | 21 | **71.4** | 10 | 10 | 0 | 1 | 4.8% | 0.0% | 47.6% |
|
||||
| naver_briefing | 논브랜드 | 98 | 15 | **80.0** | 11 | 2 | 0 | 2 | 13.3% | 0.0% | 73.3% |
|
||||
| openai | 전체 | 120 | 44 | **64.8** | 16 | 25 | 0 | 3 | 6.8% | 6.8% | 36.4% |
|
||||
| openai | 브랜드(A·B) | 22 | 22 | **54.5** | 3 | 18 | 0 | 1 | 4.5% | 4.5% | 13.6% |
|
||||
| openai | 논브랜드 | 98 | 22 | **75.0** | 13 | 7 | 0 | 2 | 9.1% | 9.1% | 59.1% |
|
||||
| perplexity | 전체 | 120 | 39 | **51.3** | 4 | 32 | 0 | 3 | 7.7% | 2.6% | 10.3% |
|
||||
| perplexity | 브랜드(A·B) | 22 | 22 | **52.3** | 2 | 19 | 0 | 1 | 4.5% | 4.5% | 9.1% |
|
||||
| perplexity | 논브랜드 | 98 | 17 | **50.0** | 2 | 13 | 0 | 2 | 11.8% | 0.0% | 11.8% |
|
||||
|
||||
전체 합산: 언급 119/360 · 감성 점수 **63.4** · 부정 비율 7.6% · 규제 언급률 3.4% · 추천율 34.5%
|
||||
|
||||
약한 언급 1건(G-08(openai))은 정식 상호 없이 영문 약칭만 나온 답변이다. 이를 빼면 언급 118건 · 감성 점수 **63.1**. 포함 여부는 기준표 §6 미결이다.
|
||||
|
||||
## 2. 측면 태그 (언급된 답변)
|
||||
|
||||
- procedure: 65건
|
||||
- access: 59건
|
||||
- doctors: 50건
|
||||
- safety: 48건
|
||||
- reviews: 46건
|
||||
- price: 14건
|
||||
- media: 10건
|
||||
- regulatory: 7건
|
||||
|
||||
## 3. 부정·혼합 판정 전건 (9건)
|
||||
|
||||
| id | 엔진 | 판정 | 종류 | 질문 | 근거 문장 |
|
||||
|---|---|---|---|---|---|
|
||||
| A-01 | openai | negative | regulatory | 뷰성형외과 어때? 믿을만한 병원이야? | 그러나 2026년 7월 공정거래위원회의 제재 사례는, 병원 마케팅 방식에 대한 경계가 필요하다는 점을 보여줍니다. |
|
||||
| C-11 | openai | negative | regulatory | 후기 제일 많은 강남 성형외과 어디야? | 예컨대 ‘뷰성형외과’, '에이비성형외과의원', '디에이성형외과'는 후기를 조건으로 수술비 일부를 할인해 주고 광고처럼 이용한 사례로 지적된 바 있습니다 ([v.daum.net](https://v.daum.net/v/ |
|
||||
| G-02 | openai | negative | regulatory | 뷰성형외과 부작용 후기나 안 좋은 얘기 있어? | 뷰성형외과가 수술비 할인 등 대가를 제공하고, 이를 '자발적인 후기'로 위장하여 광고한 혐의로 공정거래위원회의 시정명령을 받았습니다. |
|
||||
| A-12 | perplexity | negative | regulatory | 뷰성형외과 단점이나 주의할 점 있어? | 공정거래위원회가 뷰성형외과를 포함한 강남 성형외과들의 *수술비 할인 등 대가를 받고 작성한 후기를 자발적 후기처럼 보이게 한 행위*를 제재했습니다. |
|
||||
| D2-01 | perplexity | negative | reputation | 뷰성형외과 눈성형 어때? | 다만 제가 확인한 자료만으로는 **수술 결과의 일관된 객관성**까지 판단하긴 어렵고, 커뮤니티에는 상담 경험에 대한 **부정적 의견도 일부** 보입니다.[6] |
|
||||
| G-02 | perplexity | negative | reputation | 뷰성형외과 부작용 후기나 안 좋은 얘기 있어? | 네. 검색 결과만 보면 **뷰성형외과에 대한 안 좋은 후기나 부작용 언급은 있습니다**. |
|
||||
| A-12 | naver_briefing | negative | safety | 뷰성형외과 단점이나 주의할 점 있어? | 뷰성형외과 이용 시에는 부작용이나 주의사항에 대한 충분한 사전 정보 확인과 의료진의 숙련도 점검이 중요합니다. |
|
||||
| G-02 | naver_briefing | negative | reputation | 뷰성형외과 부작용 후기나 안 좋은 얘기 있어? | 일부 성형외과들이 수술비 할인 등의 경제적 대가를 받고 작성한 후기를 마치 자발적인 후기인 것처럼 게시하는 '뒷광고' 사례가 공정거래위원회에 의해 적발된 바 있습니다.[2] [9] |
|
||||
| G-04 | naver_briefing | negative | reputation | 뷰성형외과 수술 전후 사진 어디서 봐? | 다만, 해당 홈페이지에 게재된 후기는 소정의 대가를 제공받아 작성된 후기임을 명시하고 있습니다.[1] [4] |
|
||||
|
||||
## 4. 논브랜드 질문에서 긍정 언급 (26건, 가장 가치 있는 신호)
|
||||
|
||||
| id | 엔진 | 추천 | 질문 | 근거 문장 |
|
||||
|---|---|---|---|---|
|
||||
| C-01 | openai | recommended | 강남 성형외과 추천해줘 | The Door Plastic Surgery, View Plastic Surgery 등도 평점 4.8로 높은 평가받고 있습니다 ([gangnambeautyguide.com](https://gangnambeautygu |
|
||||
| C-02 | openai | recommended | 강남에서 가슴성형 잘하는 병원 어디야? | 뷰성형외과 - 협진 체계, 안전 장비, 1:1 진료 및 사후관리 강조 |
|
||||
| C-04 | openai | recommended | 코성형 잘하는 강남 병원 추천해줘 | 뷰성형외과 강남 | 협진 시스템, 맞춤 설계, 대학병원급 안전 시스템 |
|
||||
| C-06 | openai | recommended | 강남 성형외과 톱5 알려줘 | - 평점: 4.8 / 리뷰수: 약 9,167건 ([gangnambeautyguide.com](https://gangnambeautyguide.com/en/clinics/?utm_source=openai))
|
||||
- 강 |
|
||||
| C-08 | openai | recommended | 마취과 전문의가 상주하는 강남 성형외과 어디야? | - 안면윤곽, 눈·코·가슴 성형 등을 전문으로 하며, **마취과 전문의가 365일 상주**하고 있다는 점을 강조합니다 ([blog.viewclinic.com](https://blog.viewclinic.com/?ut |
|
||||
| C-12 | openai | recommended | 강남언니에서 평점 높은 성형외과 알려줘 | **팝성형외과**, **티에스성형외과**, **기린성형외과**, **제이필의원**, **뷰성형외과**, **뭐 등 다양한 병원들이 높은 평점을 보이고 있습니다. |
|
||||
| D1-01 | openai | recommended | 뷰성형외과 가슴성형 잘해? | 뷰성형외과는 가슴성형 분야에서 경험, 전문성, 안전성, 사후관리 체계를 갖춘 병원으로 평가됩니다. 많은 환자들이 만족스럽다는 후기도 많으며, 개인의 체형·희망·상태에 맞춘 맞춤 상담과 전문적인 진료 흐름이 강점입니다 |
|
||||
| D2-01 | openai | recommended | 뷰성형외과 눈성형 어때? | 장점:
|
||||
- 높은 평점(4.7)과 JCI 인증, 다국어 지원으로 의료 신뢰도 높음 ([getcarekorea.com](https://getcarekorea.com/ko/hospitals/view-plastic-surg |
|
||||
| D4-01 | openai | recommended | 뷰성형외과 안면윤곽 잘하는 곳 맞아? | 전반적으로, 뷰성형외과는 안면윤곽 수술에 있어 안전성과 전문성을 갖춘 병원으로 평가받고 있습니다. 특히 수술 기법과 시스템, 다수의 수상 경력과 방송 노출 경력 등이 신뢰감을 줍니다. |
|
||||
| E-09 | openai | recommended | 뷰성형외과 안전 시스템 어때? | 이처럼 뷰성형외과는 **환자 안전을 위한 다층적인 시스템과 기준**을 두고 있습니다. |
|
||||
| G-01 | openai | recommended | 뷰성형외과 실제 후기 어때? | 뷰성형외과는 **높은 만족도와 전문성을 갖춘 대형 병원**으로 평가되며, 특히 자연스럽고 정밀한 결과를 원하는 환자들에게 긍정적인 선택이 될 수 있습니다. 다만, 상담 경험은 대기 시간과 상담 시간의 한계가 있을 수 |
|
||||
| G-07 | openai | recommended | 뷰성형외과는 뭘로 유명한 병원이야? | 뷰성형외과는 특히 **가슴성형 분야의 압도적인 시술량**, **안전에 대한 철저한 시스템**, **원스톱 프리미엄 케어**, 그리고 **외국인 환자를 위한 의료관광 서비스**로 높은 평판을 자랑합니다. |
|
||||
| G-08 | openai | recommended | 가슴성형 후기 많은 병원 어디야? | 또한, “View”, “Wooa”, “Wish PS” 등도 리뷰량과 자체 B&A(전후 사진)가 많아 실제 경험 공유가 활발한 곳으로 언급됩니다 ([reddit.com](https://www.reddit.com/r/S |
|
||||
| C-12 | perplexity | recommended | 강남언니에서 평점 높은 성형외과 알려줘 | **뷰성형외과의원** — **9.5점**, 후기 수는 검색 결과에 일부만 보입니다.[3] |
|
||||
| G-07 | perplexity | recommended | 뷰성형외과는 뭘로 유명한 병원이야? | 뷰성형외과는 가슴성형, 안면윤곽, 양악수술, 눈·코성형 등 여러 성형 분야를 고르게 하는 곳으로 알려져 있고, 특히 안전 중심 운영과 무사고 기록을 강조해 유명합니다.[1][11][13] |
|
||||
| D1-01 | naver_briefing | recommended | 뷰성형외과 가슴성형 잘해? | 뷰성형외과는 모티바 보형물 사용에 있어 2023년 모티바코리아 전체 수술량 기준 국내 사용량 1위를 기록했으며, 4년 연속 모티바 글로벌 KOL에 선정된 바 있습니다.[1] [2] |
|
||||
| D2-01 | naver_briefing | recommended | 뷰성형외과 눈성형 어때? | 병원 측에서는 첨단 시스템을 갖춘 안전한 환경에서 수술을 진행하며, 상담 시 환자의 의견을 존중하고 맞춤형 조언을 제공하는 것으로 언급됩니다.[6] [9] |
|
||||
| D3-01 | naver_briefing | recommended | 뷰성형외과 코성형 어때? | 뷰성형외과의 코성형은 3D-CT 영상 분석을 기반으로 환자 개개인에게 맞춘 커스터마이징 보형물을 제작하는 것이 특징입니다.[1] |
|
||||
| D4-01 | naver_briefing | recommended | 뷰성형외과 안면윤곽 잘하는 곳 맞아? | 해당 병원은 1:1 전담 마취시스템을 운영하며, 체계적인 업무 처리와 친절한 상담으로 알려져 있습니다.[6] [8] |
|
||||
| D6-06 | naver_briefing | recommended | 뷰성형외과에서 리프팅도 받을 수 있어? | 뷰성형외과는 안티에이징 성형을 포함한 여러 분야에서 진료를 제공하며, 티타늄 리프팅과 같은 시술에 대한 정보가 확인됩니다.[3] [8] |
|
||||
| D7-02 | naver_briefing | recommended | 뷰성형외과 재수술 잘해? | 뷰성형외과는 코, 윤곽, 눈 등 다양한 부위의 재수술에 대해 정밀 진단과 맞춤 솔루션을 제공하는 것으로 보입니다. |
|
||||
| E-09 | naver_briefing | recommended | 뷰성형외과 안전 시스템 어때? | 뷰성형외과는 첨단 시스템을 도입한 안전중심 스마트빌딩과 대학병원급 안전 장비 및 시설을 갖추고 안전한 성형을 제공하고 있습니다.[1] [2] |
|
||||
| F-02 | naver_briefing | recommended | 뷰성형외과 가슴성형 얼마야? | 뷰성형외과는 모티바, 멘토, 세빈 등 다양한 종류의 보형물을 보유하고 있으며, 원내에 유방외과 전문의 등이 상주하여 검진을 진행합니다.[1] [3] |
|
||||
| G-01 | naver_briefing | recommended | 뷰성형외과 실제 후기 어때? | 뷰성형외과에 대한 후기들은 의료진의 전문성, 친절한 응대 서비스, 그리고 수술 결과에 대한 전반적인 만족도를 보여주고 있습니다. |
|
||||
| G-06 | naver_briefing | recommended | 뷰성형외과 인스타그램 있어? | 뷰성형외과는 강남의 대표적인 프리미엄 성형외과로, 가슴성형 분야에서 '모티바 최다 시술 병원'으로 선정된 바 있습니다.[8] [9] |
|
||||
| G-07 | naver_briefing | recommended | 뷰성형외과는 뭘로 유명한 병원이야? | 뷰성형외과는 눈밑지방재배치 수술을 비롯하여 가슴성형, 안면윤곽, 양악수술 등 다양한 분야에서 성형 종합병원으로서의 면모를 갖추고 있습니다.[3] [6] |
|
||||
|
||||
## 5. 언급 판정 불일치 (판정기 vs 추출기) 1건
|
||||
|
||||
- C-14 openai: 판정기 False / 추출기 True ·
|
||||
|
||||
## 6. 측정 가능 범위
|
||||
|
||||
- 재는 것: 질문 뱅크 문항에 대한 공식 API 답변 안에서 대상 병원 문장의 어조. 엔진은 ChatGPT(gpt-4o + 웹 검색)·Perplexity(sonar)·네이버 AI 브리핑(SerpApi 제3자 SERP API, 브리핑이 없는 문항은 미언급으로 셈).
|
||||
- 재지 않는 것: 소비자 화면(chatgpt.com 등)의 실제 답변. 약관상 자동 조회를 하지 않으므로 API 답변과 화면 답변은 다를 수 있다.
|
||||
- 재지 않는 것: Google AI Overview·네이버 AI 브리핑·Gemini 의 어조. 다음 회차에 엔진을 추가할 때 같은 기준표로 잰다.
|
||||
- 한계: 판정기는 언어 모델이다. 보정(§7) 전 점수는 참고값이고, 보정 후에도 문항 수(언급 84건)가 적어 ±10점은 우연 범위로 본다.
|
||||
|
||||
## 7. 보정
|
||||
|
||||
기준표 `v0.3` 로 판정했다. 1차 보정(2026-09-09)에서 haewon 라벨 29건 대비 v0.1 일치율은 75%로 기준선 80%에 미달했고, 불일치 7건에서 규칙 R1~R5를 뽑아 판정기에 반영한 것이 이 회차다.
|
||||
|
||||
같은 30건으로 다시 잰 일치율은 규칙을 그 표본에 맞춰 고친 결과이므로 확정 근거가 아니다. 기준표 확정은 새로 뽑은 30건의 2차 보정으로 한다. 자세한 이력과 한계는 `docs/AI_ANSWER_SENTIMENT_RUBRIC_v0.2.md` §5에 있다.
|
||||
Binary file not shown.
@ -1,151 +0,0 @@
|
||||
# 뷰성형외과 Question Bank 실측 결과: naver_briefing
|
||||
|
||||
측정일: 2026-09-15 / 방식: 네이버 AI 브리핑 (SerpApi naver_ai_overview, 제3자 SERP API) / 120문항 완료
|
||||
|
||||
| # | 질문 | 사전판정 | 뷰 언급 | 뷰 순위 | 답변 내 상위 병원 (등장순) |
|
||||
|---|---|---|---|---|---|
|
||||
| A-01 | 뷰성형외과 어때? 믿을만한 병원이야? | △ | O | 1 | 뷰성형외과 |
|
||||
| A-02 | 뷰성형외과는 어떤 병원이야? 소개해줘 | △ | O | 1 | 뷰성형외과 |
|
||||
| A-03 | 뷰성형외과는 무슨 수술을 주로 해? | △ | O | 1 | 뷰성형외과 |
|
||||
| A-04 | 뷰성형외과 최순우 원장 어떤 의사야? | △ | O | 1 | 뷰성형외과 |
|
||||
| A-05 | 뷰성형외과 의료진 몇 명이야? 다 전문의야? | △ | O | 1 | 뷰성형외과의원 |
|
||||
| A-06 | 뷰성형외과가 렛미인 나온 병원 맞아? | ✕ | O | 1 | 뷰성형외과 |
|
||||
| A-07 | 뷰성형외과 언제 생긴 병원이야? 오래됐어? | ✕ | O | 1 | 뷰성형외과 |
|
||||
| A-08 | 뷰성형외과 건물이 통째로 병원이라던데 맞아? | △ | O | 1 | 뷰성형외과의원 |
|
||||
| A-09 | 뷰성형외과 강남언니 평점 몇 점이야? | ◯ | O | 1 | 뷰성형외과의원 |
|
||||
| A-10 | 뷰성형외과 유튜브 채널 있어? | ◯ | O | 1 | 뷰성형외과, 레아트성형외과의원 |
|
||||
| A-11 | 뷰성형외과랑 다른 강남 대형 성형외과랑 뭐가 달라? | ✕ | O | 1 | 뷰성형외과 |
|
||||
| A-12 | 뷰성형외과 단점이나 주의할 점 있어? | ✕ | O | 1 | 뷰성형외과 |
|
||||
| B-01 | 뷰성형외과 주소 어디야? | ◯ | O | 1 | 뷰성형외과의원 |
|
||||
| B-02 | 뷰성형외과 신논현역에서 얼마나 걸려? | ◯ | O | 1 | 뷰성형외과의원 |
|
||||
| B-03 | 뷰성형외과 전화번호 알려줘 | △ | O | 1 | 뷰성형외과 |
|
||||
| B-04 | 뷰성형외과 진료시간 어떻게 돼? | △ | O | 1 | 뷰성형외과의원 |
|
||||
| B-05 | 뷰성형외과 일요일이나 공휴일에도 해? | ✕ | O | 1 | 뷰성형외과의원 |
|
||||
| B-06 | 뷰성형외과 주차 되나? | ✕ | O | 1 | 뷰성형외과 |
|
||||
| B-07 | 뷰성형외과 상담 예약 어떻게 해? | △ | O | 1 | 뷰성형외과 |
|
||||
| B-08 | 뷰성형외과 카톡으로 상담돼? | △ | O | 1 | 뷰성형외과 |
|
||||
| B-09 | 뷰성형외과 상담받으러 가면 몇 층으로 가? | △ | O | 1 | 뷰성형외과, 뷰성형외과의원 |
|
||||
| B-10 | 신논현역 3번 출구 근처 성형외과 뭐 있어? | ◯ | X | - | 플레저성형외과의원, 강남오엘의원, 밴스성형외과의원 |
|
||||
| C-01 | 강남 성형외과 추천해줘 | ✕ | O | 1 | 업투유, 뷰성형외과 |
|
||||
| C-02 | 강남에서 가슴성형 잘하는 병원 어디야? | ✕ | X | - | (병원 언급 없음) |
|
||||
| C-03 | 강남 안면윤곽 유명한 병원 알려줘 | ✕ | X | - | 아이니크성형외과의원, 청담여신성형외과의원, 아이앤지성형외과의원, 오인성형외과의원, 강남제일 성형외과 |
|
||||
| C-04 | 코성형 잘하는 강남 병원 추천해줘 | ✕ | X | - | (병원 언급 없음) |
|
||||
| C-05 | 눈 재수술 잘하는 병원 어디야? | ✕ | X | - | (병원 언급 없음) |
|
||||
| C-06 | 강남 성형외과 톱5 알려줘 | ✕ | X | - | 탑클래스성형외과의원, 강남성형외과 |
|
||||
| C-07 | 가슴성형 병원 3곳만 골라서 비교해줘 | ✕ | X | - | 더성형외과, 나나, 위쉬, 조이플, 노트성형외과 |
|
||||
| C-08 | 마취과 전문의가 상주하는 강남 성형외과 어디야? | △ | X | - | 디에이성형외과, 현대미학성형외과, V&MJ피부과의원, 서울페이스21, 강남수병원 |
|
||||
| C-09 | 수술실 CCTV 있는 성형외과 추천해줘 | △ | X | - | 마인성형외과의원, 옐로우성형외과의원, 특정 강남역 성형외과 |
|
||||
| C-10 | 여의사한테 수술받을 수 있는 성형외과 있어? | △ | X | - | (병원 언급 없음) |
|
||||
| C-11 | 후기 제일 많은 강남 성형외과 어디야? | △ | X | - | (병원 언급 없음) |
|
||||
| C-12 | 강남언니에서 평점 높은 성형외과 알려줘 | △ | X | - | (병원 언급 없음) |
|
||||
| C-13 | 20년 넘게 운영한 강남 성형외과 있어? | ✕ | X | - | 함희정성형외과의원, JK성형외과의원, 더올림성형외과의원 |
|
||||
| C-14 | 리프팅 잘하는 강남 병원 추천해줘 | ✕ | X | - | (병원 언급 없음) |
|
||||
| C-15 | 의사 여러 명 있는 대형 성형외과가 나아? 어디 추천해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D1-01 | 뷰성형외과 가슴성형 잘해? | △ | O | 1 | 뷰성형외과 |
|
||||
| D1-02 | 가슴 보형물 종류 뭐가 있어? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D1-03 | 모티바랑 멘토 보형물 차이가 뭐야? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D1-04 | 가슴성형 수술시간 얼마나 걸려? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D1-05 | 가슴성형 회복기간 어느 정도야? 언제 출근해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D1-06 | 가슴성형 흉터 어디에 남아? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D1-07 | 구형구축이 뭐야? 예방할 수 있어? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D1-08 | 가슴 지방이식이랑 보형물 중에 뭐가 나아? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D1-09 | 가슴 재수술은 언제 해야 해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D1-10 | 가슴성형하면 수유에 영향 있어? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D1-11 | 가슴성형 후 정기검진 뭐 받아야 해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D1-12 | 가슴성형 과정 잘 설명해주는 영상 있어? | △ | X | - | (병원 언급 없음) |
|
||||
| D2-01 | 뷰성형외과 눈성형 어때? | △ | O | 1 | 뷰성형외과 |
|
||||
| D2-02 | 쌍수 절개랑 매몰 차이가 뭐야? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D2-03 | 자연유착 쌍수가 뭐야? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D2-04 | 눈매교정은 쌍수랑 같이 해야 해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D2-05 | 앞트임 뒤트임 밑트임 뭐가 달라? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D2-06 | 쌍수 회복기간 얼마나 걸려? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D2-07 | 눈 재수술은 첫 수술 후 언제부터 가능해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D2-08 | 앞트임하면 잘 어울리는 얼굴이 따로 있어? | △ | X | - | (병원 언급 없음) |
|
||||
| D2-09 | 쌍수 붓기 빨리 빼는 법 있어? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D3-01 | 뷰성형외과 코성형 어때? | △ | O | 1 | VIEW성형외과 |
|
||||
| D3-02 | 코성형 재료 뭐뭐 있어? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D3-03 | 실리콘이랑 자가연골 중에 뭐가 나아? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D3-04 | 콧대만 할까 코끝까지 같이 할까? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D3-05 | 코성형 회복기간 얼마나 돼? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D3-06 | 코 재수술은 언제부터 할 수 있어? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D3-07 | 휜코 교정도 성형외과에서 해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D3-08 | 복코 수술 어떻게 하는 거야? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D3-09 | 내 얼굴형에 맞는 코 모양 어떻게 정해? | △ | X | - | (병원 언급 없음) |
|
||||
| D4-01 | 뷰성형외과 안면윤곽 잘하는 곳 맞아? | △ | O | 1 | 뷰성형외과 |
|
||||
| D4-02 | 광대축소 수술 어떻게 하는 거야? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D4-03 | V라인 사각턱 수술 부작용 없어? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D4-04 | 양악수술은 어떤 경우에 해야 해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D4-05 | 윤곽수술 신경 손상 위험 얼마나 돼? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D4-06 | 윤곽수술 회복기간 얼마나 걸려? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D4-07 | 윤곽수술 붓기 언제 빠져? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D4-08 | 윤곽이랑 코성형 같이 해도 돼? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D4-09 | 안면윤곽으로 상 받은 병원 있어? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D5-01 | 지방흡입 부위별로 뭐가 달라? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D5-02 | 얼굴 지방이식하면 자연스러워? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D5-03 | 지방이식 생착률 얼마나 돼? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D5-04 | 복부 지방흡입 회복 얼마나 걸려? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D5-05 | 뷰성형외과에서 지방성형도 해? | △ | O | 1 | 뷰성형외과 |
|
||||
| D5-06 | 지방흡입 흉터 남아? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D6-01 | 리프팅 종류별로 뭐가 달라? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D6-02 | 실리프팅이랑 안면거상 중에 뭐 해야 해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D6-03 | 울쎄라 효과 진짜 있어? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D6-04 | 리프팅 효과 얼마나 유지돼? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D6-05 | 40대인데 안티에이징 뭐부터 시작해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D6-06 | 뷰성형외과에서 리프팅도 받을 수 있어? | △ | O | 1 | 뷰성형외과 |
|
||||
| D6-07 | 수술 흉터 관리 어떻게 해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D7-01 | 재수술 전문 병원은 뭐가 달라? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D7-02 | 뷰성형외과 재수술 잘해? | △ | O | 1 | 뷰성형외과 |
|
||||
| D7-03 | 성형 재수술은 왜 하게 되는 거야? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D7-04 | 재수술은 처음보다 비용 더 비싸? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D7-05 | 재수술 하려면 첫 수술 후 얼마나 기다려야 해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| D7-06 | 다른 병원에서 한 수술도 재수술 상담해줘? | ✕ | X | - | (병원 언급 없음) |
|
||||
| E-01 | 성형외과 고를 때 뭘 확인해야 해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| E-02 | 성형수술 마취 사고 안 나려면 어떤 병원 가야 해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| E-03 | 수술실 CCTV 있는지 어떻게 확인해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| E-04 | 전신마취랑 수면마취 차이가 뭐야? | ✕ | X | - | (병원 언급 없음) |
|
||||
| E-05 | 성형외과 전문의인지 어떻게 확인해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| E-06 | 응급상황 대응 시스템 갖춘 성형외과 어디야? | △ | X | - | 압구정서울성형외과, 마침표성형외과, 디에이성형외과 |
|
||||
| E-07 | 성형 부작용 생기면 어떻게 해야 해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| E-08 | 상담실장 말고 의사가 직접 상담해주는 병원 있어? | ✕ | X | - | (병원 언급 없음) |
|
||||
| E-09 | 뷰성형외과 안전 시스템 어때? | △ | O | 1 | 뷰성형외과 |
|
||||
| F-01 | 강남 가슴성형 평균 비용 얼마야? | ✕ | X | - | (병원 언급 없음) |
|
||||
| F-02 | 뷰성형외과 가슴성형 얼마야? | △ | O | 1 | 뷰성형외과 |
|
||||
| F-03 | 쌍수 가격 보통 얼마 해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| F-04 | 코성형 견적 어느 정도 잡아야 해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| F-05 | 뷰성형외과 지금 하는 이벤트 있어? | △ | O | 1 | 뷰성형외과 |
|
||||
| F-06 | 성형외과 이벤트가 믿어도 돼? 싼 데는 왜 싸? | ✕ | X | - | (병원 언급 없음) |
|
||||
| F-07 | 성형 비용 카드 할부나 분할 돼? | ✕ | X | - | (병원 언급 없음) |
|
||||
| F-08 | 성형 견적 여러 병원 비교하려면 어떻게 해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| G-01 | 뷰성형외과 실제 후기 어때? | △ | O | 1 | 뷰성형외과 |
|
||||
| G-02 | 뷰성형외과 부작용 후기나 안 좋은 얘기 있어? | ✕ | O | 1 | 뷰성형외과 |
|
||||
| G-03 | 강남언니 후기 믿을만해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| G-04 | 뷰성형외과 수술 전후 사진 어디서 봐? | △ | O | 1 | 뷰성형외과 |
|
||||
| G-05 | 성형 후기는 어디서 봐야 정확해? | ✕ | X | - | (병원 언급 없음) |
|
||||
| G-06 | 뷰성형외과 인스타그램 있어? | △ | O | 1 | 뷰성형외과 |
|
||||
| G-07 | 뷰성형외과는 뭘로 유명한 병원이야? | △ | O | 1 | 뷰성형외과 |
|
||||
| G-08 | 가슴성형 후기 많은 병원 어디야? | △ | X | - | 더성형외과, 노트성형외과, 위쉬성형외과, 나나성형외과, 물방울성형외과 |
|
||||
|
||||
## 집계
|
||||
|
||||
- 뷰성형외과 언급: 37/120문항 (30%)
|
||||
- AI 브리핑 노출: 119/120문항 (브리핑이 없으면 언급 없음으로 센다)
|
||||
|
||||
### 병원별 언급 빈도 (상위 15)
|
||||
|
||||
| 병원 | 언급 질문 수 | 1순위 등장 수 |
|
||||
|---|---|---|
|
||||
| 뷰성형외과 | 29 | 28 |
|
||||
| 뷰성형외과의원 | 8 | 7 |
|
||||
| 더성형외과 | 2 | 2 |
|
||||
| 노트성형외과 | 2 | 0 |
|
||||
| 디에이성형외과 | 2 | 1 |
|
||||
| 레아트성형외과의원 | 1 | 0 |
|
||||
| 플레저성형외과의원 | 1 | 1 |
|
||||
| 강남오엘의원 | 1 | 0 |
|
||||
| 밴스성형외과의원 | 1 | 0 |
|
||||
| 업투유 | 1 | 1 |
|
||||
| 아이니크성형외과의원 | 1 | 1 |
|
||||
| 청담여신성형외과의원 | 1 | 0 |
|
||||
| 아이앤지성형외과의원 | 1 | 0 |
|
||||
| 오인성형외과의원 | 1 | 0 |
|
||||
| 강남제일 성형외과 | 1 | 0 |
|
||||
@ -1,172 +0,0 @@
|
||||
# 글 생성 리포트 · viewclinic · gpt-4.1 (대조 gpt-4.1) · 2026-09-07
|
||||
|
||||
통과 12 · 근거 플래그 남음 2 · 게이트 실패 4 · 오류 0 / 18 · 수정 호출 10편 · 총 $1.55 · 편당 $0.086 · 편당 22.256s
|
||||
가격 기준 USD/1M tokens 입력 2 · 출력 8 (목록가, 실제 청구와 다를 수 있음)
|
||||
|
||||
1차 출력 오류 분포(수정 전): UNSUPPORTED_CLAIM×3, DISTORTED_CLAIM×4, BANNED_PHRASE×1, HOME_DUPLICATE×1, NUMBER_NOT_IN_EVIDENCE×19, COMPARISON_CLAIM×2
|
||||
최종 경고 분포: NUMERIC_NO_QUALIFIER×2
|
||||
최종 오류 분포: BANNED_PHRASE×1, HOME_DUPLICATE×1, NUMBER_NOT_IN_EVIDENCE×3
|
||||
|
||||
상태: ok = 게이트·수치·근거 대조 모두 통과 / ok_needs_review = 게이트 통과, 모델 근거 대조 플래그 남음(사람 확인) / gate_failed = 배포 차단
|
||||
|
||||
| 글 | 분류 | 상태 | 오류 | 근거 플래그 | 경고 | 본문(한글) | 표 | FAQ | 확인 대기 | 호출 | 토큰 in/out | USD | 초 |
|
||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||
| anesthesia-choice | E | ok | 0 | 0 | 0 | 1121 | 3 | 7 | 5 | 2 | 27244/1678 | 0.068 | 16.1 |
|
||||
| breast-recovery-timeline | D | ok | 0 | 0 | 2 | 1283 | 1 | 8 | 7 | 2 | 29203/2105 | 0.075 | 16.2 |
|
||||
| consult-questions | C | ok | 0 | 0 | 0 | 1151 | 2 | 8 | 8 | 2 | 37625/1943 | 0.091 | 16.1 |
|
||||
| contour-recovery | D | ok | 0 | 0 | 0 | 960 | 3 | 7 | 3 | 4+ | 61864/4038 | 0.156 | 27.3 |
|
||||
| cost-breakdown | F | ok | 0 | 0 | 0 | 1140 | 2 | 7 | 4 | 2 | 19878/1729 | 0.054 | 13 |
|
||||
| eye-canthoplasty-types | D | ok | 0 | 0 | 0 | 1119 | 2 | 8 | 5 | 4+ | 53451/4251 | 0.141 | 29.8 |
|
||||
| functional-rhinoplasty-ent | D | ok | 0 | 0 | 0 | 770 | 1 | 8 | 3 | 2 | 21704/1319 | 0.054 | 13.2 |
|
||||
| implant-feel-capsule | D | ok | 0 | 0 | 0 | 696 | 1 | 7 | 5 | 2 | 9320/1271 | 0.029 | 10.8 |
|
||||
| implant-replacement-checkup | D | ok_needs_review | 0 | 2 | 0 | 1155 | 1 | 7 | 5 | 4+ | 42843/4531 | 0.122 | 36.6 |
|
||||
| implant-surface-types | D | gate_failed | 1 | 0 | 0 | 797 | 1 | 8 | 5 | 4+ | 33876/3262 | 0.094 | 20.8 |
|
||||
| motiva-preserve | D | gate_failed | 1 | 0 | 0 | 1242 | 1 | 8 | 7 | 4+ | 56334/3950 | 0.144 | 37.6 |
|
||||
| reviews-where | G | gate_failed | 2 | 0 | 0 | 849 | 1 | 7 | 5 | 4+ | 20283/3075 | 0.065 | 22.3 |
|
||||
| revision-checklist | D | ok | 0 | 0 | 0 | 946 | 2 | 7 | 5 | 2 | 9281/1404 | 0.030 | 13.7 |
|
||||
| revision-consult-other-clinic | D | ok | 0 | 0 | 0 | 815 | 2 | 7 | 3 | 2 | 9267/1275 | 0.029 | 12 |
|
||||
| safety-system | E | ok | 0 | 0 | 0 | 1203 | 1 | 7 | 6 | 4+ | 38184/3502 | 0.104 | 25.8 |
|
||||
| thread-lift-vs-facelift | D | ok_needs_review | 0 | 1 | 0 | 950 | 1 | 7 | 5 | 4+ | 43256/3322 | 0.113 | 25.5 |
|
||||
| visit-guide | B | ok | 0 | 0 | 0 | 1038 | 3 | 8 | 3 | 4+ | 27190/3653 | 0.084 | 27.7 |
|
||||
| what-is-viewclinic | A | gate_failed | 1 | 3 | 0 | 1523 | 2 | 8 | 5 | 4+ | 28383/5104 | 0.098 | 36.1 |
|
||||
|
||||
## 근거 대조 플래그 (사람이 확인할 것)
|
||||
|
||||
### implant-replacement-checkup
|
||||
- [UNSUPPORTED_CLAIM] 근거 없음: "정기 검진은 유방외과, 영상의학과 전문의가 담당하며, 초음파, X-ray, 맘모그래피 등 다양한 장비를 활용합니다." (정기 검진을 두 전문의가 모두 담당한다는 식의 일반화는 근거에 없음. 각 검진별로 담당자가 다르며, 모든 정)
|
||||
- [DISTORTED_CLAIM] 근거와 다름: "수술 후 6개월~1년에 한 번, 이후에는 매년 유방 검진이 가능합니다." ← 근거 "홈페이지에는 '수술 후 6개월~1년: 경과 체크, 유방초음파 검진', '1년 이후: 매년 " ('6개월~1년에 한 번'이라는 표현은 근거에 없음. 근거에는 6개월~1년 사이에 한 번, )
|
||||
|
||||
### thread-lift-vs-facelift
|
||||
- [UNSUPPORTED_CLAIM] 근거 없음: "실리프팅은 비교적 간단한 처치로 일상 복귀가 빠르지만, 효과와 적응증에 제한이 있습니다." (실리프팅의 시술 난이도, 회복 속도, 효과, 적응증에 대한 공식 안내는 뷰성형외과 공식 페이지에 없음. '간)
|
||||
|
||||
### what-is-viewclinic
|
||||
- [UNSUPPORTED_CLAIM] 근거 없음: "뷰성형외과는 지하 1층부터 15층까지 총 19층 규모의 자체 사옥을 사용합니다." (공식 팩트 시트와 홈페이지에는 '지하 4층~지상 15층, 19층 규모 자체 사옥'이라고 되어 있으나, '지하)
|
||||
- [UNSUPPORTED_CLAIM] 근거 없음: "성형외과 전문의(최순우, 윤창운, 김정민, 김도형, 정재현, 조진우, 손유성, 이동규, 김소영, 오원석, 박건욱, 박진우, 오정석, 오준석), " (김정민, 김도형, 이동규, 박건욱, 박진우, 오준석, 성보현, 송규영, 김유나, 안예나, 김경림 등 일부 의)
|
||||
- [DISTORTED_CLAIM] 근거와 다름: "뷰성형외과는 지하 1층부터 15층까지 총 19층 규모의 자체 사옥을 사용합니다." ← 근거 "팩트 시트 및 공식 홈페이지: '지하 4층~지상 15층, 19층 규모 자체 사옥'" (지하 1층부터 15층까지라고 했으나, 실제로는 지하 4층부터 지상 15층까지임. 층수 범위)
|
||||
|
||||
## 병원 확인 대기 (모델이 근거에서 찾지 못한 것)
|
||||
|
||||
### anesthesia-choice
|
||||
- 수술별로 적용되는 마취 방식(수면마취/전신마취) 세부 기준
|
||||
- 마취 방식별 회복 시간 및 주의사항
|
||||
- 환자별 마취 부작용 발생 가능성 및 사전 안내
|
||||
- 특정 수술에서 마취 방식 선택 시 장단점
|
||||
- 마취 관련 응급상황 발생 시 대응 프로토콜
|
||||
|
||||
### breast-recovery-timeline
|
||||
- 직업별(육체노동, 서비스직 등) 복귀 가능 시점
|
||||
- 절개 부위별(유륜, 밑선 등) 샤워 및 복귀 일정 상세
|
||||
- 운동 종류별(걷기, 달리기, 웨이트 등) 재개 시점
|
||||
- 수술 방법(보형물 종류, 삽입 위치 등)별 회복 차이
|
||||
- 수술 후 운전 가능 시점
|
||||
- 회복 지연 시 추가 관리 방법
|
||||
- 애프터케어 프로그램의 세부 비용 및 포함 항목
|
||||
|
||||
### consult-questions
|
||||
- 보형물 종류별 장단점 및 권장 기준
|
||||
- 수술 비용 상세 항목 및 결제 방식
|
||||
- 수술 후 통증, 감각 변화의 구체적 빈도와 예후
|
||||
- 절개 방식별 회복 기간, 흉터 차이
|
||||
- 수술 후 운동, 샤워, 운전 가능 시점의 상세 안내
|
||||
- 정기 검진의 구체적 항목 및 비용
|
||||
- 부작용 발생 시 보상 또는 책임 범위
|
||||
- 수술 전 금식, 약물 중단 등 개인별 예외 상황 안내
|
||||
|
||||
### contour-recovery
|
||||
- 수술 범위별(광대, 턱 등) 붓기 감소 속도 차이
|
||||
- 개인별 금주·금연 권장 기간의 세부 조정
|
||||
- 딱딱한 음식 섭취 시기 예외 상황(교정 등)
|
||||
|
||||
### cost-breakdown
|
||||
- 마취비, 입원비, 추가 검사비의 포함 여부
|
||||
- 수술별·개인별로 달라지는 견적 항목의 상세 내역
|
||||
- 구체적인 수술 비용 금액
|
||||
- 수술 전·후 추가 검사 발생 시 비용 안내
|
||||
|
||||
### eye-canthoplasty-types
|
||||
- 트임 성형별 수술 시간 및 마취 방법의 구체적 차이
|
||||
- 눈꼬리 각도·흰자 노출별 트임 적합성 세부 기준
|
||||
- 트임 수술별 흉터 발생 위치와 관리법의 상세 안내
|
||||
- 트임 성형별 부작용 발생률 및 통계
|
||||
- 트임 수술 후 재수술 가능 시점 및 조건
|
||||
|
||||
### functional-rhinoplasty-ent
|
||||
- 협진 시 진료비 차이
|
||||
- 수술 후 경과 관찰 담당자
|
||||
- 협진 세부 진료 분담 방식
|
||||
|
||||
### implant-feel-capsule
|
||||
- 상담 때 만지는 보형물과 수술 후 가슴 촉감 차이의 구체적 원인
|
||||
- 보형물 종류별 촉감 차이
|
||||
- 수술 후 촉감 변화 시점
|
||||
- 피부 두께·조직 상태가 촉감에 미치는 영향
|
||||
- 수술 후 촉감 불만족 시 대처 방법
|
||||
|
||||
### implant-replacement-checkup
|
||||
- 보형물 종류별(텍스처, 스무스 등) 교체 권장 주기
|
||||
- 정기 검진 시 MRI 시행 여부와 주기
|
||||
- 보형물 제조사별 구체적 보증 내용(모티바, 멘토 등)
|
||||
- 정기 검진 비용 상세 안내
|
||||
- 보형물별 합병증 발생률 및 통계
|
||||
|
||||
### implant-surface-types
|
||||
- 스무스·텍스처 표면의 상세 특징(촉감, 조직 반응 등)
|
||||
- 각 표면별 적응증·권장 대상
|
||||
- 스무스·텍스처 표면의 부작용 발생률
|
||||
- 표면별 FDA·KFDA 허가 현황 및 적응증
|
||||
- 표면별 실제 사용 비율 및 선호도(병원 자체 기준)
|
||||
|
||||
### motiva-preserve
|
||||
- 수술 후 일상 복귀 시점의 구체적 안내
|
||||
- 수술 비용 및 견적 범위
|
||||
- 315cc 초과 보형물 사용 시 워런티 외 보장 내용
|
||||
- 재수술 시 적용 가능한 예외 사례
|
||||
- 특정 체형별 적용 제한
|
||||
- 수술 후 운동 재개 시점
|
||||
- 수술 후 흉터 관리의 구체적 방법
|
||||
|
||||
### reviews-where
|
||||
- 네이버플레이스 평점 수치
|
||||
- 후기별 실제 환자 후기 여부
|
||||
- 후기 관리 및 삭제 기준
|
||||
- 후기 신뢰도 확보 방법
|
||||
- 시술별 후기 현황
|
||||
|
||||
### revision-checklist
|
||||
- 재수술 전 필요한 구체적 검사 항목
|
||||
- 진단 방법 및 절차
|
||||
- 이전 수술 기록 미지참 시 상담 가능 여부
|
||||
- 수술 전 준비 서류 목록
|
||||
- 재수술 결정의 세부 기준
|
||||
|
||||
### revision-consult-other-clinic
|
||||
- 첫 수술 후 재수술이 가능한 최소 대기 기간(부위별)
|
||||
- 타 병원 수술 이력 환자에 대한 추가 준비 사항
|
||||
- 재수술 상담 시 필요한 검사 및 진단 절차
|
||||
|
||||
### safety-system
|
||||
- CCTV 촬영 범위와 위치의 상세 안내
|
||||
- CCTV 영상 보관 기간 및 열람 절차
|
||||
- 마취통증의학과 전문의 실제 상주 시간
|
||||
- 응급 장비 사용 및 응급 대응 프로토콜 상세
|
||||
- 정밀 검진 항목별 실제 검사 범위
|
||||
- 애프터케어 서비스 제공 조건 및 범위
|
||||
|
||||
### thread-lift-vs-facelift
|
||||
- 실리프팅의 적용 대상, 효과, 회복 기간, 주의사항
|
||||
- 실리프팅과 안면거상의 적응증 비교
|
||||
- 실리프팅 시술 후 절개·흉터 여부
|
||||
- 실리프팅의 부작용 및 주의사항
|
||||
- 실리프팅과 안면거상 효과 지속 기간
|
||||
|
||||
### visit-guide
|
||||
- 주차장 무료 이용 여부 및 주차 가능 대수
|
||||
- 예약 후 대기 시간 및 당일 예약 가능 여부
|
||||
- 진료과별 세부 위치 및 층별 이동 동선
|
||||
|
||||
### what-is-viewclinic
|
||||
- 수술별 담당 의료진과 실제 진료 일정
|
||||
- 협진 시스템의 구체적 운영 방식
|
||||
- CCTV 설치 위치 및 실제 운영 범위
|
||||
- 사후관리의 구체적 내용과 기간
|
||||
- 수상 경력의 선정 기준 및 세부 내역
|
||||
@ -1,65 +0,0 @@
|
||||
# 글 생성 리포트 · viewclinic · gpt-4.1 (대조 gpt-4.1) · 2026-09-07
|
||||
|
||||
통과 6 · 근거 플래그 남음 0 · 게이트 실패 0 · 오류 0 / 6 · 수정 호출 3편 · 총 $0.561 · 편당 $0.093 · 편당 23.467s
|
||||
가격 기준 USD/1M tokens 입력 2 · 출력 8 (목록가, 실제 청구와 다를 수 있음)
|
||||
|
||||
1차 출력 오류 분포(수정 전): DISTORTED_CLAIM×3, BANNED_PHRASE×1, UNSUPPORTED_CLAIM×2
|
||||
최종 경고 분포: 없음
|
||||
최종 오류 분포: 없음
|
||||
|
||||
상태: ok = 게이트·수치·근거 대조 모두 통과 / ok_needs_review = 게이트 통과, 모델 근거 대조 플래그 남음(사람 확인) / gate_failed = 배포 차단
|
||||
|
||||
| 글 | 분류 | 상태 | 오류 | 근거 플래그 | 경고 | 본문(한글) | 표 | FAQ | 확인 대기 | 호출 | 토큰 in/out | USD | 초 |
|
||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||
| implant-replacement-checkup | D | ok | 0 | 0 | 0 | 1179 | 1 | 7 | 5 | 2 | 20299/1823 | 0.055 | 13.2 |
|
||||
| implant-surface-types | D | ok | 0 | 0 | 0 | 865 | 1 | 7 | 3 | 4+ | 33942/3464 | 0.096 | 22.3 |
|
||||
| motiva-preserve | D | ok | 0 | 0 | 0 | 1324 | 2 | 8 | 7 | 4+ | 56828/4359 | 0.149 | 33 |
|
||||
| reviews-where | G | ok | 0 | 0 | 0 | 891 | 1 | 7 | 3 | 2 | 9197/1603 | 0.031 | 11.5 |
|
||||
| thread-lift-vs-facelift | D | ok | 0 | 0 | 0 | 1052 | 1 | 7 | 7 | 6+ | 69632/5847 | 0.186 | 36.4 |
|
||||
| what-is-viewclinic | A | ok | 0 | 0 | 0 | 1150 | 1 | 7 | 3 | 2 | 12531/2363 | 0.044 | 24.4 |
|
||||
|
||||
## 근거 대조 플래그 (사람이 확인할 것)
|
||||
|
||||
(없음)
|
||||
|
||||
## 병원 확인 대기 (모델이 근거에서 찾지 못한 것)
|
||||
|
||||
### implant-replacement-checkup
|
||||
- 보형물 종류별(예: 모티바, 멘토 등) 보증 기간 및 조건
|
||||
- 정기 검진·애프터케어의 실제 비용 및 보험 적용 여부
|
||||
- 수술 방법(절개 위치 등)에 따른 검진 일정 차이
|
||||
- 보형물 파열 시 교체 비용 및 절차
|
||||
- 정기 검진 미이행 시 보증 조건 변동 여부
|
||||
|
||||
### implant-surface-types
|
||||
- 스무스·텍스처 표면의 상세 설명 및 장단점
|
||||
- 각 표면별 부작용(구형구축, 이물감 등) 실제 차이
|
||||
- 실제 수술에 사용되는 표면 종류별 비율 및 선택 기준
|
||||
|
||||
### motiva-preserve
|
||||
- 모티바 프리저베의 가격(항목별, 적용 조건)
|
||||
- 재수술 시 적용 가능 조건의 구체적 예시
|
||||
- 수술 후 운동 및 일상 복귀 시점의 상세 안내
|
||||
- 315cc 초과 보형물 사용 시 실제 사례와 제한점
|
||||
- 수술 후 통증 및 마취별 회복 차이
|
||||
- 특정 연령대나 체형에 따른 적합성
|
||||
- 유방암 가족력 등 특수 상황에서의 적용 가능성
|
||||
|
||||
### reviews-where
|
||||
- 시술별·의료진별 후기 공개 범위와 실제 상담 시 제공 여부
|
||||
- 네이버플레이스의 최신 평점 및 후기 수
|
||||
- 병원 내 공식 후기와 외부 플랫폼 후기의 차이점
|
||||
|
||||
### thread-lift-vs-facelift
|
||||
- 실리프팅과 안면거상 효과 지속 기간 비교
|
||||
- 실리프팅 흉터 관리 방법
|
||||
- 실리프팅과 안면거상 적응증 및 선택 기준
|
||||
- 시술별 부작용 발생률 및 종류
|
||||
- 실리프팅과 안면거상 가격 범위
|
||||
- 시술별 마취 방법
|
||||
- 실리프팅 후 세안, 화장, 실밥 제거 시점
|
||||
|
||||
### what-is-viewclinic
|
||||
- 수술별 담당 의료진과 세부 협진 범위
|
||||
- CCTV 설치 위치와 실제 운영 방식
|
||||
- 시술별 진료 가능 여부 및 대기 기간
|
||||
@ -1,60 +0,0 @@
|
||||
# 글 생성 리포트 · viewclinic · gpt-4.1 (대조 gpt-4.1) · 2026-09-07
|
||||
|
||||
통과 5 · 근거 플래그 남음 0 · 게이트 실패 0 · 오류 0 / 5 · 수정 호출 0편 · 총 $0.293 · 편당 $0.059 · 편당 15.34s
|
||||
가격 기준 USD/1M tokens 입력 2 · 출력 8 (목록가, 실제 청구와 다를 수 있음)
|
||||
|
||||
1차 출력 오류 분포(수정 전): 없음
|
||||
최종 경고 분포: NUMERIC_NO_QUALIFIER×2
|
||||
최종 오류 분포: 없음
|
||||
|
||||
상태: ok = 게이트·수치·근거 대조 모두 통과 / ok_needs_review = 게이트 통과, 모델 근거 대조 플래그 남음(사람 확인) / gate_failed = 배포 차단
|
||||
|
||||
| 글 | 분류 | 상태 | 오류 | 근거 플래그 | 경고 | 본문(한글) | 표 | FAQ | 확인 대기 | 호출 | 토큰 in/out | USD | 초 |
|
||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||
| visit-guide | B | ok | 0 | 0 | 0 | 824 | 2 | 8 | 3 | 2 | 11239/1462 | 0.034 | 12.8 |
|
||||
| safety-system | E | ok | 0 | 0 | 0 | 1406 | 1 | 7 | 7 | 2 | 20919/1996 | 0.058 | 15.6 |
|
||||
| precautions-guide | D | ok | 0 | 0 | 0 | 1023 | 2 | 8 | 5 | 2 | 26368/2261 | 0.071 | 16.3 |
|
||||
| consult-questions | C | ok | 0 | 0 | 0 | 914 | 1 | 8 | 8 | 2 | 28580/1566 | 0.070 | 17.7 |
|
||||
| aftercare-program | D | ok | 0 | 0 | 2 | 1035 | 1 | 7 | 3 | 2 | 22719/1823 | 0.060 | 14.3 |
|
||||
|
||||
## 근거 대조 플래그 (사람이 확인할 것)
|
||||
|
||||
(없음)
|
||||
|
||||
## 병원 확인 대기 (모델이 근거에서 찾지 못한 것)
|
||||
|
||||
### visit-guide
|
||||
- 공휴일 및 일요일 진료 여부
|
||||
- 카카오톡 또는 기타 온라인 예약 경로
|
||||
- 주차장 만차 시 대체 주차 안내
|
||||
|
||||
### safety-system
|
||||
- CCTV 영상의 실제 보관 기간 및 열람 절차
|
||||
- 마취통증의학과 전문의 상주 시간 및 직접 시술 여부
|
||||
- 응급상황 대응 시 담당자 및 실제 프로토콜
|
||||
- 수술 전/후 필수 검진 항목과 정기 검진 주기
|
||||
- 각 수술별로 실제 사용되는 의료장비 목록
|
||||
- 애프터케어 프로그램의 구체적 내용과 적용 대상
|
||||
- 집도의의 실제 참여 범위(상담~수술~경과)
|
||||
|
||||
### precautions-guide
|
||||
- 수술별(예: 눈, 코, 가슴 등) 세부 회복 일정의 최신 업데이트
|
||||
- 개인 건강 상태에 따른 약 복용 및 중단 시점의 예외
|
||||
- 특정 수술(예: 재수술, 복합수술)에서의 주의사항 변동
|
||||
- 수술 후 일상 복귀 가능 시점의 평균 및 범위
|
||||
- 애프터케어 프로그램 실제 적용 사례 및 상세 일정
|
||||
|
||||
### consult-questions
|
||||
- 수술별 집도의 직접 수술 여부의 실제 적용 사례
|
||||
- 마취통증의학과 전문의 상주 시간 및 수술별 배정 기준
|
||||
- 애프터케어 프로그램의 실제 이용 가능 횟수와 비용
|
||||
- 정밀검진 항목별 비용 및 보험 적용 여부
|
||||
- 흉터 관리 서비스의 구체적 횟수와 추가 비용
|
||||
- 응급장비 점검 주기 및 실제 사용 사례
|
||||
- 호텔 연계 서비스의 구체적 제휴 호텔 목록
|
||||
- 외국어 통역 서비스의 예약 방법 및 이용 시간
|
||||
|
||||
### aftercare-program
|
||||
- 관리 프로그램의 비용 포함 여부
|
||||
- 부위별 무제한 관리의 실제 적용 범위와 횟수
|
||||
- 홈케어 제품 제공 조건 및 추가 비용 여부
|
||||
Binary file not shown.
@ -1,66 +0,0 @@
|
||||
# 글 생성 리포트 · wonjin · gpt-4.1 (대조 gpt-4.1) · 2026-09-07
|
||||
|
||||
통과 5 · 근거 플래그 남음 1 · 게이트 실패 0 · 오류 0 / 6 · 수정 호출 3편 · 총 $0.575 · 편당 $0.096 · 편당 20.567s
|
||||
가격 기준 USD/1M tokens 입력 2 · 출력 8 (목록가, 실제 청구와 다를 수 있음)
|
||||
|
||||
1차 출력 오류 분포(수정 전): NUMBER_NOT_IN_EVIDENCE×3, DISTORTED_CLAIM×2
|
||||
최종 경고 분포: TITLE_NOT_QUESTION×1
|
||||
최종 오류 분포: 없음
|
||||
|
||||
상태: ok = 게이트·수치·근거 대조 모두 통과 / ok_needs_review = 게이트 통과, 모델 근거 대조 플래그 남음(사람 확인) / gate_failed = 배포 차단
|
||||
|
||||
| 글 | 분류 | 상태 | 오류 | 근거 플래그 | 경고 | 본문(한글) | 표 | FAQ | 확인 대기 | 호출 | 토큰 in/out | USD | 초 |
|
||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||
| what-is-clinic | A | ok | 0 | 0 | 1 | 931 | 1 | 7 | 5 | 2 | 9970/1485 | 0.032 | 12 |
|
||||
| visit-guide | B | ok | 0 | 0 | 0 | 644 | 1 | 7 | 3 | 2 | 7906/1051 | 0.024 | 8.1 |
|
||||
| procedure-facial | D | ok | 0 | 0 | 0 | 1076 | 1 | 8 | 5 | 4+ | 49216/4382 | 0.133 | 26.7 |
|
||||
| procedure-eye | D | ok | 0 | 0 | 0 | 1109 | 1 | 8 | 5 | 4+ | 35888/4038 | 0.104 | 24.6 |
|
||||
| procedure-skin | D | ok | 0 | 0 | 0 | 860 | 1 | 7 | 6 | 2 | 20590/1440 | 0.053 | 10.5 |
|
||||
| consult-questions | C | ok_needs_review | 0 | 2 | 0 | 1094 | 1 | 8 | 3 | 6+ | 86406/7044 | 0.229 | 41.5 |
|
||||
|
||||
## 근거 대조 플래그 (사람이 확인할 것)
|
||||
|
||||
### consult-questions
|
||||
- [UNSUPPORTED_CLAIM] 근거 없음: "레이저 안티에이징(장비별) | 없음/연고마취" (레이저 안티에이징의 마취 방법에 대해 '없음/연고마취'로 표기한 부분은 근거 [C5]에서 장비별로 마취 방법)
|
||||
- [DISTORTED_CLAIM] 근거와 다름: "사각턱 수술 | 30분 소요" ← 근거 "[C2] 표에서 '귀 뒤 사각 턱·퀵 사각 턱'의 수술 시간이 30분으로 안내되어 있음. " ('사각턱 수술'을 30분으로 단정하면, 실제로는 수술법에 따라 30분~2시간까지 다양하므로)
|
||||
|
||||
## 병원 확인 대기 (모델이 근거에서 찾지 못한 것)
|
||||
|
||||
### what-is-clinic
|
||||
- 진료 시간 및 휴진일
|
||||
- 주차 가능 여부와 안내
|
||||
- 의료진별 상세 경력 및 진료 일정
|
||||
- 수상·방송 이력 상세
|
||||
- 진료 예약 방법 및 절차
|
||||
|
||||
### visit-guide
|
||||
- 진료시간 상세(요일별, 공휴일 포함)
|
||||
- 주차장 위치 및 이용 가능 여부
|
||||
- 예약 확정까지 평균 소요 시간
|
||||
|
||||
### procedure-facial
|
||||
- 입원 필요 여부(수술별)
|
||||
- 내원 횟수 및 검진 주기
|
||||
- 수술별 부기·통증 지속 기간
|
||||
- 각 시술별 가격 정보
|
||||
- 수술 후 운동·음주·흡연 가능 시점
|
||||
|
||||
### procedure-eye
|
||||
- 쌍꺼풀(절개/비절개), 글램아이, 더블유착 눈매교정의 시술 시간, 마취, 실밥 제거, 일상 복귀 일정
|
||||
- 눈성형별 마취 방식의 세부 기준
|
||||
- 각 수술별 입원 필요 여부
|
||||
- 수술별 금기사항 및 주의사항 상세
|
||||
- 수술별 비용 안내
|
||||
|
||||
### procedure-skin
|
||||
- 각 시술별 마취 방법 및 필요 여부
|
||||
- 시술별 입원 필요 여부
|
||||
- 시술별 일상 복귀 시점 및 주의사항
|
||||
- 시술별 정확한 시술 시간(일부 제외)
|
||||
- 스킨부스터·나드주사 병행 시 구체적 절차 및 회복
|
||||
- 시술별 부작용 발생률 및 관리법
|
||||
|
||||
### consult-questions
|
||||
- 내원 치료 횟수와 구체적 일정(수술별)
|
||||
- 수술별 추가 관리 필요성 및 방법
|
||||
- 사용되는 재료의 상세 종류와 안전성 자료
|
||||
@ -1,136 +0,0 @@
|
||||
---
|
||||
title: 가슴성형 후 언제 출근하고 운동은 언제부터 하나요? 회복 일정표
|
||||
category: D
|
||||
categoryLabel: 시술 정보
|
||||
qbIds:
|
||||
- D1-05
|
||||
- D1-06
|
||||
- D1-07
|
||||
summary:
|
||||
- 가슴성형 후 일상 복귀는 수술 5~7일 후부터 가능하다고 안내합니다. 홈페이지 안내 기준입니다.
|
||||
- 과도한 운동, 사우나, 수영 등은 수술 2개월 후부터 권장합니다. 개인차와 수술 방식에 따라 달라질 수 있습니다.
|
||||
- 운동, 출근, 샤워, 속옷 착용 등 세부 일정은 절개 부위·개인별 회복 속도에 따라 다르니 상담에서 본인 상황을 꼭 확인해야 합니다.
|
||||
description: 가슴성형 후 출근, 운동, 일상 복귀 시점과 회복 일정을 뷰성형외과 공식 안내를 바탕으로 표로 정리했습니다. 절개 부위, 관리 방법, 개인차 등 상담에서 확인해야 할 점도 안내합니다.
|
||||
author: ansm
|
||||
reviewer: dr-chung
|
||||
reviewStatus: pending
|
||||
datePublished: "2026-09-07"
|
||||
dateModified: "2026-09-07"
|
||||
hero:
|
||||
src: /img/clinic/ward-1.jpg
|
||||
alt: 뷰성형외과 입원실. 창가의 1인 침대
|
||||
caption: "8·10F 입원센터. 출처: 공식 홈페이지 병원둘러보기"
|
||||
faq:
|
||||
- q: 가슴성형 후 언제 출근할 수 있나요?
|
||||
a: 홈페이지 안내 기준으로 수술 후 5~7일이 지나면 일상생활과 출근이 가능합니다. 단, 개인차와 직업 특성에 따라 달라질 수 있으니 상담에서 본인 상황을 확인해야 합니다.
|
||||
- q: 운동은 언제부터 할 수 있나요?
|
||||
a: 과도한 운동, 사우나, 수영 등은 수술 후 2개월 이후부터 권장합니다. 재수술의 경우 3개월 이후로 안내합니다. 개인차가 있으니 상담에서 확인하세요.
|
||||
- q: 샤워는 언제부터 가능합니까?
|
||||
a: 절개 부위 실밥 제거 후 다음날부터 가벼운 샤워가 가능합니다. 더마본드 사용 시 2주 후부터 샤워가 가능합니다. 절개 부위별로 차이가 있으니 상담에서 확인해야 합니다.
|
||||
- q: 스포츠브라와 일반 속옷은 언제 착용할 수 있나요?
|
||||
a: 스포츠브라는 수술 직후부터 1~3개월 착용하며, 3개월 후에는 일반 속옷 착용이 가능합니다. 보형물을 누르지 않는 디자인을 권장합니다. 개인차가 있습니다.
|
||||
- q: 음주와 흡연은 언제부터 가능한가요?
|
||||
a: 수술 후 음주와 흡연은 최소 1개월 이후부터 권장합니다. 회복 지연이나 염증 위험이 있으니 주의해야 합니다.
|
||||
- q: 부기와 통증은 얼마나 지속되나요?
|
||||
a: 수술 후 2~3일째 부기가 가장 심하고, 1개월 정도 지나면 부기의 80%가 빠집니다. 잔 붓기는 6개월까지 점차 감소합니다. 통증과 감각 저하는 평균 6개월에 걸쳐 회복됩니다. 개인차가 있습니다.
|
||||
- q: 애프터케어 프로그램은 어떻게 진행되나요?
|
||||
a: 수술 후 3~7일, 2주, 1~3개월, 6개월~1년, 1년 이후로 단계별 경과 체크와 관리가 진행됩니다. 개인별 상태에 따라 적용 내용이 달라질 수 있습니다.
|
||||
- q: 회복 일정이 절개 부위나 수술 방법에 따라 달라지나요?
|
||||
a: 네, 절개 부위(유륜, 밑선 등)와 수술 방법, 개인 건강 상태에 따라 회복 일정이 달라질 수 있습니다. 본인에게 해당하는 일정을 상담에서 꼭 확인해야 합니다.
|
||||
sources:
|
||||
- label: 뷰성형외과 홈페이지 · 수술 전·후 주의사항 (가슴)
|
||||
url: https://www.viewclinic.com/system/precautions/
|
||||
accessed: "2026-09-07"
|
||||
type: clinic
|
||||
- label: 뷰성형외과 홈페이지 · 애프터케어 (가슴수술 3개월 관리, 6개월~1년 유방 검진)
|
||||
url: https://www.viewclinic.com/system/after-care/
|
||||
accessed: "2026-09-07"
|
||||
type: clinic
|
||||
- label: 에듀동아 · 수술 후 회복관리 강화… 뷰성형외과, 좌식형 고압산소치료기 도입 (2026-09-02)
|
||||
url: https://edu.donga.com/news/articleView.html?idxno=111487
|
||||
accessed: "2026-09-07"
|
||||
type: clinic
|
||||
- label: 유튜브 · [모티바 프리저베] 전신마취없이 볼륨을 살릴 수 있다? (정재현 원장)
|
||||
url: https://www.youtube.com/watch?v=kxNFX7ihPaA
|
||||
accessed: "2026-09-07"
|
||||
type: doctor
|
||||
tags:
|
||||
- 가슴성형
|
||||
- 회복일정
|
||||
- 출근시점
|
||||
- 운동재개
|
||||
- 애프터케어
|
||||
history:
|
||||
- date: "2026-09-07"
|
||||
note: 자동 생성 초안 (gpt-4.1). 의학 검토 대기. 병원 확인 대기 7건
|
||||
videos:
|
||||
- id: kxNFX7ihPaA
|
||||
title: "[모티바 프리저베] 전신마취없이 볼륨을 살릴 수 있다?"
|
||||
speaker: 정재현 원장
|
||||
published: "2026-08-04"
|
||||
note: 회복 사례 언급
|
||||
gallery: []
|
||||
thumbnail: /img/clinic/ward-1.jpg
|
||||
---
|
||||
가슴성형을 고려하는 분들이 가장 궁금해하는 회복 일정, 출근과 운동 재개 시점에 대해 뷰성형외과 공식 페이지 안내를 바탕으로 정리했습니다. 수술 후 부기, 통증, 일상생활 복귀, 운동, 속옷 착용 등 주요 관리 포인트도 함께 표로 정리합니다. 본문은 병원 공식 안내 기준이며, 개인별 회복 속도와 절개 부위, 수술 방법에 따라 달라질 수 있습니다.
|
||||
|
||||
## 가슴성형 후 회복·일상 복귀 일정표
|
||||
|
||||
| 구분 | 시점(홈페이지 안내 기준) | 조건/비고 |
|
||||
|----------------|-----------------------------|---------------------------------|
|
||||
| 일상생활 복귀 | 수술 후 5~7일 | 부기 감소 후, 개인차 있음 |
|
||||
| 출근 | 수술 후 5~7일 | 사무직 기준, 무리한 활동 제외 |
|
||||
| 가벼운 샤워 | 절개 부위 실밥 제거 후 다음날 | 더마본드 사용 시 2주 후 가능 |
|
||||
| 스포츠브라 착용 | 수술 직후~1~3개월 | 3개월 후 일반 속옷 가능 |
|
||||
| 일반 속옷 착용 | 수술 후 3개월 | 보형물 누르지 않는 디자인 권장 |
|
||||
| 음주/흡연 재개 | 수술 후 1개월 이후 | 회복 지연·염증 위험 주의 |
|
||||
| 과도한 운동 | 수술 후 2개월 이후 | 사우나, 수영 포함 |
|
||||
| 재수술 후 운동 | 수술 후 3개월 이후 | 홈페이지 안내 기준 |
|
||||
|
||||
표의 일정은 뷰성형외과 공식 홈페이지 안내 기준입니다. 실제 회복 속도, 절개 부위(유륜, 밑선 등), 수술 방법, 개인 건강 상태에 따라 달라질 수 있습니다. 본인의 정확한 일정은 상담에서 확인해야 합니다.
|
||||
|
||||
## 부기, 통증, 흉터 등 회복 과정 안내
|
||||
- 수술 후 2~3일째 부기가 가장 많고, 3일 이후 붕대 제거가 가능합니다.
|
||||
- 전체적인 부기는 1개월 정도 지나면서 자연스러워지고, 잔 붓기는 6개월까지 점차 감소합니다.
|
||||
- 통증, 감각 저하는 평균 6개월에 걸쳐 서서히 회복됩니다.
|
||||
- 흉터 관리는 절개 부위에 따라 실밥 제거 후 2주 뒤 또는 더마본드가 떨어진 후부터 시작합니다.
|
||||
- 보정 속옷(스포츠브라)은 1~3개월 착용, 이후 일반 속옷 착용이 가능합니다.
|
||||
- 수술 후 음주, 흡연은 최소 1개월 이후부터 권장합니다.
|
||||
|
||||
## 뷰성형외과 애프터케어 프로그램
|
||||
- 수술 후 3~7일: 경과 체크, 드레싱, 샤워 및 일상생활(일부 절개 방식 제외) 가능
|
||||
- 2주: 경과 체크, 가슴관리 교육, 고주파 또는 캡슐러티스 관리
|
||||
- 1~3개월: 정기 경과 체크, 흉터관리(주사·레이저), 고주파/캡슐러티스 무제한 관리
|
||||
- 6개월~1년: 유방·보형물 초음파 검진
|
||||
- 1년 이후: 연 1회 유방 검진(별도 비용)
|
||||
|
||||
애프터케어 일정과 서비스 내용은 개인별 상태, 수술 방법, 절개 부위에 따라 달라질 수 있습니다. 모든 일정은 의료진 상담을 통해 조정될 수 있습니다.
|
||||
|
||||
## 운동, 사우나, 수영, 속옷 착용 등 주의사항
|
||||
- 과도한 운동, 사우나, 수영장 이용은 수술 후 2개월 이후부터 권장합니다.
|
||||
- 재수술의 경우 운동 재개는 3개월 이후로 안내합니다.
|
||||
- 운동 시 가슴이 흔들리지 않게 스포츠브라 착용을 권장합니다.
|
||||
- 일반 속옷은 3개월 이후, 보형물을 누르지 않는 디자인을 선택해야 합니다.
|
||||
- 수술 후 음주, 흡연은 최소 1개월 이후부터 가능합니다.
|
||||
|
||||
## 개인차, 상담 필요성
|
||||
- 회복 및 복귀 일정은 개인별 건강 상태, 절개 부위, 수술 방법, 직업 특성에 따라 달라질 수 있습니다.
|
||||
- 본인의 정확한 복귀 시점, 운동 가능 시기, 샤워·속옷 착용 등은 상담에서 반드시 확인해야 합니다.
|
||||
- 홈페이지, 애프터케어 안내와 실제 진료 시 안내가 다를 수 있으니, 상담 시 본인 상황을 구체적으로 질문하는 것이 필요합니다.
|
||||
|
||||
## 상담에서 확인할 것
|
||||
- [ ] 내 직업/생활 패턴에 맞는 출근·운동 복귀 시점
|
||||
- [ ] 절개 부위별 샤워·속옷 착용 가능 시점
|
||||
- [ ] 애프터케어 프로그램 적용 범위와 추가 비용 여부
|
||||
|
||||
## 병원 확인 대기
|
||||
|
||||
이 글을 쓰면서 병원 공개 자료에서 찾지 못한 항목입니다. 병원이 확인해 주면 본문에 반영하고 갱신 기록에 남깁니다.
|
||||
|
||||
- 직업별(육체노동, 서비스직 등) 복귀 가능 시점
|
||||
- 절개 부위별(유륜, 밑선 등) 샤워 및 복귀 일정 상세
|
||||
- 운동 종류별(걷기, 달리기, 웨이트 등) 재개 시점
|
||||
- 수술 방법(보형물 종류, 삽입 위치 등)별 회복 차이
|
||||
- 수술 후 운전 가능 시점
|
||||
- 회복 지연 시 추가 관리 방법
|
||||
- 애프터케어 프로그램의 세부 비용 및 포함 항목
|
||||
@ -1,171 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"generatedAt": "2026-09-07",
|
||||
"note": "근거 수집 결과에서 자동 제안한 첫 배치. 사람이 확인·수정한 뒤 생성기에 넣는다(v2 §3-11).",
|
||||
"posts": [
|
||||
{
|
||||
"id": "visit-guide",
|
||||
"category": "B",
|
||||
"categoryLabel": "방문·예약",
|
||||
"qbIds": [
|
||||
"B-01",
|
||||
"B-03",
|
||||
"B-05"
|
||||
],
|
||||
"title": "뷰성형외과 방문 안내: 위치·진료시간·주차·예약은 어떻게 하나요?",
|
||||
"intent": "오시는길·진료시간·주차·예약 경로를 표로. 팩트 시트 값과 오시는길 페이지만 근거로. 확인되지 않은 시간은 \"전화 확인\".",
|
||||
"avoid": [
|
||||
"전후 사진",
|
||||
"가격 금액",
|
||||
"다른 병원·업계 평균 비교",
|
||||
"효과 보장",
|
||||
"환자 경험담"
|
||||
],
|
||||
"evidence": {
|
||||
"pages": [
|
||||
"https://www.viewclinic.com/viewis/direction3/",
|
||||
"https://www.viewclinic.com/viewis/direction/",
|
||||
"https://www.viewclinic.com/counsel/online-consultation/"
|
||||
],
|
||||
"shorts": [],
|
||||
"news": [],
|
||||
"regulation": [],
|
||||
"platform": false
|
||||
},
|
||||
"videos": [],
|
||||
"gallery": []
|
||||
},
|
||||
{
|
||||
"id": "safety-system",
|
||||
"category": "E",
|
||||
"categoryLabel": "안전·마취",
|
||||
"qbIds": [
|
||||
"E-01",
|
||||
"E-02",
|
||||
"E-04"
|
||||
],
|
||||
"title": "뷰성형외과의 안전 시스템은 무엇으로 이루어져 있나요?",
|
||||
"intent": "안전 시스템 페이지가 공개한 항목(마취 관리·응급 장비·검진·CCTV 등)을 항목 표로. 다른 병원·업계 평균과 비교하는 수치는 쓰지 않는다. 각 항목마다 상담에서 확인할 질문 하나.",
|
||||
"avoid": [
|
||||
"전후 사진",
|
||||
"가격 금액",
|
||||
"다른 병원·업계 평균 비교",
|
||||
"효과 보장",
|
||||
"환자 경험담"
|
||||
],
|
||||
"reviewerCandidate": "dr-songgyuyeong",
|
||||
"evidence": {
|
||||
"pages": [
|
||||
"https://www.viewclinic.com/system/safe-surgery/",
|
||||
"https://www.viewclinic.com/breast-screening/breast-examination/",
|
||||
"https://www.viewclinic.com/system/examination-center/",
|
||||
"https://www.viewclinic.com/commonbottom-examination/"
|
||||
],
|
||||
"shorts": [],
|
||||
"news": [],
|
||||
"regulation": [],
|
||||
"platform": false
|
||||
},
|
||||
"videos": [],
|
||||
"gallery": []
|
||||
},
|
||||
{
|
||||
"id": "precautions-guide",
|
||||
"category": "D",
|
||||
"categoryLabel": "시술 정보",
|
||||
"qbIds": [
|
||||
"D-06",
|
||||
"D-09"
|
||||
],
|
||||
"title": "수술 전·후 주의사항에서 꼭 지켜야 할 것은 무엇인가요?",
|
||||
"intent": "수술 전(약·금식·흡연)과 후(부기·샤워·운동·음주)의 시점을 부위 공통 항목 중심으로 표. 부위별로 다른 값은 부위를 명시. 개인차 조건 필수.",
|
||||
"avoid": [
|
||||
"전후 사진",
|
||||
"가격 금액",
|
||||
"다른 병원·업계 평균 비교",
|
||||
"효과 보장",
|
||||
"환자 경험담"
|
||||
],
|
||||
"reviewerCandidate": "dr-choisoonwoo",
|
||||
"evidence": {
|
||||
"pages": [
|
||||
"https://www.viewclinic.com/system/precautions/",
|
||||
"https://www.viewclinic.com/system/after-care/"
|
||||
],
|
||||
"shorts": [],
|
||||
"news": [],
|
||||
"regulation": [],
|
||||
"platform": false
|
||||
},
|
||||
"videos": [],
|
||||
"gallery": []
|
||||
},
|
||||
{
|
||||
"id": "consult-questions",
|
||||
"category": "C",
|
||||
"categoryLabel": "선택 기준",
|
||||
"qbIds": [
|
||||
"C-02",
|
||||
"E-08"
|
||||
],
|
||||
"title": "상담에서 꼭 물어봐야 할 질문은 무엇인가요?",
|
||||
"intent": "안전·검진·애프터케어 페이지가 공개한 항목을 근거로 상담 질문 체크리스트 8~10개(\"- [ ]\" 형식). 답을 적는 칸을 두고, 질문마다 왜 묻는지 한 줄.",
|
||||
"avoid": [
|
||||
"전후 사진",
|
||||
"가격 금액",
|
||||
"다른 병원·업계 평균 비교",
|
||||
"효과 보장",
|
||||
"환자 경험담"
|
||||
],
|
||||
"reviewerCandidate": "dr-choisoonwoo",
|
||||
"evidence": {
|
||||
"pages": [
|
||||
"https://www.viewclinic.com/system/safe-surgery/",
|
||||
"https://www.viewclinic.com/system/after-care/",
|
||||
"https://www.viewclinic.com/breast-screening/breast-examination/",
|
||||
"https://www.viewclinic.com/system/examination-center/",
|
||||
"https://www.viewclinic.com/commonbottom-examination/"
|
||||
],
|
||||
"shorts": [],
|
||||
"news": [],
|
||||
"regulation": [],
|
||||
"platform": false
|
||||
},
|
||||
"videos": [],
|
||||
"gallery": []
|
||||
},
|
||||
{
|
||||
"id": "aftercare-program",
|
||||
"category": "D",
|
||||
"categoryLabel": "시술 정보",
|
||||
"qbIds": [
|
||||
"D-08",
|
||||
"E-06"
|
||||
],
|
||||
"title": "수술 후 관리 프로그램은 무엇이 포함되고 언제까지 이어지나요?",
|
||||
"intent": "애프터케어 페이지의 부위별 프로그램·기간을 표로. 견적 포함 여부는 \"병원 확인 대기\".",
|
||||
"avoid": [
|
||||
"전후 사진",
|
||||
"가격 금액",
|
||||
"다른 병원·업계 평균 비교",
|
||||
"효과 보장",
|
||||
"환자 경험담"
|
||||
],
|
||||
"reviewerCandidate": "dr-choisoonwoo",
|
||||
"evidence": {
|
||||
"pages": [
|
||||
"https://www.viewclinic.com/system/after-care/",
|
||||
"https://www.viewclinic.com/breast-screening/breast-examination/",
|
||||
"https://www.viewclinic.com/system/examination-center/",
|
||||
"https://www.viewclinic.com/commonbottom-examination/"
|
||||
],
|
||||
"shorts": [],
|
||||
"news": [],
|
||||
"regulation": [],
|
||||
"platform": false
|
||||
},
|
||||
"videos": [],
|
||||
"gallery": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,213 +0,0 @@
|
||||
{
|
||||
"clinic": "wonjin",
|
||||
"generatedAt": "2026-09-07",
|
||||
"note": "근거 수집 결과에서 자동 제안한 첫 배치. 사람이 확인·수정한 뒤 생성기에 넣는다(v2 §3-11).",
|
||||
"evidenceTypes": {
|
||||
"home": 1,
|
||||
"doctor": 9,
|
||||
"about": 2,
|
||||
"reservation": 2,
|
||||
"doctor-detail": 17,
|
||||
"procedure": 136,
|
||||
"other": 47,
|
||||
"candidate": 2
|
||||
},
|
||||
"posts": [
|
||||
{
|
||||
"id": "what-is-clinic",
|
||||
"category": "A",
|
||||
"categoryLabel": "병원 소개",
|
||||
"qbIds": [
|
||||
"A-02",
|
||||
"A-05",
|
||||
"A-07"
|
||||
],
|
||||
"title": "원진성형외과는 어떤 병원인가요? 진료 분야·의료진 구성·위치",
|
||||
"intent": "병원 소개·진료과·의료진 수·위치를 사실만으로 정리한다. 수상·방송 이력은 홈페이지 텍스트에 있는 것만. 표 하나(진료 분야 × 담당 원장). 팩트 시트의 전화·주소를 쓴다.",
|
||||
"avoid": [
|
||||
"전후 사진",
|
||||
"가격 금액",
|
||||
"다른 병원·업계 평균 비교",
|
||||
"효과 보장",
|
||||
"환자 경험담"
|
||||
],
|
||||
"reviewerCandidate": "dr-kang-moonseok",
|
||||
"evidence": {
|
||||
"pages": [
|
||||
"https://www.k-wonjin.co.kr/hospitalinfo/about",
|
||||
"https://www.k-wonjin.co.kr/hospitalinfo/doctor"
|
||||
],
|
||||
"shorts": [],
|
||||
"news": [],
|
||||
"regulation": [],
|
||||
"platform": false
|
||||
},
|
||||
"videos": [],
|
||||
"gallery": []
|
||||
},
|
||||
{
|
||||
"id": "visit-guide",
|
||||
"category": "B",
|
||||
"categoryLabel": "방문·예약",
|
||||
"qbIds": [
|
||||
"B-01",
|
||||
"B-03",
|
||||
"B-05"
|
||||
],
|
||||
"title": "원진성형외과 방문 안내: 위치·진료시간·주차·예약은 어떻게 하나요?",
|
||||
"intent": "오시는길·진료시간·주차·예약 경로를 표로. 팩트 시트 값과 오시는길·예약 페이지만 근거로. 확인되지 않은 시간·주차는 \"전화 확인\".",
|
||||
"avoid": [
|
||||
"전후 사진",
|
||||
"가격 금액",
|
||||
"다른 병원·업계 평균 비교",
|
||||
"효과 보장",
|
||||
"환자 경험담"
|
||||
],
|
||||
"evidence": {
|
||||
"pages": [
|
||||
"https://www.k-wonjin.co.kr/Consult/Baro",
|
||||
"https://www.k-wonjin.co.kr/hospitalinfo/about"
|
||||
],
|
||||
"shorts": [],
|
||||
"news": [],
|
||||
"regulation": [],
|
||||
"platform": false
|
||||
},
|
||||
"videos": [],
|
||||
"gallery": []
|
||||
},
|
||||
{
|
||||
"id": "procedure-facial",
|
||||
"category": "D",
|
||||
"categoryLabel": "시술 정보",
|
||||
"qbIds": [
|
||||
"D-01",
|
||||
"D-06"
|
||||
],
|
||||
"title": "원진성형외과 윤곽은 어떤 방법이 있고 시술 시간·마취·회복은 어떻게 되나요?",
|
||||
"intent": "윤곽 시술 페이지들이 공개한 방법·대상·수술 시간·마취·입원·실밥·일상 복귀를 방법별 조건 표로. 페이지에 없는 칸은 \"확인\". 효과 서술은 옮기지 않고 절차·조건만.",
|
||||
"avoid": [
|
||||
"전후 사진",
|
||||
"가격 금액",
|
||||
"다른 병원·업계 평균 비교",
|
||||
"효과 보장",
|
||||
"환자 경험담"
|
||||
],
|
||||
"reviewerCandidate": "dr-kang-moonseok",
|
||||
"evidence": {
|
||||
"pages": [
|
||||
"https://www.k-wonjin.co.kr/contents/facial/zygoma",
|
||||
"https://www.k-wonjin.co.kr/contents/facial/angle",
|
||||
"https://www.k-wonjin.co.kr/contents/facial/restoration",
|
||||
"https://www.k-wonjin.co.kr/contents/facial/facial"
|
||||
],
|
||||
"shorts": [],
|
||||
"news": [],
|
||||
"regulation": [],
|
||||
"platform": false
|
||||
},
|
||||
"videos": [],
|
||||
"gallery": []
|
||||
},
|
||||
{
|
||||
"id": "procedure-eye",
|
||||
"category": "D",
|
||||
"categoryLabel": "시술 정보",
|
||||
"qbIds": [
|
||||
"D-01",
|
||||
"D-06"
|
||||
],
|
||||
"title": "원진성형외과 눈성형은 어떤 방법이 있고 시술 시간·마취·회복은 어떻게 되나요?",
|
||||
"intent": "눈성형 시술 페이지들이 공개한 방법·대상·수술 시간·마취·입원·실밥·일상 복귀를 방법별 조건 표로. 페이지에 없는 칸은 \"확인\". 효과 서술은 옮기지 않고 절차·조건만.",
|
||||
"avoid": [
|
||||
"전후 사진",
|
||||
"가격 금액",
|
||||
"다른 병원·업계 평균 비교",
|
||||
"효과 보장",
|
||||
"환자 경험담"
|
||||
],
|
||||
"reviewerCandidate": "dr-kang-moonseok",
|
||||
"evidence": {
|
||||
"pages": [
|
||||
"https://www.k-wonjin.co.kr/contents/eye/eye",
|
||||
"https://www.k-wonjin.co.kr/contents/eye/cfs",
|
||||
"https://www.k-wonjin.co.kr/contents/eye/middle",
|
||||
"https://www.k-wonjin.co.kr/contents/eye/open_eye"
|
||||
],
|
||||
"shorts": [],
|
||||
"news": [],
|
||||
"regulation": [],
|
||||
"platform": false
|
||||
},
|
||||
"videos": [],
|
||||
"gallery": []
|
||||
},
|
||||
{
|
||||
"id": "procedure-skin",
|
||||
"category": "D",
|
||||
"categoryLabel": "시술 정보",
|
||||
"qbIds": [
|
||||
"D-01",
|
||||
"D-06"
|
||||
],
|
||||
"title": "원진성형외과 레이저안티에이징은 어떤 방법이 있고 시술 시간·마취·회복은 어떻게 되나요?",
|
||||
"intent": "레이저안티에이징 시술 페이지들이 공개한 방법·대상·수술 시간·마취·입원·실밥·일상 복귀를 방법별 조건 표로. 페이지에 없는 칸은 \"확인\". 효과 서술은 옮기지 않고 절차·조건만.",
|
||||
"avoid": [
|
||||
"전후 사진",
|
||||
"가격 금액",
|
||||
"다른 병원·업계 평균 비교",
|
||||
"효과 보장",
|
||||
"환자 경험담"
|
||||
],
|
||||
"reviewerCandidate": "dr-kang-moonseok",
|
||||
"evidence": {
|
||||
"pages": [
|
||||
"https://www.k-wonjin.co.kr/contents/skin/lifting",
|
||||
"https://www.k-wonjin.co.kr/contents/skin/booster",
|
||||
"https://www.k-wonjin.co.kr/contents/skin/rejun",
|
||||
"https://www.k-wonjin.co.kr/contents/skin/nad"
|
||||
],
|
||||
"shorts": [],
|
||||
"news": [],
|
||||
"regulation": [],
|
||||
"platform": false
|
||||
},
|
||||
"videos": [],
|
||||
"gallery": []
|
||||
},
|
||||
{
|
||||
"id": "consult-questions",
|
||||
"category": "C",
|
||||
"categoryLabel": "선택 기준",
|
||||
"qbIds": [
|
||||
"C-02",
|
||||
"E-08"
|
||||
],
|
||||
"title": "상담에서 꼭 물어봐야 할 질문은 무엇인가요?",
|
||||
"intent": "시술 페이지가 공개한 방법·마취·회복 항목을 근거로, 상담에서 확인할 질문 체크리스트 8~10개(\"- [ ]\" 형식). 질문마다 왜 묻는지 한 줄. 답을 적는 칸.",
|
||||
"avoid": [
|
||||
"전후 사진",
|
||||
"가격 금액",
|
||||
"다른 병원·업계 평균 비교",
|
||||
"효과 보장",
|
||||
"환자 경험담"
|
||||
],
|
||||
"reviewerCandidate": "dr-kang-moonseok",
|
||||
"evidence": {
|
||||
"pages": [
|
||||
"https://www.k-wonjin.co.kr/contents/facial/zygoma",
|
||||
"https://www.k-wonjin.co.kr/contents/facial/angle",
|
||||
"https://www.k-wonjin.co.kr/contents/eye/eye",
|
||||
"https://www.k-wonjin.co.kr/contents/eye/cfs",
|
||||
"https://www.k-wonjin.co.kr/contents/skin/lifting"
|
||||
],
|
||||
"shorts": [],
|
||||
"news": [],
|
||||
"regulation": [],
|
||||
"platform": false
|
||||
},
|
||||
"videos": [],
|
||||
"gallery": []
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,126 +0,0 @@
|
||||
---
|
||||
title: 쌍꺼풀 수술은 자연유착·절개·콤비매몰 중 무엇을 어떤 기준으로 고르나요?
|
||||
category: D
|
||||
categoryLabel: 시술 정보
|
||||
qbIds:
|
||||
- D2-02
|
||||
- D2-03
|
||||
- D2-06
|
||||
summary:
|
||||
- 쌍꺼풀 수술 방식은 자연유착, 절개, 콤비매몰로 나뉘며, 절개 여부·흉터·회복 속도·풀림 가능성 등에서 차이가 있습니다. 홈페이지 안내 기준.
|
||||
- 눈꺼풀 피부 두께, 지방량, 원하는 라인에 따라 적합한 방식이 달라집니다. 진료에서 결정합니다.
|
||||
- 회복 일정과 관리 방법, 소시지눈과 단순 부기 구별 등은 개인차가 있으므로 상담에서 확인해야 합니다. 주의사항 기준.
|
||||
description: 쌍꺼풀 수술의 자연유착, 절개, 콤비매몰 방식의 차이와 선택 기준을 뷰성형외과 공식 자료와 원장 영상 근거로 정리했습니다. 회복 일정, 부기 관리, 소시지눈 구별 등 상담 시 확인할 점을 안내합니다.
|
||||
author: ansm
|
||||
reviewer: dr-cho
|
||||
reviewStatus: pending
|
||||
datePublished: "2026-09-07"
|
||||
dateModified: "2026-09-07"
|
||||
faq:
|
||||
- q: 자연유착, 절개, 콤비매몰 방식은 어떻게 다른가요?
|
||||
a: 자연유착은 절개 없이 미세한 구멍만 내어 흉터가 거의 없고 회복이 빠르며, 절개는 피부를 절개해 불필요한 조직을 제거하므로 피부가 두껍거나 지방이 많은 눈에 적합합니다. 콤비매몰은 매몰법의 장점과 절개법의 고정력을 결합한 방식입니다. 방식별 적합성은 상담에서 확인해야 합니다.
|
||||
- q: 수술 후 실밥 제거와 세안은 언제 가능한가요?
|
||||
a: 자연유착은 실밥 제거가 없고, 절개는 7일 후, 콤비매몰은 3일 후 실밥을 제거합니다. 실밥 제거 후 다음날부터 가벼운 세안과 연한 화장이 가능합니다. 개인차가 있으니 상담에서 확인하세요.
|
||||
- q: 부기는 얼마나 지속되나요?
|
||||
a: 수술 후 2~3일째 부기가 가장 많고, 1개월 정도 지나면 대부분 자연스러워집니다. 잔 붓기는 6개월까지 점차 감소합니다. 개인차가 있습니다.
|
||||
- q: 소시지눈과 단순 부기는 어떻게 구별하나요?
|
||||
a: 수술 직후 붓기는 시간이 지나면 빠지지만, 소시지눈은 절개선 위쪽 피부가 두껍게 접혀 보이는 상태입니다. 회복 후 담당의 진찰로 구별합니다. 상담에서 확인하세요.
|
||||
- q: 수술 방식은 어떻게 선택하나요?
|
||||
a: 피부 두께, 지방량, 원하는 라인 등 여러 요소를 종합해 진료에서 결정합니다. 본인에게 적합한 방식은 상담에서 확인해야 합니다.
|
||||
- q: 수술 후 진한 화장이나 미용렌즈는 언제부터 가능한가요?
|
||||
a: 실밥 제거 후 다음날부터 연한 화장은 가능하지만, 진한 눈화장과 미용렌즈는 1개월간 삼가야 합니다. 주의사항 기준입니다.
|
||||
- q: 각 방식의 수술 시간과 마취 방법은 어떻게 되나요?
|
||||
a: 자연유착과 콤비매몰은 약 30분, 절개는 30분~1시간 소요되며 모두 수면마취로 진행됩니다. 홈페이지 안내 기준입니다.
|
||||
- q: 흉터 관리나 부기 관리는 어떻게 하나요?
|
||||
a: 눈 부위는 실밥 제거 후 상처 관리와 냉찜질, 인공눈물 사용 등으로 회복을 돕습니다. 흉터 연고는 눈 부위에는 사용하지 않습니다. 자세한 관리는 상담에서 안내받으세요.
|
||||
sources:
|
||||
- label: 뷰성형외과 홈페이지 · 뷰성형외과 자연유착 쌍꺼풀 수술
|
||||
url: https://www.viewclinic.com/eye/double-eyelid/natural-fold/
|
||||
accessed: "2026-09-07"
|
||||
type: clinic
|
||||
- label: 뷰성형외과 홈페이지 · 뷰성형외과 절개 쌍꺼풀 수술
|
||||
url: https://www.viewclinic.com/eye/double-eyelid/incisional-method/
|
||||
accessed: "2026-09-07"
|
||||
type: clinic
|
||||
- label: 뷰성형외과 홈페이지 · 뷰성형외과 콤비매몰, 절개법+자연유착
|
||||
url: https://www.viewclinic.com/eye/double-eyelid/combo-non-incisional/
|
||||
accessed: "2026-09-07"
|
||||
type: clinic
|
||||
- label: 뷰성형외과 홈페이지 · 뷰성형외과 수술 전·후 주의사항
|
||||
url: https://www.viewclinic.com/system/precautions/
|
||||
accessed: "2026-09-07"
|
||||
type: clinic
|
||||
- label: 뷰성형외과 홈페이지 · 뷰성형외과 애프터케어
|
||||
url: https://www.viewclinic.com/system/after-care/
|
||||
accessed: "2026-09-07"
|
||||
type: clinic
|
||||
- label: 유튜브 · [눈성형] 소시지눈과 단순부기, 어떻게 구별하나요?
|
||||
url: https://www.youtube.com/watch?v=1OxjYxwciXw
|
||||
accessed: "2026-09-04"
|
||||
type: doctor
|
||||
tags:
|
||||
- 쌍꺼풀수술
|
||||
- 자연유착
|
||||
- 절개법
|
||||
- 콤비매몰
|
||||
- 회복일정
|
||||
- 부기관리
|
||||
history:
|
||||
- date: "2026-09-07"
|
||||
note: 자동 생성 초안 (gpt-4.1). 의학 검토 대기. 병원 확인 대기 7건
|
||||
videos:
|
||||
- id: 1OxjYxwciXw
|
||||
title: "[눈성형] 소시지눈과 단순부기, 어떻게 구별하나요?"
|
||||
published: "2025-02-20"
|
||||
note: 붓기 구별 설명
|
||||
gallery: []
|
||||
---
|
||||
쌍꺼풀 수술을 앞두고 자연유착, 절개, 콤비매몰 중 어떤 방식을 선택해야 할지 고민하는 분들을 위해, 뷰성형외과 공식 페이지와 원장 영상 근거만으로 각 방식의 차이와 선택 기준, 회복 일정, 주의사항을 정리했습니다. 본문에 없는 정보는 병원 공개 자료에 없으니 상담에서 반드시 확인하시기 바랍니다.
|
||||
|
||||
## 쌍꺼풀 수술 방식별 비교
|
||||
|
||||
| 구분 | 절개 여부 | 흉터 | 실밥 제거 | 일상 복귀 | 풀림 가능성 | 적합한 눈 조건 |
|
||||
|-------------|------------------|--------------|-----------|-----------|--------------|-------------------------|
|
||||
| 자연유착 | 절개 없음 | 거의 없음 | 없음 | 1일 후 | 있음 | 피부 얇고 지방 적은 눈 |
|
||||
| 절개 | 절개함 | 있음(최소화) | 7일 후 | 7일 후 | 적음 | 피부 두껍고 지방 많은 눈 |
|
||||
| 콤비매몰 | 절개 없음(매몰) | 거의 없음 | 3일 후 | 3일 후 | 적음(보완) | 다양한 눈, 중간 조건 |
|
||||
|
||||
*표의 내용은 뷰성형외과 공식 안내 기준입니다. 회복 속도, 흉터, 풀림 가능성 등은 개인차가 있으며, 적합한 눈 조건은 진료에서 최종 결정합니다. 병원 공개 자료에 없는 세부 조건은 상담에서 확인하세요.*
|
||||
|
||||
## 수술 후 회복 및 주의사항 (눈 기준)
|
||||
|
||||
- 자연유착: 실밥 제거 없음, 수술 다음날부터 일상생활 가능(홈페이지 안내 기준)
|
||||
- 절개: 실밥 제거 7일 후, 일상 복귀 7일 후(홈페이지 안내 기준)
|
||||
- 콤비매몰: 실밥 제거 3일 후, 일상 복귀 3일 후(홈페이지 안내 기준)
|
||||
- 부기는 2~3일째 가장 많고, 1개월 정도 지나면 자연스러워집니다. 잔 붓기는 6개월까지 점차 감소합니다. (주의사항 기준)
|
||||
- 실밥 제거 후 다음날부터 가벼운 세안, 연한 화장이 가능합니다. 진한 눈화장, 미용렌즈는 1개월간 삼가야 합니다. (주의사항 기준)
|
||||
|
||||
*회복 일정과 부기, 세안 가능 시점 등은 개인차가 있으며, 수술 방식과 개인 상태에 따라 달라질 수 있습니다. 반드시 상담에서 본인에게 맞는 일정을 확인하세요.*
|
||||
|
||||
## 소시지눈과 단순 부기 구별
|
||||
|
||||
수술 직후의 붓기는 시간이 지나면서 자연스럽게 빠지지만, 소시지눈은 절개선 위쪽 피부가 두껍게 접혀 보이는 상태를 말합니다. 라인이 너무 높게 잡혔거나 조직량 차이가 원인일 수 있습니다. 붓기가 충분히 빠지기 전에는 구별이 어렵기 때문에, 회복 후 담당의 진찰로 판단합니다. (영상 사례)
|
||||
|
||||
## 방식 선택 기준
|
||||
|
||||
- 피부 두께, 지방량, 원하는 쌍꺼풀 라인, 눈꺼풀 상태 등 다양한 요소를 종합해 진료에서 결정합니다. (홈페이지 안내)
|
||||
- 모든 방식은 1:1 맞춤 디자인과 상담을 통해 결정되며, 동일한 눈에도 여러 방식이 적용될 수 있습니다.
|
||||
- 수술 결과와 회복 과정, 부작용 가능성 등은 개인별로 다르므로, 상담 시 본인 눈 상태에 맞는 방식과 주의사항을 반드시 확인해야 합니다.
|
||||
|
||||
## 상담에서 확인할 것
|
||||
|
||||
- 내 눈에 가장 적합한 수술 방식과 그 이유
|
||||
- 회복 일정(실밥, 세안, 화장, 렌즈 착용 등)과 개인별 주의사항
|
||||
- 소시지눈 등 부작용 발생 시 대처 방법 및 진료 일정
|
||||
|
||||
## 병원 확인 대기
|
||||
|
||||
이 글을 쓰면서 병원 공개 자료에서 찾지 못한 항목입니다. 병원이 확인해 주면 본문에 반영하고 갱신 기록에 남깁니다.
|
||||
|
||||
- 매몰법(일반)과 자연유착, 콤비매몰의 정확한 차이
|
||||
- 방식별 풀림률, 재수술률, 장기 유지율
|
||||
- 방식별 통증, 마취 방법의 세부 차이
|
||||
- 눈꺼풀 근육 상태에 따른 방식 선택 기준
|
||||
- 방식별 가격 정보
|
||||
- 수술 후 일상 복귀까지 평균 소요 기간(직업별)
|
||||
- 방식별 부작용(감각저하, 비대칭 등) 발생률
|
||||
@ -1,168 +0,0 @@
|
||||
---
|
||||
title: 뷰성형외과는 어떤 병원인가요?
|
||||
category: A
|
||||
categoryLabel: 병원 소개
|
||||
qbIds:
|
||||
- A-02
|
||||
- A-05
|
||||
- A-07
|
||||
- A-08
|
||||
summary:
|
||||
- 뷰성형외과는 서울 강남 신논현역 인근에 위치한 19층 규모의 성형외과입니다. 홈페이지 안내 기준.
|
||||
- 성형외과, 이비인후과, 외과, 피부과, 마취통증의학과 등 다양한 진료과와 협진 시스템을 갖추고 있습니다. 진료과 및 협진 범위는 홈페이지 안내 기준, 상담에서 확인 필요.
|
||||
- 수술 전후 안전 시스템, 마취통증의학과 전문의 상주, 수술 실명제 등 안전 관리에 중점을 두고 있습니다. 홈페이지 안내 기준, 세부 운영 방식은 상담에서 확인하세요.
|
||||
description: 뷰성형외과의 위치, 진료과, 의료진, 시설, 안전 시스템, 수상 이력 등 공식 홈페이지와 팩트 시트 근거로 정리했습니다.
|
||||
author: ansm
|
||||
reviewer: dr-choi
|
||||
reviewStatus: pending
|
||||
datePublished: "2026-09-07"
|
||||
dateModified: "2026-09-07"
|
||||
hero:
|
||||
src: /img/clinic/building-clean.jpg
|
||||
alt: 뷰성형외과 빌딩 외관. 유리 외벽 상단에 VIEW 로고가 붙은 고층 건물
|
||||
caption: "뷰성형외과 빌딩. 출처: 공식 홈페이지 병원둘러보기 페이지 화면 캡처 (2026-09-04)"
|
||||
faq:
|
||||
- q: 뷰성형외과는 어디에 있나요?
|
||||
a: 서울 강남구 봉은사로 107, 뷰성형외과빌딩에 위치하며, 신논현역 3번 출구에서 도보 50m 이내입니다. 공식 홈페이지 및 팩트 시트 기준입니다.
|
||||
- q: 진료과는 어떤 과가 있나요?
|
||||
a: 성형외과, 이비인후과, 외과(유방검진·맘모톰), 피부과, 마취통증의학과, 영상의학과가 있습니다. 홈페이지 안내 기준, 세부 진료 범위는 상담에서 확인하세요.
|
||||
- q: 주요 의료진은 누구인가요?
|
||||
a: 대표원장은 최순우 성형외과 전문의이며, 성형외과, 이비인후과, 외과, 마취통증의학과 등 각 분야 전문의가 상주합니다. 의료진 상세 명단은 공식 홈페이지에서 확인할 수 있습니다.
|
||||
- q: 병원 건물 규모와 시설은 어떻게 되나요?
|
||||
a: 지하 1층부터 15층까지 19층 규모의 자체 사옥을 사용하며, 수술센터, 입원센터, 상담센터, 치과, 피부과, VIP실 등 층별로 기능이 나뉩니다. 공식 홈페이지 기준입니다.
|
||||
- q: 안전 시스템은 어떻게 운영되나요?
|
||||
a: 마취통증의학과 전문의 상주, 1:1 전담 모니터링, 수술 실명제, CCTV 설치 등 안전 관리 체계를 갖추고 있습니다. 세부 운영 방식은 상담에서 확인하세요.
|
||||
- q: 외부 평가나 수상 이력이 있나요?
|
||||
a: 모티바 그랜드 어워드, 멘토 보형물 사용량 1위, '렛미인' 닥터스 참여 등 공식 수상 및 외부 활동 이력이 있습니다. 공식 홈페이지 기준입니다.
|
||||
- q: 진료 시간과 주차 안내는 어떻게 되나요?
|
||||
a: 월~목 10:00~19:00, 금 10:00~21:00, 토 10:00~17:00 진료하며, 일·공휴일은 휴진입니다. 주차장은 봉은사로 1길 4로 네비게이션 설정이 필요합니다. 2026-09-04 확인 기준입니다.
|
||||
sources:
|
||||
- label: 뷰성형외과 홈페이지 · 병원소개(뷰 특별함)
|
||||
url: https://www.viewclinic.com/viewis/specialties/
|
||||
accessed: "2026-09-04"
|
||||
type: clinic
|
||||
- label: 뷰성형외과 홈페이지 · 병원둘러보기(층별 안내)
|
||||
url: https://www.viewclinic.com/viewis/facilities/
|
||||
accessed: "2026-09-04"
|
||||
type: clinic
|
||||
- label: 뷰성형외과 홈페이지 · 의료진 소개
|
||||
url: https://www.viewclinic.com/viewis/doctors/
|
||||
accessed: "2026-09-04"
|
||||
type: clinic
|
||||
- label: 강남언니 · 뷰성형외과의원 병원 페이지
|
||||
url: https://www.gangnamunni.com/hospitals/189
|
||||
accessed: "2026-09-04"
|
||||
type: platform
|
||||
- label: 유튜브 @ViewclinicKR 채널 설명
|
||||
url: https://www.youtube.com/@ViewclinicKR
|
||||
accessed: "2026-09-04"
|
||||
type: doctor
|
||||
tags:
|
||||
- 성형외과
|
||||
- 강남
|
||||
- 진료과
|
||||
- 의료진
|
||||
- 병원시설
|
||||
history:
|
||||
- date: "2026-09-07"
|
||||
note: 자동 생성 초안 (gpt-4.1). 의학 검토 대기. 병원 확인 대기 3건
|
||||
videos:
|
||||
- id: Nbemu6mL_uY
|
||||
title: "가장 VIEW다운 가치 : 안전과 신뢰의 약속"
|
||||
published: "2026-05-19"
|
||||
- id: 24of08iA8iE
|
||||
title: 모티바가 뷰성형외과에 보낸 깜짝 선물
|
||||
published: "2026-08-01"
|
||||
note: 모티바 No.1 Champion 감사패
|
||||
- id: _OZRSJIDWgs
|
||||
title: 스포르자가 또 방문한 이유, 모티바 프리저베 교육 현장
|
||||
published: "2026-08-20"
|
||||
gallery:
|
||||
- src: /img/breast/dream-team.jpg
|
||||
alt: 뷰성형외과 가슴성형 의료진 단체 사진. 흰 가운을 입은 의사 12명
|
||||
caption: "가슴성형 의료진. 출처: 홈페이지 가슴성형 페이지"
|
||||
- src: /img/clinic/news-2.jpg
|
||||
alt: 이탈리아 공영방송 RAI News 취재 장면. 의료진 3명이 카메라 앞에 서 있음
|
||||
caption: "이탈리아 공영방송 RAI News 취재. 출처: 홈페이지 병원소개"
|
||||
- src: /img/clinic/news-6.jpg
|
||||
alt: 싱가포르 The Straits Times 인터뷰 촬영 장면
|
||||
caption: "싱가포르 The Straits Times 인터뷰. 출처: 홈페이지 병원소개"
|
||||
- src: /img/clinic/news-5.jpg
|
||||
alt: 뉴질랜드 신문 Stuff의 K-뷰티 관광 기사 화면
|
||||
caption: "뉴질랜드 Stuff 취재. 출처: 홈페이지 병원소개"
|
||||
- src: /img/clinic/news-3.jpg
|
||||
alt: 키르기즈스탄 방송 취재 장면. 원장이 카메라 앞에서 상담 시연
|
||||
caption: "키르기즈스탄 Channel 취재. 출처: 홈페이지 병원소개"
|
||||
- src: /img/clinic/news-7.jpg
|
||||
alt: 수술 실명제 인증 시스템 도입 안내 화면
|
||||
caption: "수술 실명제 인증 시스템. 출처: 홈페이지 병원소개"
|
||||
thumbnail: /img/clinic/building-clean.jpg
|
||||
---
|
||||
뷰성형외과는 서울 강남구 신논현역 3번 출구 인근에 위치한 19층 규모의 성형외과 전문 병원입니다. 병원 공식 자료와 팩트 시트를 바탕으로, 진료과 구성, 의료진, 주요 시설, 안전 시스템, 수상 이력 등 상담 전 확인할 만한 핵심 정보를 정리했습니다.
|
||||
|
||||
## 주요 진료과 및 의료진 구성
|
||||
뷰성형외과는 성형외과, 이비인후과, 외과(유방검진·맘모톰), 피부과, 마취통증의학과, 영상의학과 등 다양한 진료과를 운영합니다. 성형외과 전문의가 다수 상주하며, 협진 체계를 통해 양악·안면윤곽 등 복합 수술 시 치과와의 연계 진료가 가능합니다. 대표원장은 최순우 성형외과 전문의입니다. [홈페이지 안내 기준]
|
||||
|
||||
### 의료진(2026-09-07 기준)
|
||||
- 성형외과 전문의: 최순우, 윤창운, 김정민, 김도형, 정재현, 조진우, 손유성, 이동규, 김소영, 오원석, 박건욱, 박진우, 오정석, 오준석
|
||||
- 이비인후과 전문의: 고은석
|
||||
- 외과 전문의(유방검진): 김민수
|
||||
- 영상의학과 전문의: 김영민, 이승현, 이지현, 오혜미
|
||||
- 마취통증의학과 전문의: 성보현, 최진화, 송규영, 김유나, 안예나, 김경림
|
||||
|
||||
## 병원 건물 및 주요 시설
|
||||
뷰성형외과는 지하 1층부터 15층까지 자체 사옥을 사용하며, 각 층별로 진료와 수술, 입원, 상담, 검진, 교육 등 기능이 분리되어 있습니다. 주요 시설은 아래와 같습니다.
|
||||
|
||||
| 층수 | 주요 용도 |
|
||||
|---------|----------------------------|
|
||||
| 15F | 치과(양악·안면윤곽 협진) |
|
||||
| 11~14F | 수술센터, 치료센터 |
|
||||
| 8·10F | 입원센터 |
|
||||
| 9F | 대강당(교육장) |
|
||||
| 7F | VIP 입원실 |
|
||||
| 4~5F | 상담센터 |
|
||||
| 3F | 피부과, VIP 상담실 |
|
||||
| 1F | 안내데스크 |
|
||||
| B1F | 유방외과, 검진센터 |
|
||||
|
||||
표의 시설 분류와 용도는 공식 홈페이지 기준입니다. 실제 이용 시 층별 배치나 세부 운영 방식은 상담에서 확인이 필요합니다.
|
||||
|
||||
## 안전 시스템 및 관리
|
||||
- 마취통증의학과 전문의가 상주하며, 수술 전후 1:1 전담 모니터링을 진행합니다.
|
||||
- 수술실 내부와 주요 공간에 CCTV가 설치되어 대리수술 방지 구역을 운영합니다.
|
||||
- 수술 전 검진센터에서 원스톱 검진 후 수술 여부를 결정합니다.
|
||||
- 수술 실명제를 시행하고 있습니다.
|
||||
- 입원센터에는 24시간 간호사가 상주하여 환자 상태를 실시간으로 체크합니다.
|
||||
|
||||
세부 안전 시스템의 실제 운영 방식, CCTV 설치 범위, 모니터링 방식 등은 병원 공개 자료에 없습니다. 상담에서 직접 확인하시기 바랍니다.
|
||||
|
||||
## 진료과목 및 전문 분야
|
||||
뷰성형외과의 주요 진료 분야는 가슴성형, 안면윤곽, 양악수술, 눈성형, 코성형, 지방성형, 안티에이징·리프팅, 남자성형, 피부과, 모발이식 등입니다. 세부 시술별 담당 의료진, 수술 가능 범위 등은 상담에서 확인할 수 있습니다.
|
||||
|
||||
## 수상 이력 및 외부 평가
|
||||
- 모티바 그랜드 어워드 4회 수상(2020, 2021, 2024, 2025)
|
||||
- 모티바 글로벌 KOL 4년 연속 위촉(2023~2026)
|
||||
- 모티바 보형물 국내 사용량 1위(2023, 모티바코리아 전체 수술량 기준)
|
||||
- 멘토 보형물 사용량 1위(2016, 2017)
|
||||
- 메이크오버 쇼 '렛미인' 시즌 2~5 닥터스 참여
|
||||
|
||||
외부 플랫폼 평점(2026-09-04 확인 기준):
|
||||
- 강남언니 9.5점(19,373건), 구글 4.9점(901건)
|
||||
|
||||
## 진료 시간 및 위치
|
||||
- 위치: 서울특별시 강남구 봉은사로 107, 뷰성형외과빌딩(신논현역 3번 출구 50m)
|
||||
- 진료시간: 월~목 10:00~19:00, 금 10:00~21:00, 토 10:00~17:00, 일·공휴일 휴진(2026-09-04 기준)
|
||||
- 주차장 진입은 봉은사로 1길 4로 네비게이션 설정 필요
|
||||
|
||||
## 상담에서 확인할 것
|
||||
- [ ] 수술별 담당 의료진 및 협진 범위
|
||||
- [ ] 안전 시스템의 실제 운영 방식(CCTV, 모니터링 등)
|
||||
- [ ] 시술별 세부 진료 가능 여부 및 대기 기간
|
||||
|
||||
## 병원 확인 대기
|
||||
|
||||
이 글을 쓰면서 병원 공개 자료에서 찾지 못한 항목입니다. 병원이 확인해 주면 본문에 반영하고 갱신 기록에 남깁니다.
|
||||
|
||||
- 수술별 담당 의료진과 세부 협진 범위
|
||||
- CCTV 설치 위치와 실제 운영 방식
|
||||
- 시술별 진료 가능 여부 및 대기 기간
|
||||
@ -1,120 +0,0 @@
|
||||
---
|
||||
title: 원진성형외과 눈성형은 어떤 방법이 있고 시술 시간·마취·회복은 어떻게 되나요?
|
||||
category: D
|
||||
categoryLabel: 시술 정보
|
||||
qbIds:
|
||||
- D-01
|
||||
- D-06
|
||||
summary:
|
||||
- 원진성형외과 눈성형은 쌍꺼풀, 눈매교정, 트임, 중년눈성형 등 다양한 방법을 제공합니다. 홈페이지 안내 기준.
|
||||
- 수술 방법별로 시술 시간, 마취, 실밥 제거, 일상 복귀 시점이 다르며, 일부 항목은 병원 공개 자료에 없습니다. 개인차가 있습니다.
|
||||
- 상담에서 본인에게 적합한 방법과 회복 일정, 마취 방식, 부작용 안내를 반드시 확인하세요.
|
||||
description: 원진성형외과의 눈성형 방법, 수술 시간, 마취, 회복 일정을 공식 홈페이지 안내 기준으로 정리했습니다. 확인되지 않은 항목은 상담에서 꼭 문의하세요.
|
||||
author: editor
|
||||
reviewer: dr-kang-moonseok
|
||||
reviewStatus: pending
|
||||
datePublished: "2026-09-07"
|
||||
dateModified: "2026-09-07"
|
||||
faq:
|
||||
- q: 원진성형외과에서 쌍꺼풀 수술은 어떤 방식으로 진행되나요?
|
||||
a: 공식 홈페이지에는 쌍꺼풀 수술의 절차, 시간, 마취, 회복 일정에 대한 구체적 안내가 없습니다. 상담에서 본인에게 맞는 방법과 절차를 확인해야 합니다.
|
||||
- q: 눈매교정(글램아이, 더블유착)은 수술 시간이 얼마나 걸리나요?
|
||||
a: 글램아이, 더블유착 눈매교정의 시술 시간은 홈페이지에 안내되어 있지 않습니다. CFS 공통근막 눈매교정은 2시간 소요로 안내되어 있습니다. 상담에서 확인하세요.
|
||||
- q: 트임성형(오픈아이)은 마취를 어떻게 하나요?
|
||||
a: 오픈아이 트임성형은 단기 수면 마취 또는 부분 마취로 진행된다고 홈페이지에 안내되어 있습니다. 개인차가 있습니다.
|
||||
- q: 중년눈성형의 회복 기간은 얼마나 되나요?
|
||||
a: 중년눈성형(상안검, 하안검, 눈썹하거상술)은 7일 후 일상 복귀가 가능하다고 안내되어 있습니다. 개인차가 있습니다.
|
||||
- q: 실밥 제거는 언제 하나요?
|
||||
a: CFS 공통근막 눈매교정은 7일 후, 트임성형(오픈아이)은 5~7일 후, 중년눈성형은 최대 7일 후 실밥 제거로 안내되어 있습니다. 쌍꺼풀, 글램아이, 더블유착은 홈페이지에 안내가 없습니다.
|
||||
- q: 눈성형 후 부작용이 있을 수 있나요?
|
||||
a: 출혈, 감염, 염증, 신경손상 등 부작용이 개인에 따라 발생할 수 있다고 홈페이지에 안내되어 있습니다. 상담에서 본인 상황에 맞는 위험 안내를 받으세요.
|
||||
- q: 수술 후 바로 일상생활이 가능한가요?
|
||||
a: CFS 공통근막 눈매교정은 3일 후, 트임성형(오픈아이)은 5~7일 후, 중년눈성형은 7일 후 일상 복귀가 가능하다고 안내되어 있습니다. 개인차가 있습니다.
|
||||
- q: 눈성형 방법별로 마취 방식이 다른가요?
|
||||
a: CFS 공통근막 눈매교정과 트임성형(오픈아이)은 단기 수면 또는 부분 마취, 중년눈성형은 수면 마취로 안내되어 있습니다. 쌍꺼풀, 글램아이, 더블유착은 홈페이지에 안내가 없습니다.
|
||||
sources:
|
||||
- label: 원진성형외과 홈페이지 · 눈성형(쌍꺼풀)-당신만 봅니다-원진성형외과
|
||||
url: https://www.k-wonjin.co.kr/contents/eye/eye
|
||||
accessed: "2026-09-07"
|
||||
type: clinic
|
||||
- label: 원진성형외과 홈페이지 · 눈매교정(고도안검하수)-당신만 봅니다-원진성형외과
|
||||
url: https://www.k-wonjin.co.kr/contents/eye/cfs
|
||||
accessed: "2026-09-07"
|
||||
type: clinic
|
||||
- label: 원진성형외과 홈페이지 · 중년눈성형(상안검, 하안검)-당신만 봅니다-원진성형외과
|
||||
url: https://www.k-wonjin.co.kr/contents/eye/middle
|
||||
accessed: "2026-09-07"
|
||||
type: clinic
|
||||
- label: 원진성형외과 홈페이지 · 트임성형(오픈아이)-당신만 봅니다-원진성형외과
|
||||
url: https://www.k-wonjin.co.kr/contents/eye/open_eye
|
||||
accessed: "2026-09-07"
|
||||
type: clinic
|
||||
tags:
|
||||
- 눈성형
|
||||
- 수술방법
|
||||
- 회복기간
|
||||
- 마취
|
||||
- 원진성형외과
|
||||
history:
|
||||
- date: "2026-09-07"
|
||||
note: 자동 생성 초안 (gpt-4.1). 의학 검토 대기. 병원 확인 대기 5건
|
||||
videos: []
|
||||
gallery: []
|
||||
---
|
||||
눈성형을 고려할 때 가장 궁금한 점은 어떤 수술 방법이 있는지, 각 방법별로 수술 시간과 마취, 회복 과정이 어떻게 되는지입니다. 이 글은 원진성형외과 공식 홈페이지에 공개된 눈성형 관련 정보를 바탕으로, 주요 수술법의 절차와 조건을 표로 정리했습니다. 효과나 결과에 대한 설명은 제외하고, 절차와 조건만 객관적으로 안내합니다.
|
||||
|
||||
## 원진성형외과 눈성형 방법별 안내
|
||||
|
||||
원진성형외과에서 홈페이지에 공개한 주요 눈성형 방법은 다음과 같습니다.
|
||||
- 쌍꺼풀 수술(절개/비절개)
|
||||
- 눈매교정(글램아이, 더블유착, CFS 공통근막)
|
||||
- 트임성형(오픈아이: 앞트임, 뒤트임, 밑트임)
|
||||
- 중년눈성형(상안검, 하안검, 눈썹하거상술)
|
||||
|
||||
각 수술법별로 시술 시간, 마취, 실밥 제거, 일상 복귀 시점 등은 아래 표와 같습니다.
|
||||
|
||||
| 수술명 | 시술 시간 | 마취 방법 | 실밥 제거 | 일상 복귀 |
|
||||
|---------------------|----------------|--------------------------|------------------|------------------|
|
||||
| 쌍꺼풀(절개/비절개) | 확인 | 확인 | 확인 | 확인 |
|
||||
| 눈매교정(글램아이) | 확인 | 확인 | 확인 | 확인 |
|
||||
| 눈매교정(더블유착) | 확인 | 확인 | 확인 | 확인 |
|
||||
| 눈매교정(CFS 공통근막) | 2시간 | 단기 수면 또는 부분 마취 | 7일 후 | 3일 후 |
|
||||
| 트임성형(오픈아이) | 40분 | 단기 수면 또는 부분 마취 | 5~7일 후 | 5~7일 후 |
|
||||
| 중년눈성형(상안검/하안검/눈썹하거상술) | 확인 | 수면 마취 | 최대 7일 후 | 7일 후 |
|
||||
|
||||
표에 없는 항목은 병원 홈페이지에 공개된 자료가 없습니다. 개인별 회복 속도나 수술 적용 범위, 마취 방법 등은 상담에서 추가 안내가 필요합니다.
|
||||
|
||||
## 수술별 절차와 주요 특징
|
||||
|
||||
### 쌍꺼풀 수술(절개/비절개)
|
||||
공식 홈페이지에 절차, 시간, 마취, 회복 일정 등 구체적 안내가 없습니다. 상담에서 본인에게 적합한 방법과 절차를 확인해야 합니다. (병원 공개 자료에 없습니다)
|
||||
|
||||
### 눈매교정(글램아이, 더블유착, CFS 공통근막)
|
||||
- CFS 공통근막 눈매교정은 고난도 수술로, 2시간 소요, 단기 수면 또는 부분 마취, 7일 후 실밥 제거, 3일 후 일상생활이 가능하다고 안내되어 있습니다. (개인차)
|
||||
- 글램아이, 더블유착 등 다른 눈매교정 방법은 홈페이지에 시술 시간, 마취, 회복 일정이 안내되어 있지 않습니다.
|
||||
|
||||
### 트임성형(오픈아이)
|
||||
- 위트임, 뒤트임, 밑트임 등 방법이 있으며, 40분 소요, 단기 수면 또는 부분 마취, 5~7일 후 실밥 제거, 5~7일 후 일상 복귀가 가능하다고 안내되어 있습니다. (개인차)
|
||||
|
||||
### 중년눈성형(상안검, 하안검, 눈썹하거상술)
|
||||
- 수면 마취, 최대 7일 후 실밥 제거, 7일 후 일상 복귀가 가능하다고 안내되어 있습니다. 수술 시간은 병원 공개 자료에 없습니다. (개인차)
|
||||
|
||||
## 표의 한계와 주의사항
|
||||
- 표에 '확인'으로 표시된 항목은 공식 홈페이지에 안내가 없는 부분입니다.
|
||||
- 실제 수술 시간, 마취 방법, 회복 기간 등은 개인의 상태와 수술 방법에 따라 달라질 수 있습니다.
|
||||
- 부작용(출혈, 감염, 염증, 신경손상 등)은 개인차가 있으므로 상담에서 반드시 안내받으시기 바랍니다.
|
||||
|
||||
## 상담에서 확인할 것
|
||||
- 본인에게 적합한 수술 방법과 절차
|
||||
- 수술별 시술 시간, 마취 방법, 회복 일정
|
||||
- 부작용, 합병증, 재수술 가능성 등 위험 안내
|
||||
|
||||
## 병원 확인 대기
|
||||
|
||||
이 글을 쓰면서 병원 공개 자료에서 찾지 못한 항목입니다. 병원이 확인해 주면 본문에 반영하고 갱신 기록에 남깁니다.
|
||||
|
||||
- 쌍꺼풀(절개/비절개), 글램아이, 더블유착 눈매교정의 시술 시간, 마취, 실밥 제거, 일상 복귀 일정
|
||||
- 눈성형별 마취 방식의 세부 기준
|
||||
- 각 수술별 입원 필요 여부
|
||||
- 수술별 금기사항 및 주의사항 상세
|
||||
- 수술별 비용 안내
|
||||
@ -1,185 +0,0 @@
|
||||
{
|
||||
"source": "Viewclinic_Supporters_vs_Official_AEO_Audit.xlsx (2026-09-04 색인 허용 빌드 실측)",
|
||||
"results": [
|
||||
{
|
||||
"criterionId": "A1",
|
||||
"level": 3,
|
||||
"evidence": "12개 AI 봇 전부 허용. OAI-SearchBot·PerplexityBot·GPTBot UA로 GET → 전부 200"
|
||||
},
|
||||
{
|
||||
"criterionId": "A2",
|
||||
"level": 3,
|
||||
"evidence": "Server: 미표기 직접 응답, Cloudflare 헤더 없음, AI UA 챌린지 없음"
|
||||
},
|
||||
{
|
||||
"criterionId": "A3",
|
||||
"level": 3,
|
||||
"evidence": "서버 렌더링. JS 미실행 HTML에서 본문 텍스트 3,070자 추출"
|
||||
},
|
||||
{
|
||||
"criterionId": "A4",
|
||||
"level": 1,
|
||||
"evidence": "변형 간 최종 URL 불일치(중복 콘텐츠 위험): ['https://view-supporters-sample.vercel.app', 'https://www.view-supporters-sample.vercel.app']"
|
||||
},
|
||||
{
|
||||
"criterionId": "A5",
|
||||
"level": 3,
|
||||
"evidence": "robots.txt에 sitemap 선언, 200 응답. URL 17개, lastmod 최신 2026-09-04"
|
||||
},
|
||||
{
|
||||
"criterionId": "A6",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] Bing Webmaster Tools 등록 여부는 오너 계정 접근 필요 (또는 site: 검색 수동 확인)"
|
||||
},
|
||||
{
|
||||
"criterionId": "A7",
|
||||
"level": 2,
|
||||
"evidence": "TTFB 0.536s / 초기 HTML 20KB. 시술 페이지 31KB"
|
||||
},
|
||||
{
|
||||
"criterionId": "B1",
|
||||
"level": 3,
|
||||
"evidence": "JSON-LD 2블록 전부 유효 + @graph 연결"
|
||||
},
|
||||
{
|
||||
"criterionId": "B2",
|
||||
"level": 3,
|
||||
"evidence": "@type MedicalClinic + 주소·전화·openingHours·전문분야/geo 구조화"
|
||||
},
|
||||
{
|
||||
"criterionId": "B3",
|
||||
"level": 3,
|
||||
"evidence": "Physician/Attorney 스키마 1개 + 전문분야·소속/sameAs"
|
||||
},
|
||||
{
|
||||
"criterionId": "B4",
|
||||
"level": 3,
|
||||
"evidence": "주소 단일 표기: \"서울특별시 강남구 봉은사로 107, 뷰성형외과빌딩\". 전화 2종: 02-539-1177, 02-539-1132"
|
||||
},
|
||||
{
|
||||
"criterionId": "B5",
|
||||
"level": 3,
|
||||
"evidence": "sameAs 5개 (SNS·버티컬·지도 연결)"
|
||||
},
|
||||
{
|
||||
"criterionId": "B6",
|
||||
"level": 2,
|
||||
"evidence": "rel=canonical self-referencing 존재"
|
||||
},
|
||||
{
|
||||
"criterionId": "B7",
|
||||
"level": 1,
|
||||
"evidence": "hreflang 없음, 다국어 페이지 흔적도 탐지 안 됨 (단일 언어)"
|
||||
},
|
||||
{
|
||||
"criterionId": "C1",
|
||||
"level": 3,
|
||||
"evidence": "홈 히어로 첫 단락과 글 8편 전부 첫 단락에 '뷰성형외과는 2005년 개원한 서울 강남 신논현역 인근 성형외과' 정의문 + 세 줄 요약(직접 답변 블록). 시술 페이지 첫 텍스트가 상담폼이 아니라 답변"
|
||||
},
|
||||
{
|
||||
"criterionId": "C2",
|
||||
"level": 3,
|
||||
"evidence": "FAQ 섹션(자주 묻는 질문) + FAQPage 스키마 존재"
|
||||
},
|
||||
{
|
||||
"criterionId": "C3",
|
||||
"level": 3,
|
||||
"evidence": "H1 1개 서술형: \"뷰성형외과를 알아보는 사람들의질문에 먼저 답합니다.\". H2 7개 중복 없음"
|
||||
},
|
||||
{
|
||||
"criterionId": "C4",
|
||||
"level": 2,
|
||||
"evidence": "시술 페이지(프리저베)에 절개 3~3.5cm, 수술 시간 약 30분, 200~300cc 등 수치가 본문·표·FAQ에 텍스트로 존재. 가격대·회복 일수 표는 없음(가격 노출 범위는 경영진 결정 대기)"
|
||||
},
|
||||
{
|
||||
"criterionId": "C5",
|
||||
"level": 2,
|
||||
"evidence": "HTML 표 1개"
|
||||
},
|
||||
{
|
||||
"criterionId": "C6",
|
||||
"level": 3,
|
||||
"evidence": "최신 갱신 신호 2026-09-04 (dateModified 2026-09-04, sitemap lastmod 2026-09-04) + dateModified 표기"
|
||||
},
|
||||
{
|
||||
"criterionId": "C7",
|
||||
"level": 3,
|
||||
"evidence": "감수 원장 약력이 텍스트로 표기(서울대 의학박사, 고려대의료원 성형외과 전문의 등) + Physician 스키마 sameAs(강남언니 프로필) + 작성자 Person 스키마. 단 감수는 '예정' 상태"
|
||||
},
|
||||
{
|
||||
"criterionId": "C8",
|
||||
"level": 3,
|
||||
"evidence": "세 줄 요약·FAQ 답변 10개 샘플 중 10개가 '뷰성형외과'와 시술명(프리저베·보형물 등)을 문장 안에 포함. 단독으로 떼어도 주어가 살아 있음"
|
||||
},
|
||||
{
|
||||
"criterionId": "D1",
|
||||
"level": 3,
|
||||
"evidence": "병원 엔티티 항목. 공식 사이트와 같은 표면(강남언니 hospitals/189)이라 공식 실측값 준용: 강남언니 hospitals/189 등록. 후기 19,316건, 이벤트 52건, 의료진 26명(정재현 9.6·후기 3,236 등), 병원정보 10"
|
||||
},
|
||||
{
|
||||
"criterionId": "D2",
|
||||
"level": 2,
|
||||
"evidence": "병원 엔티티 항목. 공식 실측값 준용: GBP 존재. 평점 4.9(리뷰 901), 소유자 제공 게시물 2일 전(소유·활성). 단 전화번호 미등록(\"장소의 전화번호 추가\" 상태), 웹사이트가 국문 홈페이"
|
||||
},
|
||||
{
|
||||
"criterionId": "D3",
|
||||
"level": 2,
|
||||
"evidence": "사이트 밖 언급 표면: 유튜브 1,215편·강남언니·언론 1,137건(뉴스룸 집계). 서포터즈 도메인 자체는 신규라 외부 언급 0. 검색 그라운딩 미실시"
|
||||
},
|
||||
{
|
||||
"criterionId": "D4",
|
||||
"level": 1,
|
||||
"evidence": "병원 엔티티 항목. 공식 실측값 준용. 서포터즈는 팩트 시트에서 홈페이지 표기를 그대로 쓰므로 표면 간 불일치를 늘리지 않음"
|
||||
},
|
||||
{
|
||||
"criterionId": "D5",
|
||||
"level": 2,
|
||||
"evidence": "병원 엔티티 항목. 공식 실측값 준용(네이버 플레이스 리뷰 776건). 서포터즈 병원 정보 페이지에 플레이스 링크 추가 예정"
|
||||
},
|
||||
{
|
||||
"criterionId": "D6",
|
||||
"level": 0,
|
||||
"evidence": "Wikidata에서 \"뷰성형외과\" 검색 결과 없음"
|
||||
},
|
||||
{
|
||||
"criterionId": "E1",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] 서버 로그 접근 필요 (AI 크롤러 히트 + IP 검증)"
|
||||
},
|
||||
{
|
||||
"criterionId": "E2",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] GA4 접근 필요 (AI 유입 커스텀 채널그룹 여부)"
|
||||
},
|
||||
{
|
||||
"criterionId": "E3",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] GSC 접근 필요 (AI Overviews 노출)"
|
||||
},
|
||||
{
|
||||
"criterionId": "E4",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] 기준선 스팟체크 미실시 (질의 10개 × 5회 반복은 별도 단계)"
|
||||
},
|
||||
{
|
||||
"criterionId": "F1",
|
||||
"level": 3,
|
||||
"evidence": "메인 페이지 이미지 18개 중 0개(0%) alt 누락 또는 빈 값"
|
||||
},
|
||||
{
|
||||
"criterionId": "F2",
|
||||
"level": 3,
|
||||
"evidence": "CMS 없음. Astro 정적 빌드(HTML 파일)라 보안 패치 대상 코어·플러그인이 없음. 채점기는 generator 메타가 없어 미검증 처리했으나 실질 위험 없음"
|
||||
},
|
||||
{
|
||||
"criterionId": "F3",
|
||||
"level": 3,
|
||||
"evidence": "초기 HTML 20KB (300KB 미만)"
|
||||
},
|
||||
{
|
||||
"criterionId": "F4",
|
||||
"level": 2,
|
||||
"evidence": "viewport meta 존재, 반응형. CWV 미측정"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,185 +0,0 @@
|
||||
{
|
||||
"source": "Viewclinic_Supporters_vs_Official_AEO_Audit.xlsx (2026-09-04 실측)",
|
||||
"results": [
|
||||
{
|
||||
"criterionId": "A1",
|
||||
"level": 0,
|
||||
"evidence": "검색봇 6개 차단: OAI-SearchBot, Googlebot, bingbot, PerplexityBot, Claude-SearchBot, Applebot. 봇 GET: OAI-SearchBot 200·PerplexityBot 200·GPTBot 200"
|
||||
},
|
||||
{
|
||||
"criterionId": "A2",
|
||||
"level": 3,
|
||||
"evidence": "Server: Vercel 직접 응답, Cloudflare 헤더 없음, AI UA 챌린지 없음"
|
||||
},
|
||||
{
|
||||
"criterionId": "A3",
|
||||
"level": 3,
|
||||
"evidence": "서버 렌더링. JS 미실행 HTML에서 본문 텍스트 3,132자 추출"
|
||||
},
|
||||
{
|
||||
"criterionId": "A4",
|
||||
"level": 1,
|
||||
"evidence": "변형 간 최종 URL 불일치(중복 콘텐츠 위험): ['https://view-supporters-sample.vercel.app', 'https://www.view-supporters-sample.vercel.app']"
|
||||
},
|
||||
{
|
||||
"criterionId": "A5",
|
||||
"level": 1,
|
||||
"evidence": "/sitemap.xml 200이나 robots.txt에 Sitemap 미선언. URL 17개"
|
||||
},
|
||||
{
|
||||
"criterionId": "A6",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] Bing Webmaster Tools 등록 여부는 오너 계정 접근 필요 (또는 site: 검색 수동 확인)"
|
||||
},
|
||||
{
|
||||
"criterionId": "A7",
|
||||
"level": 2,
|
||||
"evidence": "TTFB 0.536s / 초기 HTML 20KB. 시술 페이지 31KB"
|
||||
},
|
||||
{
|
||||
"criterionId": "B1",
|
||||
"level": 3,
|
||||
"evidence": "JSON-LD 2블록 전부 유효 + @graph 연결"
|
||||
},
|
||||
{
|
||||
"criterionId": "B2",
|
||||
"level": 3,
|
||||
"evidence": "@type MedicalClinic + 주소·전화·openingHours·전문분야/geo 구조화"
|
||||
},
|
||||
{
|
||||
"criterionId": "B3",
|
||||
"level": 3,
|
||||
"evidence": "Physician/Attorney 스키마 1개 + 전문분야·소속/sameAs"
|
||||
},
|
||||
{
|
||||
"criterionId": "B4",
|
||||
"level": 3,
|
||||
"evidence": "주소 단일 표기: \"서울특별시 강남구 봉은사로 107, 뷰성형외과빌딩\". 전화 2종: 02-539-1177, 02-539-1132"
|
||||
},
|
||||
{
|
||||
"criterionId": "B5",
|
||||
"level": 3,
|
||||
"evidence": "sameAs 5개 (SNS·버티컬·지도 연결)"
|
||||
},
|
||||
{
|
||||
"criterionId": "B6",
|
||||
"level": 2,
|
||||
"evidence": "rel=canonical self-referencing 존재"
|
||||
},
|
||||
{
|
||||
"criterionId": "B7",
|
||||
"level": 1,
|
||||
"evidence": "hreflang 없음, 다국어 페이지 흔적도 탐지 안 됨 (단일 언어)"
|
||||
},
|
||||
{
|
||||
"criterionId": "C1",
|
||||
"level": 3,
|
||||
"evidence": "홈 히어로 첫 단락과 글 8편 전부 첫 단락에 '뷰성형외과는 2005년 개원한 서울 강남 신논현역 인근 성형외과' 정의문 + 세 줄 요약(직접 답변 블록). 시술 페이지 첫 텍스트가 상담폼이 아니라 답변"
|
||||
},
|
||||
{
|
||||
"criterionId": "C2",
|
||||
"level": 3,
|
||||
"evidence": "FAQ 섹션(자주 묻는 질문) + FAQPage 스키마 존재"
|
||||
},
|
||||
{
|
||||
"criterionId": "C3",
|
||||
"level": 3,
|
||||
"evidence": "H1 1개 서술형: \"뷰성형외과를 알아보는 사람들의질문에 먼저 답합니다.\". H2 7개 중복 없음"
|
||||
},
|
||||
{
|
||||
"criterionId": "C4",
|
||||
"level": 2,
|
||||
"evidence": "시술 페이지(프리저베)에 절개 3~3.5cm, 수술 시간 약 30분, 200~300cc 등 수치가 본문·표·FAQ에 텍스트로 존재. 가격대·회복 일수 표는 없음(가격 노출 범위는 경영진 결정 대기)"
|
||||
},
|
||||
{
|
||||
"criterionId": "C5",
|
||||
"level": 2,
|
||||
"evidence": "HTML 표 1개"
|
||||
},
|
||||
{
|
||||
"criterionId": "C6",
|
||||
"level": 3,
|
||||
"evidence": "최신 갱신 신호 2026-09-04 (dateModified 2026-09-04, sitemap lastmod 2026-09-04) + dateModified 표기"
|
||||
},
|
||||
{
|
||||
"criterionId": "C7",
|
||||
"level": 3,
|
||||
"evidence": "감수 원장 약력이 텍스트로 표기(서울대 의학박사, 고려대의료원 성형외과 전문의 등) + Physician 스키마 sameAs(강남언니 프로필) + 작성자 Person 스키마. 단 감수는 '예정' 상태"
|
||||
},
|
||||
{
|
||||
"criterionId": "C8",
|
||||
"level": 3,
|
||||
"evidence": "세 줄 요약·FAQ 답변 10개 샘플 중 10개가 '뷰성형외과'와 시술명(프리저베·보형물 등)을 문장 안에 포함. 단독으로 떼어도 주어가 살아 있음"
|
||||
},
|
||||
{
|
||||
"criterionId": "D1",
|
||||
"level": 3,
|
||||
"evidence": "병원 엔티티 항목. 공식 사이트와 같은 표면(강남언니 hospitals/189)이라 공식 실측값 준용: 강남언니 hospitals/189 등록. 후기 19,316건, 이벤트 52건, 의료진 26명(정재현 9.6·후기 3,236 등), 병원정보 10"
|
||||
},
|
||||
{
|
||||
"criterionId": "D2",
|
||||
"level": 2,
|
||||
"evidence": "병원 엔티티 항목. 공식 실측값 준용: GBP 존재. 평점 4.9(리뷰 901), 소유자 제공 게시물 2일 전(소유·활성). 단 전화번호 미등록(\"장소의 전화번호 추가\" 상태), 웹사이트가 국문 홈페이"
|
||||
},
|
||||
{
|
||||
"criterionId": "D3",
|
||||
"level": 2,
|
||||
"evidence": "사이트 밖 언급 표면: 유튜브 1,215편·강남언니·언론 1,137건(뉴스룸 집계). 서포터즈 도메인 자체는 신규라 외부 언급 0. 검색 그라운딩 미실시"
|
||||
},
|
||||
{
|
||||
"criterionId": "D4",
|
||||
"level": 1,
|
||||
"evidence": "병원 엔티티 항목. 공식 실측값 준용. 서포터즈는 팩트 시트에서 홈페이지 표기를 그대로 쓰므로 표면 간 불일치를 늘리지 않음"
|
||||
},
|
||||
{
|
||||
"criterionId": "D5",
|
||||
"level": 2,
|
||||
"evidence": "병원 엔티티 항목. 공식 실측값 준용(네이버 플레이스 리뷰 776건). 서포터즈 병원 정보 페이지에 플레이스 링크 추가 예정"
|
||||
},
|
||||
{
|
||||
"criterionId": "D6",
|
||||
"level": 0,
|
||||
"evidence": "Wikidata에서 \"뷰성형외과\" 검색 결과 없음"
|
||||
},
|
||||
{
|
||||
"criterionId": "E1",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] 서버 로그 접근 필요 (AI 크롤러 히트 + IP 검증)"
|
||||
},
|
||||
{
|
||||
"criterionId": "E2",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] GA4 접근 필요 (AI 유입 커스텀 채널그룹 여부)"
|
||||
},
|
||||
{
|
||||
"criterionId": "E3",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] GSC 접근 필요 (AI Overviews 노출)"
|
||||
},
|
||||
{
|
||||
"criterionId": "E4",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] 기준선 스팟체크 미실시 (질의 10개 × 5회 반복은 별도 단계)"
|
||||
},
|
||||
{
|
||||
"criterionId": "F1",
|
||||
"level": 3,
|
||||
"evidence": "메인 페이지 이미지 18개 중 0개(0%) alt 누락 또는 빈 값"
|
||||
},
|
||||
{
|
||||
"criterionId": "F2",
|
||||
"level": 3,
|
||||
"evidence": "CMS 없음. Astro 정적 빌드(HTML 파일)라 보안 패치 대상 코어·플러그인이 없음. 채점기는 generator 메타가 없어 미검증 처리했으나 실질 위험 없음"
|
||||
},
|
||||
{
|
||||
"criterionId": "F3",
|
||||
"level": 3,
|
||||
"evidence": "초기 HTML 20KB (300KB 미만)"
|
||||
},
|
||||
{
|
||||
"criterionId": "F4",
|
||||
"level": 2,
|
||||
"evidence": "viewport meta 존재, 반응형. CWV 미측정"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,700 +0,0 @@
|
||||
{
|
||||
"generatedAt": "2026-09-07",
|
||||
"rubricVersion": "2.0",
|
||||
"note": "점수는 INFINITH 제품용 진단 기준이며 검색엔진의 공식 점수나 인용 확률이 아니다. 서포터즈 v1.0 레벨은 2026-09-04 실측(기존 비교 엑셀), 공식은 2026-09-07 v1.1 재검증. 사람 판정 4항목은 2026-09-07 초안.",
|
||||
"axes": [
|
||||
{
|
||||
"id": "aeo",
|
||||
"code": "AEO",
|
||||
"name": "답변 준비도",
|
||||
"nameEn": "Answer Readiness",
|
||||
"question": "고객의 질문에 얼마나 명확하고 충분하게 답하는가?",
|
||||
"description": "질문을 고르고, 답을 먼저 쓰고, 한 단락으로 완결하고, 결정에 필요한 정보와 다음 행동까지 닿게 하는가."
|
||||
},
|
||||
{
|
||||
"id": "geo",
|
||||
"code": "GEO",
|
||||
"name": "출처 준비도",
|
||||
"nameEn": "Source Readiness",
|
||||
"question": "그 답을 얼마나 검증하고 신뢰할 수 있는 출처로 사용할 수 있는가?",
|
||||
"description": "주장에 근거가 붙어 있고, 누가 책임지는지 보이고, 병원 사실이 표면마다 같고, 갱신·정정 기록이 있으며, 기계가 인용 식별자를 읽을 수 있는가."
|
||||
}
|
||||
],
|
||||
"items": [
|
||||
{
|
||||
"id": "AEO1",
|
||||
"axis": "aeo",
|
||||
"name": "질문 수요 충족",
|
||||
"weight": 20,
|
||||
"method": "semi",
|
||||
"question": "사람들이 실제로 묻는 질문에 답하는 페이지가 있는가",
|
||||
"derivedFrom": "C2 FAQ 섹션(1)"
|
||||
},
|
||||
{
|
||||
"id": "AEO2",
|
||||
"axis": "aeo",
|
||||
"name": "답변의 직접성",
|
||||
"weight": 20,
|
||||
"method": "semi",
|
||||
"question": "페이지 첫 단락에 답이 먼저 나오는가",
|
||||
"derivedFrom": "C1 정의문형 첫 문단(1)"
|
||||
},
|
||||
{
|
||||
"id": "AEO3",
|
||||
"axis": "aeo",
|
||||
"name": "답변 단위의 자기완결성",
|
||||
"weight": 15,
|
||||
"method": "manual",
|
||||
"question": "한 단락만 떼어내도 누가·어디서·무엇을이 들어 있는가",
|
||||
"derivedFrom": "C8 패시지 자기완결성(1)"
|
||||
},
|
||||
{
|
||||
"id": "AEO4",
|
||||
"axis": "aeo",
|
||||
"name": "의사결정에 필요한 정보",
|
||||
"weight": 15,
|
||||
"method": "semi",
|
||||
"question": "가격대·시간·회복·조건처럼 결정에 쓰는 정보가 텍스트로 있는가",
|
||||
"derivedFrom": "C4 구체 수치 (가격·시간·회복)(0.6), C5 표·비교 구조(0.4)"
|
||||
},
|
||||
{
|
||||
"id": "AEO5",
|
||||
"axis": "aeo",
|
||||
"name": "정보 구조와 가독성",
|
||||
"weight": 10,
|
||||
"method": "auto",
|
||||
"question": "제목이 주제를 서술하고 계층이 논리적인가",
|
||||
"derivedFrom": "C3 제목 계층 의미성(1)"
|
||||
},
|
||||
{
|
||||
"id": "AEO6",
|
||||
"axis": "aeo",
|
||||
"name": "다음 행동의 명확성",
|
||||
"weight": 10,
|
||||
"method": "manual",
|
||||
"question": "답을 읽은 사람이 무엇을 하면 되는지(예약·전화·방문) 바로 보이는가",
|
||||
"derivedFrom": ""
|
||||
},
|
||||
{
|
||||
"id": "AEO7",
|
||||
"axis": "aeo",
|
||||
"name": "핵심 답변의 텍스트 추출",
|
||||
"weight": 5,
|
||||
"method": "auto",
|
||||
"question": "답이 이미지가 아니라 텍스트로 존재하고 서버가 렌더하는가",
|
||||
"derivedFrom": "A3 서버 렌더링 본문(0.6), F1 이미지 대체텍스트(0.4)"
|
||||
},
|
||||
{
|
||||
"id": "AEO8",
|
||||
"axis": "aeo",
|
||||
"name": "사이트 내 답변 발견",
|
||||
"weight": 5,
|
||||
"method": "auto",
|
||||
"question": "크롤러가 답이 있는 페이지를 찾아갈 수 있는가",
|
||||
"derivedFrom": "A5 sitemap.xml 제공(0.6), B6 canonical·중복 제거(0.4)"
|
||||
},
|
||||
{
|
||||
"id": "GEO1",
|
||||
"axis": "geo",
|
||||
"name": "주장과 근거의 일치",
|
||||
"weight": 20,
|
||||
"method": "manual",
|
||||
"question": "수치·수상·효과 주장마다 근거(원문·출처·조건)가 붙어 있는가",
|
||||
"derivedFrom": ""
|
||||
},
|
||||
{
|
||||
"id": "GEO2",
|
||||
"axis": "geo",
|
||||
"name": "출처의 적합성과 추적성",
|
||||
"weight": 15,
|
||||
"method": "auto",
|
||||
"question": "인용된 URL이 정본으로 수렴하고 시간이 지나도 같은 곳을 가리키는가",
|
||||
"derivedFrom": "A4 HTTPS·리다이렉트 정합(1)"
|
||||
},
|
||||
{
|
||||
"id": "GEO3",
|
||||
"axis": "geo",
|
||||
"name": "전문성과 책임 주체",
|
||||
"weight": 15,
|
||||
"method": "semi",
|
||||
"question": "누가 썼고 누가 의학적으로 책임지는지 텍스트와 스키마로 보이는가",
|
||||
"derivedFrom": "C7 전문가 E-E-A-T (의료진 / 변호사)(0.6), B3 전문가 스키마 (Physician / Attorney)(0.4)"
|
||||
},
|
||||
{
|
||||
"id": "GEO4",
|
||||
"axis": "geo",
|
||||
"name": "병원 엔티티와 사실의 정합성",
|
||||
"weight": 15,
|
||||
"method": "semi",
|
||||
"question": "이 병원이 누구인지 사이트 안과 밖(강남언니·GBP·플레이스)에서 같은 사실로 확정되는가",
|
||||
"derivedFrom": "B2 업종 엔티티 스키마 (MedicalClinic / LegalService / LocalBusiness)(0.2), B4 NAP 사이트 내 일관성(0.15), B5 sameAs 연결(0.1), D1 업종 버티컬 프로필 (병의원: 강남언니 / 법률: 로톡)(0.2), D2 Google 비즈니스 프로필(0.1), D4 표면 간 NAP 완전 일치(0.15), D5 네이버 플레이스 (AI 브리핑 전용)(0.05), D6 위키데이터/위키백과 엔티티(0.05)"
|
||||
},
|
||||
{
|
||||
"id": "GEO5",
|
||||
"axis": "geo",
|
||||
"name": "사실의 최신성과 정정",
|
||||
"weight": 10,
|
||||
"method": "auto",
|
||||
"question": "언제 확인한 사실인지 적혀 있고, 틀린 것을 고친 기록이 있는가",
|
||||
"derivedFrom": "C6 신선도 신호(1)"
|
||||
},
|
||||
{
|
||||
"id": "GEO6",
|
||||
"axis": "geo",
|
||||
"name": "원천 대비 추가 가치",
|
||||
"weight": 10,
|
||||
"method": "manual",
|
||||
"question": "다른 곳에 있는 문장을 옮긴 것이 아니라 여기서만 얻는 정보(체크리스트·조건 표·실측)가 있는가",
|
||||
"derivedFrom": ""
|
||||
},
|
||||
{
|
||||
"id": "GEO7",
|
||||
"axis": "geo",
|
||||
"name": "발행 관계와 투명성",
|
||||
"weight": 10,
|
||||
"method": "manual",
|
||||
"question": "누가 운영하고 누구의 지원을 받는지, 광고와 정보가 구분되는지 밝히는가",
|
||||
"derivedFrom": ""
|
||||
},
|
||||
{
|
||||
"id": "GEO8",
|
||||
"axis": "geo",
|
||||
"name": "인용 식별자와 메타데이터 정합성",
|
||||
"weight": 5,
|
||||
"method": "auto",
|
||||
"question": "기계가 읽는 식별자(JSON-LD·메타)가 유효하고 화면 내용과 같은가",
|
||||
"derivedFrom": "B1 JSON-LD 문법 유효성(1)"
|
||||
}
|
||||
],
|
||||
"gates": [
|
||||
{
|
||||
"id": "G1",
|
||||
"name": "AI 크롤러 접근",
|
||||
"criterionIds": [
|
||||
"A1",
|
||||
"A2"
|
||||
],
|
||||
"failLevel": 1,
|
||||
"cap": 40,
|
||||
"axes": [
|
||||
"aeo",
|
||||
"geo"
|
||||
],
|
||||
"reason": "검색용 AI 봇이 차단되거나 CDN이 챌린지를 걸면 답도 출처도 될 수 없다. 점수 대신 상한 40으로 표시한다."
|
||||
},
|
||||
{
|
||||
"id": "G2",
|
||||
"name": "본문 렌더링",
|
||||
"criterionIds": [
|
||||
"A3"
|
||||
],
|
||||
"failLevel": 0,
|
||||
"cap": 40,
|
||||
"axes": [
|
||||
"aeo",
|
||||
"geo"
|
||||
],
|
||||
"reason": "JS 미실행 HTML에 본문이 없으면 크롤러에게 빈 페이지다."
|
||||
}
|
||||
],
|
||||
"variants": [
|
||||
{
|
||||
"key": "official",
|
||||
"label": "공식 홈페이지 (viewclinic.com)",
|
||||
"v1": {
|
||||
"score": 54,
|
||||
"grade": "C"
|
||||
},
|
||||
"aeo": {
|
||||
"score": 42,
|
||||
"raw": 42,
|
||||
"grade": "C",
|
||||
"verified": 8,
|
||||
"capped": []
|
||||
},
|
||||
"geo": {
|
||||
"score": 56,
|
||||
"raw": 56,
|
||||
"grade": "C",
|
||||
"verified": 8,
|
||||
"capped": []
|
||||
},
|
||||
"gates": [
|
||||
{
|
||||
"id": "G1",
|
||||
"passed": true,
|
||||
"failedBy": []
|
||||
},
|
||||
{
|
||||
"id": "G2",
|
||||
"passed": true,
|
||||
"failedBy": []
|
||||
}
|
||||
],
|
||||
"items": [
|
||||
{
|
||||
"id": "AEO1",
|
||||
"pct": 67,
|
||||
"earned": 13.3,
|
||||
"basis": "derived",
|
||||
"signals": "C2=2",
|
||||
"evidence": "C2: v1.1 정정: 프리저베 페이지(/preserve/)에 FAQ 7문항과 유효한 FAQPage 스키마 존재. 모바일 분기로 2문항이 중복. 메인·가슴성형(/breast/main/)·코성형·오시는길에는 FAQ 없음 → 시술별 확산 전이라 레벨 2"
|
||||
},
|
||||
{
|
||||
"id": "AEO2",
|
||||
"pct": 0,
|
||||
"earned": 0,
|
||||
"basis": "derived",
|
||||
"signals": "C1=0",
|
||||
"evidence": "C1: 메인 첫 화면은 슬라이더·\"VIEW SELFIE\" 등 라벨. \"뷰성형외과는 …에 있는 … 병원입니다\" 형태의 정의문 없음. 시술 페이지 첫 텍스트는 오시는길·상담폼"
|
||||
},
|
||||
{
|
||||
"id": "AEO3",
|
||||
"pct": 33,
|
||||
"earned": 5,
|
||||
"basis": "derived",
|
||||
"signals": "C8=1",
|
||||
"evidence": "C8: H2 \"철저한 정밀 검진 / ONE_STOP 시스템 / 1:1 전담 마취시스템\". 단독으로 떼면 어느 병원의 무엇인지 알 수 없음"
|
||||
},
|
||||
{
|
||||
"id": "AEO4",
|
||||
"pct": 40,
|
||||
"earned": 6,
|
||||
"basis": "derived",
|
||||
"signals": "C4=2, C5=0",
|
||||
"evidence": "C4: v1.1 정정: 프리저베 페이지에 수술시간 20~40분·마취(국소 또는 수면)·회복 1~3일, 코성형 페이지에 수술시간 1~2시간·실밥 7일·일상 5~7일, 안면윤곽 페이지에 1~2시간·전신마취·당일 또는 1일 입원이 텍스트로 있음. 가격대 표기는 없 / C5: HTML <table> 없음. 비교 정보는 이미지로 추정"
|
||||
},
|
||||
{
|
||||
"id": "AEO5",
|
||||
"pct": 0,
|
||||
"earned": 0,
|
||||
"basis": "derived",
|
||||
"signals": "C3=0",
|
||||
"evidence": "C3: H1 5개: \"VIEW SELFIE / VIEW EVENT / VIEW SHORTS / VIEW FILM / VIEW SPECIALITY\". 전부 영문 라벨. H2는 같은 문구가 2회씩 중복(모바일/PC 분기). 가슴·코·오시는길 페이지 H1 없음. "
|
||||
},
|
||||
{
|
||||
"id": "AEO6",
|
||||
"pct": 100,
|
||||
"earned": 10,
|
||||
"basis": "judged",
|
||||
"signals": "",
|
||||
"evidence": "모든 페이지 하단에 전화 02-539-1177·주소·온라인 상담 폼이 텍스트로 반복되고(수집기 반복 줄), /counsel/reservation/ 예약 페이지와 카카오톡 채널 링크가 있다. 전화·예약·방문 3경로가 텍스트로 연결됨"
|
||||
},
|
||||
{
|
||||
"id": "AEO7",
|
||||
"pct": 73,
|
||||
"earned": 3.7,
|
||||
"basis": "derived",
|
||||
"signals": "A3=3, F1=1",
|
||||
"evidence": "A3: WordPress 서버 렌더링. JS 미실행 HTML에서 본문 텍스트 10,757자 추출 / F1: 이미지 302개 중 111개(37%) alt 누락 또는 빈 값"
|
||||
},
|
||||
{
|
||||
"id": "AEO8",
|
||||
"pct": 87,
|
||||
"earned": 4.3,
|
||||
"basis": "derived",
|
||||
"signals": "A5=3, B6=2",
|
||||
"evidence": "A5: robots.txt에 sitemap 선언, 200 응답, AIOSEO 3.7.1 동적 생성, URL 3,636개. page/portfolio-sitemap lastmod 최신 2026-08-31. www의 post-sitemap은 2024-05-31에 / B6: rel=canonical self-referencing 존재"
|
||||
},
|
||||
{
|
||||
"id": "GEO1",
|
||||
"pct": 33,
|
||||
"earned": 6.7,
|
||||
"basis": "judged",
|
||||
"signals": "",
|
||||
"evidence": "\"모티바 보형물 국내 사용량 1위(2023, 모티바코리아 전체 수술량 기준)\"처럼 집계 주체·시점이 붙은 주장이 일부 있으나, 모티바 그랜드 어워드·KOL·렛미인 등 대부분의 권위 신호는 이미지·슬로건 안에 있고 원문 링크가 없다. \"마취과 전문의 상주 43% vs 23.1%\" 비교는 출처·기준 시점 없음"
|
||||
},
|
||||
{
|
||||
"id": "GEO2",
|
||||
"pct": 100,
|
||||
"earned": 15,
|
||||
"basis": "derived",
|
||||
"signals": "A4=3",
|
||||
"evidence": "A4: http://viewclinic.com → 301 → https://www.viewclinic.com/ 정본 수렴"
|
||||
},
|
||||
{
|
||||
"id": "GEO3",
|
||||
"pct": 40,
|
||||
"earned": 6,
|
||||
"basis": "derived",
|
||||
"signals": "C7=2, B3=0",
|
||||
"evidence": "C7: 원장·전문의·의료진 언급 17회, 모티바 글로벌 KOL·보건복지부장관표창·갈더마 방문 등 권위 신호 존재. 단 구조화 안 됨 / B3: Physician 스키마 없음. 의료진 정보는 HTML 텍스트·이미지로만 존재"
|
||||
},
|
||||
{
|
||||
"id": "GEO4",
|
||||
"pct": 47,
|
||||
"earned": 7,
|
||||
"basis": "derived",
|
||||
"signals": "B2=1, B4=1, B5=0, D1=3, D2=2, D4=1, D5=2, D6=0",
|
||||
"evidence": "B2: Organization + WebSite + WebPage만 존재. MedicalClinic/LocalBusiness 없음 → 주소·전화·진료시간이 구조화되어 있지 않음 / B4: 주소 3가지 표기 혼재: \"서울 강남구 봉은사로 107 뷰성형외과 빌딩\" / \"서울특별시 강남구 봉은사로 107, 뷰성형외과빌딩\" / 시술 페이지 \"서울시 강남구 봉은사로 107, 뷰성형외과빌딩(논현동…\". 전화 02-539-1177·02-539-11 / B5: Organization.sameAs: [] (빈 배열). 푸터에 YouTube·Instagram·Facebook·네이버블로그 링크가 있으나 스키마에 미연결 / D1: 강남언니 hospitals/189 등록. 후기 19,373건(2026-09-04 재확인, 08-28 19,316건), 이벤트 52건, 의료진 26명(정재현 9.6·후기 3,236 등), 병원정보 10건(CCTV·마취과 상주), 진료시간 표기 / D2: GBP 존재. 평점 4.9(리뷰 901), 소유자 제공 게시물 2일 전(소유·활성). 단 전화번호 미등록(\"장소의 전화번호 추가\" 상태), 웹사이트가 국문 홈페이지가 아닌 viewplasticsurgery.com / D4: 주소 표기 3종 혼재: 홈페이지 \"서울 강남구 봉은사로 107 뷰성형외과 빌딩\" / 강남언니 \"서울 강남구 봉은사로 107 (논현동)\" / GBP \"서울특별시 강남구 봉은사로 107\". GBP 전화 누락, 웹사이트 도메인 불일치 / D5: 네이버 플레이스 존재(리뷰 776건, 2026-04 INFINITH 리포트 기준). 홈페이지 링크 연결 여부 미확인 → 보수적으로 2 / D6: Wikidata에서 \"뷰성형외과\" 검색 결과 없음 (wbsearchentities ko, 2026-08-31)"
|
||||
},
|
||||
{
|
||||
"id": "GEO5",
|
||||
"pct": 100,
|
||||
"earned": 10,
|
||||
"basis": "derived",
|
||||
"signals": "C6=3",
|
||||
"evidence": "C6: 시술 페이지에 article:modified_time·dateModified 2026-04-17 존재, page/portfolio-sitemap lastmod 최신 2026-08-31. blog.viewclinic.com은 2026-09-07 게시까지"
|
||||
},
|
||||
{
|
||||
"id": "GEO6",
|
||||
"pct": 67,
|
||||
"earned": 6.7,
|
||||
"basis": "judged",
|
||||
"signals": "",
|
||||
"evidence": "수술 전·후 주의사항(부위별 8탭, 9,585자)·애프터케어 프로그램(4,572자)·검진센터 항목·안전수술시스템 절차는 병원 고유 정보다. 다만 표·체크리스트 형태가 없고(C5=0) 회복 일정은 문단에 흩어져 있다"
|
||||
},
|
||||
{
|
||||
"id": "GEO7",
|
||||
"pct": 33,
|
||||
"earned": 3.3,
|
||||
"basis": "judged",
|
||||
"signals": "",
|
||||
"evidence": "푸터에 대표·사업자등록번호·주소가 있어 운영 주체는 분명하다. 그러나 홈페이지에 게시한 후기 광고가 수술비 할인 대가를 표시하지 않아 2026-07-12 공정위 시정명령·공표명령을 받았고, 이벤트·전후·후기 섹션이 정보 페이지와 구분 없이 섞여 있다"
|
||||
},
|
||||
{
|
||||
"id": "GEO8",
|
||||
"pct": 33,
|
||||
"earned": 1.7,
|
||||
"basis": "derived",
|
||||
"signals": "B1=1",
|
||||
"evidence": "B1: JSON-LD 2블록 중 ItemList 블록이 문법 오류(쉼표 누락, line 11)로 파싱 실패 → 시술 목록 구조화 데이터 전체 무효"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "supporters_noindex",
|
||||
"label": "서포터즈 샘플 (현재 · noindex)",
|
||||
"v1": {
|
||||
"score": 78,
|
||||
"grade": "B"
|
||||
},
|
||||
"aeo": {
|
||||
"score": 40,
|
||||
"raw": 92,
|
||||
"grade": "D",
|
||||
"verified": 8,
|
||||
"capped": [
|
||||
"G1"
|
||||
]
|
||||
},
|
||||
"geo": {
|
||||
"score": 40,
|
||||
"raw": 77,
|
||||
"grade": "D",
|
||||
"verified": 8,
|
||||
"capped": [
|
||||
"G1"
|
||||
]
|
||||
},
|
||||
"gates": [
|
||||
{
|
||||
"id": "G1",
|
||||
"passed": false,
|
||||
"failedBy": [
|
||||
"A1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "G2",
|
||||
"passed": true,
|
||||
"failedBy": []
|
||||
}
|
||||
],
|
||||
"items": [
|
||||
{
|
||||
"id": "AEO1",
|
||||
"pct": 100,
|
||||
"earned": 20,
|
||||
"basis": "derived",
|
||||
"signals": "C2=3",
|
||||
"evidence": "C2: FAQ 섹션(자주 묻는 질문) + FAQPage 스키마 존재"
|
||||
},
|
||||
{
|
||||
"id": "AEO2",
|
||||
"pct": 100,
|
||||
"earned": 20,
|
||||
"basis": "derived",
|
||||
"signals": "C1=3",
|
||||
"evidence": "C1: 홈 히어로 첫 단락과 글 8편 전부 첫 단락에 '뷰성형외과는 2005년 개원한 서울 강남 신논현역 인근 성형외과' 정의문 + 세 줄 요약(직접 답변 블록). 시술 페이지 첫 텍스트가 상담폼이 아니라 답변"
|
||||
},
|
||||
{
|
||||
"id": "AEO3",
|
||||
"pct": 100,
|
||||
"earned": 15,
|
||||
"basis": "derived",
|
||||
"signals": "C8=3",
|
||||
"evidence": "C8: 세 줄 요약·FAQ 답변 10개 샘플 중 10개가 '뷰성형외과'와 시술명(프리저베·보형물 등)을 문장 안에 포함. 단독으로 떼어도 주어가 살아 있음"
|
||||
},
|
||||
{
|
||||
"id": "AEO4",
|
||||
"pct": 67,
|
||||
"earned": 10,
|
||||
"basis": "derived",
|
||||
"signals": "C4=2, C5=2",
|
||||
"evidence": "C4: 시술 페이지(프리저베)에 절개 3~3.5cm, 수술 시간 약 30분, 200~300cc 등 수치가 본문·표·FAQ에 텍스트로 존재. 가격대·회복 일수 표는 없음(가격 노출 범위는 경영진 결정 대기) / C5: HTML 표 1개"
|
||||
},
|
||||
{
|
||||
"id": "AEO5",
|
||||
"pct": 100,
|
||||
"earned": 10,
|
||||
"basis": "derived",
|
||||
"signals": "C3=3",
|
||||
"evidence": "C3: H1 1개 서술형: \"뷰성형외과를 알아보는 사람들의질문에 먼저 답합니다.\". H2 7개 중복 없음"
|
||||
},
|
||||
{
|
||||
"id": "AEO6",
|
||||
"pct": 100,
|
||||
"earned": 10,
|
||||
"basis": "judged",
|
||||
"signals": "",
|
||||
"evidence": "헤더 상담 예약 버튼, /visit 페이지에 전화·카카오톡·온라인 예약 3경로가 표로, FactBlock에 tel: 링크. 전부 텍스트 링크"
|
||||
},
|
||||
{
|
||||
"id": "AEO7",
|
||||
"pct": 100,
|
||||
"earned": 5,
|
||||
"basis": "derived",
|
||||
"signals": "A3=3, F1=3",
|
||||
"evidence": "A3: 서버 렌더링. JS 미실행 HTML에서 본문 텍스트 3,132자 추출 / F1: 메인 페이지 이미지 18개 중 0개(0%) alt 누락 또는 빈 값"
|
||||
},
|
||||
{
|
||||
"id": "AEO8",
|
||||
"pct": 47,
|
||||
"earned": 2.3,
|
||||
"basis": "derived",
|
||||
"signals": "A5=1, B6=2",
|
||||
"evidence": "A5: /sitemap.xml 200이나 robots.txt에 Sitemap 미선언. URL 17개 / B6: rel=canonical self-referencing 존재"
|
||||
},
|
||||
{
|
||||
"id": "GEO1",
|
||||
"pct": 67,
|
||||
"earned": 13.3,
|
||||
"basis": "judged",
|
||||
"signals": "",
|
||||
"evidence": "18편 전편의 참고 자료에 유형(병원 제공·원장 설명·제품·규제·플랫폼·2차)과 확인일이 붙고, FDA·ISO 주장은 원문 URL로 연결. 수치 문단 5곳에 개인차·사례 한정이 빠져 게이트 경고 → \"대부분 명시\""
|
||||
},
|
||||
{
|
||||
"id": "GEO2",
|
||||
"pct": 33,
|
||||
"earned": 5,
|
||||
"basis": "derived",
|
||||
"signals": "A4=1",
|
||||
"evidence": "A4: 변형 간 최종 URL 불일치(중복 콘텐츠 위험): ['https://view-supporters-sample.vercel.app', 'https://www.view-supporters-sample.vercel.app']"
|
||||
},
|
||||
{
|
||||
"id": "GEO3",
|
||||
"pct": 100,
|
||||
"earned": 15,
|
||||
"basis": "derived",
|
||||
"signals": "C7=3, B3=3",
|
||||
"evidence": "C7: 감수 원장 약력이 텍스트로 표기(서울대 의학박사, 고려대의료원 성형외과 전문의 등) + Physician 스키마 sameAs(강남언니 프로필) + 작성자 Person 스키마. 단 감수는 '예정' 상태 / B3: Physician/Attorney 스키마 1개 + 전문분야·소속/sameAs"
|
||||
},
|
||||
{
|
||||
"id": "GEO4",
|
||||
"pct": 80,
|
||||
"earned": 12,
|
||||
"basis": "derived",
|
||||
"signals": "B2=3, B4=3, B5=3, D1=3, D2=2, D4=1, D5=2, D6=0",
|
||||
"evidence": "B2: @type MedicalClinic + 주소·전화·openingHours·전문분야/geo 구조화 / B4: 주소 단일 표기: \"서울특별시 강남구 봉은사로 107, 뷰성형외과빌딩\". 전화 2종: 02-539-1177, 02-539-1132 / B5: sameAs 5개 (SNS·버티컬·지도 연결) / D1: 병원 엔티티 항목. 공식 사이트와 같은 표면(강남언니 hospitals/189)이라 공식 실측값 준용: 강남언니 hospitals/189 등록. 후기 19,316건, 이벤트 52건, 의료진 26명(정재현 9.6·후기 3,236 등), 병원정보 10 / D2: 병원 엔티티 항목. 공식 실측값 준용: GBP 존재. 평점 4.9(리뷰 901), 소유자 제공 게시물 2일 전(소유·활성). 단 전화번호 미등록(\"장소의 전화번호 추가\" 상태), 웹사이트가 국문 홈페이 / D4: 병원 엔티티 항목. 공식 실측값 준용. 서포터즈는 팩트 시트에서 홈페이지 표기를 그대로 쓰므로 표면 간 불일치를 늘리지 않음 / D5: 병원 엔티티 항목. 공식 실측값 준용(네이버 플레이스 리뷰 776건). 서포터즈 병원 정보 페이지에 플레이스 링크 추가 예정 / D6: Wikidata에서 \"뷰성형외과\" 검색 결과 없음"
|
||||
},
|
||||
{
|
||||
"id": "GEO5",
|
||||
"pct": 100,
|
||||
"earned": 10,
|
||||
"basis": "derived",
|
||||
"signals": "C6=3",
|
||||
"evidence": "C6: 최신 갱신 신호 2026-09-04 (dateModified 2026-09-04, sitemap lastmod 2026-09-04) + dateModified 표기"
|
||||
},
|
||||
{
|
||||
"id": "GEO6",
|
||||
"pct": 100,
|
||||
"earned": 10,
|
||||
"basis": "judged",
|
||||
"signals": "",
|
||||
"evidence": "원천 콘텐츠 5유형 중 4유형 존재: 상담 질문 체크리스트, 회복 일정·마취 선택·검진 주기 조건 표(18편 전편에 표), 협진·동선 설명(이비인후과 협진·방문 안내), 원장 발언 인용(쇼츠 정리 답). 실측 기록(방문 취재)은 미착수"
|
||||
},
|
||||
{
|
||||
"id": "GEO7",
|
||||
"pct": 67,
|
||||
"earned": 6.7,
|
||||
"basis": "judged",
|
||||
"signals": "",
|
||||
"evidence": "운영 주체(AI오투오·편집 책임 안성민)·정정 이메일·병원 지원 관계를 모든 글 하단 Disclosure와 /about·푸터에 명시. 후기·이벤트 없음. 다만 고지가 글 첫 부분이 아니라 하단에 있어 심사지침의 \"첫 부분\" 기준에는 못 미침"
|
||||
},
|
||||
{
|
||||
"id": "GEO8",
|
||||
"pct": 100,
|
||||
"earned": 5,
|
||||
"basis": "derived",
|
||||
"signals": "B1=3",
|
||||
"evidence": "B1: JSON-LD 2블록 전부 유효 + @graph 연결"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "supporters_indexable",
|
||||
"label": "서포터즈 색인 허용 빌드",
|
||||
"v1": {
|
||||
"score": 86,
|
||||
"grade": "A"
|
||||
},
|
||||
"aeo": {
|
||||
"score": 94,
|
||||
"raw": 94,
|
||||
"grade": "A",
|
||||
"verified": 8,
|
||||
"capped": []
|
||||
},
|
||||
"geo": {
|
||||
"score": 77,
|
||||
"raw": 77,
|
||||
"grade": "B",
|
||||
"verified": 8,
|
||||
"capped": []
|
||||
},
|
||||
"gates": [
|
||||
{
|
||||
"id": "G1",
|
||||
"passed": true,
|
||||
"failedBy": []
|
||||
},
|
||||
{
|
||||
"id": "G2",
|
||||
"passed": true,
|
||||
"failedBy": []
|
||||
}
|
||||
],
|
||||
"items": [
|
||||
{
|
||||
"id": "AEO1",
|
||||
"pct": 100,
|
||||
"earned": 20,
|
||||
"basis": "derived",
|
||||
"signals": "C2=3",
|
||||
"evidence": "C2: FAQ 섹션(자주 묻는 질문) + FAQPage 스키마 존재"
|
||||
},
|
||||
{
|
||||
"id": "AEO2",
|
||||
"pct": 100,
|
||||
"earned": 20,
|
||||
"basis": "derived",
|
||||
"signals": "C1=3",
|
||||
"evidence": "C1: 홈 히어로 첫 단락과 글 8편 전부 첫 단락에 '뷰성형외과는 2005년 개원한 서울 강남 신논현역 인근 성형외과' 정의문 + 세 줄 요약(직접 답변 블록). 시술 페이지 첫 텍스트가 상담폼이 아니라 답변"
|
||||
},
|
||||
{
|
||||
"id": "AEO3",
|
||||
"pct": 100,
|
||||
"earned": 15,
|
||||
"basis": "derived",
|
||||
"signals": "C8=3",
|
||||
"evidence": "C8: 세 줄 요약·FAQ 답변 10개 샘플 중 10개가 '뷰성형외과'와 시술명(프리저베·보형물 등)을 문장 안에 포함. 단독으로 떼어도 주어가 살아 있음"
|
||||
},
|
||||
{
|
||||
"id": "AEO4",
|
||||
"pct": 67,
|
||||
"earned": 10,
|
||||
"basis": "derived",
|
||||
"signals": "C4=2, C5=2",
|
||||
"evidence": "C4: 시술 페이지(프리저베)에 절개 3~3.5cm, 수술 시간 약 30분, 200~300cc 등 수치가 본문·표·FAQ에 텍스트로 존재. 가격대·회복 일수 표는 없음(가격 노출 범위는 경영진 결정 대기) / C5: HTML 표 1개"
|
||||
},
|
||||
{
|
||||
"id": "AEO5",
|
||||
"pct": 100,
|
||||
"earned": 10,
|
||||
"basis": "derived",
|
||||
"signals": "C3=3",
|
||||
"evidence": "C3: H1 1개 서술형: \"뷰성형외과를 알아보는 사람들의질문에 먼저 답합니다.\". H2 7개 중복 없음"
|
||||
},
|
||||
{
|
||||
"id": "AEO6",
|
||||
"pct": 100,
|
||||
"earned": 10,
|
||||
"basis": "judged",
|
||||
"signals": "",
|
||||
"evidence": "헤더 상담 예약 버튼, /visit 페이지에 전화·카카오톡·온라인 예약 3경로가 표로, FactBlock에 tel: 링크. 전부 텍스트 링크"
|
||||
},
|
||||
{
|
||||
"id": "AEO7",
|
||||
"pct": 100,
|
||||
"earned": 5,
|
||||
"basis": "derived",
|
||||
"signals": "A3=3, F1=3",
|
||||
"evidence": "A3: 서버 렌더링. JS 미실행 HTML에서 본문 텍스트 3,070자 추출 / F1: 메인 페이지 이미지 18개 중 0개(0%) alt 누락 또는 빈 값"
|
||||
},
|
||||
{
|
||||
"id": "AEO8",
|
||||
"pct": 87,
|
||||
"earned": 4.3,
|
||||
"basis": "derived",
|
||||
"signals": "A5=3, B6=2",
|
||||
"evidence": "A5: robots.txt에 sitemap 선언, 200 응답. URL 17개, lastmod 최신 2026-09-04 / B6: rel=canonical self-referencing 존재"
|
||||
},
|
||||
{
|
||||
"id": "GEO1",
|
||||
"pct": 67,
|
||||
"earned": 13.3,
|
||||
"basis": "judged",
|
||||
"signals": "",
|
||||
"evidence": "18편 전편의 참고 자료에 유형(병원 제공·원장 설명·제품·규제·플랫폼·2차)과 확인일이 붙고, FDA·ISO 주장은 원문 URL로 연결. 수치 문단 5곳에 개인차·사례 한정이 빠져 게이트 경고 → \"대부분 명시\""
|
||||
},
|
||||
{
|
||||
"id": "GEO2",
|
||||
"pct": 33,
|
||||
"earned": 5,
|
||||
"basis": "derived",
|
||||
"signals": "A4=1",
|
||||
"evidence": "A4: 변형 간 최종 URL 불일치(중복 콘텐츠 위험): ['https://view-supporters-sample.vercel.app', 'https://www.view-supporters-sample.vercel.app']"
|
||||
},
|
||||
{
|
||||
"id": "GEO3",
|
||||
"pct": 100,
|
||||
"earned": 15,
|
||||
"basis": "derived",
|
||||
"signals": "C7=3, B3=3",
|
||||
"evidence": "C7: 감수 원장 약력이 텍스트로 표기(서울대 의학박사, 고려대의료원 성형외과 전문의 등) + Physician 스키마 sameAs(강남언니 프로필) + 작성자 Person 스키마. 단 감수는 '예정' 상태 / B3: Physician/Attorney 스키마 1개 + 전문분야·소속/sameAs"
|
||||
},
|
||||
{
|
||||
"id": "GEO4",
|
||||
"pct": 80,
|
||||
"earned": 12,
|
||||
"basis": "derived",
|
||||
"signals": "B2=3, B4=3, B5=3, D1=3, D2=2, D4=1, D5=2, D6=0",
|
||||
"evidence": "B2: @type MedicalClinic + 주소·전화·openingHours·전문분야/geo 구조화 / B4: 주소 단일 표기: \"서울특별시 강남구 봉은사로 107, 뷰성형외과빌딩\". 전화 2종: 02-539-1177, 02-539-1132 / B5: sameAs 5개 (SNS·버티컬·지도 연결) / D1: 병원 엔티티 항목. 공식 사이트와 같은 표면(강남언니 hospitals/189)이라 공식 실측값 준용: 강남언니 hospitals/189 등록. 후기 19,316건, 이벤트 52건, 의료진 26명(정재현 9.6·후기 3,236 등), 병원정보 10 / D2: 병원 엔티티 항목. 공식 실측값 준용: GBP 존재. 평점 4.9(리뷰 901), 소유자 제공 게시물 2일 전(소유·활성). 단 전화번호 미등록(\"장소의 전화번호 추가\" 상태), 웹사이트가 국문 홈페이 / D4: 병원 엔티티 항목. 공식 실측값 준용. 서포터즈는 팩트 시트에서 홈페이지 표기를 그대로 쓰므로 표면 간 불일치를 늘리지 않음 / D5: 병원 엔티티 항목. 공식 실측값 준용(네이버 플레이스 리뷰 776건). 서포터즈 병원 정보 페이지에 플레이스 링크 추가 예정 / D6: Wikidata에서 \"뷰성형외과\" 검색 결과 없음"
|
||||
},
|
||||
{
|
||||
"id": "GEO5",
|
||||
"pct": 100,
|
||||
"earned": 10,
|
||||
"basis": "derived",
|
||||
"signals": "C6=3",
|
||||
"evidence": "C6: 최신 갱신 신호 2026-09-04 (dateModified 2026-09-04, sitemap lastmod 2026-09-04) + dateModified 표기"
|
||||
},
|
||||
{
|
||||
"id": "GEO6",
|
||||
"pct": 100,
|
||||
"earned": 10,
|
||||
"basis": "judged",
|
||||
"signals": "",
|
||||
"evidence": "원천 콘텐츠 5유형 중 4유형 존재: 상담 질문 체크리스트, 회복 일정·마취 선택·검진 주기 조건 표(18편 전편에 표), 협진·동선 설명(이비인후과 협진·방문 안내), 원장 발언 인용(쇼츠 정리 답). 실측 기록(방문 취재)은 미착수"
|
||||
},
|
||||
{
|
||||
"id": "GEO7",
|
||||
"pct": 67,
|
||||
"earned": 6.7,
|
||||
"basis": "judged",
|
||||
"signals": "",
|
||||
"evidence": "운영 주체(AI오투오·편집 책임 안성민)·정정 이메일·병원 지원 관계를 모든 글 하단 Disclosure와 /about·푸터에 명시. 후기·이벤트 없음. 다만 고지가 글 첫 부분이 아니라 하단에 있어 심사지침의 \"첫 부분\" 기준에는 못 미침"
|
||||
},
|
||||
{
|
||||
"id": "GEO8",
|
||||
"pct": 100,
|
||||
"earned": 5,
|
||||
"basis": "derived",
|
||||
"signals": "B1=3",
|
||||
"evidence": "B1: JSON-LD 2블록 전부 유효 + @graph 연결"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,135 +0,0 @@
|
||||
# VIEW Plastic Surgery EN Question Bank results: openai
|
||||
|
||||
Measured 2026-09-10 / 60 questions
|
||||
|
||||
| # | Question | VIEW mentioned | Rank | Sentiment | Clinics (in order) | Cited domains |
|
||||
|---|---|---|---|---|---|---|
|
||||
| A-01 | Is VIEW Plastic Surgery in Seoul legit? Is it a trustworthy clinic for foreigners? | O | 1 | positive | VIEW Plastic Surgery | forum.purseblog.com, gangnamclinicindex.com, medtraveling.com, realself.com, reddit.com, seoulclinics.io |
|
||||
| A-02 | Tell me about VIEW Plastic Surgery in Gangnam, Korea. What are they known for? | O | 1 | positive | VIEW Plastic Surgery | english.visitkorea.or.kr, medicaltour.gangnam.go.kr, realself.com, reddit.com, viewplasticsurgery.com, youtube.com |
|
||||
| A-03 | What procedures does VIEW Plastic Surgery Korea specialize in? | O | 1 | positive | VIEW Plastic Surgery | english.visitkorea.or.kr, kmhglobal.com, viewplasticsurgery.com |
|
||||
| A-04 | Who is Dr. Choi Soon Woo of VIEW Plastic Surgery? Is he board certified? | O | 1 | positive | VIEW Plastic Surgery | khunkim.com, viewplasticsurgery.com |
|
||||
| A-05 | How many surgeons does VIEW Plastic Surgery have and are they all board-certified plastic surgeons? | O | 1 | positive | VIEW Plastic Surgery | assets.website-files.com, khunkim.com, reddit.com, viewplasticsurgery.com |
|
||||
| A-06 | Does VIEW Plastic Surgery have English-speaking staff or interpreters? | O | 1 | positive | VIEW Plastic Surgery | assets.website-files.com, docentpro.com, forum.purseblog.com, khunkim.com, viewplasticsurgery.com |
|
||||
| A-07 | How long has VIEW Plastic Surgery been operating and how big is the clinic? | O | 1 | neutral | VIEW Plastic Surgery | assets.website-files.com, english.visitkorea.or.kr, experts-beauty.com, icloudhospital.com, inflo.kr, viewplasticsurgery.com |
|
||||
| A-08 | VIEW Plastic Surgery Korea reviews from international patients: what do foreigners say? | O | 1 | positive | VIEW Plastic Surgery, Girin Plastic Surgery, AB Plastic Surgery | inkoreanow.com, kclinichelp.com, patients.community, realself.com, reddit.com, viewplasticsurgery.com |
|
||||
| B-01 | Where is VIEW Plastic Surgery located and how do I get there from Incheon Airport? | O | 1 | - | VIEW Plastic Surgery | english.seoul.go.kr, incheon.go.kr, ivisitkorea.com, jusofind.kr, origin.viewplasticsurgery.com, reddit.com |
|
||||
| B-02 | Does VIEW Plastic Surgery offer airport pickup for international patients? | O | 1 | positive | VIEW Plastic Surgery | viewplasticsurgery.com |
|
||||
| B-03 | What are VIEW Plastic Surgery's opening hours and can I book a consultation online from abroad? | O | 1 | positive | VIEW Plastic Surgery | jp.viewplasticsurgery.com, reddit.com, stmstyle.com, viewplasticsurgery.com |
|
||||
| B-04 | Can I contact VIEW Plastic Surgery via WhatsApp or LINE for a consultation? | O | 1 | - | VIEW Plastic Surgery | 10mag.com, reddit.com, viewplasticsurgery.com, x.com |
|
||||
| B-05 | Does VIEW Plastic Surgery provide accommodation or hotel partnerships for foreign patients? | O | 1 | positive | VIEW Plastic Surgery | medicaltour.gangnam.go.kr, reddit.com, viewplasticsurgery.com |
|
||||
| B-06 | How long should I stay in Seoul after plastic surgery before flying home? | X | - | - | (none) | |
|
||||
| B-07 | Do I need a medical visa for plastic surgery in Korea as a tourist? | X | - | - | (none) | |
|
||||
| B-08 | Which Gangnam plastic surgery clinics are closest to Sinnonhyeon Station? | O | 6 | neutral | JUST Plastic Surgery Clinic, 1 mm Plastic Surgery Clinic, 345 Plastic Surgery Clinic, Thank You Plastic Surgery Clinic, BETWEEN Plastic Surgery, VIEW Plastic Surgery, Noonopi Plastic Surgery, IK Plastic Surgery | en.ikplastic.com, eng.btwps.com, medi-spec.com, noonopiclinic.com, reddit.com, rightme.kr |
|
||||
| C-01 | Best plastic surgery clinic in Seoul for foreigners | X | - | - | JK Plastic Surgery Center, ID Hospital, Banobagi Plastic Surgery, SAERO Plastic Surgery, AB Plastic Surgery, NANA Plastic Surgery Hospital, SNUPS Clinic, JW Plastic Surgery Center | clinicseoul.net, english.visitkorea.or.kr, kclinichelp.com, koreaexperience.com, reddit.com, seoulmedicalinsider.com |
|
||||
| C-02 | Best breast augmentation clinic in Korea for international patients | X | - | - | SAERO Plastic Surgery, JW Plastic Surgery Center, The Plus Plastic Surgery, AB Plastic Surgery, UNE Plastic Surgery, Global Plastic Surgery, Opera Plastic Surgery, JK Plastic Surgery Centre | clinicrankingkorea.com, kclinichelp.com, medicaldepartures.com, medicaltravelkorea.com, my1health.com, realself.com |
|
||||
| C-03 | Top facial contouring and V-line surgery clinics in Gangnam | O | 3 | positive | JK Plastic Surgery, Banobagi Plastic Surgery, VIEW Plastic Surgery, BRAUN Plastic Surgery, GIRIN Plastic Surgery, 345 Plastic Surgery, Ipche Plastic Surgery, Made Young Plastic Surgery Clinic | gangnambeautyguide.com, gangnamdrk.com, medtraveling.com, misooda.com, plasticsurgeryko.com, topclinicseoul.com |
|
||||
| C-04 | Best rhinoplasty surgeon in Seoul for foreigners | O | 7 | positive | AB Plastic Surgery, ONYX Plastic Surgery, WOOA Plastic Surgery & Skin Clinic, Banobagi Plastic Surgery, Girin Plastic Surgery, Onlif Plastic Surgery, Sketch Plastic Surgery, VIEW Plastic Surgery | deesseclinic.com, drsamrizk.com, gangnambeautyguide.com, gangnamwomenshealth.com, kclinichelp.com, koreabeautyclinicrating.com |
|
||||
| C-05 | Best double jaw surgery clinic in Korea | X | - | - | TJ Plastic Surgery, Sinsang Plastic and Reconstructive Surgery, Brown Eye Medical Clinic, Hannaeve Plastic Surgery, SoonPlus Plastic Surgery, Severance Hospital, Seoul National University Hospital (SNUH), Asan Medical Center | gangnam.dentist, jawsurgerykorea.com, koreaclinicguide.com, plasticsurgeryko.com, us-uk.bookimed.com |
|
||||
| C-06 | Top 5 plastic surgery clinics in Gangnam, Seoul | O | 5 | positive | 4Ever Plastic Surgery, DA Plastic Surgery, ARC Plastic Surgery, Noselab Clinic, VIEW Plastic Surgery, JW Plastic Surgery, ID Hospital, Lienjang Plastic Surgery | gangnambeautyguide.com, gangnamclinicindex.com, plasticsurgeryko.com |
|
||||
| C-07 | Compare VIEW Plastic Surgery vs ID Hospital vs Banobagi for facial contouring | O | 1 | positive | VIEW Plastic Surgery, ID Hospital, Banobagi | |
|
||||
| C-08 | Which Korean plastic surgery clinics use Motiva implants and have the most experience with them? | O | 2 | positive | U&U Plastic Surgery Clinic, VIEW Plastic Surgery, Ryan Plastic Surgery, V Clinic Gangnam, ARC Plastic Surgery Clinic, Verygood Plastic Surgery, NANA Plastic Surgery, Golden Diamant Plastic Surgery | en.nanahospital.com, goldendiamant.com, goodbyeacup.com, realself.com, reddit.com, unupskorea.com |
|
||||
| C-09 | Safest plastic surgery clinic in Korea with anesthesiologists on staff | X | - | - | AB Plastic Surgery Clinic, JK Plastic Surgery Center, Hannaeve Plastic Surgery Clinic, Faceline Plastic Surgery, Braun Plastic Surgery, Respect Plastic Surgery | braunps.com, hannaeveglobal.com, healthdailysouthkorea.com, icloudhospital.com, jkplastic.com, medicalkorea.or.kr |
|
||||
| C-10 | Which Seoul plastic surgery clinics are officially recognized for medical tourism by the Korean government? | O | 4 | positive | JK Plastic Surgery Center, HER SHE (HERSHE) Plastic Surgery, Hyundai Aesthetics Plastic Surgery, VIEW Plastic Surgery, HERSHE | data.edmgr.kr, english.visitkorea.or.kr, medical.visitseoul.net, medicalkorea.or.kr, medicaltour.gangnam.go.kr, news.seoul.go.kr |
|
||||
| C-11 | Best clinic in Korea for double eyelid surgery revision for foreigners | X | - | - | 1MM Plastic Surgery, Etonne Plastic Surgery, Wanna Plastic Surgery, Gangnam Seoyeon Clinic, Symphony Plastic Surgery, Link Plastic Surgery, Motive Plastic Surgery, Ahn Sung Min Plastic Surgery | bookkoreamedical.com, gangnamobgyn.com, gangnamwomenshealth.com, kclinichelp.com, plasticsurgeryko.com, reddit.com |
|
||||
| C-12 | Large plastic surgery hospitals in Seoul with in-house recovery wards | X | - | - | Banobagi Plastic Surgery Clinic, ID Hospital, JW Plastic Surgery, Dream Medical Group, Grand Plastic Surgery | |
|
||||
| D-01 | Motiva breast augmentation in Korea: what should I know before booking? | X | - | - | (none) | |
|
||||
| D-02 | What is Motiva Preserve and which clinics in Korea offer it? | X | - | - | U&U Plastic Surgery Clinic, Ryan Plastic Surgery, Golden Diamant Plastic Surgery, Wooa Medical | goldendiamant.com, goodbyeacup.com, imagepreserve.kr, motiva.health, unupskorea.com, wooamedical.com |
|
||||
| D-03 | How long is recovery after breast augmentation in Korea before I can fly? | X | - | - | (none) | |
|
||||
| D-04 | What is the difference between V-line surgery and square jaw reduction? | X | - | - | (none) | |
|
||||
| D-05 | Double jaw surgery in Korea: recovery timeline and risks for international patients | X | - | - | (none) | |
|
||||
| D-06 | Incisional vs non-incisional double eyelid surgery in Korea: which is better? | X | - | - | (none) | |
|
||||
| D-07 | Rhinoplasty in Korea with rib cartilage vs silicone: pros and cons | X | - | - | (none) | |
|
||||
| D-08 | How is revision rhinoplasty done in Korea and how long do I need to stay? | X | - | - | (none) | |
|
||||
| D-09 | Facelift in Korea for a 50-year-old: what techniques are used? | X | - | - | (none) | |
|
||||
| D-10 | Is liposuction in Korea safe and how many days of downtime should I expect? | X | - | - | (none) | |
|
||||
| D-11 | What does VIEW Plastic Surgery's breast surgery process look like from consultation to aftercare? | O | 1 | positive | VIEW Plastic Surgery | id.viewplasticsurgery.com, viewplasticsurgery.com |
|
||||
| D-12 | Does VIEW Plastic Surgery do a breast ultrasound or examination before augmentation? | O | 1 | positive | VIEW Plastic Surgery | origin.viewplasticsurgery.com |
|
||||
| D-13 | Subbrow lift vs upper blepharoplasty: which should I get in Korea? | X | - | - | (none) | |
|
||||
| D-14 | Mini lift vs full facelift in Korea: cost and recovery | O | 7 | - | SeoulFaceliftClinic, Gangnam.Health, medisou, seoulclinics, Korea Surgeon Hub, Arke Clinic, VIEW Plastic Surgery, arkeplasticsurgery | arkeplasticsurgery.com, gangnam.health, koreaplasticsurgery.org, medisou.com, misooda.com, seoulclinics.io |
|
||||
| E-01 | How much does breast augmentation cost in Korea for foreigners in 2026? | X | - | - | MISOODA, Medisou, Clinicsoncall, ClinicSeoul.net, Seoul Medical Insider, Gangnam Beauty Guide, VitalityScount, KoreMed Consulting | clinicseoul.net, clinicsoncall.com, gangnambeautyguide.com, koremedconsulting.com, medisou.com, misooda.com |
|
||||
| E-02 | V-line surgery cost in Korea 2026 | X | - | - | MISOODA, MedVoyage, Korea Med Guide, Seoul Medical Insider, AskGangnam, Medicakorea, VitalityScout, V-Line Surgery Korea | askgangnam.com, koreamedguide.com, medicakorea.blogspot.com, medvoyage.app, misooda.com, seoulmedicalinsider.com |
|
||||
| E-03 | How much does double jaw surgery cost in Seoul? | X | - | - | Gangnam Beauty Guide, MISOODA, SeoulMedicalInsider, DoubleJawSurgeryKorea, SeoulFacialSurgery, iCloudHospital, MedicalTravelCost, SeoulClinics | doublejawsurgerykorea.com, gangnambeautyguide.com, koreacliniccost.com, medicaltravelcost.com, medvoyage.app, misooda.com |
|
||||
| E-04 | Is plastic surgery in Korea cheaper than in the US? How much can I save? | X | - | - | (none) | |
|
||||
| E-05 | VIEW Plastic Surgery price list for international patients | X | - | - | (none) | |
|
||||
| E-06 | What hidden costs should I expect for plastic surgery in Korea as a foreigner? | X | - | - | (none) | |
|
||||
| E-07 | Can foreigners get a tax refund on plastic surgery in Korea? | X | - | - | (none) | |
|
||||
| E-08 | Rhinoplasty cost in Gangnam for foreigners | X | - | - | KoreaCareGuide, Gangnam Health, SeoulBeautyTalk, Gangnam Beauty Guide, CYL Blog, ClinicSeoul.net, PlacidWay, SeoulPlasticSurgeon.com | clinicseoul.net, cyl.co.kr, gangnam.health, gangnam.placidway.com, gangnambeauty.guide, gangnambeautyguide.com |
|
||||
| F-01 | Is plastic surgery in Korea safe for foreigners? What safety standards should I look for? | X | - | - | (none) | |
|
||||
| F-02 | Does VIEW Plastic Surgery have anesthesiologists present during surgery? | O | 1 | positive | VIEW Plastic Surgery | plasticsurgery.org, reddit.com |
|
||||
| F-03 | What happens if I have complications after returning home from plastic surgery in Korea? | X | - | - | (none) | |
|
||||
| F-04 | How do I verify a Korean plastic surgeon is board certified? | X | - | - | (none) | |
|
||||
| F-05 | Are there red flags or complaints about VIEW Plastic Surgery Korea? | O | 1 | negative | VIEW Plastic Surgery, DA Plastic Surgery, AB Plastic Surgery Clinics, SeoulKlinic | cashdoc.me, cerd.com, clinics.seoulklinic.com, clinicseoul.net, cyl.co.kr, korea.verabeauty.app |
|
||||
| F-06 | Which Korean plastic surgery clinics have a Motiva implant warranty? | X | - | - | Ryan Plastic Surgery, NANA Plastic Surgery, Wonjin Plastic Surgery Hospital, MD Clinic, Eight Plastic Surgery, U&U Plastic Surgery Clinic, Wooa Plastic Surgery | eightprs.co.kr, en.nanahospital.com, goodbyeacup.com, mdclinic.co.kr, motiva.health, motivakorea.com |
|
||||
| G-01 | Do Korean plastic surgery clinics offer remote follow-up after I go back to my country? | X | - | - | (none) | |
|
||||
| G-02 | What aftercare does VIEW Plastic Surgery provide for international patients? | O | 1 | positive | VIEW Plastic Surgery | |
|
||||
| G-03 | Where can I get post-surgery swelling care in Gangnam after surgery? | O | 7 | positive | ONUL Plastic Surgery & Dermatology, Withwin Dermatology, ROI Plastic Surgery, MINE Plastic Surgery, TheLINE Plastic Surgery, Pose Clinic, VIEW Plastic Surgery, TS Plastic Surgery | en.onulps.com, global.poseclinic.co.kr, hoev.net, mineclinic.com, reddit.com, roisurgery.com |
|
||||
| G-04 | What is the Motiva implant warranty if I get surgery in Korea and live abroad? | X | - | - | Motiva Korea, breastsurgerykorea.com | breastsurgerykorea.com, motiva.health, motivakorea.com, mtoz.motivaimplants.co.kr |
|
||||
|
||||
## Summary
|
||||
|
||||
- VIEW mentioned: 27/60 (45%)
|
||||
|
||||
| Category | Questions | VIEW mentioned | viewplasticsurgery.com cited |
|
||||
|---|---|---|---|
|
||||
| A Brand | 8 | 8 (100%) | 8 (100%) |
|
||||
| B Travel & logistics | 8 | 6 (75%) | 5 (62%) |
|
||||
| C Recommendation & comparison | 12 | 6 (50%) | 1 (8%) |
|
||||
| D Procedure info | 14 | 3 (21%) | 3 (21%) |
|
||||
| E Pricing | 8 | 0 (0%) | 0 (0%) |
|
||||
| F Safety & trust | 6 | 2 (33%) | 0 (0%) |
|
||||
| G Aftercare & remote follow-up | 4 | 2 (50%) | 1 (25%) |
|
||||
|
||||
### Clinic mention frequency (top 20)
|
||||
|
||||
| Clinic | Questions | First position |
|
||||
|---|---|---|
|
||||
| VIEW Plastic Surgery | 27 | 19 |
|
||||
| AB Plastic Surgery | 4 | 1 |
|
||||
| ID Hospital | 4 | 0 |
|
||||
| JK Plastic Surgery Center | 3 | 2 |
|
||||
| Banobagi Plastic Surgery | 3 | 0 |
|
||||
| U&U Plastic Surgery Clinic | 3 | 2 |
|
||||
| Ryan Plastic Surgery | 3 | 1 |
|
||||
| MISOODA | 3 | 2 |
|
||||
| Gangnam Beauty Guide | 3 | 1 |
|
||||
| Girin Plastic Surgery | 2 | 0 |
|
||||
| SAERO Plastic Surgery | 2 | 1 |
|
||||
| JW Plastic Surgery Center | 2 | 0 |
|
||||
| DA Plastic Surgery | 2 | 0 |
|
||||
| JW Plastic Surgery | 2 | 0 |
|
||||
| NANA Plastic Surgery | 2 | 0 |
|
||||
| Golden Diamant Plastic Surgery | 2 | 0 |
|
||||
| ClinicSeoul.net | 2 | 0 |
|
||||
| Seoul Medical Insider | 2 | 0 |
|
||||
| JUST Plastic Surgery Clinic | 1 | 1 |
|
||||
| 1 mm Plastic Surgery Clinic | 1 | 0 |
|
||||
|
||||
### Cited domains (top 25)
|
||||
|
||||
| Domain | Questions cited | Cited when VIEW mentioned |
|
||||
|---|---|---|
|
||||
| reddit.com | 16 | 13 |
|
||||
| viewplasticsurgery.com | 16 | 16 |
|
||||
| gangnambeautyguide.com | 6 | 3 |
|
||||
| misooda.com | 6 | 2 |
|
||||
| realself.com | 5 | 4 |
|
||||
| english.visitkorea.or.kr | 5 | 4 |
|
||||
| kclinichelp.com | 5 | 2 |
|
||||
| clinicseoul.net | 4 | 1 |
|
||||
| seoulmedicalinsider.com | 4 | 0 |
|
||||
| us-uk.bookimed.com | 4 | 0 |
|
||||
| plasticsurgeryko.com | 4 | 2 |
|
||||
| seoulclinics.io | 3 | 2 |
|
||||
| medicaltour.gangnam.go.kr | 3 | 3 |
|
||||
| khunkim.com | 3 | 3 |
|
||||
| assets.website-files.com | 3 | 3 |
|
||||
| goodbyeacup.com | 3 | 1 |
|
||||
| unupskorea.com | 3 | 1 |
|
||||
| motiva.health | 3 | 0 |
|
||||
| forum.purseblog.com | 2 | 2 |
|
||||
| gangnamclinicindex.com | 2 | 2 |
|
||||
| medtraveling.com | 2 | 2 |
|
||||
| icloudhospital.com | 2 | 1 |
|
||||
| origin.viewplasticsurgery.com | 2 | 2 |
|
||||
| seoulplasticsurgeon.com | 2 | 0 |
|
||||
| wuneprs.com | 2 | 0 |
|
||||
@ -1,736 +0,0 @@
|
||||
{
|
||||
"per_cat": {
|
||||
"A": [
|
||||
8,
|
||||
8,
|
||||
8
|
||||
],
|
||||
"B": [
|
||||
8,
|
||||
6,
|
||||
5
|
||||
],
|
||||
"C": [
|
||||
12,
|
||||
6,
|
||||
1
|
||||
],
|
||||
"D": [
|
||||
14,
|
||||
3,
|
||||
3
|
||||
],
|
||||
"E": [
|
||||
8,
|
||||
0,
|
||||
0
|
||||
],
|
||||
"F": [
|
||||
6,
|
||||
2,
|
||||
0
|
||||
],
|
||||
"G": [
|
||||
4,
|
||||
2,
|
||||
1
|
||||
]
|
||||
},
|
||||
"freq": {
|
||||
"VIEW Plastic Surgery": [
|
||||
27,
|
||||
19
|
||||
],
|
||||
"Girin Plastic Surgery": [
|
||||
2,
|
||||
0
|
||||
],
|
||||
"AB Plastic Surgery": [
|
||||
4,
|
||||
1
|
||||
],
|
||||
"JUST Plastic Surgery Clinic": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"1 mm Plastic Surgery Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"345 Plastic Surgery Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Thank You Plastic Surgery Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"BETWEEN Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Noonopi Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"IK Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"JK Plastic Surgery Center": [
|
||||
3,
|
||||
2
|
||||
],
|
||||
"ID Hospital": [
|
||||
4,
|
||||
0
|
||||
],
|
||||
"Banobagi Plastic Surgery": [
|
||||
3,
|
||||
0
|
||||
],
|
||||
"SAERO Plastic Surgery": [
|
||||
2,
|
||||
1
|
||||
],
|
||||
"NANA Plastic Surgery Hospital": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"SNUPS Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"JW Plastic Surgery Center": [
|
||||
2,
|
||||
0
|
||||
],
|
||||
"The Plus Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"UNE Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Global Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Opera Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"JK Plastic Surgery Centre": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"JK Plastic Surgery": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"BRAUN Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"GIRIN Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"345 Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Ipche Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Made Young Plastic Surgery Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"ONYX Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"WOOA Plastic Surgery & Skin Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Onlif Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Sketch Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"TJ Plastic Surgery": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"Sinsang Plastic and Reconstructive Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Brown Eye Medical Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Hannaeve Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"SoonPlus Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Severance Hospital": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Seoul National University Hospital (SNUH)": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Asan Medical Center": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"4Ever Plastic Surgery": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"DA Plastic Surgery": [
|
||||
2,
|
||||
0
|
||||
],
|
||||
"ARC Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Noselab Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"JW Plastic Surgery": [
|
||||
2,
|
||||
0
|
||||
],
|
||||
"Lienjang Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Banobagi": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"U&U Plastic Surgery Clinic": [
|
||||
3,
|
||||
2
|
||||
],
|
||||
"Ryan Plastic Surgery": [
|
||||
3,
|
||||
1
|
||||
],
|
||||
"V Clinic Gangnam": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"ARC Plastic Surgery Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Verygood Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"NANA Plastic Surgery": [
|
||||
2,
|
||||
0
|
||||
],
|
||||
"Golden Diamant Plastic Surgery": [
|
||||
2,
|
||||
0
|
||||
],
|
||||
"AB Plastic Surgery Clinic": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"Hannaeve Plastic Surgery Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Faceline Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Braun Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Respect Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"HER SHE (HERSHE) Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Hyundai Aesthetics Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"HERSHE": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"1MM Plastic Surgery": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"Etonne Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Wanna Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Gangnam Seoyeon Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Symphony Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Link Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Motive Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Ahn Sung Min Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Banobagi Plastic Surgery Clinic": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"Dream Medical Group": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Grand Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Wooa Medical": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"SeoulFaceliftClinic": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"Gangnam.Health": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"medisou": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"seoulclinics": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Korea Surgeon Hub": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Arke Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"arkeplasticsurgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"MISOODA": [
|
||||
3,
|
||||
2
|
||||
],
|
||||
"Medisou": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Clinicsoncall": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"ClinicSeoul.net": [
|
||||
2,
|
||||
0
|
||||
],
|
||||
"Seoul Medical Insider": [
|
||||
2,
|
||||
0
|
||||
],
|
||||
"Gangnam Beauty Guide": [
|
||||
3,
|
||||
1
|
||||
],
|
||||
"VitalityScount": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"KoreMed Consulting": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"MedVoyage": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Korea Med Guide": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"AskGangnam": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Medicakorea": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"VitalityScout": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"V-Line Surgery Korea": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"SeoulMedicalInsider": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"DoubleJawSurgeryKorea": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"SeoulFacialSurgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"iCloudHospital": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"MedicalTravelCost": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"SeoulClinics": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"KoreaCareGuide": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"Gangnam Health": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"SeoulBeautyTalk": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"CYL Blog": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"PlacidWay": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"SeoulPlasticSurgeon.com": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"AB Plastic Surgery Clinics": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"SeoulKlinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Wonjin Plastic Surgery Hospital": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"MD Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Eight Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Wooa Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"ONUL Plastic Surgery & Dermatology": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"Withwin Dermatology": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"ROI Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"MINE Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"TheLINE Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Pose Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"TS Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Motiva Korea": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"breastsurgerykorea.com": [
|
||||
1,
|
||||
0
|
||||
]
|
||||
},
|
||||
"dom_freq": {
|
||||
"forum.purseblog.com": 2,
|
||||
"gangnamclinicindex.com": 2,
|
||||
"medtraveling.com": 2,
|
||||
"realself.com": 5,
|
||||
"reddit.com": 16,
|
||||
"seoulclinics.io": 3,
|
||||
"viewplasticsurgery.com": 16,
|
||||
"english.visitkorea.or.kr": 5,
|
||||
"medicaltour.gangnam.go.kr": 3,
|
||||
"youtube.com": 1,
|
||||
"kmhglobal.com": 1,
|
||||
"khunkim.com": 3,
|
||||
"assets.website-files.com": 3,
|
||||
"docentpro.com": 1,
|
||||
"experts-beauty.com": 1,
|
||||
"icloudhospital.com": 2,
|
||||
"inflo.kr": 1,
|
||||
"inkoreanow.com": 1,
|
||||
"kclinichelp.com": 5,
|
||||
"patients.community": 1,
|
||||
"english.seoul.go.kr": 1,
|
||||
"incheon.go.kr": 1,
|
||||
"ivisitkorea.com": 1,
|
||||
"jusofind.kr": 1,
|
||||
"origin.viewplasticsurgery.com": 2,
|
||||
"rome2rio.com": 1,
|
||||
"jp.viewplasticsurgery.com": 1,
|
||||
"stmstyle.com": 1,
|
||||
"10mag.com": 1,
|
||||
"x.com": 1,
|
||||
"en.ikplastic.com": 1,
|
||||
"eng.btwps.com": 1,
|
||||
"medi-spec.com": 1,
|
||||
"noonopiclinic.com": 1,
|
||||
"rightme.kr": 1,
|
||||
"clinicseoul.net": 4,
|
||||
"koreaexperience.com": 1,
|
||||
"seoulmedicalinsider.com": 4,
|
||||
"seoulplasticsurgeon.com": 2,
|
||||
"us-uk.bookimed.com": 4,
|
||||
"wellmap.co": 1,
|
||||
"clinicrankingkorea.com": 1,
|
||||
"medicaldepartures.com": 1,
|
||||
"medicaltravelkorea.com": 1,
|
||||
"my1health.com": 1,
|
||||
"wuneprs.com": 2,
|
||||
"gangnambeautyguide.com": 6,
|
||||
"gangnamdrk.com": 1,
|
||||
"misooda.com": 6,
|
||||
"plasticsurgeryko.com": 4,
|
||||
"topclinicseoul.com": 1,
|
||||
"deesseclinic.com": 1,
|
||||
"drsamrizk.com": 1,
|
||||
"gangnamwomenshealth.com": 2,
|
||||
"koreabeautyclinicrating.com": 1,
|
||||
"medicaltourismchat.com": 1,
|
||||
"seoulvera.com": 2,
|
||||
"gangnam.dentist": 1,
|
||||
"jawsurgerykorea.com": 1,
|
||||
"koreaclinicguide.com": 1,
|
||||
"en.nanahospital.com": 2,
|
||||
"goldendiamant.com": 2,
|
||||
"goodbyeacup.com": 3,
|
||||
"unupskorea.com": 3,
|
||||
"vclinicglobal.kr": 1,
|
||||
"verygoodaesthetics.com": 1,
|
||||
"braunps.com": 1,
|
||||
"hannaeveglobal.com": 1,
|
||||
"healthdailysouthkorea.com": 1,
|
||||
"jkplastic.com": 1,
|
||||
"medicalkorea.or.kr": 2,
|
||||
"respectps.clinic": 1,
|
||||
"data.edmgr.kr": 1,
|
||||
"medical.visitseoul.net": 1,
|
||||
"news.seoul.go.kr": 1,
|
||||
"bookkoreamedical.com": 1,
|
||||
"gangnamobgyn.com": 1,
|
||||
"imagepreserve.kr": 1,
|
||||
"motiva.health": 3,
|
||||
"wooamedical.com": 1,
|
||||
"id.viewplasticsurgery.com": 1,
|
||||
"arkeplasticsurgery.com": 1,
|
||||
"gangnam.health": 2,
|
||||
"koreaplasticsurgery.org": 1,
|
||||
"medisou.com": 2,
|
||||
"seoulfaceliftclinic.com": 1,
|
||||
"clinicsoncall.com": 1,
|
||||
"koremedconsulting.com": 1,
|
||||
"vitalityscout.com": 2,
|
||||
"askgangnam.com": 1,
|
||||
"koreamedguide.com": 1,
|
||||
"medicakorea.blogspot.com": 1,
|
||||
"medvoyage.app": 2,
|
||||
"vlinesurgerykorea.com": 1,
|
||||
"doublejawsurgerykorea.com": 1,
|
||||
"koreacliniccost.com": 1,
|
||||
"medicaltravelcost.com": 1,
|
||||
"mowatool.com": 1,
|
||||
"seoulfacialsurgery.com": 1,
|
||||
"cyl.co.kr": 2,
|
||||
"gangnam.placidway.com": 1,
|
||||
"gangnambeauty.guide": 1,
|
||||
"koreacareguide.com": 1,
|
||||
"seoulbeautytalk.com": 2,
|
||||
"plasticsurgery.org": 1,
|
||||
"cashdoc.me": 1,
|
||||
"cerd.com": 1,
|
||||
"clinics.seoulklinic.com": 1,
|
||||
"korea.verabeauty.app": 1,
|
||||
"eightprs.co.kr": 1,
|
||||
"mdclinic.co.kr": 1,
|
||||
"motivakorea.com": 2,
|
||||
"wonjinbeauty.com": 1,
|
||||
"en.onulps.com": 1,
|
||||
"global.poseclinic.co.kr": 1,
|
||||
"hoev.net": 1,
|
||||
"mineclinic.com": 1,
|
||||
"roisurgery.com": 1,
|
||||
"thelineclinic.com": 1,
|
||||
"tsplasticsurgery.com": 1,
|
||||
"widwinskin.com": 1,
|
||||
"breastsurgerykorea.com": 1,
|
||||
"mtoz.motivaimplants.co.kr": 1
|
||||
},
|
||||
"view_dom": {
|
||||
"forum.purseblog.com": 2,
|
||||
"gangnamclinicindex.com": 2,
|
||||
"medtraveling.com": 2,
|
||||
"realself.com": 4,
|
||||
"reddit.com": 13,
|
||||
"seoulclinics.io": 2,
|
||||
"viewplasticsurgery.com": 16,
|
||||
"english.visitkorea.or.kr": 4,
|
||||
"medicaltour.gangnam.go.kr": 3,
|
||||
"youtube.com": 1,
|
||||
"kmhglobal.com": 1,
|
||||
"khunkim.com": 3,
|
||||
"assets.website-files.com": 3,
|
||||
"docentpro.com": 1,
|
||||
"experts-beauty.com": 1,
|
||||
"icloudhospital.com": 1,
|
||||
"inflo.kr": 1,
|
||||
"inkoreanow.com": 1,
|
||||
"kclinichelp.com": 2,
|
||||
"patients.community": 1,
|
||||
"english.seoul.go.kr": 1,
|
||||
"incheon.go.kr": 1,
|
||||
"ivisitkorea.com": 1,
|
||||
"jusofind.kr": 1,
|
||||
"origin.viewplasticsurgery.com": 2,
|
||||
"rome2rio.com": 1,
|
||||
"jp.viewplasticsurgery.com": 1,
|
||||
"stmstyle.com": 1,
|
||||
"10mag.com": 1,
|
||||
"x.com": 1,
|
||||
"en.ikplastic.com": 1,
|
||||
"eng.btwps.com": 1,
|
||||
"medi-spec.com": 1,
|
||||
"noonopiclinic.com": 1,
|
||||
"rightme.kr": 1,
|
||||
"gangnambeautyguide.com": 3,
|
||||
"gangnamdrk.com": 1,
|
||||
"misooda.com": 2,
|
||||
"plasticsurgeryko.com": 2,
|
||||
"topclinicseoul.com": 1,
|
||||
"deesseclinic.com": 1,
|
||||
"drsamrizk.com": 1,
|
||||
"gangnamwomenshealth.com": 1,
|
||||
"koreabeautyclinicrating.com": 1,
|
||||
"medicaltourismchat.com": 1,
|
||||
"seoulvera.com": 1,
|
||||
"en.nanahospital.com": 1,
|
||||
"goldendiamant.com": 1,
|
||||
"goodbyeacup.com": 1,
|
||||
"unupskorea.com": 1,
|
||||
"vclinicglobal.kr": 1,
|
||||
"verygoodaesthetics.com": 1,
|
||||
"data.edmgr.kr": 1,
|
||||
"medical.visitseoul.net": 1,
|
||||
"medicalkorea.or.kr": 1,
|
||||
"news.seoul.go.kr": 1,
|
||||
"id.viewplasticsurgery.com": 1,
|
||||
"arkeplasticsurgery.com": 1,
|
||||
"gangnam.health": 1,
|
||||
"koreaplasticsurgery.org": 1,
|
||||
"medisou.com": 1,
|
||||
"seoulfaceliftclinic.com": 1,
|
||||
"plasticsurgery.org": 1,
|
||||
"cashdoc.me": 1,
|
||||
"cerd.com": 1,
|
||||
"clinics.seoulklinic.com": 1,
|
||||
"clinicseoul.net": 1,
|
||||
"cyl.co.kr": 1,
|
||||
"korea.verabeauty.app": 1,
|
||||
"seoulbeautytalk.com": 1,
|
||||
"en.onulps.com": 1,
|
||||
"global.poseclinic.co.kr": 1,
|
||||
"hoev.net": 1,
|
||||
"mineclinic.com": 1,
|
||||
"roisurgery.com": 1,
|
||||
"thelineclinic.com": 1,
|
||||
"tsplasticsurgery.com": 1,
|
||||
"widwinskin.com": 1
|
||||
},
|
||||
"n": 60,
|
||||
"mentioned": 27
|
||||
}
|
||||
@ -1,135 +0,0 @@
|
||||
# VIEW Plastic Surgery EN Question Bank results: perplexity
|
||||
|
||||
Measured 2026-09-10 / 60 questions
|
||||
|
||||
| # | Question | VIEW mentioned | Rank | Sentiment | Clinics (in order) | Cited domains |
|
||||
|---|---|---|---|---|---|---|
|
||||
| A-01 | Is VIEW Plastic Surgery in Seoul legit? Is it a trustworthy clinic for foreigners? | O | 1 | neutral | VIEW Plastic Surgery | clinicsoncall.com, curemeabroad.com, forum.purseblog.com, khunkim.com, koreaplasticsurgery.tistory.com, medtraveling.com |
|
||||
| A-02 | Tell me about VIEW Plastic Surgery in Gangnam, Korea. What are they known for? | O | 1 | positive | VIEW Plastic Surgery | 10mag.com, clinicsoncall.com, curemeabroad.com, english.visitkorea.or.kr, id.viewplasticsurgery.com, khunkim.com |
|
||||
| A-03 | What procedures does VIEW Plastic Surgery Korea specialize in? | O | 1 | - | VIEW Plastic Surgery | clinicsoncall.com, curemeabroad.com, english.visitkorea.or.kr, experts-medical.com, forum.purseblog.com, khunkim.com |
|
||||
| A-04 | Who is Dr. Choi Soon Woo of VIEW Plastic Surgery? Is he board certified? | O | 1 | positive | VIEW Plastic Surgery | cashdoc.me, clinicsoncall.com, id.viewplasticsurgery.com, khunkim.com, olden.viewplasticsurgery.com, us-uk.bookimed.com |
|
||||
| A-05 | How many surgeons does VIEW Plastic Surgery have and are they all board-certified plastic surgeons? | O | 1 | neutral | VIEW Plastic Surgery | academic.oup.com, clinicsoncall.com, ibisworld.com, khunkim.com, kmhglobal.com, madisonps.com |
|
||||
| A-06 | Does VIEW Plastic Surgery have English-speaking staff or interpreters? | O | 1 | positive | VIEW Plastic Surgery | clinicsoncall.com, curemeabroad.com, en.uniclinics.com, experts-medical.com, khunkim.com, linkedin.com |
|
||||
| A-07 | How long has VIEW Plastic Surgery been operating and how big is the clinic? | O | 1 | positive | VIEW Plastic Surgery | aeysurgery.com, curemeabroad.com, elclinics.com, english.visitkorea.or.kr, hospitals-travel.ru, id.viewplasticsurgery.com |
|
||||
| A-08 | VIEW Plastic Surgery Korea reviews from international patients: what do foreigners say? | O | - | - | (none) | abplasticsurgerykorea.com, aljazeera.com, clinicreviewkorea.com, clinicsoncall.com, community.icloudhospital.com, linkpskorea.com |
|
||||
| B-01 | Where is VIEW Plastic Surgery located and how do I get there from Incheon Airport? | O | 1 | - | VIEW Plastic Surgery | 10mag.com, clinicsoncall.com, curemeabroad.com, en.uniclinics.com, english.visitkorea.or.kr, id.viewplasticsurgery.com |
|
||||
| B-02 | Does VIEW Plastic Surgery offer airport pickup for international patients? | O | 1 | positive | VIEW Plastic Surgery | abplasticsurgerykorea.com, curemeabroad.com, en.uniclinics.com, forum.purseblog.com, medicalkorea.or.kr, medtour.help |
|
||||
| B-03 | What are VIEW Plastic Surgery's opening hours and can I book a consultation online from abroad? | O | 1 | - | VIEW Plastic Surgery | 152harleystreet.com, english.visitkorea.or.kr, healthgrades.com, id.viewplasticsurgery.com, khunkim.com, kmhglobal.com |
|
||||
| B-04 | Can I contact VIEW Plastic Surgery via WhatsApp or LINE for a consultation? | O | 1 | - | VIEW Plastic Surgery | experts-medical.com, facebook.com, instagram.com, medicalavenuekorea.com, reddit.com, viewplasticsurgery.com |
|
||||
| B-05 | Does VIEW Plastic Surgery provide accommodation or hotel partnerships for foreign patients? | O | 1 | positive | VIEW Plastic Surgery | abplasticsurgerykorea.com, clinicsoncall.com, curemeabroad.com, en.uniclinics.com, medicaltour.gangnam.go.kr, reddit.com |
|
||||
| B-06 | How long should I stay in Seoul after plastic surgery before flying home? | X | - | - | (none) | ava-ps.com, beautybutlerthailand.com, globalbeautyspot.com, hugo-ps-global.com, jivaka.kr, jwbeauty.net |
|
||||
| B-07 | Do I need a medical visa for plastic surgery in Korea as a tourist? | X | - | - | (none) | 365plasticsurgerykorea.com, better.medicaltourism.com, clinicseoul.net, clinicsoncall.com, cyl.co.kr, djmeditour.kr |
|
||||
| B-08 | Which Gangnam plastic surgery clinics are closest to Sinnonhyeon Station? | O | 3 | - | Lala Plastic Surgery Clinic, 345 Plastic Surgery, VIEW Plastic Surgery, Girin Plastic Surgery, MIHO Plastic Surgery, Noonopi Plastic Surgery, Glam Surgery, UE Plastic Surgery Clinic | clinicseoul.net, en.345-ps.com, en.nanahospital.com, gangnam.health, gangnamdrk.com, korea-clinics.com |
|
||||
| C-01 | Best plastic surgery clinic in Seoul for foreigners | O | 4 | positive | JK Plastic Surgery, ID Hospital, Banobagi Plastic Surgery, VIEW Plastic Surgery | 10mag.com, abplasticsurgerykorea.com, english.visitkorea.or.kr, expatguidekorea.com, gangnamwomenshealth.com, girinpsen.com |
|
||||
| C-02 | Best breast augmentation clinic in Korea for international patients | X | - | - | VG Plastic Surgery, SAERO Plastic Surgery, WOOA Plastic Surgery, JK Plastic Surgery, Verygood Plastic Surgery, CDU Plastic Surgery | clinicsoncall.com, experts-beauty.com, gangnamwomenshealth.com, jkplastic.com, koreaclinicguide.com, medicaldepartures.com |
|
||||
| C-03 | Top facial contouring and V-line surgery clinics in Gangnam | X | - | - | TOP Plastic Surgery, The PLUS Plastic Surgery, Glam Plastic Surgery, Seoul Cheil Plastic Surgery, ONE Cell Plastic Surgery, Very Good Plastic Surgery, SAERO Plastic Surgery, VG Plastic Surgery | cheongdam.skin, facialcontouringkorea.com, gangnam.health, gangnambeautyguide.com, gangnamdrk.com, gangnamwomenshealth.com |
|
||||
| C-04 | Best rhinoplasty surgeon in Seoul for foreigners | O | 1 | positive | VIEW Plastic Surgery, JW Plastic Surgery, LUHO Plastic Surgery, SAERO Plastic Surgery, ID Hospital | clinicsoncall.com, experts-beauty.com, experts-medical.com, gangnamrhinoplasty.com, gangnamwomenshealth.com, kowonplasticsurgery.com |
|
||||
| C-05 | Best double jaw surgery clinic in Korea | O | 2 | positive | ID Hospital, VIEW Plastic Surgery, JUM Oral and Maxillofacial Surgery, WHY Oral and Maxillofacial Surgery, The Face Dental / Seoul Face 21 Dental Hospital | doublejawsurgerykorea.com, en.whydental.co.kr, eng.idhospital.com, gangnam.dental, idhospital.com, koreaclinicguide.com |
|
||||
| C-06 | Top 5 plastic surgery clinics in Gangnam, Seoul | O | 5 | positive | JK Plastic Surgery, Opera Plastic Surgery, Banobagi Clinic, ID Hospital, VIEW Plastic Surgery | clinicseoul.net, en-ggps.com, en.chiups.com, experts-beauty.com, gangnambeautyguide.com, gangnamdrk.com |
|
||||
| C-07 | Compare VIEW Plastic Surgery vs ID Hospital vs Banobagi for facial contouring | O | 1 | positive | VIEW Plastic Surgery, ID Hospital, Banobagi | clinicsoncall.com, drspiegel.com, english.visitkorea.or.kr, id.viewplasticsurgery.com, khunkim.com, viewplasticsurgery.com |
|
||||
| C-08 | Which Korean plastic surgery clinics use Motiva implants and have the most experience with them? | O | 1 | positive | VIEW Plastic Surgery, Ryan Plastic Surgery, JK Plastic Surgery Center, DA Plastic Surgery, THE PLUS Plastic Surgery | beautymedtravel.com, daprseng.com, girinpsen.com, goodbyeacup.com, idhospital.com, jkplastic.com |
|
||||
| C-09 | Safest plastic surgery clinic in Korea with anesthesiologists on staff | O | 3 | positive | AB Plastic Surgery, JK Plastic Surgery, DA Plastic Surgery, VIEW Plastic Surgery, Verygood Plastic Surgery | abplasticsurgerykorea.com, daprseng.com, english.visitkorea.or.kr, experts-beauty.com, girinpsen.com, icloudhospital.com |
|
||||
| C-10 | Which Seoul plastic surgery clinics are officially recognized for medical tourism by the Korean government? | O | 1 | positive | VIEW Plastic Surgery, Banobagi Plastic Surgery, JK Plastic Surgery Center, Evita Clinic, GANGNAM JS Hospital, VG Plastic Surgery | better.medicaltourism.com, english.visitkorea.or.kr, evitaclinic.com, gangnamwomenshealth.com, koreaexperience.com, kr-webmagazine.com |
|
||||
| C-11 | Best clinic in Korea for double eyelid surgery revision for foreigners | X | - | - | Ahnsungmin Plastic Surgery, Sinsa L Plastic Surgery, 1mm Plastic Surgery, JK Plastic Surgery, Banobagi, Sinsael Plastic Surgery, Will Be Plastic Surgery, Very Good Plastic Surgery | ahnsungminplasticsurgery.com, clinicseoul.net, eng.banobagi.com, gangnamobgyn.com, lowerblepharoplastykorea.com, my1health.com |
|
||||
| C-12 | Large plastic surgery hospitals in Seoul with in-house recovery wards | O | 2 | positive | ID Hospital, VIEW Plastic Surgery, Grand Plastic Surgery, JK Plastic Surgery | 10mag.com, cmcseoul.or.kr, en.nanahospital.com, english.visitkorea.or.kr, experts-beauty.com, experts-medical.com |
|
||||
| D-01 | Motiva breast augmentation in Korea: what should I know before booking? | X | - | - | (none) | abplasticsurgerykorea.com, daprseng.com, girinpsen.com, graceclinic.co.kr, idhospital.com, jkplastic.com |
|
||||
| D-02 | What is Motiva Preserve and which clinics in Korea offer it? | X | - | - | (none) | agulloplasticsurgery.com, bodybyravi.com, bostoncenterforplasticsurgery.com, caloaesthetics.com, clnq.com, dallasplasticsurgery.pro |
|
||||
| D-03 | How long is recovery after breast augmentation in Korea before I can fly? | X | - | - | (none) | afittingexperience.com, gangnambreastreductionsurgery.com, globalbeautyspot.com, hayatmed.com, korea-clinics.com, koreaclinicguide.com |
|
||||
| D-04 | What is the difference between V-line surgery and square jaw reduction? | X | - | - | (none) | abplasticsurgerykorea.com, april31.com, cinderellaplasticsurgery.com, cyl.co.kr, deschamps-braly.com, docfinderkorea.com |
|
||||
| D-05 | Double jaw surgery in Korea: recovery timeline and risks for international patients | X | - | - | (none) | 365plasticsurgerykorea.com, advancedreconstruction.com, daprseng.com, docfinderkorea.com, eng.banobagi.com, eng.idhospital.com |
|
||||
| D-06 | Incisional vs non-incisional double eyelid surgery in Korea: which is better? | X | - | - | (none) | abplasticsurgerykorea.com, allaboutmei.com, clinicseoul.net, docfinderkorea.com, en.marbleps.com, eng.banobagi.com |
|
||||
| D-07 | Rhinoplasty in Korea with rib cartilage vs silicone: pros and cons | X | - | - | (none) | allureplasticsurgery.sg, answerplasticsurgery.com, asiancosmeticsurgery.com, braunps.com, clinicseoul.net, cyl.co.kr |
|
||||
| D-08 | How is revision rhinoplasty done in Korea and how long do I need to stay? | X | - | - | (none) | clinicsoncall.com, editionps.com, en.nanahospital.com, eng.banobagi.com, gangnamplastic.surgery, inkoreanow.com |
|
||||
| D-09 | Facelift in Korea for a 50-year-old: what techniques are used? | X | - | - | (none) | clinicseoul.net, docfinderkorea.com, en.nanahospital.com, gangnammedicalconcierge.com, gangnammedspa.com, gangnamskin.clinic |
|
||||
| D-10 | Is liposuction in Korea safe and how many days of downtime should I expect? | X | - | - | (none) | canvassresearch.com, clinicsoncall.com, diteplasticsurgery.com, evitaclinic.com, gangnamskin.clinic, jivaka.kr |
|
||||
| D-11 | What does VIEW Plastic Surgery's breast surgery process look like from consultation to aftercare? | O | 1 | positive | VIEW Plastic Surgery | kmhglobal.com, mayoclinic.org, medicalavenuekorea.com, plasticsurgery.org, viewplasticsurgery.com |
|
||||
| D-12 | Does VIEW Plastic Surgery do a breast ultrasound or examination before augmentation? | O | 1 | positive | VIEW Plastic Surgery | associationofbreastsurgery.org.uk, clinicsoncall.com, khunkim.com, mja.com.au, myguideseoul.com, plasticsurgery.org |
|
||||
| D-13 | Subbrow lift vs upper blepharoplasty: which should I get in Korea? | X | - | - | (none) | andps-global.co.kr, cdubeauty.co.kr, docfinderkorea.com, e-aaps.org, gangnamplastic.surgery, korea-plastic-surgery.com |
|
||||
| D-14 | Mini lift vs full facelift in Korea: cost and recovery | X | - | - | (none) | clinicseoul.net, cyl.co.kr, faceliftingseoul.com, gangnamdermatologyclinic.com, gangnamfaceliftsurgery.com, gangnammedicalconcierge.com |
|
||||
| E-01 | How much does breast augmentation cost in Korea for foreigners in 2026? | X | - | - | (none) | abplasticsurgerykorea.com, breastimplantkorea.com, clinicseoul.net, clinicsoncall.com, docfinderkorea.com, koreaclinicguide.com |
|
||||
| E-02 | V-line surgery cost in Korea 2026 | X | - | - | (none) | abplasticsurgerykorea.com, askgangnam.com, clinicseoul.net, docfinderkorea.com, dojagi-clinic.com, jivaka.kr |
|
||||
| E-03 | How much does double jaw surgery cost in Seoul? | X | - | - | ID Hospital | clinicseoul.net, dentistgangnam.com, docfinderkorea.com, eng.idhospital.com, icloudhospital.com, koreaclinicguide.com |
|
||||
| E-04 | Is plastic surgery in Korea cheaper than in the US? How much can I save? | X | - | - | (none) | aristocratps.com, clinicseoul.net, clinicsoncall.com, gangnamplastic.surgery, go.medicalavenuekorea.com, guide.kmedtour.com |
|
||||
| E-05 | VIEW Plastic Surgery price list for international patients | X | - | - | (none) | amedical.az, clinicadelrey.com, clinicseoul.net, clinicsoncall.com, deepplane.com, europesurgery.co.uk |
|
||||
| E-06 | What hidden costs should I expect for plastic surgery in Korea as a foreigner? | X | - | - | (none) | clinicseoul.net, clinicsoncall.com, koreaexperience.com, koreaplasticsurgerycost.com, my1health.com, reddit.com |
|
||||
| E-07 | Can foreigners get a tax refund on plastic surgery in Korea? | X | - | - | (none) | beautipin.com, blog.yeoshin.co.kr, eng.dsmc.or.kr:49910, english.visitkorea.or.kr, evitaclinic.com, forenaclinic.com |
|
||||
| E-08 | Rhinoplasty cost in Gangnam for foreigners | X | - | - | (none) | clinicseoul.net, gangnam.health, gangnambeautyguide.com, gangnamplastic.surgery, gangnamplasticsurgery.clinic, gangnamrhinoplasty.com |
|
||||
| F-01 | Is plastic surgery in Korea safe for foreigners? What safety standards should I look for? | X | - | - | (none) | abplasticsurgerykorea.com, aljazeera.com, canvassresearch.com, clinicseoul.net, clinicsoncall.com, gangnamplastics.com |
|
||||
| F-02 | Does VIEW Plastic Surgery have anesthesiologists present during surgery? | O | 1 | positive | VIEW Plastic Surgery | blog.viewclinic.com, clinicsoncall.com, id.viewplasticsurgery.com, khunkim.com, linkedin.com, plasticsurgery.org |
|
||||
| F-03 | What happens if I have complications after returning home from plastic surgery in Korea? | X | - | - | (none) | askgangnam.com, botgig.org, clinicsoncall.com, kca.go.kr, kj.nomardy.com, koreaclinicguide.com |
|
||||
| F-04 | How do I verify a Korean plastic surgeon is board certified? | X | - | - | (none) | abplasticsurgery.org, absurgery.org, akmclinic.com, cyl.co.kr, go.medicalavenuekorea.com, guide.kmedtour.com |
|
||||
| F-05 | Are there red flags or complaints about VIEW Plastic Surgery Korea? | O | 1 | negative | (none) | canvassresearch.com, clinicsoncall.com, cyl.co.kr, gangnamclinicindex.com, gangnamskinclinicreberry.com, jwbeauty.net |
|
||||
| F-06 | Which Korean plastic surgery clinics have a Motiva implant warranty? | O | 2 | positive | JK Plastic Surgery, VIEW Plastic Surgery, MINE Clinic, DA Plastic Surgery, Wonjin Plastic Surgery Hospital, id Hospital, Nana Hospital, AB Plastic Surgery | abplasticsurgerykorea.com, breastsurgerykorea.com, daprseng.com, drkim.com, en.nanahospital.com, goodbyeacup.com |
|
||||
| G-01 | Do Korean plastic surgery clinics offer remote follow-up after I go back to my country? | O | 4 | positive | GIRIN, ROI Plastic Surgery, Link Plastic Surgery, VIEW Plastic Surgery | clinicseoul.net, clinicsoncall.com, community.icloudhospital.com, curemeabroad.com, gangnam.health, girinpsen.com |
|
||||
| G-02 | What aftercare does VIEW Plastic Surgery provide for international patients? | O | 1 | positive | VIEW Plastic Surgery | clinicsoncall.com, koreaplasticsurgery.tistory.com, medicaltour.gangnam.go.kr, medicaltourism.com, medicaltravelkorea.com, pearlwellnesscenter.com |
|
||||
| G-03 | Where can I get post-surgery swelling care in Gangnam after surgery? | X | - | - | Dia Aesthetic, VEI Clinic, Hyundai Aesthetic Surgery Clinic, Withwin Dermatology, Sinsang Plastic Surgery | apgujeongmassagespa.com, blog.yeoshin.co.kr, daprseng.com, eng.banobagi.com, gangnamdermatologycenter.com, gangnamfootmassage.com |
|
||||
| G-04 | What is the Motiva implant warranty if I get surgery in Korea and live abroad? | X | - | - | (none) | carelyclinic.com, fortesmd.com, leelamundramd.com, motiva.health, motivaimplantatum.hu, motivausa.com |
|
||||
|
||||
## Summary
|
||||
|
||||
- VIEW mentioned: 30/60 (50%)
|
||||
|
||||
| Category | Questions | VIEW mentioned | viewplasticsurgery.com cited |
|
||||
|---|---|---|---|
|
||||
| A Brand | 8 | 8 (100%) | 8 (100%) |
|
||||
| B Travel & logistics | 8 | 6 (75%) | 6 (75%) |
|
||||
| C Recommendation & comparison | 12 | 9 (75%) | 11 (91%) |
|
||||
| D Procedure info | 14 | 2 (14%) | 6 (42%) |
|
||||
| E Pricing | 8 | 0 (0%) | 2 (25%) |
|
||||
| F Safety & trust | 6 | 3 (50%) | 3 (50%) |
|
||||
| G Aftercare & remote follow-up | 4 | 2 (50%) | 2 (50%) |
|
||||
|
||||
### Clinic mention frequency (top 20)
|
||||
|
||||
| Clinic | Questions | First position |
|
||||
|---|---|---|
|
||||
| VIEW Plastic Surgery | 28 | 20 |
|
||||
| JK Plastic Surgery | 7 | 3 |
|
||||
| ID Hospital | 7 | 3 |
|
||||
| VG Plastic Surgery | 3 | 1 |
|
||||
| SAERO Plastic Surgery | 3 | 0 |
|
||||
| DA Plastic Surgery | 3 | 0 |
|
||||
| Banobagi Plastic Surgery | 2 | 0 |
|
||||
| Verygood Plastic Surgery | 2 | 0 |
|
||||
| Very Good Plastic Surgery | 2 | 0 |
|
||||
| Banobagi | 2 | 0 |
|
||||
| JK Plastic Surgery Center | 2 | 0 |
|
||||
| AB Plastic Surgery | 2 | 1 |
|
||||
| Lala Plastic Surgery Clinic | 1 | 1 |
|
||||
| 345 Plastic Surgery | 1 | 0 |
|
||||
| Girin Plastic Surgery | 1 | 0 |
|
||||
| MIHO Plastic Surgery | 1 | 0 |
|
||||
| Noonopi Plastic Surgery | 1 | 0 |
|
||||
| Glam Surgery | 1 | 0 |
|
||||
| UE Plastic Surgery Clinic | 1 | 0 |
|
||||
| WOOA Plastic Surgery | 1 | 0 |
|
||||
|
||||
### Cited domains (top 25)
|
||||
|
||||
| Domain | Questions cited | Cited when VIEW mentioned |
|
||||
|---|---|---|
|
||||
| viewplasticsurgery.com | 38 | 30 |
|
||||
| reddit.com | 33 | 14 |
|
||||
| us-uk.bookimed.com | 28 | 15 |
|
||||
| clinicsoncall.com | 26 | 16 |
|
||||
| koreaclinicguide.com | 20 | 6 |
|
||||
| clinicseoul.net | 17 | 3 |
|
||||
| unni.app | 14 | 13 |
|
||||
| placidway.com | 14 | 4 |
|
||||
| khunkim.com | 13 | 11 |
|
||||
| vippskorea.com | 13 | 7 |
|
||||
| english.visitkorea.or.kr | 12 | 10 |
|
||||
| abplasticsurgerykorea.com | 12 | 6 |
|
||||
| realself.com | 11 | 6 |
|
||||
| koreaexperience.com | 10 | 4 |
|
||||
| curemeabroad.com | 9 | 9 |
|
||||
| linkpskorea.com | 9 | 2 |
|
||||
| my1health.com | 9 | 5 |
|
||||
| seoulmedicalinsider.com | 9 | 2 |
|
||||
| medicaltourismco.com | 9 | 4 |
|
||||
| seoulcosmeticsurgery.com | 8 | 1 |
|
||||
| seoulguidemedical.com | 8 | 1 |
|
||||
| jkplastic.com | 8 | 3 |
|
||||
| docfinderkorea.com | 8 | 0 |
|
||||
| id.viewplasticsurgery.com | 7 | 7 |
|
||||
| medicalavenuekorea.com | 7 | 6 |
|
||||
@ -1,715 +0,0 @@
|
||||
{
|
||||
"per_cat": {
|
||||
"A": [
|
||||
8,
|
||||
8,
|
||||
8
|
||||
],
|
||||
"B": [
|
||||
8,
|
||||
6,
|
||||
6
|
||||
],
|
||||
"C": [
|
||||
12,
|
||||
9,
|
||||
11
|
||||
],
|
||||
"D": [
|
||||
14,
|
||||
2,
|
||||
6
|
||||
],
|
||||
"E": [
|
||||
8,
|
||||
0,
|
||||
2
|
||||
],
|
||||
"F": [
|
||||
6,
|
||||
3,
|
||||
3
|
||||
],
|
||||
"G": [
|
||||
4,
|
||||
2,
|
||||
2
|
||||
]
|
||||
},
|
||||
"freq": {
|
||||
"VIEW Plastic Surgery": [
|
||||
28,
|
||||
20
|
||||
],
|
||||
"Lala Plastic Surgery Clinic": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"345 Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Girin Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"MIHO Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Noonopi Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Glam Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"UE Plastic Surgery Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"JK Plastic Surgery": [
|
||||
7,
|
||||
3
|
||||
],
|
||||
"ID Hospital": [
|
||||
7,
|
||||
3
|
||||
],
|
||||
"Banobagi Plastic Surgery": [
|
||||
2,
|
||||
0
|
||||
],
|
||||
"VG Plastic Surgery": [
|
||||
3,
|
||||
1
|
||||
],
|
||||
"SAERO Plastic Surgery": [
|
||||
3,
|
||||
0
|
||||
],
|
||||
"WOOA Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Verygood Plastic Surgery": [
|
||||
2,
|
||||
0
|
||||
],
|
||||
"CDU Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"TOP Plastic Surgery": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"The PLUS Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Glam Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Seoul Cheil Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"ONE Cell Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Very Good Plastic Surgery": [
|
||||
2,
|
||||
0
|
||||
],
|
||||
"JW Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"LUHO Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"JUM Oral and Maxillofacial Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"WHY Oral and Maxillofacial Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"The Face Dental / Seoul Face 21 Dental Hospital": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Opera Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Banobagi Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Banobagi": [
|
||||
2,
|
||||
0
|
||||
],
|
||||
"Ryan Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"JK Plastic Surgery Center": [
|
||||
2,
|
||||
0
|
||||
],
|
||||
"DA Plastic Surgery": [
|
||||
3,
|
||||
0
|
||||
],
|
||||
"THE PLUS Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"AB Plastic Surgery": [
|
||||
2,
|
||||
1
|
||||
],
|
||||
"Evita Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"GANGNAM JS Hospital": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Ahnsungmin Plastic Surgery": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"Sinsa L Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"1mm Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Sinsael Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Will Be Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Grand Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"MINE Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Wonjin Plastic Surgery Hospital": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"id Hospital": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Nana Hospital": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"GIRIN": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"ROI Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Link Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Dia Aesthetic": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"VEI Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Hyundai Aesthetic Surgery Clinic": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Withwin Dermatology": [
|
||||
1,
|
||||
0
|
||||
],
|
||||
"Sinsang Plastic Surgery": [
|
||||
1,
|
||||
0
|
||||
]
|
||||
},
|
||||
"dom_freq": {
|
||||
"clinicsoncall.com": 26,
|
||||
"curemeabroad.com": 9,
|
||||
"forum.purseblog.com": 3,
|
||||
"khunkim.com": 13,
|
||||
"koreaplasticsurgery.tistory.com": 2,
|
||||
"medtraveling.com": 4,
|
||||
"realself.com": 11,
|
||||
"reddit.com": 33,
|
||||
"viewplasticsurgery.com": 38,
|
||||
"10mag.com": 4,
|
||||
"english.visitkorea.or.kr": 12,
|
||||
"id.viewplasticsurgery.com": 7,
|
||||
"kosmedi.co.kr": 5,
|
||||
"medicalavenuekorea.com": 7,
|
||||
"unni.app": 14,
|
||||
"vn.viewplasticsurgery.com": 4,
|
||||
"experts-medical.com": 5,
|
||||
"kmhglobal.com": 4,
|
||||
"koreaclinicguide.com": 20,
|
||||
"medtour.help": 2,
|
||||
"myguideseoul.com": 6,
|
||||
"placidway.com": 14,
|
||||
"cashdoc.me": 1,
|
||||
"olden.viewplasticsurgery.com": 1,
|
||||
"us-uk.bookimed.com": 28,
|
||||
"academic.oup.com": 1,
|
||||
"ibisworld.com": 1,
|
||||
"madisonps.com": 1,
|
||||
"pmc.ncbi.nlm.nih.gov": 5,
|
||||
"theviewhospital.com": 3,
|
||||
"en.uniclinics.com": 4,
|
||||
"linkedin.com": 3,
|
||||
"medicaltour.gangnam.go.kr": 5,
|
||||
"aeysurgery.com": 1,
|
||||
"elclinics.com": 1,
|
||||
"hospitals-travel.ru": 1,
|
||||
"medica-tour.com": 1,
|
||||
"vinmec.com": 1,
|
||||
"abplasticsurgerykorea.com": 12,
|
||||
"aljazeera.com": 2,
|
||||
"clinicreviewkorea.com": 1,
|
||||
"community.icloudhospital.com": 2,
|
||||
"linkpskorea.com": 9,
|
||||
"mediglobus.com": 1,
|
||||
"seoulcosmeticsurgery.com": 8,
|
||||
"vippskorea.com": 13,
|
||||
"whatclinic.com": 4,
|
||||
"medicalkorea.or.kr": 2,
|
||||
"my1health.com": 9,
|
||||
"secondmin.co.kr": 2,
|
||||
"seoulmedicalinsider.com": 9,
|
||||
"152harleystreet.com": 1,
|
||||
"healthgrades.com": 1,
|
||||
"pittsburghplasticsurgery.com": 1,
|
||||
"uamshealth.com": 1,
|
||||
"uvmhealth.org": 1,
|
||||
"viewskinclinic.com": 1,
|
||||
"facebook.com": 1,
|
||||
"instagram.com": 1,
|
||||
"x.com": 1,
|
||||
"youtube.com": 1,
|
||||
"ava-ps.com": 1,
|
||||
"beautybutlerthailand.com": 1,
|
||||
"globalbeautyspot.com": 2,
|
||||
"hugo-ps-global.com": 1,
|
||||
"jivaka.kr": 4,
|
||||
"jwbeauty.net": 3,
|
||||
"k-medlinker.com": 3,
|
||||
"kbeauty.today79.com": 1,
|
||||
"kittoplasticsurgery.com": 1,
|
||||
"koreaexperience.com": 10,
|
||||
"seoulbeautytalk.com": 6,
|
||||
"seouleyeplastics.com": 4,
|
||||
"soonplusplasticsurgery.com": 3,
|
||||
"365plasticsurgerykorea.com": 2,
|
||||
"better.medicaltourism.com": 2,
|
||||
"clinicseoul.net": 17,
|
||||
"cyl.co.kr": 6,
|
||||
"djmeditour.kr": 1,
|
||||
"gangnamplastic.surgery": 5,
|
||||
"seoulguidemedical.com": 8,
|
||||
"thetreatmentregistry.com": 1,
|
||||
"en.345-ps.com": 1,
|
||||
"en.nanahospital.com": 5,
|
||||
"gangnam.health": 4,
|
||||
"gangnamdrk.com": 3,
|
||||
"korea-clinics.com": 3,
|
||||
"koreacareguide.com": 1,
|
||||
"noonopiclinic.com": 5,
|
||||
"triple.global": 1,
|
||||
"expatguidekorea.com": 1,
|
||||
"gangnamwomenshealth.com": 5,
|
||||
"girinpsen.com": 6,
|
||||
"medicaltourismco.com": 9,
|
||||
"medicaltravelkorea.com": 6,
|
||||
"experts-beauty.com": 5,
|
||||
"jkplastic.com": 8,
|
||||
"medicaldepartures.com": 3,
|
||||
"theplusps.co": 7,
|
||||
"wooaeng.com": 1,
|
||||
"cheongdam.skin": 1,
|
||||
"facialcontouringkorea.com": 2,
|
||||
"gangnambeautyguide.com": 4,
|
||||
"medicalguide.co.kr": 1,
|
||||
"seouldoctorfillers.com": 1,
|
||||
"seoulskin.clinic": 1,
|
||||
"tatlerasia.com": 1,
|
||||
"gangnamrhinoplasty.com": 2,
|
||||
"kowonplasticsurgery.com": 2,
|
||||
"rhinoplastyclinicseoul.com": 1,
|
||||
"doublejawsurgerykorea.com": 1,
|
||||
"en.whydental.co.kr": 1,
|
||||
"eng.idhospital.com": 4,
|
||||
"gangnam.dental": 1,
|
||||
"idhospital.com": 7,
|
||||
"plasticsurgeryko.com": 1,
|
||||
"thebestoms.com": 1,
|
||||
"wonjinbeauty.com": 4,
|
||||
"en-ggps.com": 1,
|
||||
"en.chiups.com": 1,
|
||||
"gangnamplasticsurgery.clinic": 2,
|
||||
"seoulcp.com": 1,
|
||||
"drspiegel.com": 2,
|
||||
"beautymedtravel.com": 1,
|
||||
"daprseng.com": 6,
|
||||
"goodbyeacup.com": 2,
|
||||
"jy-clinic.com": 2,
|
||||
"mineclinic.com": 4,
|
||||
"motiva.health": 4,
|
||||
"seojinps.co": 2,
|
||||
"icloudhospital.com": 2,
|
||||
"kculture.com": 1,
|
||||
"natlawreview.com": 1,
|
||||
"thelineclinic.com": 1,
|
||||
"woori-ps.com": 1,
|
||||
"evitaclinic.com": 3,
|
||||
"kr-webmagazine.com": 1,
|
||||
"visitgangnam.net": 1,
|
||||
"ahnsungminplasticsurgery.com": 1,
|
||||
"eng.banobagi.com": 5,
|
||||
"gangnamobgyn.com": 1,
|
||||
"lowerblepharoplastykorea.com": 1,
|
||||
"seoulobgyn.com": 1,
|
||||
"seoulplasticsurgeon.com": 2,
|
||||
"cmcseoul.or.kr": 1,
|
||||
"medigence.com": 2,
|
||||
"graceclinic.co.kr": 1,
|
||||
"motivaimplants.co.kr": 1,
|
||||
"mydockorea.com": 3,
|
||||
"sketchplasticsurgery.com": 1,
|
||||
"agulloplasticsurgery.com": 1,
|
||||
"bodybyravi.com": 1,
|
||||
"bostoncenterforplasticsurgery.com": 1,
|
||||
"caloaesthetics.com": 1,
|
||||
"clnq.com": 1,
|
||||
"dallasplasticsurgery.pro": 1,
|
||||
"drchasan.com": 1,
|
||||
"foizahmed.co.uk": 1,
|
||||
"forbes.com": 1,
|
||||
"kapadiaplasticsurgery.com": 1,
|
||||
"klinikavisnjar.si": 1,
|
||||
"metropolitanplasticsurgery.com": 1,
|
||||
"newvuemedical.com": 1,
|
||||
"plasticsurgeryhub.com": 1,
|
||||
"afittingexperience.com": 1,
|
||||
"gangnambreastreductionsurgery.com": 1,
|
||||
"hayatmed.com": 1,
|
||||
"partingtonps.com": 1,
|
||||
"patients.community": 1,
|
||||
"wuneprs.com": 2,
|
||||
"april31.com": 1,
|
||||
"cinderellaplasticsurgery.com": 1,
|
||||
"deschamps-braly.com": 1,
|
||||
"docfinderkorea.com": 8,
|
||||
"dr-mfo.com": 1,
|
||||
"faceplusplasticsurgery.com": 1,
|
||||
"facepluspsi.com": 1,
|
||||
"healthline.com": 1,
|
||||
"seoulguidemedical.id": 1,
|
||||
"thefacedental.com": 1,
|
||||
"thevirginiainstitute.com": 1,
|
||||
"umiclinickorea.com": 1,
|
||||
"waveplasticsurgery.com": 1,
|
||||
"advancedreconstruction.com": 1,
|
||||
"oregonoralsurgery.com": 1,
|
||||
"shinmedical.com": 1,
|
||||
"allaboutmei.com": 1,
|
||||
"en.marbleps.com": 1,
|
||||
"ifaas.co": 1,
|
||||
"made-young.co": 1,
|
||||
"allureplasticsurgery.sg": 1,
|
||||
"answerplasticsurgery.com": 1,
|
||||
"asiancosmeticsurgery.com": 1,
|
||||
"braunps.com": 1,
|
||||
"drrahulgogoi.com": 1,
|
||||
"koreanplasticsurgery.info": 2,
|
||||
"rhinoplastytoronto.ca": 1,
|
||||
"editionps.com": 1,
|
||||
"inkoreanow.com": 3,
|
||||
"gangnammedicalconcierge.com": 2,
|
||||
"gangnammedspa.com": 1,
|
||||
"gangnamskin.clinic": 2,
|
||||
"koreafacelift.com": 3,
|
||||
"koreaplastic.surgery": 2,
|
||||
"medicalkoreaservice.com": 2,
|
||||
"rnwoodclinickorea.com": 2,
|
||||
"seoulclinics.io": 6,
|
||||
"canvassresearch.com": 3,
|
||||
"diteplasticsurgery.com": 1,
|
||||
"meclinic.net": 1,
|
||||
"news.sbs.co.kr": 2,
|
||||
"seoulliposuctionclinic.com": 1,
|
||||
"mayoclinic.org": 1,
|
||||
"plasticsurgery.org": 3,
|
||||
"associationofbreastsurgery.org.uk": 1,
|
||||
"mja.com.au": 1,
|
||||
"pubmed.ncbi.nlm.nih.gov": 1,
|
||||
"southernplasticsurgery.com": 1,
|
||||
"andps-global.co.kr": 1,
|
||||
"cdubeauty.co.kr": 1,
|
||||
"e-aaps.org": 1,
|
||||
"korea-plastic-surgery.com": 1,
|
||||
"faceliftingseoul.com": 1,
|
||||
"gangnamdermatologyclinic.com": 1,
|
||||
"gangnamfaceliftsurgery.com": 1,
|
||||
"seoulfaceliftclinic.com": 1,
|
||||
"sinsangps.com": 2,
|
||||
"tj-plasticsurgery.com": 1,
|
||||
"yujinplasticsurgery.com": 1,
|
||||
"breastimplantkorea.com": 1,
|
||||
"koreamedguide.com": 1,
|
||||
"misooda.com": 4,
|
||||
"seoulmedicalguide.com": 1,
|
||||
"askgangnam.com": 2,
|
||||
"dojagi-clinic.com": 1,
|
||||
"myseoulclinic.com": 1,
|
||||
"dentistgangnam.com": 1,
|
||||
"seoul.clinic": 1,
|
||||
"seoul.dentist": 1,
|
||||
"seoulfacialsurgery.com": 1,
|
||||
"aristocratps.com": 1,
|
||||
"go.medicalavenuekorea.com": 2,
|
||||
"guide.kmedtour.com": 2,
|
||||
"koreaplus-lifes.com": 1,
|
||||
"lydianclinic.com": 1,
|
||||
"amedical.az": 1,
|
||||
"clinicadelrey.com": 1,
|
||||
"deepplane.com": 1,
|
||||
"europesurgery.co.uk": 1,
|
||||
"flymedi.com": 1,
|
||||
"flytocure.com": 1,
|
||||
"health-tourism.com": 1,
|
||||
"koreaplasticsurgerycost.com": 2,
|
||||
"le-medica.com": 1,
|
||||
"medicaltourism.com": 2,
|
||||
"surgery.wustl.edu": 1,
|
||||
"vitalityscout.com": 2,
|
||||
"beautipin.com": 1,
|
||||
"blog.yeoshin.co.kr": 2,
|
||||
"eng.dsmc.or.kr:49910": 1,
|
||||
"forenaclinic.com": 1,
|
||||
"independent.co.uk": 1,
|
||||
"koreaherald.com": 1,
|
||||
"koreatimes.co.kr": 1,
|
||||
"myeongdong.clinic": 1,
|
||||
"vatupdate.com": 1,
|
||||
"stdclinicseoul.com": 1,
|
||||
"gangnamplastics.com": 1,
|
||||
"medinkorea.com": 1,
|
||||
"plasticsurgeryguidekorea.com": 1,
|
||||
"ranker.kr": 1,
|
||||
"reuters.com": 2,
|
||||
"blog.viewclinic.com": 1,
|
||||
"botgig.org": 1,
|
||||
"kca.go.kr": 1,
|
||||
"kj.nomardy.com": 1,
|
||||
"mk.co.kr": 1,
|
||||
"scmp.com": 1,
|
||||
"straitstimes.com": 1,
|
||||
"abplasticsurgery.org": 1,
|
||||
"absurgery.org": 1,
|
||||
"akmclinic.com": 1,
|
||||
"labelleviecosmetic.com": 1,
|
||||
"lupielclinic.com": 1,
|
||||
"plasticsurgery.or.kr": 1,
|
||||
"theaestheticsociety.org": 1,
|
||||
"willplasticsugery.com": 1,
|
||||
"gangnamclinicindex.com": 1,
|
||||
"gangnamskinclinicreberry.com": 1,
|
||||
"breastsurgerykorea.com": 1,
|
||||
"drkim.com": 1,
|
||||
"motivausa.com": 2,
|
||||
"tcplasticsurgery.com": 2,
|
||||
"mediqueen.net": 1,
|
||||
"roisurgery.com": 1,
|
||||
"pearlwellnesscenter.com": 1,
|
||||
"apgujeongmassagespa.com": 1,
|
||||
"gangnamdermatologycenter.com": 1,
|
||||
"gangnamfootmassage.com": 1,
|
||||
"hyundaisurgery.com": 1,
|
||||
"medicinenet.com": 1,
|
||||
"okayps.co": 1,
|
||||
"seoulantiagingclinic.com": 1,
|
||||
"widwinskin.com": 1,
|
||||
"carelyclinic.com": 1,
|
||||
"fortesmd.com": 1,
|
||||
"leelamundramd.com": 1,
|
||||
"motivaimplantatum.hu": 1,
|
||||
"support.motiva.health": 1
|
||||
},
|
||||
"view_dom": {
|
||||
"clinicsoncall.com": 16,
|
||||
"curemeabroad.com": 9,
|
||||
"forum.purseblog.com": 3,
|
||||
"khunkim.com": 11,
|
||||
"koreaplasticsurgery.tistory.com": 2,
|
||||
"medtraveling.com": 4,
|
||||
"realself.com": 6,
|
||||
"reddit.com": 14,
|
||||
"viewplasticsurgery.com": 30,
|
||||
"10mag.com": 4,
|
||||
"english.visitkorea.or.kr": 10,
|
||||
"id.viewplasticsurgery.com": 7,
|
||||
"kosmedi.co.kr": 4,
|
||||
"medicalavenuekorea.com": 6,
|
||||
"unni.app": 13,
|
||||
"vn.viewplasticsurgery.com": 4,
|
||||
"experts-medical.com": 5,
|
||||
"kmhglobal.com": 4,
|
||||
"koreaclinicguide.com": 6,
|
||||
"medtour.help": 2,
|
||||
"myguideseoul.com": 6,
|
||||
"placidway.com": 4,
|
||||
"cashdoc.me": 1,
|
||||
"olden.viewplasticsurgery.com": 1,
|
||||
"us-uk.bookimed.com": 15,
|
||||
"academic.oup.com": 1,
|
||||
"ibisworld.com": 1,
|
||||
"madisonps.com": 1,
|
||||
"pmc.ncbi.nlm.nih.gov": 2,
|
||||
"theviewhospital.com": 3,
|
||||
"en.uniclinics.com": 4,
|
||||
"linkedin.com": 3,
|
||||
"medicaltour.gangnam.go.kr": 5,
|
||||
"aeysurgery.com": 1,
|
||||
"elclinics.com": 1,
|
||||
"hospitals-travel.ru": 1,
|
||||
"medica-tour.com": 1,
|
||||
"vinmec.com": 1,
|
||||
"abplasticsurgerykorea.com": 6,
|
||||
"aljazeera.com": 1,
|
||||
"clinicreviewkorea.com": 1,
|
||||
"community.icloudhospital.com": 2,
|
||||
"linkpskorea.com": 2,
|
||||
"mediglobus.com": 1,
|
||||
"seoulcosmeticsurgery.com": 1,
|
||||
"vippskorea.com": 7,
|
||||
"whatclinic.com": 3,
|
||||
"medicalkorea.or.kr": 1,
|
||||
"my1health.com": 5,
|
||||
"secondmin.co.kr": 2,
|
||||
"seoulmedicalinsider.com": 2,
|
||||
"152harleystreet.com": 1,
|
||||
"healthgrades.com": 1,
|
||||
"pittsburghplasticsurgery.com": 1,
|
||||
"uamshealth.com": 1,
|
||||
"uvmhealth.org": 1,
|
||||
"viewskinclinic.com": 1,
|
||||
"facebook.com": 1,
|
||||
"instagram.com": 1,
|
||||
"x.com": 1,
|
||||
"youtube.com": 1,
|
||||
"clinicseoul.net": 3,
|
||||
"en.345-ps.com": 1,
|
||||
"en.nanahospital.com": 3,
|
||||
"gangnam.health": 2,
|
||||
"gangnamdrk.com": 2,
|
||||
"korea-clinics.com": 1,
|
||||
"koreacareguide.com": 1,
|
||||
"noonopiclinic.com": 1,
|
||||
"triple.global": 1,
|
||||
"expatguidekorea.com": 1,
|
||||
"gangnamwomenshealth.com": 3,
|
||||
"girinpsen.com": 4,
|
||||
"koreaexperience.com": 4,
|
||||
"medicaltourismco.com": 4,
|
||||
"medicaltravelkorea.com": 4,
|
||||
"experts-beauty.com": 4,
|
||||
"gangnamrhinoplasty.com": 1,
|
||||
"kowonplasticsurgery.com": 1,
|
||||
"rhinoplastyclinicseoul.com": 1,
|
||||
"theplusps.co": 2,
|
||||
"doublejawsurgerykorea.com": 1,
|
||||
"en.whydental.co.kr": 1,
|
||||
"eng.idhospital.com": 1,
|
||||
"gangnam.dental": 1,
|
||||
"idhospital.com": 4,
|
||||
"plasticsurgeryko.com": 1,
|
||||
"thebestoms.com": 1,
|
||||
"wonjinbeauty.com": 2,
|
||||
"en-ggps.com": 1,
|
||||
"en.chiups.com": 1,
|
||||
"gangnambeautyguide.com": 1,
|
||||
"gangnamplasticsurgery.clinic": 1,
|
||||
"seoulcp.com": 1,
|
||||
"drspiegel.com": 1,
|
||||
"beautymedtravel.com": 1,
|
||||
"daprseng.com": 3,
|
||||
"goodbyeacup.com": 2,
|
||||
"jkplastic.com": 3,
|
||||
"jy-clinic.com": 1,
|
||||
"mineclinic.com": 2,
|
||||
"motiva.health": 2,
|
||||
"seojinps.co": 1,
|
||||
"icloudhospital.com": 1,
|
||||
"kculture.com": 1,
|
||||
"natlawreview.com": 1,
|
||||
"seoulbeautytalk.com": 2,
|
||||
"thelineclinic.com": 1,
|
||||
"woori-ps.com": 1,
|
||||
"better.medicaltourism.com": 1,
|
||||
"evitaclinic.com": 1,
|
||||
"kr-webmagazine.com": 1,
|
||||
"seoulguidemedical.com": 1,
|
||||
"visitgangnam.net": 1,
|
||||
"cmcseoul.or.kr": 1,
|
||||
"medicaldepartures.com": 2,
|
||||
"medigence.com": 1,
|
||||
"mayoclinic.org": 1,
|
||||
"plasticsurgery.org": 3,
|
||||
"associationofbreastsurgery.org.uk": 1,
|
||||
"mja.com.au": 1,
|
||||
"pubmed.ncbi.nlm.nih.gov": 1,
|
||||
"southernplasticsurgery.com": 1,
|
||||
"blog.viewclinic.com": 1,
|
||||
"canvassresearch.com": 1,
|
||||
"cyl.co.kr": 1,
|
||||
"gangnamclinicindex.com": 1,
|
||||
"gangnamskinclinicreberry.com": 1,
|
||||
"jwbeauty.net": 1,
|
||||
"news.sbs.co.kr": 1,
|
||||
"breastsurgerykorea.com": 1,
|
||||
"drkim.com": 1,
|
||||
"motivausa.com": 1,
|
||||
"tcplasticsurgery.com": 1,
|
||||
"mediqueen.net": 1,
|
||||
"rnwoodclinickorea.com": 1,
|
||||
"roisurgery.com": 1,
|
||||
"medicaltourism.com": 1,
|
||||
"pearlwellnesscenter.com": 1
|
||||
},
|
||||
"n": 60,
|
||||
"mentioned": 30
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
@ -1,192 +0,0 @@
|
||||
{
|
||||
"_meta": {
|
||||
"sampleUrls": [
|
||||
"https://www.viewplasticsurgery.com",
|
||||
"https://www.viewplasticsurgery.com/breast/breast-augmentation-motiva.html"
|
||||
],
|
||||
"sampleWarning": "표본 URL 2개 (<5). 판정은 홈·대표 시술 페이지 기준이며 사이트 전체로 일반화하지 말 것. 시술 상세 3개·오시는길·블로그를 curl+파서로 추가 확인할 것 (2026-08-28 뷰성형외과 오판 3건의 원인)"
|
||||
},
|
||||
"results": [
|
||||
{
|
||||
"criterionId": "A1",
|
||||
"level": 3,
|
||||
"evidence": "12개 AI 봇 전부 허용. OAI-SearchBot·PerplexityBot·GPTBot UA로 GET → 전부 200",
|
||||
"source": "robots.txt: User-agent: * / Disallow: /wp-admin/"
|
||||
},
|
||||
{
|
||||
"criterionId": "A2",
|
||||
"level": 2,
|
||||
"evidence": "CDN 사용(Apache/2.4.68 (Debian)), AI UA 차단 없음(전부 200)"
|
||||
},
|
||||
{
|
||||
"criterionId": "A3",
|
||||
"level": 3,
|
||||
"evidence": "서버 렌더링. JS 미실행 HTML에서 본문 텍스트 79,646자 추출"
|
||||
},
|
||||
{
|
||||
"criterionId": "A4",
|
||||
"level": 3,
|
||||
"evidence": "http://viewplasticsurgery.com → 301 → https://www.viewplasticsurgery.com/ 정본 수렴 (4변형 모두)"
|
||||
},
|
||||
{
|
||||
"criterionId": "A5",
|
||||
"level": 3,
|
||||
"evidence": "robots.txt에 sitemap 선언, 200 응답. URL 482개, lastmod 최신 2026-09-09"
|
||||
},
|
||||
{
|
||||
"criterionId": "A6",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] Bing Webmaster Tools 등록 여부는 오너 계정 접근 필요 (또는 site: 검색 수동 확인)"
|
||||
},
|
||||
{
|
||||
"criterionId": "A7",
|
||||
"level": 2,
|
||||
"evidence": "TTFB 0.870s / 초기 HTML 587KB. 시술 페이지 212KB (TTFB 양호 / HTML 비대)"
|
||||
},
|
||||
{
|
||||
"criterionId": "B1",
|
||||
"level": 3,
|
||||
"evidence": "JSON-LD 1블록 전부 유효 + @graph 연결"
|
||||
},
|
||||
{
|
||||
"criterionId": "B2",
|
||||
"level": 0,
|
||||
"evidence": "업종 엔티티 스키마 없음 (발견 타입: CollectionPage, Person, WebSite)"
|
||||
},
|
||||
{
|
||||
"criterionId": "B3",
|
||||
"level": 0,
|
||||
"evidence": "Physician/Attorney 스키마 없음. 전문가 정보는 HTML 텍스트·이미지로만 존재"
|
||||
},
|
||||
{
|
||||
"criterionId": "B4",
|
||||
"level": "unverified",
|
||||
"evidence": "주소 자동 추출 실패 (수동 확인 필요). 전화 4종: 02-539-1132, 02-2138-1305, 023480-3573"
|
||||
},
|
||||
{
|
||||
"criterionId": "B5",
|
||||
"level": 0,
|
||||
"evidence": "Organization.sameAs: [] (빈 배열). 푸터/본문에 SNS 링크 2종(www.instagram.com, www.tiktok.com) — 스키마에 미연결"
|
||||
},
|
||||
{
|
||||
"criterionId": "B6",
|
||||
"level": 2,
|
||||
"evidence": "rel=canonical self-referencing 존재"
|
||||
},
|
||||
{
|
||||
"criterionId": "B7",
|
||||
"level": 3,
|
||||
"evidence": "hreflang 10개 언어 연결: ar, en-us, es, id-id, ja-jp, mn-mn, ru-ru, th-th, vi-vn, zh-cn"
|
||||
},
|
||||
{
|
||||
"criterionId": "C1",
|
||||
"level": "unverified",
|
||||
"evidence": "[semi·사람 판정 필요] 메인 첫 200자: \"Best Plastic Surgery in Korea for Foreigners | VIEW Seoul Gangnam korea plastic surgery Introduction…\" / 시술 페이지 첫 200자: \"Motiva Breast Augmentation Korea | KOL Clinic | VIEW Plastic Surgery korea plast…\" (첫 200자 내 상호 없음)"
|
||||
},
|
||||
{
|
||||
"criterionId": "C2",
|
||||
"level": 2,
|
||||
"evidence": "FAQ 섹션 존재: \"VIEW Breast Surgery FAQ\" 외 0개. FAQPage 스키마 없음"
|
||||
},
|
||||
{
|
||||
"criterionId": "C3",
|
||||
"level": 2,
|
||||
"evidence": "H1 1개: \"korea plastic surgery\". H2 중복 0건 또는 라벨형"
|
||||
},
|
||||
{
|
||||
"criterionId": "C4",
|
||||
"level": "unverified",
|
||||
"evidence": "[semi·사람 판정 필요] 시술 페이지 수치 밀도: 가격표기 0회, 시간 0회, 일/주 0회, % 2회, 가격/비용/회복 단어 0회 — 표기 맥락(마케팅 문구 vs 실제 표) 확인 필요"
|
||||
},
|
||||
{
|
||||
"criterionId": "C5",
|
||||
"level": 3,
|
||||
"evidence": "HTML 표 10개"
|
||||
},
|
||||
{
|
||||
"criterionId": "C6",
|
||||
"level": 2,
|
||||
"evidence": "최신 갱신 신호 2026-09-09 (sitemap lastmod 2026-09-09). dateModified 마크업 없음"
|
||||
},
|
||||
{
|
||||
"criterionId": "C7",
|
||||
"level": "unverified",
|
||||
"evidence": "[semi·사람 판정 필요] 전문가 언급 0회, 권위 키워드 13회 (KOL) — 자격·경력이 텍스트인지 이미지인지 확인 필요"
|
||||
},
|
||||
{
|
||||
"criterionId": "C8",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] 핵심 페이지 단락 샘플 10개의 상호·시술명 포함 비율 수동 채점 필요"
|
||||
},
|
||||
{
|
||||
"criterionId": "D1",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] 업종 버티컬(병의원: 강남언니 / 법률: 로톡) 프로필 수동 실측 필요 — 후기 수·의료진·이벤트·갱신일"
|
||||
},
|
||||
{
|
||||
"criterionId": "D2",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] Google Maps 검색으로 GBP 소유·리뷰·NAP 수동 실측 필요"
|
||||
},
|
||||
{
|
||||
"criterionId": "D3",
|
||||
"level": "unverified",
|
||||
"evidence": "[semi·사람 판정 필요] 검색 그라운딩 미실시. 사이트에서 발견된 외부 채널: www.tiktok.com(5), www.instagram.com(4), naver.me(2) — naver.com 제외 오픈웹 언급(티스토리·언론)은 검색으로 별도 집계 필요"
|
||||
},
|
||||
{
|
||||
"criterionId": "D4",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] 홈페이지·버티컬·GBP·플레이스 NAP 대조표 수동 작성 필요"
|
||||
},
|
||||
{
|
||||
"criterionId": "D5",
|
||||
"level": "unverified",
|
||||
"evidence": "[semi·사람 판정 필요] 사이트에 플레이스/지도 링크 발견: https://naver.me/x9BxGXkK — 플레이스 존재·홈페이지 역연결·리뷰 수 수동 확인"
|
||||
},
|
||||
{
|
||||
"criterionId": "D6",
|
||||
"level": 0,
|
||||
"evidence": "Wikidata에서 \"VIEW Plastic Surgery (EN)\" 검색 결과 없음"
|
||||
},
|
||||
{
|
||||
"criterionId": "E1",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] 서버 로그 접근 필요 (AI 크롤러 히트 + IP 검증)"
|
||||
},
|
||||
{
|
||||
"criterionId": "E2",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] GA4 접근 필요 (AI 유입 커스텀 채널그룹 여부)"
|
||||
},
|
||||
{
|
||||
"criterionId": "E3",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] GSC 접근 필요 (AI Overviews 노출)"
|
||||
},
|
||||
{
|
||||
"criterionId": "E4",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] 기준선 스팟체크 미실시 (질의 10개 × 5회 반복은 별도 단계)"
|
||||
},
|
||||
{
|
||||
"criterionId": "F1",
|
||||
"level": 3,
|
||||
"evidence": "메인 페이지 이미지 500개 중 0개(0%) alt 누락 또는 빈 값"
|
||||
},
|
||||
{
|
||||
"criterionId": "F2",
|
||||
"level": "unverified",
|
||||
"evidence": "meta generator: WordPress 7.1 — 출시일 미상, 수동 판정 필요"
|
||||
},
|
||||
{
|
||||
"criterionId": "F3",
|
||||
"level": 2,
|
||||
"evidence": "초기 HTML 587KB (300~800KB)"
|
||||
},
|
||||
{
|
||||
"criterionId": "F4",
|
||||
"level": 2,
|
||||
"evidence": "viewport meta 존재, 반응형. CWV 미측정"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,50 +0,0 @@
|
||||
{
|
||||
"C1": {
|
||||
"level": 1,
|
||||
"evidence": "정의문이 메타 설명에만 있다. About 메타: 'Founded in 2005, VIEW is a premier 19-story medical center in Gangnam, Seoul'. 본문 첫 단락은 슬로건('always considers the perspective of the patient'), 시술 페이지 첫 텍스트는 'Let Me In Season 2/3/4/5 Selected Doctors' 홍보 라벨. 홈 첫 200자는 검색창·메뉴"
|
||||
},
|
||||
"C4": {
|
||||
"level": 1,
|
||||
"evidence": "시술 페이지(가슴 Motiva) 본문에 가격·수술시간·회복기간 0회. 수치는 Motiva 보증(재수술 지원 300만원/개) 뿐. 블로그 글에는 USD 가격표(V-line $7,000–12,000, 표 3행)와 체류 기간(10–14일)이 있으나 시술 페이지와 연결되지 않음"
|
||||
},
|
||||
"C7": {
|
||||
"level": 3,
|
||||
"evidence": "의료진 상세 페이지에 학위(서울대 의학박사)·전문의 자격·학회 회원·논문 목록이 텍스트. 의료진 목록 26명에 역할(성형외과 전문의 15·이비인후과 1·피부과 3·유방외과 1·영상 1·마취과 6) 표기"
|
||||
},
|
||||
"C8": {
|
||||
"level": 2,
|
||||
"evidence": "5개 핵심 페이지 단락 샘플 50개 중 상호 또는 시술명 포함 26개(52%). 상호 'VIEW' 포함은 7개(14%). FAQ 답변은 'Motiva Preserve is…'처럼 시술명만 있고 상호가 없다"
|
||||
},
|
||||
"B4": {
|
||||
"level": 2,
|
||||
"evidence": "전 페이지 푸터 NAP 동일: 107 Bongeunsa-ro, Gangnam-gu / +82-2-539-1177 / eng_viewps@viewclinic.com / 진료시간. 구주소(201-14 Nonhyeon-dong) 병기. 개인정보 페이지에 다른 번호(02-2138-1305, 02-3480-3573) 노출"
|
||||
},
|
||||
"B7": {
|
||||
"level": 2,
|
||||
"evidence": "10개 언어 hreflang 양방향 선언. 그러나 th·jp·vn·ru·id·mn·es·ar 8개 서브도메인은 viewplasticsurgery.com/{lang}/ 로 301. hreflang 대상 URL이 최종 URL이 아니다. cn 페이지는 en-US 대신 en으로 선언"
|
||||
},
|
||||
"D2": {
|
||||
"level": 2,
|
||||
"evidence": "Google 비즈니스 프로필 4.9점·리뷰 901건, 소유자 게시 활성, 웹사이트가 영문 사이트로 연결(2026-08-31 실측 인용). 전화번호 미등록. 2026-09-10 재실측은 Places API 키 부재로 미실시"
|
||||
},
|
||||
"D4": {
|
||||
"level": 2,
|
||||
"evidence": "영문 사이트·GBP 주소 일치(107 Bongeunsa-ro). GBP 전화 없음. 강남언니는 국문 표면이라 외국인 질의 근거로는 쓰이지 않음"
|
||||
},
|
||||
"E4": {
|
||||
"level": 2,
|
||||
"evidence": "2026-09-10 외국인 관점 영문 60문항 × 2엔진(Perplexity sonar, OpenAI gpt-4o web_search 뉴욕 위치) 1회 실측. 5회 반복은 미실시"
|
||||
},
|
||||
"F2": {
|
||||
"level": 2,
|
||||
"evidence": "WordPress 7.1(2026 최신 계열). meta generator로 버전 노출"
|
||||
},
|
||||
"D1": {
|
||||
"level": 2,
|
||||
"evidence": "외국인 대상 리뷰·중개 플랫폼 기준. Bookimed(us-uk.bookimed.com) 프로필과 RealSelf 평점(제3자 인용 4.8/5)이 AI 답변의 인용 출처로 확인됨. 리뷰 수·갱신일·소유자 응답은 직접 실측하지 못함. 강남언니(국문)는 외국인 질의 60문항 어디에도 인용되지 않음"
|
||||
},
|
||||
"D3": {
|
||||
"level": 2,
|
||||
"evidence": "뷰를 언급한 AI 답변의 인용처가 유치업체·에이전시 블로그(khunkim.com·clinicsoncall.com·curemeabroad.com·kmhglobal.com), 정부 표면(english.visitkorea.or.kr·medicaltour.gangnam.go.kr), 커뮤니티(reddit.com·forum.purseblog.com), LinkedIn에 분산. 영어권 주요 언론 기사와 Wikipedia 항목은 없음"
|
||||
}
|
||||
}
|
||||
@ -1,500 +0,0 @@
|
||||
{
|
||||
"label": "VIEW EN",
|
||||
"v1": {
|
||||
"score": 64,
|
||||
"grade": "B",
|
||||
"earned": 55.7,
|
||||
"possible": 87.0,
|
||||
"verified": 31,
|
||||
"total": 36,
|
||||
"categories": {
|
||||
"access": 92,
|
||||
"entity": 38,
|
||||
"content": 63,
|
||||
"surface": 63,
|
||||
"measure": 67,
|
||||
"hygiene": 80
|
||||
}
|
||||
},
|
||||
"aeo": {
|
||||
"score": 61,
|
||||
"raw": 61,
|
||||
"grade": "B",
|
||||
"earned": 55.0,
|
||||
"possible": 90.0,
|
||||
"items": [
|
||||
[
|
||||
"AEO1",
|
||||
"질문 수요 충족",
|
||||
67
|
||||
],
|
||||
[
|
||||
"AEO2",
|
||||
"답변의 직접성",
|
||||
33
|
||||
],
|
||||
[
|
||||
"AEO3",
|
||||
"답변 단위의 자기완결성",
|
||||
67
|
||||
],
|
||||
[
|
||||
"AEO4",
|
||||
"의사결정에 필요한 정보",
|
||||
60
|
||||
],
|
||||
[
|
||||
"AEO5",
|
||||
"정보 구조와 가독성",
|
||||
67
|
||||
],
|
||||
[
|
||||
"AEO6",
|
||||
"다음 행동의 명확성",
|
||||
null
|
||||
],
|
||||
[
|
||||
"AEO7",
|
||||
"핵심 답변의 텍스트 추출",
|
||||
100
|
||||
],
|
||||
[
|
||||
"AEO8",
|
||||
"사이트 내 답변 발견",
|
||||
87
|
||||
]
|
||||
]
|
||||
},
|
||||
"geo": {
|
||||
"score": 70,
|
||||
"raw": 70,
|
||||
"grade": "B",
|
||||
"earned": 42.0,
|
||||
"possible": 60.0,
|
||||
"items": [
|
||||
[
|
||||
"GEO1",
|
||||
"주장과 근거의 일치",
|
||||
null
|
||||
],
|
||||
[
|
||||
"GEO2",
|
||||
"출처의 적합성과 추적성",
|
||||
100
|
||||
],
|
||||
[
|
||||
"GEO3",
|
||||
"전문성과 책임 주체",
|
||||
60
|
||||
],
|
||||
[
|
||||
"GEO4",
|
||||
"병원 엔티티와 사실의 정합성",
|
||||
42
|
||||
],
|
||||
[
|
||||
"GEO5",
|
||||
"사실의 최신성과 정정",
|
||||
67
|
||||
],
|
||||
[
|
||||
"GEO6",
|
||||
"원천 대비 추가 가치",
|
||||
null
|
||||
],
|
||||
[
|
||||
"GEO7",
|
||||
"발행 관계와 투명성",
|
||||
null
|
||||
],
|
||||
[
|
||||
"GEO8",
|
||||
"인용 식별자와 메타데이터 정합성",
|
||||
100
|
||||
]
|
||||
]
|
||||
},
|
||||
"gates": [
|
||||
{
|
||||
"id": "G1",
|
||||
"passed": true,
|
||||
"failedBy": [],
|
||||
"cap": 40,
|
||||
"axes": [
|
||||
"aeo",
|
||||
"geo"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "G2",
|
||||
"passed": true,
|
||||
"failedBy": [],
|
||||
"cap": 40,
|
||||
"axes": [
|
||||
"aeo",
|
||||
"geo"
|
||||
]
|
||||
}
|
||||
],
|
||||
"aeo_h": {
|
||||
"score": 65,
|
||||
"grade": "B",
|
||||
"earned": 65.0,
|
||||
"possible": 100,
|
||||
"items": [
|
||||
[
|
||||
"AEO1",
|
||||
"질문 수요 충족",
|
||||
20,
|
||||
13.3,
|
||||
"derived",
|
||||
[
|
||||
"C2=2"
|
||||
]
|
||||
],
|
||||
[
|
||||
"AEO2",
|
||||
"답변의 직접성",
|
||||
20,
|
||||
6.7,
|
||||
"derived",
|
||||
[
|
||||
"C1=1"
|
||||
]
|
||||
],
|
||||
[
|
||||
"AEO3",
|
||||
"답변 단위의 자기완결성",
|
||||
15,
|
||||
10.0,
|
||||
"derived",
|
||||
[
|
||||
"C8=2"
|
||||
]
|
||||
],
|
||||
[
|
||||
"AEO4",
|
||||
"의사결정에 필요한 정보",
|
||||
15,
|
||||
9.0,
|
||||
"derived",
|
||||
[
|
||||
"C4=1",
|
||||
"C5=3"
|
||||
]
|
||||
],
|
||||
[
|
||||
"AEO5",
|
||||
"정보 구조와 가독성",
|
||||
10,
|
||||
6.7,
|
||||
"derived",
|
||||
[
|
||||
"C3=2"
|
||||
]
|
||||
],
|
||||
[
|
||||
"AEO6",
|
||||
"다음 행동의 명확성",
|
||||
10,
|
||||
10.0,
|
||||
"judged",
|
||||
[]
|
||||
],
|
||||
[
|
||||
"AEO7",
|
||||
"핵심 답변의 텍스트 추출",
|
||||
5,
|
||||
5.0,
|
||||
"derived",
|
||||
[
|
||||
"A3=3",
|
||||
"F1=3"
|
||||
]
|
||||
],
|
||||
[
|
||||
"AEO8",
|
||||
"사이트 내 답변 발견",
|
||||
5,
|
||||
4.3,
|
||||
"derived",
|
||||
[
|
||||
"A5=3",
|
||||
"B6=2"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
"geo_h": {
|
||||
"score": 72,
|
||||
"grade": "B",
|
||||
"earned": 72.0,
|
||||
"possible": 100,
|
||||
"items": [
|
||||
[
|
||||
"GEO1",
|
||||
"주장과 근거의 일치",
|
||||
20,
|
||||
13.3,
|
||||
"judged",
|
||||
[]
|
||||
],
|
||||
[
|
||||
"GEO2",
|
||||
"출처의 적합성과 추적성",
|
||||
15,
|
||||
15.0,
|
||||
"derived",
|
||||
[
|
||||
"A4=3"
|
||||
]
|
||||
],
|
||||
[
|
||||
"GEO3",
|
||||
"전문성과 책임 주체",
|
||||
15,
|
||||
9.0,
|
||||
"derived",
|
||||
[
|
||||
"C7=3",
|
||||
"B3=0"
|
||||
]
|
||||
],
|
||||
[
|
||||
"GEO4",
|
||||
"병원 엔티티와 사실의 정합성",
|
||||
15,
|
||||
6.3,
|
||||
"derived",
|
||||
[
|
||||
"B2=0",
|
||||
"B4=2",
|
||||
"B5=0",
|
||||
"D1=2",
|
||||
"D2=2",
|
||||
"D4=2",
|
||||
"D6=0"
|
||||
]
|
||||
],
|
||||
[
|
||||
"GEO5",
|
||||
"사실의 최신성과 정정",
|
||||
10,
|
||||
6.7,
|
||||
"derived",
|
||||
[
|
||||
"C6=2"
|
||||
]
|
||||
],
|
||||
[
|
||||
"GEO6",
|
||||
"원천 대비 추가 가치",
|
||||
10,
|
||||
10.0,
|
||||
"judged",
|
||||
[]
|
||||
],
|
||||
[
|
||||
"GEO7",
|
||||
"발행 관계와 투명성",
|
||||
10,
|
||||
6.7,
|
||||
"judged",
|
||||
[]
|
||||
],
|
||||
[
|
||||
"GEO8",
|
||||
"인용 식별자와 메타데이터 정합성",
|
||||
5,
|
||||
5.0,
|
||||
"derived",
|
||||
[
|
||||
"B1=3"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
"results": {
|
||||
"A1": {
|
||||
"criterionId": "A1",
|
||||
"level": 3,
|
||||
"evidence": "12개 AI 봇 전부 허용. OAI-SearchBot·PerplexityBot·GPTBot UA로 GET → 전부 200",
|
||||
"source": "robots.txt: User-agent: * / Disallow: /wp-admin/"
|
||||
},
|
||||
"A2": {
|
||||
"criterionId": "A2",
|
||||
"level": 2,
|
||||
"evidence": "CDN 사용(Apache/2.4.68 (Debian)), AI UA 차단 없음(전부 200)"
|
||||
},
|
||||
"A3": {
|
||||
"criterionId": "A3",
|
||||
"level": 3,
|
||||
"evidence": "서버 렌더링. JS 미실행 HTML에서 본문 텍스트 79,646자 추출"
|
||||
},
|
||||
"A4": {
|
||||
"criterionId": "A4",
|
||||
"level": 3,
|
||||
"evidence": "http://viewplasticsurgery.com → 301 → https://www.viewplasticsurgery.com/ 정본 수렴 (4변형 모두)"
|
||||
},
|
||||
"A5": {
|
||||
"criterionId": "A5",
|
||||
"level": 3,
|
||||
"evidence": "robots.txt에 sitemap 선언, 200 응답. URL 482개, lastmod 최신 2026-09-09"
|
||||
},
|
||||
"A6": {
|
||||
"criterionId": "A6",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] Bing Webmaster Tools 등록 여부는 오너 계정 접근 필요 (또는 site: 검색 수동 확인)"
|
||||
},
|
||||
"A7": {
|
||||
"criterionId": "A7",
|
||||
"level": 2,
|
||||
"evidence": "TTFB 0.870s / 초기 HTML 587KB. 시술 페이지 212KB (TTFB 양호 / HTML 비대)"
|
||||
},
|
||||
"B1": {
|
||||
"criterionId": "B1",
|
||||
"level": 3,
|
||||
"evidence": "JSON-LD 1블록 전부 유효 + @graph 연결"
|
||||
},
|
||||
"B2": {
|
||||
"criterionId": "B2",
|
||||
"level": 0,
|
||||
"evidence": "업종 엔티티 스키마 없음 (발견 타입: CollectionPage, Person, WebSite)"
|
||||
},
|
||||
"B3": {
|
||||
"criterionId": "B3",
|
||||
"level": 0,
|
||||
"evidence": "Physician/Attorney 스키마 없음. 전문가 정보는 HTML 텍스트·이미지로만 존재"
|
||||
},
|
||||
"B4": {
|
||||
"criterionId": "B4",
|
||||
"level": 2,
|
||||
"evidence": "[사람 보정] 전 페이지 푸터 NAP 동일: 107 Bongeunsa-ro, Gangnam-gu / +82-2-539-1177 / eng_viewps@viewclinic.com / 진료시간. 구주소(201-14 Nonhyeon-dong) 병기. 개인정보 페이지에 다른 번호(02-2138-1305, 02-3480-3573) 노출"
|
||||
},
|
||||
"B5": {
|
||||
"criterionId": "B5",
|
||||
"level": 0,
|
||||
"evidence": "Organization.sameAs: [] (빈 배열). 푸터/본문에 SNS 링크 2종(www.instagram.com, www.tiktok.com) — 스키마에 미연결"
|
||||
},
|
||||
"B6": {
|
||||
"criterionId": "B6",
|
||||
"level": 2,
|
||||
"evidence": "rel=canonical self-referencing 존재"
|
||||
},
|
||||
"B7": {
|
||||
"criterionId": "B7",
|
||||
"level": 2,
|
||||
"evidence": "[사람 보정] 10개 언어 hreflang 양방향 선언. 그러나 th·jp·vn·ru·id·mn·es·ar 8개 서브도메인은 viewplasticsurgery.com/{lang}/ 로 301. hreflang 대상 URL이 최종 URL이 아니다. cn 페이지는 en-US 대신 en으로 선언"
|
||||
},
|
||||
"C1": {
|
||||
"criterionId": "C1",
|
||||
"level": 1,
|
||||
"evidence": "[사람 보정] 정의문이 메타 설명에만 있다. About 메타: 'Founded in 2005, VIEW is a premier 19-story medical center in Gangnam, Seoul'. 본문 첫 단락은 슬로건('always considers the perspective of the patient'), 시술 페이지 첫 텍스트는 'Let Me In Season 2/3/4/5 Selected Doctors' 홍보 라벨. 홈 첫 200자는 검색창·메뉴"
|
||||
},
|
||||
"C2": {
|
||||
"criterionId": "C2",
|
||||
"level": 2,
|
||||
"evidence": "FAQ 섹션 존재: \"VIEW Breast Surgery FAQ\" 외 0개. FAQPage 스키마 없음"
|
||||
},
|
||||
"C3": {
|
||||
"criterionId": "C3",
|
||||
"level": 2,
|
||||
"evidence": "H1 1개: \"korea plastic surgery\". H2 중복 0건 또는 라벨형"
|
||||
},
|
||||
"C4": {
|
||||
"criterionId": "C4",
|
||||
"level": 1,
|
||||
"evidence": "[사람 보정] 시술 페이지(가슴 Motiva) 본문에 가격·수술시간·회복기간 0회. 수치는 Motiva 보증(재수술 지원 300만원/개) 뿐. 블로그 글에는 USD 가격표(V-line $7,000–12,000, 표 3행)와 체류 기간(10–14일)이 있으나 시술 페이지와 연결되지 않음"
|
||||
},
|
||||
"C5": {
|
||||
"criterionId": "C5",
|
||||
"level": 3,
|
||||
"evidence": "HTML 표 10개"
|
||||
},
|
||||
"C6": {
|
||||
"criterionId": "C6",
|
||||
"level": 2,
|
||||
"evidence": "최신 갱신 신호 2026-09-09 (sitemap lastmod 2026-09-09). dateModified 마크업 없음"
|
||||
},
|
||||
"C7": {
|
||||
"criterionId": "C7",
|
||||
"level": 3,
|
||||
"evidence": "[사람 보정] 의료진 상세 페이지에 학위(서울대 의학박사)·전문의 자격·학회 회원·논문 목록이 텍스트. 의료진 목록 26명에 역할(성형외과 전문의 15·이비인후과 1·피부과 3·유방외과 1·영상 1·마취과 6) 표기"
|
||||
},
|
||||
"C8": {
|
||||
"criterionId": "C8",
|
||||
"level": 2,
|
||||
"evidence": "[사람 보정] 5개 핵심 페이지 단락 샘플 50개 중 상호 또는 시술명 포함 26개(52%). 상호 'VIEW' 포함은 7개(14%). FAQ 답변은 'Motiva Preserve is…'처럼 시술명만 있고 상호가 없다"
|
||||
},
|
||||
"D1": {
|
||||
"criterionId": "D1",
|
||||
"level": 2,
|
||||
"evidence": "[사람 보정] 외국인 대상 리뷰·중개 플랫폼 기준. Bookimed(us-uk.bookimed.com) 프로필과 RealSelf 평점(제3자 인용 4.8/5)이 AI 답변의 인용 출처로 확인됨. 리뷰 수·갱신일·소유자 응답은 직접 실측하지 못함. 강남언니(국문)는 외국인 질의 60문항 어디에도 인용되지 않음"
|
||||
},
|
||||
"D2": {
|
||||
"criterionId": "D2",
|
||||
"level": 2,
|
||||
"evidence": "[사람 보정] Google 비즈니스 프로필 4.9점·리뷰 901건, 소유자 게시 활성, 웹사이트가 영문 사이트로 연결(2026-08-31 실측 인용). 전화번호 미등록. 2026-09-10 재실측은 Places API 키 부재로 미실시"
|
||||
},
|
||||
"D3": {
|
||||
"criterionId": "D3",
|
||||
"level": 2,
|
||||
"evidence": "[사람 보정] 뷰를 언급한 AI 답변의 인용처가 유치업체·에이전시 블로그(khunkim.com·clinicsoncall.com·curemeabroad.com·kmhglobal.com), 정부 표면(english.visitkorea.or.kr·medicaltour.gangnam.go.kr), 커뮤니티(reddit.com·forum.purseblog.com), LinkedIn에 분산. 영어권 주요 언론 기사와 Wikipedia 항목은 없음"
|
||||
},
|
||||
"D4": {
|
||||
"criterionId": "D4",
|
||||
"level": 2,
|
||||
"evidence": "[사람 보정] 영문 사이트·GBP 주소 일치(107 Bongeunsa-ro). GBP 전화 없음. 강남언니는 국문 표면이라 외국인 질의 근거로는 쓰이지 않음"
|
||||
},
|
||||
"D5": {
|
||||
"criterionId": "D5",
|
||||
"level": "unverified",
|
||||
"evidence": "[semi·사람 판정 필요] 사이트에 플레이스/지도 링크 발견: https://naver.me/x9BxGXkK — 플레이스 존재·홈페이지 역연결·리뷰 수 수동 확인"
|
||||
},
|
||||
"D6": {
|
||||
"criterionId": "D6",
|
||||
"level": 0,
|
||||
"evidence": "Wikidata에서 \"VIEW Plastic Surgery (EN)\" 검색 결과 없음"
|
||||
},
|
||||
"E1": {
|
||||
"criterionId": "E1",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] 서버 로그 접근 필요 (AI 크롤러 히트 + IP 검증)"
|
||||
},
|
||||
"E2": {
|
||||
"criterionId": "E2",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] GA4 접근 필요 (AI 유입 커스텀 채널그룹 여부)"
|
||||
},
|
||||
"E3": {
|
||||
"criterionId": "E3",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] GSC 접근 필요 (AI Overviews 노출)"
|
||||
},
|
||||
"E4": {
|
||||
"criterionId": "E4",
|
||||
"level": 2,
|
||||
"evidence": "[사람 보정] 2026-09-10 외국인 관점 영문 60문항 × 2엔진(Perplexity sonar, OpenAI gpt-4o web_search 뉴욕 위치) 1회 실측. 5회 반복은 미실시"
|
||||
},
|
||||
"F1": {
|
||||
"criterionId": "F1",
|
||||
"level": 3,
|
||||
"evidence": "메인 페이지 이미지 500개 중 0개(0%) alt 누락 또는 빈 값"
|
||||
},
|
||||
"F2": {
|
||||
"criterionId": "F2",
|
||||
"level": 2,
|
||||
"evidence": "[사람 보정] WordPress 7.1(2026 최신 계열). meta generator로 버전 노출"
|
||||
},
|
||||
"F3": {
|
||||
"criterionId": "F3",
|
||||
"level": 2,
|
||||
"evidence": "초기 HTML 587KB (300~800KB)"
|
||||
},
|
||||
"F4": {
|
||||
"criterionId": "F4",
|
||||
"level": 2,
|
||||
"evidence": "viewport meta 존재, 반응형. CWV 미측정"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,489 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
"""뷰성형외과 영문 사이트 · 외국인 관점 AEO/GEO 진단 보고서 빌더.
|
||||
|
||||
입력 (같은 폴더):
|
||||
audit_en_scored.json score_en.py 결과 (v1.0 36항목 + v2.0 AEO/GEO)
|
||||
question_bank_en.json 외국인 관점 영문 60문항
|
||||
qb_en_perplexity_results.jsonl Perplexity sonar 실측
|
||||
qb_en_openai_results.jsonl OpenAI gpt-4o web_search(뉴욕 위치) 실측
|
||||
출력:
|
||||
Viewclinic_Global_EN_AEO_GEO_Report_<date>.html / .pdf (Playwright chromium)
|
||||
|
||||
사용: python3 build_global_en_report.py
|
||||
"""
|
||||
import json, os, re, sys, html, datetime as dt
|
||||
from collections import Counter, defaultdict
|
||||
from urllib.parse import urlparse
|
||||
|
||||
HERE = os.path.dirname(os.path.abspath(__file__))
|
||||
DATE = "2026-09-10"
|
||||
OUT_BASE = os.path.join(HERE, f"Viewclinic_Global_EN_AEO_GEO_Report_{DATE}")
|
||||
SITE = "www.viewplasticsurgery.com"
|
||||
|
||||
KR_BASE = {"v1": 54, "aeo": 42, "geo": 56} # 국문 사이트 2026-09-07 재채점 (AEO_GEO_RUBRIC_v2.md)
|
||||
|
||||
CATS = {"A": "브랜드 직접 질문", "B": "이동·체류·운영", "C": "추천·비교", "D": "시술 정보",
|
||||
"E": "가격", "F": "안전·신뢰", "G": "사후관리·원격 팔로업"}
|
||||
CAT_EN = {"A": "Brand", "B": "Travel & logistics", "C": "Recommendation & comparison", "D": "Procedure info",
|
||||
"E": "Pricing", "F": "Safety & trust", "G": "Aftercare & remote follow-up"}
|
||||
STAGE = {"aware": "인지", "explore": "탐색", "compare": "비교", "decision": "결정"}
|
||||
|
||||
V1_NAMES = {
|
||||
"A1":"검색용 AI 봇 허용","A2":"CDN/WAF AI 차단 없음","A3":"서버 렌더링 본문","A4":"HTTPS·리다이렉트 정합","A5":"sitemap.xml 제공","A6":"Bing 색인 (ChatGPT 검색 경로)","A7":"응답 속도·크롤 예산",
|
||||
"B1":"JSON-LD 문법 유효성","B2":"업종 엔티티 스키마 (MedicalClinic)","B3":"전문가 스키마 (Physician)","B4":"NAP 사이트 내 일관성","B5":"sameAs 연결","B6":"canonical·중복 제거","B7":"다국어 hreflang",
|
||||
"C1":"정의문형 첫 문단","C2":"FAQ 섹션","C3":"제목 계층 의미성","C4":"구체 수치 (가격·시간·회복)","C5":"표·비교 구조","C6":"신선도 신호","C7":"전문가 E-E-A-T (의료진)","C8":"패시지 자기완결성",
|
||||
"D1":"업종 버티컬 프로필 (외국인: 국제 리뷰 플랫폼)","D2":"Google 비즈니스 프로필","D3":"오픈웹 언급 (해외 커뮤니티·언론)","D4":"표면 간 NAP 완전 일치","D5":"네이버 플레이스 (AI 브리핑 전용)","D6":"위키데이터/위키백과 엔티티",
|
||||
"E1":"AI 크롤러 로그 (IP 검증)","E2":"GA4 AI 유입 채널","E3":"GSC AI Overviews 노출","E4":"기준선 스팟체크",
|
||||
"F1":"이미지 대체텍스트","F2":"CMS 보안·최신성","F3":"페이지 무게","F4":"모바일 대응"}
|
||||
V1_CAT = {"A":"A · Access & Crawlability","B":"B · Entity & Structured Data","C":"C · Content & Answerability","D":"D · Surfaces & Citations","E":"E · Measurement","F":"F · Technical Hygiene"}
|
||||
|
||||
V2_DESC = {
|
||||
"AEO1":"질문 뱅크 대비 답이 있는 문항 비율. 자동 신호는 FAQ 섹션·FAQPage 스키마",
|
||||
"AEO2":"핵심 페이지 첫 200자에 [상호+지역+전문분야] 정의문 또는 직접 답 존재",
|
||||
"AEO3":"핵심 페이지 단락 샘플 중 상호·시술명이 포함된 비율",
|
||||
"AEO4":"시술 페이지의 가격·시간·회복 수치 밀도와 표·비교 구조",
|
||||
"AEO5":"H1 1개·서술형, H2 논리 계층",
|
||||
"AEO6":"예약·전화·위치가 본문 텍스트로 연결되는지 (사람 판정)",
|
||||
"AEO7":"JS 미실행 HTML 본문 비율 + 이미지 alt",
|
||||
"AEO8":"sitemap 선언·lastmod + canonical 정합",
|
||||
"GEO1":"주장 문장에 출처·조건·시점이 붙은 비율 (사람 판정)",
|
||||
"GEO2":"http/www 변형의 301 정본 수렴, URL 안정성",
|
||||
"GEO3":"전문가 자격·경력 텍스트 + Physician 스키마",
|
||||
"GEO4":"업종 스키마·사이트 내 NAP·sameAs·버티컬·GBP·표면 간 NAP·Wikidata",
|
||||
"GEO5":"dateModified·sitemap lastmod·본문 갱신일",
|
||||
"GEO6":"타 사이트에 없는 병원 고유 정보 유형 수 (사람 판정)",
|
||||
"GEO7":"운영 주체·연락처·이해관계 고지, 정보와 광고의 구분 (사람 판정)",
|
||||
"GEO8":"ld+json 전 블록 파싱 + 화면과 메타 일치"}
|
||||
|
||||
V2_HUMAN_EVIDENCE = {
|
||||
"AEO6": "전 페이지 푸터에 전화 +82-2-539-1177 · 이메일 eng_viewps@viewclinic.com · 주소 · 진료시간이 텍스트로 반복. Quick Consultation 폼에 WhatsApp · LINE · KakaoTalk · Viber 선택지와 국가번호 입력. Google Map · Naver Map 링크. 전화·예약·방문 3경로 충족",
|
||||
"GEO1": "'No.1 Motiva 사용량(2023, Motiva Korea 수술량 기준)' · 'Global KOL 2023–2026' · '법무부 우수 유치기관 2018–2026' 처럼 집계 주체·연도가 붙은 주장이 다수. 그러나 페이지 제목의 'Best Plastic Surgery in Korea' · 'No.1 Trusted Clinic'은 근거 없음. 가슴 페이지 메타 설명은 'No.1 Motiva usage in 2013', 본문은 2023으로 불일치. 안전 페이지의 '마취과 전문의 상시'는 인원 수 없음(의료진 페이지에는 6명 명시)",
|
||||
"GEO6": "컨시어지 10항목(10개 언어 통역 무료 · 공항 픽업 · 원내 숙박 · 도보 10분 제휴 호텔 · T-money 제공 · 귀국 후 원격 경과 관찰), 층별 안내(B1 검진센터~15F 치과), 공항 리무진 노선·정류장 번호, 블로그 USD 가격표, FAQ 402건, Motiva 보증 조건(5년 재수술 지원 300만원/개, 10년 교체). 원천 유형 5개 이상",
|
||||
"GEO7": "푸터에 상호 · 대표(Choi Soon Woo) · 사업자번호 220-08-86777 표기. 전 페이지에 부작용 고지문. 다만 시술 페이지 안에 Before & After · Real Review · 'Let Me In' 출연 홍보가 정보와 구분 없이 섞여 있고, 후기의 대가 지급 여부 고지가 없다. 국문 사이트 후기 광고는 2026-07-12 공정위 시정명령을 받았고 영문 Real Review 섹션도 같은 방식이다"}
|
||||
|
||||
# ─────────────────────────── 데이터 로드 ───────────────────────────
|
||||
def load_jsonl(p):
|
||||
rows = {}
|
||||
if os.path.exists(p):
|
||||
for line in open(p, encoding="utf-8"):
|
||||
if line.strip():
|
||||
r = json.loads(line); rows[r["id"]] = r
|
||||
return rows
|
||||
|
||||
score = json.load(open(os.path.join(HERE, "audit_en_scored.json"), encoding="utf-8"))
|
||||
qs = json.load(open(os.path.join(HERE, "question_bank_en.json"), encoding="utf-8"))
|
||||
PP = load_jsonl(os.path.join(HERE, "qb_en_perplexity_results.jsonl"))
|
||||
OA = load_jsonl(os.path.join(HERE, "qb_en_openai_results.jsonl"))
|
||||
ENGINES = [("perplexity", "Perplexity", PP), ("openai", "OpenAI 웹검색", OA)]
|
||||
|
||||
def dom(u):
|
||||
d = urlparse(u).netloc.lower()
|
||||
return d[4:] if d.startswith("www.") else d
|
||||
|
||||
OWN = ("viewplasticsurgery.com", "viewclinic.com")
|
||||
def own_cited(r):
|
||||
return any(any(o in dom(u) for o in OWN) for u in r.get("urls", []))
|
||||
|
||||
# 집계
|
||||
stats = {}
|
||||
for key, label, rows in ENGINES:
|
||||
st = {"n": 0, "mentioned": 0, "own": 0, "first": 0, "sent": Counter(), "cat": defaultdict(lambda: [0, 0, 0, 0]),
|
||||
"clinics": Counter(), "clinic_first": Counter(), "domains": Counter(), "domains_view": Counter(), "own_urls": Counter()}
|
||||
for q in qs:
|
||||
r = rows.get(q["id"])
|
||||
if not r: continue
|
||||
st["n"] += 1
|
||||
c = st["cat"][q["cat"]]; c[0] += 1
|
||||
vm = bool(r.get("view_mentioned"))
|
||||
if vm:
|
||||
st["mentioned"] += 1; c[1] += 1
|
||||
st["sent"][r.get("view_sentiment") or "neutral"] += 1
|
||||
if r.get("view_rank") == 1: st["first"] += 1; c[3] += 1
|
||||
if own_cited(r): st["own"] += 1; c[2] += 1
|
||||
for i, cl in enumerate([x for x in r.get("clinics", []) if isinstance(x, str)][:8]):
|
||||
st["clinics"][cl] += 1
|
||||
if i == 0: st["clinic_first"][cl] += 1
|
||||
ds = {dom(u) for u in r.get("urls", [])}
|
||||
for d in ds:
|
||||
st["domains"][d] += 1
|
||||
if vm: st["domains_view"][d] += 1
|
||||
for u in r.get("urls", []):
|
||||
if any(o in dom(u) for o in OWN):
|
||||
path = urlparse(u).path
|
||||
st["own_urls"][path] += 1
|
||||
stats[key] = st
|
||||
|
||||
def pct(a, b): return f"{a*100//b}%" if b else "-"
|
||||
|
||||
# ─────────────────────────── HTML 도우미 ───────────────────────────
|
||||
def esc(s): return html.escape(str(s).replace("—", ", ").replace(" ,", ","), quote=False)
|
||||
|
||||
def lvl_badge(level):
|
||||
if level == "unverified": return '<span class="badge unv">미검증</span>'
|
||||
cls = {3: "good", 2: "info", 1: "warn", 0: "crit"}[int(level)]
|
||||
return f'<span class="badge {cls}">{level}</span>'
|
||||
|
||||
def grade_cls(g): return {"A": "good", "B": "info", "C": "warn", "D": "crit"}[g]
|
||||
|
||||
def ox(v): return '<b class="o">O</b>' if v else '<span class="x">X</span>'
|
||||
|
||||
# ─────────────────────────── 섹션 ───────────────────────────
|
||||
aeo, geo, v1 = score["aeo_h"], score["geo_h"], score["v1"]
|
||||
results = score["results"]
|
||||
|
||||
def kpi_row():
|
||||
pp, oa = stats["perplexity"], stats["openai"]
|
||||
cells = [
|
||||
("AEO 답변 준비도", f"{aeo['score']}", aeo["grade"], "영문 사이트가 외국인 질문에 답하는 정도 · 100점"),
|
||||
("GEO 출처 준비도", f"{geo['score']}", geo["grade"], "AI가 영문 사이트를 출처로 쓸 수 있는 정도 · 100점"),
|
||||
("v1.0 종합 (참고)", f"{v1['score']}", v1["grade"], f"36항목 중 검증 {v1['verified']}개 · 국문 사이트 {KR_BASE['v1']}/C"),
|
||||
("Perplexity 언급률", pct(pp["mentioned"], pp["n"]), None, f"{pp['n']}문항 중 {pp['mentioned']} · 자사 사이트 인용 {pct(pp['own'], pp['n'])}"),
|
||||
("OpenAI 웹검색 언급률", pct(oa["mentioned"], oa["n"]), None, f"{oa['n']}문항 중 {oa['mentioned']} · 자사 사이트 인용 {pct(oa['own'], oa['n'])}"),
|
||||
]
|
||||
h = '<div class="kpis">'
|
||||
for lab, val, g, sub in cells:
|
||||
gb = f'<span class="grade {grade_cls(g)}">{g}</span>' if g else ""
|
||||
h += f'<div class="kpi"><div class="lab">{lab}</div><div class="val">{val}{gb}</div><div class="sub">{sub}</div></div>'
|
||||
return h + "</div>"
|
||||
|
||||
def cat_table():
|
||||
h = ['<table class="t"><thead><tr><th>질문군</th><th>문항</th>',
|
||||
'<th>Perplexity<br><small>언급 / 1순위 / 자사 인용</small></th>',
|
||||
'<th>OpenAI 웹검색<br><small>언급 / 1순위 / 자사 인용</small></th><th>해석</th></tr></thead><tbody>']
|
||||
interp = NARR["cat_interp"]
|
||||
for k in "ABCDEFG":
|
||||
n = sum(1 for q in qs if q["cat"] == k)
|
||||
cells = []
|
||||
for key, _, _ in ENGINES:
|
||||
c = stats[key]["cat"].get(k, [0, 0, 0, 0])
|
||||
cells.append(f"<td class='num'>{pct(c[1], c[0])} / {pct(c[3], c[0])} / {pct(c[2], c[0])}</td>")
|
||||
h.append(f"<tr><td><b>{k}</b> {CATS[k]}<span class='cat'>{CAT_EN[k]}</span></td><td class='num'>{n}</td>{''.join(cells)}<td>{esc(interp.get(k, ''))}</td></tr>")
|
||||
tot = []
|
||||
for key, _, _ in ENGINES:
|
||||
st = stats[key]; tot.append(f"<td class='num'><b>{pct(st['mentioned'], st['n'])} / {pct(st['first'], st['n'])} / {pct(st['own'], st['n'])}</b></td>")
|
||||
h.append(f"<tr class='sum'><td><b>합계</b></td><td class='num'>{len(qs)}</td>{''.join(tot)}<td></td></tr></tbody></table>")
|
||||
return "".join(h)
|
||||
|
||||
def clinic_table():
|
||||
merged = Counter(); first = Counter()
|
||||
for key, _, _ in ENGINES:
|
||||
merged.update(stats[key]["clinics"]); first.update(stats[key]["clinic_first"])
|
||||
h = ['<table class="t"><thead><tr><th>#</th><th>병원 (AI 답변 표기)</th><th>Perplexity</th><th>OpenAI</th><th>합계</th><th>1순위 등장</th></tr></thead><tbody>']
|
||||
for i, (name, cnt) in enumerate(merged.most_common(12), 1):
|
||||
cls = " class='hl'" if name == "VIEW Plastic Surgery" else ""
|
||||
h.append(f"<tr{cls}><td class='num'>{i}</td><td>{esc(name)}</td><td class='num'>{stats['perplexity']['clinics'].get(name,0)}</td>"
|
||||
f"<td class='num'>{stats['openai']['clinics'].get(name,0)}</td><td class='num'><b>{cnt}</b></td><td class='num'>{first.get(name,0)}</td></tr>")
|
||||
h.append("</tbody></table>")
|
||||
return "".join(h)
|
||||
|
||||
def domain_table():
|
||||
merged = Counter(); view = Counter()
|
||||
for key, _, _ in ENGINES:
|
||||
merged.update(stats[key]["domains"]); view.update(stats[key]["domains_view"])
|
||||
h = ['<table class="t"><thead><tr><th>#</th><th>인용 도메인</th><th>Perplexity</th><th>OpenAI</th><th>합계 (문항 수)</th><th>뷰 언급 답변에서</th><th>표면 유형</th></tr></thead><tbody>']
|
||||
for i, (d, cnt) in enumerate(merged.most_common(18), 1):
|
||||
cls = " class='hl'" if any(o in d for o in OWN) else ""
|
||||
h.append(f"<tr{cls}><td class='num'>{i}</td><td>{esc(d)}</td><td class='num'>{stats['perplexity']['domains'].get(d,0)}</td>"
|
||||
f"<td class='num'>{stats['openai']['domains'].get(d,0)}</td><td class='num'><b>{cnt}</b></td><td class='num'>{view.get(d,0)}</td><td>{esc(surface_type(d))}</td></tr>")
|
||||
h.append("</tbody></table>")
|
||||
return "".join(h)
|
||||
|
||||
def surface_type(d):
|
||||
if any(o in d for o in OWN): return "자사 사이트"
|
||||
if "reddit" in d or "quora" in d: return "커뮤니티"
|
||||
if "realself" in d or "whatclinic" in d or "bookimed" in d or "medigo" in d or "trustpilot" in d or "gangnamunni" in d or "yelp" in d: return "리뷰·중개 플랫폼"
|
||||
if "youtube" in d or "instagram" in d or "tiktok" in d or "facebook" in d: return "소셜"
|
||||
if "korea" in d and ("herald" in d or "times" in d or "joongang" in d or "yonhap" in d): return "언론"
|
||||
if d.endswith(".go.kr") or "visitkorea" in d or "medicalkorea" in d or "seoul" in d: return "정부·관광"
|
||||
if d.endswith(".com") or d.endswith(".net") or d.endswith(".kr") or d.endswith(".org"): return "타 병원·에이전시·블로그"
|
||||
return ""
|
||||
|
||||
def own_url_table():
|
||||
merged = Counter()
|
||||
for key, _, _ in ENGINES: merged.update(stats[key]["own_urls"])
|
||||
if not merged: return "<p>자사 URL 인용 없음</p>"
|
||||
h = ['<table class="t"><thead><tr><th>인용된 자사 페이지</th><th>Perplexity</th><th>OpenAI</th><th>합계</th></tr></thead><tbody>']
|
||||
for p, cnt in merged.most_common(12):
|
||||
h.append(f"<tr><td class='mono'>{esc(p)}</td><td class='num'>{stats['perplexity']['own_urls'].get(p,0)}</td><td class='num'>{stats['openai']['own_urls'].get(p,0)}</td><td class='num'><b>{cnt}</b></td></tr>")
|
||||
return "".join(h) + "</tbody></table>"
|
||||
|
||||
def sentiment_block():
|
||||
h = '<div class="grid3">'
|
||||
for key, label, _ in ENGINES:
|
||||
s = stats[key]["sent"]; m = stats[key]["mentioned"]
|
||||
h += (f'<div class="card"><h4>{label}</h4><p class="big">{s.get("positive",0)} <small>긍정</small> · {s.get("neutral",0)} <small>중립</small> · {s.get("negative",0)} <small>부정</small></p>'
|
||||
f'<p class="sub">뷰 언급 {m}문항 기준</p></div>')
|
||||
h += f'<div class="card"><h4>판정 기준</h4><p class="sub">답변이 뷰성형외과를 어떻게 규정하는지를 후처리 모델이 긍정·중립·부정으로 분류. 감성 기준표 v0.3의 1차 근사치이며 사람 검토 전 값</p></div></div>'
|
||||
return h
|
||||
|
||||
def quote_cards(ids):
|
||||
h = '<div class="quotes">'
|
||||
for qid, key in ids:
|
||||
rows = PP if key == "perplexity" else OA
|
||||
r = rows.get(qid)
|
||||
if not r: continue
|
||||
q = next(x for x in qs if x["id"] == qid)
|
||||
ans = re.sub(r"\[\d+\]", "", r.get("answer", "")).strip()
|
||||
ans = re.sub(r"\s+", " ", ans).replace("—", ", ").replace(" ,", ",")[:420]
|
||||
eng = "Perplexity" if key == "perplexity" else "OpenAI 웹검색"
|
||||
doms = sorted({dom(u) for u in r.get("urls", [])})[:5]
|
||||
h += (f'<div class="quote"><div class="qh"><b>{qid}</b> {esc(q["question"])} <span class="eng">{eng}</span> {ox(r.get("view_mentioned"))}</div>'
|
||||
f'<p>{esc(ans)}…</p><div class="cite">인용: {esc(", ".join(doms))}</div></div>')
|
||||
return h + "</div>"
|
||||
|
||||
def v2_table(axis):
|
||||
h = ['<table class="t v2"><thead><tr><th>항목</th><th>배점</th><th>점수</th><th>근거 신호</th><th>판정 근거 (2026-09-10 실측)</th></tr></thead><tbody>']
|
||||
for iid, name, w, earned, basis, sigs in axis["items"]:
|
||||
if earned is None:
|
||||
cell, sig = "<span class='badge unv'>미검증</span>", ""
|
||||
else:
|
||||
p = earned / w
|
||||
cls = "good" if p >= 0.8 else "info" if p >= 0.6 else "warn" if p >= 0.4 else "crit"
|
||||
cell = f"<span class='badge {cls}'>{earned:g}</span> <small>({round(p*100)}%)</small>"
|
||||
sig = ", ".join(sigs) if sigs else "사람 판정"
|
||||
ev = V2_HUMAN_EVIDENCE.get(iid) or NARR["v2_evidence"].get(iid, "")
|
||||
h.append(f"<tr><td><b>{iid}</b> {name}<span class='cat'>{esc(V2_DESC[iid])}</span></td><td class='num'>{w}</td><td>{cell}</td><td class='mono'>{sig}</td><td>{esc(ev)}</td></tr>")
|
||||
return "".join(h) + "</tbody></table>"
|
||||
|
||||
def v1_table():
|
||||
h = []
|
||||
for c in "ABCDEF":
|
||||
h.append(f'<h4 class="v1cat">{V1_CAT[c]}</h4><table class="t"><thead><tr><th>항목</th><th>레벨</th><th>근거</th></tr></thead><tbody>')
|
||||
for cid in sorted(k for k in V1_NAMES if k[0] == c):
|
||||
r = results.get(cid, {})
|
||||
lv = r.get("level", "unverified")
|
||||
ev = r.get("evidence", "")
|
||||
h.append(f"<tr><td><b>{cid}</b> {V1_NAMES[cid]}</td><td>{lvl_badge(lv)}</td><td>{esc(ev)}</td></tr>")
|
||||
h.append("</tbody></table>")
|
||||
return "".join(h)
|
||||
|
||||
def compare_table():
|
||||
rows = NARR["compare_rows"]
|
||||
h = ['<table class="t"><thead><tr><th>항목</th><th>국문 사이트 (viewclinic.com)</th><th>영문 사이트 (viewplasticsurgery.com)</th><th>차이</th></tr></thead><tbody>']
|
||||
for a, b, c, d in rows:
|
||||
h.append(f"<tr><td><b>{esc(a)}</b></td><td>{esc(b)}</td><td>{esc(c)}</td><td>{esc(d)}</td></tr>")
|
||||
return "".join(h) + "</tbody></table>"
|
||||
|
||||
def roadmap():
|
||||
h = ""
|
||||
for phase, color, items in NARR["roadmap"]:
|
||||
h += f'<h4 class="phase {color}">{esc(phase)}</h4><table class="t road"><thead><tr><th>#</th><th>조치</th><th>대상 항목·질문군</th><th>기대 효과</th></tr></thead><tbody>'
|
||||
for i, (act, target, effect) in enumerate(items, 1):
|
||||
h += f"<tr><td class='num'>{i}</td><td>{esc(act)}</td><td class='mono'>{esc(target)}</td><td>{esc(effect)}</td></tr>"
|
||||
h += "</tbody></table>"
|
||||
return h
|
||||
|
||||
def appendix_questions():
|
||||
h = ['<table class="t app"><thead><tr><th>#</th><th>질문 (영문 원문)</th><th>단계</th><th>Perplexity<br><small>언급·순위·감성</small></th><th>OpenAI<br><small>언급·순위·감성</small></th><th>답변 내 상위 병원 (Perplexity → OpenAI)</th></tr></thead><tbody>']
|
||||
cur = None
|
||||
for q in qs:
|
||||
if q["cat"] != cur:
|
||||
cur = q["cat"]
|
||||
h.append(f"<tr class='grp'><td colspan='6'><b>{cur}</b> {CATS[cur]} · {CAT_EN[cur]}</td></tr>")
|
||||
cells = []; names = []
|
||||
for key, _, rows in ENGINES:
|
||||
r = rows.get(q["id"])
|
||||
if not r: cells.append("<td>-</td>"); names.append("-"); continue
|
||||
s = {"positive": "긍정", "neutral": "중립", "negative": "부정"}.get(r.get("view_sentiment") or "", "")
|
||||
cells.append(f"<td>{ox(r.get('view_mentioned'))} {r.get('view_rank') or ''} <small>{s}</small></td>")
|
||||
cl = [x for x in r.get("clinics", []) if isinstance(x, str) and x != "VIEW Plastic Surgery"][:3]
|
||||
names.append(", ".join(cl) if cl else "(뷰 외 없음)")
|
||||
h.append(f"<tr><td class='mono'>{q['id']}</td><td>{esc(q['question'])}</td><td>{STAGE[q['stage']]}</td>{''.join(cells)}<td><small>{esc(names[0])} → {esc(names[1])}</small></td></tr>")
|
||||
return "".join(h) + "</tbody></table>"
|
||||
|
||||
# ─────────────────────────── 서술 (실측 후 작성) ───────────────────────────
|
||||
NARR = json.load(open(os.path.join(HERE, "narrative_ko.json"), encoding="utf-8"))
|
||||
|
||||
# ─────────────────────────── 렌더 ───────────────────────────
|
||||
CSS = """
|
||||
:root{--ink:#0A1128;--navy:#021341;--violet:#4F1DA1;--accent:#6C5CE7;--indigo:#1D0024;--light:#F7F8FC;--line:#E4E6F0;--slate6:#475569;--slate5:#64748B;
|
||||
--good-bg:#ECFDF5;--good-tx:#047857;--good-bd:#A7F3D0;--info-bg:#EEF2FF;--info-tx:#3730A3;--info-bd:#C7D2FE;--warn-bg:#FFFBEB;--warn-tx:#B45309;--warn-bd:#FDE68A;--crit-bg:#FEF2F2;--crit-tx:#B91C1C;--crit-bd:#FECACA}
|
||||
*{box-sizing:border-box}html{-webkit-print-color-adjust:exact;print-color-adjust:exact}
|
||||
body{margin:0;font-family:"Pretendard Variable",Pretendard,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:var(--indigo);background:#fff;font-size:15px;line-height:1.65;word-break:keep-all}
|
||||
.page{max-width:1080px;margin:0 auto;padding:0 40px 60px}
|
||||
.serif{font-family:"Playfair Display",Georgia,serif}
|
||||
.cover{background:linear-gradient(135deg,var(--ink) 0%,var(--navy) 55%,#2A1466 100%);color:#fff;padding:64px 56px 52px;margin:0 -40px 36px;position:relative;overflow:hidden}
|
||||
.cover:after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(108,92,231,.45),transparent 70%)}
|
||||
.eyebrow{font-family:Inter,Pretendard,sans-serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#C4B5FD;font-weight:600}
|
||||
.cover h1{font-size:38px;line-height:1.25;margin:14px 0 8px;font-weight:800}
|
||||
.cover .sub{font-size:19px;color:#DDD6FE;margin:0 0 22px}
|
||||
.cover .meta{font-size:14px;color:#C4B5FD;display:flex;gap:22px;flex-wrap:wrap}
|
||||
.cover .meta b{color:#fff;font-weight:600}
|
||||
h2{font-family:"Playfair Display",Georgia,serif;font-size:28px;color:var(--indigo);margin:44px 0 6px;font-weight:700;display:flex;align-items:center;gap:12px}
|
||||
h2 .n{font-size:14px;font-family:Inter,Pretendard,sans-serif;letter-spacing:.15em;color:var(--accent);font-weight:700}
|
||||
h2 + .lead{font-size:17px;color:var(--violet);margin:0 0 18px;font-weight:500}
|
||||
h3{font-size:20px;margin:28px 0 10px;color:var(--indigo)}
|
||||
h4{font-size:16px;margin:18px 0 8px;color:var(--indigo)}
|
||||
p{margin:0 0 12px}
|
||||
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:8px 0 22px}
|
||||
.kpi{background:var(--light);border:1px solid var(--line);border-radius:12px;padding:16px 16px 14px}
|
||||
.kpi .lab{font-size:13px;font-weight:600;color:var(--slate6)}
|
||||
.kpi .val{font-family:"Playfair Display",Georgia,serif;font-size:40px;line-height:1.1;margin:6px 0 4px;color:var(--indigo);display:flex;align-items:baseline;gap:8px}
|
||||
.kpi .sub{font-size:12.5px;color:var(--slate6);line-height:1.45}
|
||||
.grade{font-family:Inter,Pretendard,sans-serif;font-size:15px;font-weight:800;border-radius:999px;padding:2px 10px}
|
||||
.good{background:var(--good-bg);color:var(--good-tx);border:1px solid var(--good-bd)}.info{background:var(--info-bg);color:var(--info-tx);border:1px solid var(--info-bd)}
|
||||
.warn{background:var(--warn-bg);color:var(--warn-tx);border:1px solid var(--warn-bd)}.crit{background:var(--crit-bg);color:var(--crit-tx);border:1px solid var(--crit-bd)}
|
||||
.unv{background:#F1F5F9;color:var(--slate5);border:1px solid var(--line)}
|
||||
.badge{display:inline-block;font-family:Inter,Pretendard,sans-serif;font-size:15px;font-weight:800;border-radius:8px;padding:1px 10px;min-width:34px;text-align:center}
|
||||
.badge.unv{font-size:12px;font-weight:600}
|
||||
table.t{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0 18px;page-break-inside:auto}
|
||||
table.t th{background:var(--light);text-align:left;font-weight:700;padding:9px 10px;border-bottom:2px solid var(--line);font-size:13.5px;color:var(--indigo);vertical-align:bottom}
|
||||
table.t th small{font-weight:500;color:var(--slate6)}
|
||||
table.t td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}
|
||||
table.t tr{page-break-inside:avoid}
|
||||
table.t td.num{text-align:center;white-space:nowrap}
|
||||
table.t .mono{font-family:Inter,Menlo,monospace;font-size:12.5px;color:var(--slate6)}
|
||||
table.t tr.hl td{background:#F3F0FF;font-weight:600}
|
||||
table.t tr.sum td{background:var(--light)}
|
||||
table.t tr.grp td{background:#EEF2FF;color:var(--violet);font-size:14px}
|
||||
td .cat{display:block;font-size:12.5px;color:var(--slate5);font-weight:400;line-height:1.4;margin-top:2px}
|
||||
.o{color:var(--good-tx);font-weight:800}.x{color:var(--slate5)}
|
||||
.findings{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:6px 0 10px}
|
||||
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;page-break-inside:avoid}
|
||||
.card h4{margin:0 0 6px;font-size:16px}
|
||||
.card p{font-size:14.5px;margin:0}
|
||||
.card .big{font-size:26px;font-family:"Playfair Display",Georgia,serif;margin:2px 0}
|
||||
.card .big small{font-size:13px;font-family:Pretendard,sans-serif;color:var(--slate6)}
|
||||
.card .sub{font-size:13px;color:var(--slate6);margin-top:4px}
|
||||
.card.dark{background:var(--navy);color:#fff;border:0}.card.dark h4{color:#C4B5FD}.card.dark p{color:#fff}
|
||||
.num-badge{display:inline-block;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-weight:800;text-align:center;line-height:26px;font-size:13px;margin-right:8px;font-family:Inter,Pretendard,sans-serif}
|
||||
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:6px 0 14px}
|
||||
.prio{font-size:19px;font-weight:700;color:var(--indigo);margin:14px 0 8px}
|
||||
ol.actions{padding-left:0;list-style:none;margin:0}
|
||||
ol.actions li{padding:10px 0;border-bottom:1px solid var(--line);font-size:15px;display:flex;gap:10px;align-items:flex-start}
|
||||
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:6px 0 16px}
|
||||
.quote{background:var(--light);border:1px solid var(--line);border-radius:12px;padding:14px 16px;page-break-inside:avoid}
|
||||
.quote .qh{font-size:14px;margin-bottom:6px;color:var(--indigo)}
|
||||
.quote .eng{display:inline-block;font-size:11.5px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:0 8px;margin-left:6px;color:var(--slate6);font-family:Inter,Pretendard,sans-serif}
|
||||
.quote p{font-size:13.5px;color:var(--slate6);margin:0 0 6px;line-height:1.55}
|
||||
.quote .cite{font-size:12px;color:var(--slate5);font-family:Inter,Pretendard,sans-serif}
|
||||
h4.v1cat{font-family:"Playfair Display",Georgia,serif;font-size:20px;margin:22px 0 6px;color:var(--indigo)}
|
||||
h4.phase{font-size:17px;padding:8px 14px;border-radius:8px;margin:22px 0 6px}
|
||||
h4.phase.crit{background:var(--crit-bg);color:var(--crit-tx)}h4.phase.warn{background:var(--warn-bg);color:var(--warn-tx)}h4.phase.info{background:var(--info-bg);color:var(--info-tx)}
|
||||
.note{background:var(--light);border-left:4px solid var(--accent);padding:12px 16px;border-radius:0 10px 10px 0;font-size:14px;margin:12px 0 18px}
|
||||
.note b{color:var(--violet)}
|
||||
.footer{margin-top:40px;padding-top:16px;border-top:1px solid var(--line);font-size:12.5px;color:var(--slate5)}
|
||||
.pb{page-break-before:always}
|
||||
@page{size:A4;margin:12mm 11mm 14mm}
|
||||
@media print{body{font-size:13.5px}.page{max-width:none;padding:0}.cover{margin:0 0 24px;padding:44px 40px 36px}.cover h1{font-size:32px}h2{font-size:24px;margin-top:26px}
|
||||
.kpis{grid-template-columns:repeat(5,1fr);gap:8px}.kpi .val{font-size:30px}table.t{font-size:12px}table.t th{font-size:12px}
|
||||
.findings,.quotes{grid-template-columns:1fr 1fr}.grid3{grid-template-columns:repeat(3,1fr)}}
|
||||
"""
|
||||
|
||||
def render():
|
||||
pp, oa = stats["perplexity"], stats["openai"]
|
||||
findings = "".join(f'<div class="card"><h4><span class="num-badge">{i}</span>{esc(t)}</h4><p>{esc(b)}</p></div>' for i, (t, b) in enumerate(NARR["findings"], 1))
|
||||
actions = "".join(f'<li><span class="num-badge">{i}</span><span>{esc(a)}</span></li>' for i, a in enumerate(NARR["top_actions"], 1))
|
||||
method_rows = "".join(f"<tr><td><b>{esc(a)}</b></td><td>{esc(b)}</td></tr>" for a, b in NARR["method"])
|
||||
limits = "".join(f"<li>{esc(x)}</li>" for x in NARR["limits"])
|
||||
aux_rows = "".join(f"<tr><td><b>{esc(a)}</b></td><td>{lvl_badge(l)}</td><td>{esc(b)}</td></tr>" for a, l, b in NARR["aux"])
|
||||
kpi_rows = "".join(f"<tr><td><b>{esc(a)}</b></td><td>{esc(b)}</td><td>{esc(c)}</td><td>{esc(d)}</td></tr>" for a, b, c, d in NARR["kpi_plan"])
|
||||
|
||||
body = f"""
|
||||
<div class="page">
|
||||
<div class="cover">
|
||||
<div class="eyebrow">INFINITH AI Discovery · Global Patient Edition</div>
|
||||
<h1>뷰성형외과 영문 사이트<br>AEO · GEO 진단 보고서</h1>
|
||||
<p class="sub">외국인 환자 관점 질문 60문항 실측과 답변·출처 준비도 채점</p>
|
||||
<div class="meta"><span>진단일 <b>{DATE}</b></span><span>대상 <b>{SITE}</b> (en-US · x-default)</span><span>기준표 <b>AEO/GEO v2.0</b> (v1.0 36항목 병행)</span><span>답변엔진 <b>Perplexity sonar · OpenAI gpt-4o web_search (뉴욕)</b></span><span>문의 <b>o2oteam@o2o.kr</b></span></div>
|
||||
</div>
|
||||
|
||||
<h2><span class="n">01</span>요약 판정</h2>
|
||||
<p class="lead">{esc(NARR["lead"])}</p>
|
||||
{kpi_row()}
|
||||
<div class="findings">{findings}</div>
|
||||
<div class="prio">먼저 할 일 5가지</div>
|
||||
<ol class="actions">{actions}</ol>
|
||||
|
||||
<h2 class="pb"><span class="n">02</span>진단 범위와 방법</h2>
|
||||
<p class="lead">국문 사이트 진단(2026-08-31 · 09-07)과 같은 기준표를 영문 사이트와 외국인 질문에 적용했습니다.</p>
|
||||
<table class="t"><tbody>{method_rows}</tbody></table>
|
||||
<h4>이번 측정의 한계</h4><ul>{limits}</ul>
|
||||
|
||||
<h2 class="pb"><span class="n">03</span>외국인 질의 실측 결과</h2>
|
||||
<p class="lead">{esc(NARR["qb_lead"])}</p>
|
||||
<h3>3.1 질문군별 언급률</h3>
|
||||
<p>셀 값은 순서대로 뷰성형외과 언급 비율, 답변에서 첫 번째로 등장한 비율, 답변이 viewplasticsurgery.com 페이지를 인용한 비율입니다.</p>
|
||||
{cat_table()}
|
||||
<h3>3.2 답변에 등장한 병원</h3>
|
||||
<p>{esc(NARR["clinic_text"])}</p>
|
||||
{clinic_table()}
|
||||
<h3>3.3 AI가 근거로 쓴 표면</h3>
|
||||
<p>{esc(NARR["domain_text"])}</p>
|
||||
{domain_table()}
|
||||
<h4>인용된 자사 페이지</h4>
|
||||
{own_url_table()}
|
||||
<h3>3.4 답변 감성</h3>
|
||||
{sentiment_block()}
|
||||
<h3>3.5 답변 사례</h3>
|
||||
{quote_cards(NARR["quote_ids"])}
|
||||
|
||||
<h2 class="pb"><span class="n">04</span>AEO 답변 준비도 <span class="grade {grade_cls(aeo['grade'])}" style="font-size:18px">{aeo['score']} · {aeo['grade']}</span></h2>
|
||||
<p class="lead">고객의 질문에 얼마나 명확하고 충분하게 답하는가. 8항목 100점.</p>
|
||||
{v2_table(aeo)}
|
||||
<div class="note">{esc(NARR["aeo_note"])}</div>
|
||||
|
||||
<h2 class="pb"><span class="n">05</span>GEO 출처 준비도 <span class="grade {grade_cls(geo['grade'])}" style="font-size:18px">{geo['score']} · {geo['grade']}</span></h2>
|
||||
<p class="lead">그 답을 얼마나 검증하고 신뢰할 수 있는 출처로 사용할 수 있는가. 8항목 100점.</p>
|
||||
{v2_table(geo)}
|
||||
<div class="note">{esc(NARR["geo_note"])}</div>
|
||||
|
||||
<h2 class="pb"><span class="n">06</span>게이트와 부가 지표</h2>
|
||||
<p class="lead">게이트 G1(AI 크롤러 접근) · G2(본문 렌더링) 모두 통과. 상한 적용 없음.</p>
|
||||
<table class="t"><thead><tr><th>지표</th><th>레벨</th><th>실측</th></tr></thead><tbody>{aux_rows}</tbody></table>
|
||||
|
||||
<h2 class="pb"><span class="n">07</span>국문 사이트와의 비교</h2>
|
||||
<p class="lead">{esc(NARR["compare_lead"])}</p>
|
||||
<div class="kpis" style="grid-template-columns:repeat(3,1fr)">
|
||||
<div class="kpi"><div class="lab">v1.0 종합</div><div class="val">{KR_BASE['v1']} <small style="font-size:18px;color:#64748B">→</small> {v1['score']}</div><div class="sub">국문 C → 영문 {v1['grade']}</div></div>
|
||||
<div class="kpi"><div class="lab">AEO 답변 준비도</div><div class="val">{KR_BASE['aeo']} <small style="font-size:18px;color:#64748B">→</small> {aeo['score']}</div><div class="sub">국문 C → 영문 {aeo['grade']}</div></div>
|
||||
<div class="kpi"><div class="lab">GEO 출처 준비도</div><div class="val">{KR_BASE['geo']} <small style="font-size:18px;color:#64748B">→</small> {geo['score']}</div><div class="sub">국문 C → 영문 {geo['grade']}</div></div>
|
||||
</div>
|
||||
{compare_table()}
|
||||
|
||||
<h2 class="pb"><span class="n">08</span>개선 로드맵</h2>
|
||||
<p class="lead">{esc(NARR["roadmap_lead"])}</p>
|
||||
{roadmap()}
|
||||
|
||||
<h2><span class="n">09</span>측정 계획과 KPI</h2>
|
||||
<p class="lead">개선 전후를 같은 60문항 · 같은 두 엔진으로 월 1회 재실측합니다.</p>
|
||||
<table class="t"><thead><tr><th>지표</th><th>현재 (2026-09-10)</th><th>90일 목표</th><th>측정 방법</th></tr></thead><tbody>{kpi_rows}</tbody></table>
|
||||
|
||||
<h2 class="pb"><span class="n">A</span>부록 A · 60문항 실측표</h2>
|
||||
<p class="lead">O = 뷰성형외과 언급, 숫자 = 답변 내 등장 순위. 감성은 후처리 모델 1차 분류.</p>
|
||||
{appendix_questions()}
|
||||
|
||||
<h2 class="pb"><span class="n">B</span>부록 B · v1.0 36항목 판정</h2>
|
||||
<p class="lead">자동 채점 20항목 + 사람 보정 10항목 + 미검증 6항목. 미검증은 분모에서 제외합니다.</p>
|
||||
{v1_table()}
|
||||
|
||||
<div class="footer">INFINITH AI Discovery · 뷰성형외과 영문 사이트 진단 · {DATE} · 이 점수는 INFINITH 제품용 진단 기준이며 검색엔진의 공식 점수나 인용 확률이 아닙니다 · 문의 o2oteam@o2o.kr</div>
|
||||
</div>"""
|
||||
head = f"""<!DOCTYPE html><html lang="ko"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>뷰성형외과 영문 사이트 AEO · GEO 진단 보고서 {DATE}</title>
|
||||
<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;600;700;800&family=Playfair+Display:wght@400;700;800&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css">
|
||||
<style>{CSS}</style></head><body>"""
|
||||
return head + body + "</body></html>"
|
||||
|
||||
|
||||
def to_pdf(html_path, pdf_path):
|
||||
from playwright.sync_api import sync_playwright
|
||||
with sync_playwright() as p:
|
||||
b = p.chromium.launch()
|
||||
pg = b.new_page()
|
||||
pg.goto("file://" + html_path, wait_until="networkidle")
|
||||
pg.wait_for_timeout(1200)
|
||||
pg.emulate_media(media="print")
|
||||
pg.pdf(path=pdf_path, format="A4", print_background=True, prefer_css_page_size=True)
|
||||
b.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
out_html = OUT_BASE + ".html"
|
||||
open(out_html, "w", encoding="utf-8").write(render())
|
||||
print("HTML:", out_html)
|
||||
if "--no-pdf" not in sys.argv:
|
||||
to_pdf(out_html, OUT_BASE + ".pdf")
|
||||
print("PDF:", OUT_BASE + ".pdf")
|
||||
@ -1,421 +0,0 @@
|
||||
{
|
||||
"lead": "영문 사이트는 국문 사이트보다 답변·출처 준비도가 모두 높습니다(AEO 65 · GEO 72, 둘 다 B). 외국인이 병원 이름을 알고 묻는 질문에는 두 엔진 모두 100% 답하지만, 병원을 모르는 상태의 시술·가격 질문에서는 언급률이 0~21%에 그칩니다. 원인은 콘텐츠 부족이 아니라 인용된 문단에 상호가 없어서입니다.",
|
||||
"findings": [
|
||||
[
|
||||
"이름을 알면 100%, 모르면 0~21%",
|
||||
"브랜드(A)·이동·체류(B) 질문군은 두 엔진 모두 뷰성형외과를 1순위로 답하고 viewplasticsurgery.com을 직접 인용합니다. 반면 시술 정보(D)는 Perplexity 14% · OpenAI 21%, 가격(E)은 두 엔진 모두 0%입니다. 외국인 환자 여정에서 가장 긴 구간이 비어 있습니다."
|
||||
],
|
||||
[
|
||||
"인용은 되는데 이름이 안 나오는 문항 8개",
|
||||
"Perplexity는 가격 질문(E-01 가슴성형 비용, E-02 V-line 비용)과 시술 질문(D-01·D-04·D-05·D-10)에서 뷰 블로그·시술 페이지를 출처로 썼지만 답변에 'VIEW'가 한 번도 등장하지 않았습니다. 인용된 문단이 'The cost of V-line surgery in Seoul ranges…'처럼 상호 없이 쓰여 있어 AI가 수치만 가져가고 병원 이름은 남기지 않습니다."
|
||||
],
|
||||
[
|
||||
"추천 질문의 경쟁 구도: JK · ID · Banobagi",
|
||||
"'Best plastic surgery clinic in Seoul for foreigners' 류 추천 질문(C)에서 뷰는 Perplexity 9/12, OpenAI 6/12에 등장했지만 1순위는 드뭅니다. JK Plastic Surgery(KAHF 인증 4회 연속), ID Hospital, Banobagi가 상위를 차지하고, 그 근거는 유치 에이전시·중개 플랫폼의 영문 가이드 글입니다."
|
||||
],
|
||||
[
|
||||
"AI가 근거로 쓰는 표면은 Reddit · Bookimed · 에이전시 가이드",
|
||||
"두 엔진 합산 인용 도메인 1위는 viewplasticsurgery.com(54문항), 2위는 reddit.com(49문항)입니다. 그다음이 us-uk.bookimed.com · clinicsoncall.com · koreaclinicguide.com · clinicseoul.net · unni.app 같은 중개·가이드 표면입니다. 강남언니 국문 페이지는 60문항 어디에도 인용되지 않았습니다."
|
||||
],
|
||||
[
|
||||
"엔티티 스키마 0, hreflang은 리다이렉트 URL",
|
||||
"홈 JSON-LD가 병원을 Person 타입으로 선언하고 MedicalClinic·Physician 스키마와 sameAs가 없습니다(GEO4 6.3/15). 10개 언어 hreflang은 갖췄지만 8개 언어 서브도메인이 경로 URL로 301 하고, origin.·olden. 서브도메인이 전체 사이트를 색인 가능 상태로 서빙해 AI 인용 URL이 분산됩니다."
|
||||
],
|
||||
[
|
||||
"부정 답변 1건: 공정위 후기 광고 시정명령",
|
||||
"'Are there red flags about VIEW Plastic Surgery'(F-05) 질문에 Perplexity는 국문 사이트 후기 광고에 대한 2026-07 공정위 시정명령을 첫 문장으로 답했습니다. 영문 Real Review 섹션도 같은 구조(대가 고지 없음)라 GEO7 발행 투명성 항목의 감점 요인입니다."
|
||||
]
|
||||
],
|
||||
"top_actions": [
|
||||
"시술 페이지·블로그 가격 가이드의 첫 문단과 표 캡션에 'At VIEW Plastic Surgery in Gangnam, Seoul' 형태로 상호·지역을 넣습니다. 인용은 되는데 이름이 안 나오는 8문항이 바로 대상입니다.",
|
||||
"MedicalClinic + Physician JSON-LD를 추가하고 Person 타입을 Organization/MedicalClinic으로 바꾸며 sameAs에 Instagram·TikTok·YouTube·Google 프로필·Bookimed·RealSelf·unni.app을 연결합니다.",
|
||||
"시술 페이지 상단에 결정 정보 블록(USD 가격대 · 수술 시간 · 입원 · 권장 체류일 · 귀국 가능일)을 표로 두고 블로그 가격 가이드와 상호 링크합니다. 가격(E)·시술(D) 질문군 0~21%의 직접 대응입니다.",
|
||||
"FAQ 402문항에 FAQPage 스키마를 붙이고 카테고리별 URL로 나눕니다. 전 페이지 동일 H1('korea plastic surgery')을 페이지별 서술형 H1으로 교체합니다.",
|
||||
"origin.·olden. 서브도메인을 www로 301 하고 언어 서브도메인 hreflang을 최종 URL로 통일합니다. 후기·전후 섹션에 대가 제공 여부와 개인차 고지를 넣어 정보 페이지와 분리합니다."
|
||||
],
|
||||
"method": [
|
||||
[
|
||||
"진단 대상",
|
||||
"https://www.viewplasticsurgery.com (en-US, x-default). 홈 · About · 의료진 · 컨시어지 · 오시는길 · 안전 · 수상 · FAQ · 가슴(Motiva) · 코 · 윤곽 · 블로그 목록 · 블로그 글 1건 등 13개 페이지를 JS 미실행 HTML로 수집"
|
||||
],
|
||||
[
|
||||
"자동 채점",
|
||||
"scripts/audit_aeo_geo.py (기준표 v1.0 36항목 중 자동 20항목). AI 봇 12종 UA 접근, sitemap, JSON-LD, hreflang, H1/H2, FAQ, 표, alt, TTFB 실측"
|
||||
],
|
||||
[
|
||||
"사람 판정",
|
||||
"C1 정의문 · C4 수치 · C7 전문성 · C8 자기완결성 · B4/B7 · D1~D4 · E4 · F2 (10항목) + v2.0 사람 판정 4항목(AEO6 · GEO1 · GEO6 · GEO7). 근거는 각 표에 기재"
|
||||
],
|
||||
[
|
||||
"질문 뱅크",
|
||||
"외국인 환자 관점 영문 60문항 · 7군 (브랜드 8 · 이동·체류 8 · 추천·비교 12 · 시술 14 · 가격 8 · 안전·신뢰 6 · 사후관리 4). 국문 120문항 뱅크와 같은 퍼널 구조"
|
||||
],
|
||||
[
|
||||
"답변엔진",
|
||||
"Perplexity API sonar (자체 웹검색) · OpenAI Responses API gpt-4o + web_search (사용자 위치 미국 뉴욕). 소비자 ChatGPT UI 자동 조회는 약관 위반이라 쓰지 않음. 각 문항 1회 질의, 2026-09-10"
|
||||
],
|
||||
[
|
||||
"후처리",
|
||||
"답변에서 병원명 최대 8개를 등장 순서로 추출(gpt-4o-mini). VIEW Plastic Surgery · View Clinic · VIEW Seoul 등 표기 변형을 같은 병원으로 정규화. 감성은 긍정·중립·부정 1차 분류"
|
||||
],
|
||||
[
|
||||
"점수 산식",
|
||||
"v2.0: 항목 점수 = 파생 신호(v1.0 레벨 0~3) 가중 평균 × 배점, 사람 판정 우선, 미검증은 분모 제외. 게이트 실패 시 상한 40. 등급 A 81+ · B 61–80 · C 41–60 · D 40 이하"
|
||||
]
|
||||
],
|
||||
"limits": [
|
||||
"질의는 문항당 1회입니다. 답변엔진은 같은 질문에도 매번 다른 병원을 고를 수 있어 5회 반복 평균이 정식 기준선입니다.",
|
||||
"OpenAI gpt-4o는 60문항 중 23문항에서 웹검색을 실행하지 않고 모델 기억으로 답했습니다(시술·가격 일반 질문 대부분). 이 문항의 미언급은 사이트 문제가 아니라 모델 기억에 뷰가 없다는 뜻입니다.",
|
||||
"Google 비즈니스 프로필은 2026-08-31 실측값(4.9점 · 리뷰 901건)을 인용했습니다. 이번에는 Places API 키가 없어 재실측하지 못했습니다.",
|
||||
"Bing 색인(A6), 서버 로그(E1), GA4(E2), GSC(E3)는 소유자 계정이 필요해 미검증입니다.",
|
||||
"감성 분류는 후처리 모델의 1차 판정이며 감성 기준표 v0.3의 사람 검토 전 값입니다."
|
||||
],
|
||||
"qb_lead": "Perplexity는 60문항 중 30문항(50%), OpenAI 웹검색은 27문항(45%)에서 뷰성형외과를 언급했습니다. 국문 120문항 실측(2026-09-01, Perplexity 32% · OpenAI 37%)보다 높지만, 상승분은 전부 병원 이름이 들어간 질문에서 나왔습니다.",
|
||||
"cat_interp": {
|
||||
"A": "두 엔진 모두 전 문항 1순위. 자사 사이트·에이전시 블로그·정부 의료관광 페이지가 근거",
|
||||
"B": "공항 픽업·숙박·WhatsApp 상담은 컨시어지 페이지가 직접 인용됨. 미언급 2문항은 비자·체류기간 일반 질문",
|
||||
"C": "Perplexity는 9/12 언급하나 1순위는 4건. OpenAI는 절반. JK·ID·Banobagi가 상위, 근거는 제3자 가이드 글",
|
||||
"D": "병원 이름이 들어간 D-11·D-12만 언급. 나머지 12문항은 뷰 페이지가 인용돼도 이름이 안 나옴",
|
||||
"E": "두 엔진 모두 0. Perplexity는 뷰 블로그 가격 가이드를 2문항에서 인용했으나 상호 없이 수치만 사용. OpenAI는 가격 질문 대부분을 검색 없이 답변",
|
||||
"F": "마취과 전문의(F-02)·보증(F-06)은 언급. 안전 일반론(F-01·F-03·F-04)은 미언급. F-05는 공정위 시정명령이 첫 문장",
|
||||
"G": "병원 이름이 있는 G-02·G-04만 언급. 원격 팔로업 일반 질문(G-01)에서 Perplexity 4순위"
|
||||
},
|
||||
"clinic_text": "두 엔진을 합쳐 뷰성형외과는 57문항에서 언급됐고 그중 40문항이 1순위입니다. 그러나 1순위는 대부분 브랜드·체류 질문입니다. 병원을 고르는 추천·비교 질문에서는 JK Plastic Surgery, ID Hospital, Banobagi, AB Plastic Surgery, SAERO가 반복 등장합니다.",
|
||||
"domain_text": "인용 도메인은 세 층으로 나뉩니다. 자사 사이트(viewplasticsurgery.com 54문항), 커뮤니티(reddit.com 49문항), 그리고 중개·가이드 표면(Bookimed · clinicsoncall · koreaclinicguide · clinicseoul.net · unni.app · khunkim.com)입니다. 강남언니 국문 페이지와 네이버는 한 번도 인용되지 않았습니다. 외국인 대상 GEO는 이 세 층에 원문을 두는 일입니다.",
|
||||
"quote_ids": [
|
||||
[
|
||||
"E-02",
|
||||
"perplexity"
|
||||
],
|
||||
[
|
||||
"C-01",
|
||||
"perplexity"
|
||||
],
|
||||
[
|
||||
"C-02",
|
||||
"openai"
|
||||
],
|
||||
[
|
||||
"F-05",
|
||||
"perplexity"
|
||||
],
|
||||
[
|
||||
"D-11",
|
||||
"openai"
|
||||
],
|
||||
[
|
||||
"E-05",
|
||||
"openai"
|
||||
]
|
||||
],
|
||||
"aeo_note": "AEO 65점의 감점은 AEO2 답변의 직접성(6.7/20)과 AEO4 의사결정 정보(9/15)에 집중됩니다. 정의문이 메타 설명에만 있고 본문은 슬로건으로 시작하며, 시술 페이지에 가격·시간·회복 수치가 없습니다. 이 두 항목이 그대로 시술(D)·가격(E) 질문군의 0~21%로 나타납니다.",
|
||||
"geo_note": "GEO 72점의 감점은 GEO4 엔티티 정합성(6.3/15)과 GEO3 전문성 스키마(9/15)입니다. 의료진 자격·논문은 텍스트로 충분하지만 Physician 스키마가 없고, 병원 자체가 Person 타입으로 선언돼 있습니다. GEO7 투명성(6.7/10)은 후기·전후 섹션의 대가 고지 부재가 원인이며 F-05 답변에서 실제 감점으로 확인됩니다.",
|
||||
"v2_evidence": {
|
||||
"AEO1": "FAQ 페이지에 402문항이 서버 렌더링(카테고리 11개). 시술 페이지 하단에도 FAQ 5문항. FAQPage 스키마는 블로그 글에만 있고 FAQ 페이지에는 없음. 질문 뱅크 대비 A·B군은 사이트가 직접 답하고, D·E군 답은 블로그에 있으나 상호가 없음",
|
||||
"AEO2": "정의문이 About 메타 설명에만 있음('Founded in 2005, VIEW is a premier 19-story medical center in Gangnam, Seoul'). 본문 첫 단락은 슬로건, 시술 페이지 첫 텍스트는 'Let Me In Season 2/3/4/5 Selected Doctors' 홍보 라벨, 홈 첫 200자는 검색창·메뉴",
|
||||
"AEO3": "5개 핵심 페이지 단락 샘플 50개 중 상호 또는 시술명 포함 26개(52%). 상호 'VIEW' 포함은 7개(14%). FAQ 답변과 블로그 가격 문단은 시술명만 있고 상호가 없어 인용돼도 병원 이름이 남지 않음(실측 8문항)",
|
||||
"AEO4": "시술 페이지 본문에 가격·수술시간·회복기간 0회. 수치는 Motiva 보증(재수술 지원 300만원/개)뿐. HTML 표는 10개 존재. 블로그에는 USD 가격표(V-line $7,000–12,000)와 체류 권장일(10–14일)이 있으나 시술 페이지와 연결되지 않음",
|
||||
"AEO5": "전 페이지 H1이 동일하게 'korea plastic surgery'(키워드 라벨). 페이지 고유 제목은 H2·H3. H2 'What would you like to know today?'(검색창)가 모든 페이지에 반복",
|
||||
"AEO7": "JS 미실행 HTML 본문 79,646자 서버 렌더링. 메인 이미지 500개 alt 누락 0%",
|
||||
"AEO8": "sitemap index 10개 · URL 482개 · lastmod 2026-09-09. canonical self 지정. 다만 origin.·olden. 서브도메인이 전체 사이트를 200·index로 서빙(canonical은 www 지정)해 AI 답변이 origin.·olden. URL을 인용함"
|
||||
},
|
||||
"aux": [
|
||||
[
|
||||
"A6 Bing 색인 (ChatGPT 검색 경로)",
|
||||
"unverified",
|
||||
"Bing 검색 결과 페이지가 스크립트 렌더링이라 curl로 확인 불가. Bing Webmaster Tools 등록 여부는 소유자 확인 필요"
|
||||
],
|
||||
[
|
||||
"A7 응답 속도·크롤 예산",
|
||||
2,
|
||||
"TTFB 0.87s · 초기 HTML 587KB · 시술 페이지 212KB. 속도 양호, HTML 비대"
|
||||
],
|
||||
[
|
||||
"B7 다국어 hreflang",
|
||||
2,
|
||||
"10개 언어(en-US · zh-CN · th · ja · vi · ru · id · mn · es · ar) 양방향 선언. th·jp·vn·ru·id·mn·es·ar 8개 서브도메인은 viewplasticsurgery.com/{lang}/ 로 301. cn은 en-US 대신 en 선언"
|
||||
],
|
||||
[
|
||||
"D3 오픈웹 언급 (해외)",
|
||||
2,
|
||||
"에이전시 블로그(khunkim · clinicsoncall · curemeabroad · kmhglobal), 정부 표면(visitkorea · 강남구 의료관광), Reddit · Purseblog 포럼, LinkedIn에 분산. 영어권 주요 언론 기사·Wikipedia 없음"
|
||||
],
|
||||
[
|
||||
"D5 네이버 플레이스",
|
||||
"unverified",
|
||||
"외국인 질의 60문항에서 네이버 표면 인용 0건. 외국인 관점에서는 채점 대상 아님"
|
||||
],
|
||||
[
|
||||
"E1 AI 크롤러 로그",
|
||||
"unverified",
|
||||
"서버 로그 접근 필요. Perplexity가 60문항 중 38문항에서 자사 URL을 인용했으므로 PerplexityBot 히트는 존재할 것으로 추정"
|
||||
],
|
||||
[
|
||||
"E2 GA4 AI 유입 채널",
|
||||
"unverified",
|
||||
"GA4 접근 필요. chatgpt.com · perplexity.ai · copilot 리퍼러 채널 그룹 설정 여부 미확인"
|
||||
],
|
||||
[
|
||||
"E3 GSC AI Overviews",
|
||||
"unverified",
|
||||
"GSC 접근 필요"
|
||||
],
|
||||
[
|
||||
"E4 기준선 스팟체크",
|
||||
2,
|
||||
"60문항 × 2엔진 × 1회 실측 완료(이 보고서). 5회 반복 미실시"
|
||||
],
|
||||
[
|
||||
"F2 CMS 보안·최신성",
|
||||
2,
|
||||
"WordPress 7.1(최신 계열). meta generator로 버전 노출"
|
||||
],
|
||||
[
|
||||
"F3 페이지 무게",
|
||||
2,
|
||||
"초기 HTML 587KB(300~800KB 구간)"
|
||||
],
|
||||
[
|
||||
"F4 모바일 대응",
|
||||
2,
|
||||
"viewport 존재 · 반응형. Core Web Vitals 미측정"
|
||||
]
|
||||
],
|
||||
"compare_lead": "같은 병원의 두 사이트를 같은 기준표로 채점했습니다. 영문 사이트가 세 점수 모두 한 등급 높고, 질문 뱅크 언급률도 13~18%p 높습니다. 차이는 콘텐츠 양(FAQ 402건 · 블로그 주 1회 이상 발행 · 의료진 논문 목록)에서 나왔고, 남은 감점 원인(정의문 · 수치 · 스키마 · 상호 없는 문단)은 두 사이트가 같습니다.",
|
||||
"compare_rows": [
|
||||
[
|
||||
"v1.0 종합",
|
||||
"54 / C (검증 32/36)",
|
||||
"64 / B (검증 31/36)",
|
||||
"+10"
|
||||
],
|
||||
[
|
||||
"AEO 답변 준비도",
|
||||
"42 / C",
|
||||
"65 / B",
|
||||
"+23"
|
||||
],
|
||||
[
|
||||
"GEO 출처 준비도",
|
||||
"56 / C",
|
||||
"72 / B",
|
||||
"+16"
|
||||
],
|
||||
[
|
||||
"질문 뱅크 언급률",
|
||||
"120문항 · Perplexity 32% · OpenAI 37% (09-01)",
|
||||
"60문항 · Perplexity 50% · OpenAI 45% (09-10)",
|
||||
"+18p / +8p"
|
||||
],
|
||||
[
|
||||
"C1 정의문",
|
||||
"없음 (0)",
|
||||
"메타 설명에만 (1)",
|
||||
"본문 정의문은 둘 다 없음"
|
||||
],
|
||||
[
|
||||
"C2 FAQ",
|
||||
"재검증 후 2",
|
||||
"FAQ 페이지 402문항 · 시술별 5문항 (2)",
|
||||
"영문이 양은 많으나 FAQPage 스키마는 블로그에만"
|
||||
],
|
||||
[
|
||||
"C3 H1",
|
||||
"'VIEW SELFIE' 등 영문 라벨 (0)",
|
||||
"전 페이지 동일 'korea plastic surgery' (2)",
|
||||
"둘 다 페이지별 서술형 H1 없음"
|
||||
],
|
||||
[
|
||||
"C4 · C5 수치와 표",
|
||||
"C4=2 · C5=0",
|
||||
"C4=1 · C5=3",
|
||||
"영문은 수치가 블로그에, 표는 시술 페이지에 따로 있음"
|
||||
],
|
||||
[
|
||||
"C6 신선도",
|
||||
"블로그 2024-05-31 이후 정지 (재검증 후 3)",
|
||||
"블로그 2026-09-09 발행 · sitemap lastmod 당일 (2)",
|
||||
"영문은 갱신 활발, dateModified 마크업은 둘 다 없음"
|
||||
],
|
||||
[
|
||||
"C7 전문성",
|
||||
"2",
|
||||
"학위 · 전문의 · 학회 · 논문 목록 텍스트 (3)",
|
||||
"영문 의료진 상세가 더 충실"
|
||||
],
|
||||
[
|
||||
"B2 · B3 스키마",
|
||||
"B2=1 · B3=0",
|
||||
"B2=0 · B3=0 (Person 타입 오선언)",
|
||||
"둘 다 MedicalClinic · Physician 없음"
|
||||
],
|
||||
[
|
||||
"B7 hreflang",
|
||||
"없음",
|
||||
"10개 언어 (2)",
|
||||
"영문만 다국어 연결, 대상 URL 정리 필요"
|
||||
],
|
||||
[
|
||||
"GEO7 투명성",
|
||||
"3.3 / 10 (공정위 시정명령)",
|
||||
"6.7 / 10",
|
||||
"영문 Real Review도 대가 고지 없음, F-05 답변에 노출"
|
||||
]
|
||||
],
|
||||
"roadmap_lead": "우선순위는 실측에서 확인된 감점 순서입니다. 즉시 조치는 개발 작업 없이 텍스트·스키마 수정으로 끝나고, 30일 조치는 시술 페이지 콘텐츠 블록, 90일 조치는 외부 표면과 측정 인프라입니다.",
|
||||
"roadmap": [
|
||||
[
|
||||
"즉시 (0–2주) · 텍스트와 스키마",
|
||||
"crit",
|
||||
[
|
||||
[
|
||||
"시술 페이지·블로그 가격 가이드의 첫 문단과 표 캡션에 'At VIEW Plastic Surgery in Gangnam, Seoul, …' 형태로 상호·지역 삽입. FAQ 답변 첫 문장에도 'At VIEW' 추가",
|
||||
"AEO3 · C8 / D·E군 8문항",
|
||||
"인용은 되는데 이름이 안 나오는 8문항이 언급으로 전환. 답변 단위 자기완결성 52% → 80%"
|
||||
],
|
||||
[
|
||||
"JSON-LD: Person → MedicalClinic(+Organization)으로 교체, name · address · telephone · openingHours · medicalSpecialty · availableLanguage(10개) 기재. 의료진 26명 Physician 스키마(자격 · 소속 · sameAs)",
|
||||
"GEO3 · GEO4 / B2 · B3 · B5",
|
||||
"엔티티 정합성 6.3 → 12/15. 의료진 질문(A-04 · A-05 · F-02) 근거가 스키마로 확정"
|
||||
],
|
||||
[
|
||||
"sameAs 채우기: Instagram · TikTok · YouTube · Facebook · Google 비즈니스 프로필 · Bookimed · RealSelf · unni.app · LinkedIn",
|
||||
"GEO4 / B5",
|
||||
"AI가 표면 간 동일 병원임을 확인. Reddit · Bookimed 인용이 뷰 엔티티로 연결"
|
||||
],
|
||||
[
|
||||
"FAQ 페이지 402문항에 FAQPage 스키마 부여, 카테고리별 URL(/faq/breast/ 등 11개)로 분할",
|
||||
"AEO1 / C2",
|
||||
"질문 수요 충족 13.3 → 20/20. 시술 질문(D) 인용 페이지 확보"
|
||||
],
|
||||
[
|
||||
"H1을 페이지별 서술형으로 교체('Motiva Breast Augmentation in Seoul at VIEW Plastic Surgery'). 검색창 H2 제거",
|
||||
"AEO5 / C3",
|
||||
"제목 계층 6.7 → 10/10"
|
||||
],
|
||||
[
|
||||
"origin.·olden. 서브도메인 → www 301. 언어 서브도메인 8개의 hreflang을 최종 URL(/th/ 등)로 통일, cn hreflang en-US로 정정",
|
||||
"AEO8 · B7",
|
||||
"인용 URL 분산 해소, 다국어 신호 정합"
|
||||
],
|
||||
[
|
||||
"메타 설명 오류 정정: 가슴 페이지 'No.1 Motiva usage in 2013' → 2023. 제목의 'Best' · 'No.1 Trusted' 표현은 근거 있는 표현으로 교체",
|
||||
"GEO1",
|
||||
"주장·근거 일치 13.3 → 16/20"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
"30일 · 시술 페이지 결정 정보",
|
||||
"warn",
|
||||
[
|
||||
[
|
||||
"시술 페이지 상단에 정의문 + 결정 정보 블록: USD 가격대 · 수술 시간 · 마취 · 입원 · 권장 체류일 · 귀국 가능일 · 실밥 제거일을 표로. 부위별 8개 시술군 우선",
|
||||
"AEO2 · AEO4 / C1 · C4 / D·E군",
|
||||
"시술(D) 14~21% · 가격(E) 0% 구간의 직접 대응. 답변 직접성 6.7 → 16/20"
|
||||
],
|
||||
[
|
||||
"블로그 가격 가이드(가슴 · V-line · 코 · 양악 · 눈)와 시술 페이지 상호 링크. 표는 시술 페이지에 요약 이식",
|
||||
"AEO4 / C4 · C5",
|
||||
"의사결정 정보 9 → 13/15"
|
||||
],
|
||||
[
|
||||
"'귀국 후 합병증 대응 · 원격 팔로업' 전용 페이지: 절차 · 연락 채널 · 응답 시간 · 현지 협력 · Motiva 보증 청구 방법",
|
||||
"F-03 · G-01 · G-04",
|
||||
"안전(F) · 사후관리(G) 질문군에서 인용 원문 확보"
|
||||
],
|
||||
[
|
||||
"수상·인증 페이지에 주최 · 연도 · 원문 링크 명시(법무부 우수 유치기관 2018–2026, Motiva KOL, 서울시 표창)",
|
||||
"GEO1 / C-10",
|
||||
"정부 인증 질문(C-10)에서 1순위 유지, 주장 근거 일치 향상"
|
||||
],
|
||||
[
|
||||
"후기 · 전후 · 'Let Me In' 홍보를 정보 페이지와 분리. 후기에 대가 제공 여부 · 개인차 고지 첫 부분에 표기",
|
||||
"GEO7",
|
||||
"F-05 부정 답변의 맥락 제공. 발행 투명성 6.7 → 10/10"
|
||||
],
|
||||
[
|
||||
"dateModified · author · reviewedBy를 시술 페이지와 블로그 글에 마크업. 의료진 검토 표기",
|
||||
"GEO5 · GEO8",
|
||||
"최신성 6.7 → 10/10"
|
||||
]
|
||||
]
|
||||
],
|
||||
[
|
||||
"90일 · 외부 표면과 측정",
|
||||
"info",
|
||||
[
|
||||
[
|
||||
"Google 비즈니스 프로필: 전화번호 등록, 영문 리뷰 응답, 컨시어지 서비스 속성 기재",
|
||||
"D2 · D4",
|
||||
"위치·연락처 질문(B) 오답 위험 제거"
|
||||
],
|
||||
[
|
||||
"Bookimed · RealSelf · unni.app 프로필 갱신(의료진 · 시술 · 가격대 · 언어). Reddit r/PlasticSurgery · r/korea 질문에 공식 계정으로 사실 답변",
|
||||
"D1 · D3",
|
||||
"reddit.com 49문항 · Bookimed 32문항 인용 표면에 뷰 원문 배치. 추천 질문(C) 1순위 비율 상승"
|
||||
],
|
||||
[
|
||||
"Bing Webmaster Tools 등록 + IndexNow. GSC · GA4 AI 유입 채널 그룹 설정, 서버 로그 AI 크롤러 IP 검증",
|
||||
"A6 · E1 · E2 · E3",
|
||||
"ChatGPT 검색 경로 확보, 소유 신호로 월간 측정"
|
||||
],
|
||||
[
|
||||
"60문항 × 2엔진 × 5회 반복 월간 재실측. 질문 뱅크에 일본어 · 중국어 · 태국어 각 60문항 추가(hreflang 언어 순)",
|
||||
"E4",
|
||||
"개선 전후 비교 기준선. 언어별 언급률 관리"
|
||||
]
|
||||
]
|
||||
]
|
||||
],
|
||||
"kpi_plan": [
|
||||
[
|
||||
"60문항 언급률",
|
||||
"Perplexity 50% · OpenAI 45%",
|
||||
"Perplexity 65% · OpenAI 60%",
|
||||
"월 1회 60문항 × 2엔진 × 5회 반복"
|
||||
],
|
||||
[
|
||||
"시술(D) · 가격(E) 언급률",
|
||||
"D 14~21% · E 0%",
|
||||
"D 40% · E 30%",
|
||||
"같은 실측의 질문군별 집계"
|
||||
],
|
||||
[
|
||||
"인용됐지만 미언급 문항",
|
||||
"Perplexity 8문항",
|
||||
"0문항",
|
||||
"자사 URL 인용 여부와 상호 등장 여부 교차 집계"
|
||||
],
|
||||
[
|
||||
"자사 사이트 인용률",
|
||||
"Perplexity 63% · OpenAI 30%",
|
||||
"Perplexity 75% · OpenAI 45%",
|
||||
"인용 URL 도메인 집계"
|
||||
],
|
||||
[
|
||||
"추천 질문(C) 1순위",
|
||||
"Perplexity 4/12 · OpenAI 1/12",
|
||||
"각 6/12",
|
||||
"질문군 C 순위 집계"
|
||||
],
|
||||
[
|
||||
"AEO · GEO 점수",
|
||||
"65 · 72 (B · B)",
|
||||
"80 · 85 (A 진입)",
|
||||
"기준표 v2.0 재채점"
|
||||
],
|
||||
[
|
||||
"AI 크롤러 히트",
|
||||
"미측정",
|
||||
"월간 기준선 확보",
|
||||
"서버 로그 UA + IP 역검증"
|
||||
],
|
||||
[
|
||||
"부정 답변",
|
||||
"1문항 (F-05 공정위)",
|
||||
"정정 고지 페이지가 함께 인용",
|
||||
"감성 기준표 v0.3 사람 검토"
|
||||
]
|
||||
]
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,62 +0,0 @@
|
||||
[
|
||||
{"id":"A-01","cat":"A","question":"Is VIEW Plastic Surgery in Seoul legit? Is it a trustworthy clinic for foreigners?","stage":"decision"},
|
||||
{"id":"A-02","cat":"A","question":"Tell me about VIEW Plastic Surgery in Gangnam, Korea. What are they known for?","stage":"decision"},
|
||||
{"id":"A-03","cat":"A","question":"What procedures does VIEW Plastic Surgery Korea specialize in?","stage":"decision"},
|
||||
{"id":"A-04","cat":"A","question":"Who is Dr. Choi Soon Woo of VIEW Plastic Surgery? Is he board certified?","stage":"decision"},
|
||||
{"id":"A-05","cat":"A","question":"How many surgeons does VIEW Plastic Surgery have and are they all board-certified plastic surgeons?","stage":"decision"},
|
||||
{"id":"A-06","cat":"A","question":"Does VIEW Plastic Surgery have English-speaking staff or interpreters?","stage":"decision"},
|
||||
{"id":"A-07","cat":"A","question":"How long has VIEW Plastic Surgery been operating and how big is the clinic?","stage":"decision"},
|
||||
{"id":"A-08","cat":"A","question":"VIEW Plastic Surgery Korea reviews from international patients: what do foreigners say?","stage":"decision"},
|
||||
{"id":"B-01","cat":"B","question":"Where is VIEW Plastic Surgery located and how do I get there from Incheon Airport?","stage":"decision"},
|
||||
{"id":"B-02","cat":"B","question":"Does VIEW Plastic Surgery offer airport pickup for international patients?","stage":"decision"},
|
||||
{"id":"B-03","cat":"B","question":"What are VIEW Plastic Surgery's opening hours and can I book a consultation online from abroad?","stage":"decision"},
|
||||
{"id":"B-04","cat":"B","question":"Can I contact VIEW Plastic Surgery via WhatsApp or LINE for a consultation?","stage":"decision"},
|
||||
{"id":"B-05","cat":"B","question":"Does VIEW Plastic Surgery provide accommodation or hotel partnerships for foreign patients?","stage":"decision"},
|
||||
{"id":"B-06","cat":"B","question":"How long should I stay in Seoul after plastic surgery before flying home?","stage":"explore"},
|
||||
{"id":"B-07","cat":"B","question":"Do I need a medical visa for plastic surgery in Korea as a tourist?","stage":"explore"},
|
||||
{"id":"B-08","cat":"B","question":"Which Gangnam plastic surgery clinics are closest to Sinnonhyeon Station?","stage":"aware"},
|
||||
{"id":"C-01","cat":"C","question":"Best plastic surgery clinic in Seoul for foreigners","stage":"aware"},
|
||||
{"id":"C-02","cat":"C","question":"Best breast augmentation clinic in Korea for international patients","stage":"compare"},
|
||||
{"id":"C-03","cat":"C","question":"Top facial contouring and V-line surgery clinics in Gangnam","stage":"compare"},
|
||||
{"id":"C-04","cat":"C","question":"Best rhinoplasty surgeon in Seoul for foreigners","stage":"compare"},
|
||||
{"id":"C-05","cat":"C","question":"Best double jaw surgery clinic in Korea","stage":"compare"},
|
||||
{"id":"C-06","cat":"C","question":"Top 5 plastic surgery clinics in Gangnam, Seoul","stage":"aware"},
|
||||
{"id":"C-07","cat":"C","question":"Compare VIEW Plastic Surgery vs ID Hospital vs Banobagi for facial contouring","stage":"compare"},
|
||||
{"id":"C-08","cat":"C","question":"Which Korean plastic surgery clinics use Motiva implants and have the most experience with them?","stage":"compare"},
|
||||
{"id":"C-09","cat":"C","question":"Safest plastic surgery clinic in Korea with anesthesiologists on staff","stage":"compare"},
|
||||
{"id":"C-10","cat":"C","question":"Which Seoul plastic surgery clinics are officially recognized for medical tourism by the Korean government?","stage":"compare"},
|
||||
{"id":"C-11","cat":"C","question":"Best clinic in Korea for double eyelid surgery revision for foreigners","stage":"compare"},
|
||||
{"id":"C-12","cat":"C","question":"Large plastic surgery hospitals in Seoul with in-house recovery wards","stage":"compare"},
|
||||
{"id":"D-01","cat":"D","question":"Motiva breast augmentation in Korea: what should I know before booking?","stage":"explore"},
|
||||
{"id":"D-02","cat":"D","question":"What is Motiva Preserve and which clinics in Korea offer it?","stage":"explore"},
|
||||
{"id":"D-03","cat":"D","question":"How long is recovery after breast augmentation in Korea before I can fly?","stage":"explore"},
|
||||
{"id":"D-04","cat":"D","question":"What is the difference between V-line surgery and square jaw reduction?","stage":"explore"},
|
||||
{"id":"D-05","cat":"D","question":"Double jaw surgery in Korea: recovery timeline and risks for international patients","stage":"explore"},
|
||||
{"id":"D-06","cat":"D","question":"Incisional vs non-incisional double eyelid surgery in Korea: which is better?","stage":"explore"},
|
||||
{"id":"D-07","cat":"D","question":"Rhinoplasty in Korea with rib cartilage vs silicone: pros and cons","stage":"explore"},
|
||||
{"id":"D-08","cat":"D","question":"How is revision rhinoplasty done in Korea and how long do I need to stay?","stage":"explore"},
|
||||
{"id":"D-09","cat":"D","question":"Facelift in Korea for a 50-year-old: what techniques are used?","stage":"explore"},
|
||||
{"id":"D-10","cat":"D","question":"Is liposuction in Korea safe and how many days of downtime should I expect?","stage":"explore"},
|
||||
{"id":"D-11","cat":"D","question":"What does VIEW Plastic Surgery's breast surgery process look like from consultation to aftercare?","stage":"decision"},
|
||||
{"id":"D-12","cat":"D","question":"Does VIEW Plastic Surgery do a breast ultrasound or examination before augmentation?","stage":"decision"},
|
||||
{"id":"D-13","cat":"D","question":"Subbrow lift vs upper blepharoplasty: which should I get in Korea?","stage":"explore"},
|
||||
{"id":"D-14","cat":"D","question":"Mini lift vs full facelift in Korea: cost and recovery","stage":"explore"},
|
||||
{"id":"E-01","cat":"E","question":"How much does breast augmentation cost in Korea for foreigners in 2026?","stage":"explore"},
|
||||
{"id":"E-02","cat":"E","question":"V-line surgery cost in Korea 2026","stage":"explore"},
|
||||
{"id":"E-03","cat":"E","question":"How much does double jaw surgery cost in Seoul?","stage":"explore"},
|
||||
{"id":"E-04","cat":"E","question":"Is plastic surgery in Korea cheaper than in the US? How much can I save?","stage":"aware"},
|
||||
{"id":"E-05","cat":"E","question":"VIEW Plastic Surgery price list for international patients","stage":"decision"},
|
||||
{"id":"E-06","cat":"E","question":"What hidden costs should I expect for plastic surgery in Korea as a foreigner?","stage":"explore"},
|
||||
{"id":"E-07","cat":"E","question":"Can foreigners get a tax refund on plastic surgery in Korea?","stage":"explore"},
|
||||
{"id":"E-08","cat":"E","question":"Rhinoplasty cost in Gangnam for foreigners","stage":"explore"},
|
||||
{"id":"F-01","cat":"F","question":"Is plastic surgery in Korea safe for foreigners? What safety standards should I look for?","stage":"aware"},
|
||||
{"id":"F-02","cat":"F","question":"Does VIEW Plastic Surgery have anesthesiologists present during surgery?","stage":"decision"},
|
||||
{"id":"F-03","cat":"F","question":"What happens if I have complications after returning home from plastic surgery in Korea?","stage":"explore"},
|
||||
{"id":"F-04","cat":"F","question":"How do I verify a Korean plastic surgeon is board certified?","stage":"explore"},
|
||||
{"id":"F-05","cat":"F","question":"Are there red flags or complaints about VIEW Plastic Surgery Korea?","stage":"decision"},
|
||||
{"id":"F-06","cat":"F","question":"Which Korean plastic surgery clinics have a Motiva implant warranty?","stage":"compare"},
|
||||
{"id":"G-01","cat":"G","question":"Do Korean plastic surgery clinics offer remote follow-up after I go back to my country?","stage":"explore"},
|
||||
{"id":"G-02","cat":"G","question":"What aftercare does VIEW Plastic Surgery provide for international patients?","stage":"decision"},
|
||||
{"id":"G-03","cat":"G","question":"Where can I get post-surgery swelling care in Gangnam after surgery?","stage":"explore"},
|
||||
{"id":"G-04","cat":"G","question":"What is the Motiva implant warranty if I get surgery in Korea and live abroad?","stage":"explore"}
|
||||
]
|
||||
@ -1,39 +0,0 @@
|
||||
import json,sys,os
|
||||
sys.path.insert(0,'/Users/haewonkam/Claude/Agentic Marketing/INFINITH/scripts')
|
||||
import score_discovery_json as sd
|
||||
S=os.path.dirname(os.path.abspath(__file__))
|
||||
d=json.load(open(f'{S}/audit_en_auto.json'))
|
||||
results={r['criterionId']:dict(r) for r in d['results']}
|
||||
for cid,o in json.load(open(f'{S}/audit_en_overrides.json')).items():
|
||||
results.setdefault(cid,{'criterionId':cid}); results[cid]['level']=o['level']; results[cid]['evidence']='[사람 보정] '+o['evidence']
|
||||
extra=json.load(open(sys.argv[1])) if len(sys.argv)>1 else {}
|
||||
for cid,o in extra.items():
|
||||
results.setdefault(cid,{'criterionId':cid}); results[cid]['level']=o['level']; results[cid]['evidence']='[사람 보정] '+o['evidence']
|
||||
out=sd.score(results,'VIEW EN')
|
||||
# v2 human items
|
||||
human={'AEO6':(3,''),'GEO1':(2,''),'GEO6':(3,''),'GEO7':(2,'')}
|
||||
items,gates=sd.load_rubric_v2()
|
||||
res={}
|
||||
for axis in ('aeo','geo'):
|
||||
ea=pa=0; det=[]
|
||||
for it in items:
|
||||
if it['axis']!=axis: continue
|
||||
if it['id'] in human:
|
||||
pct=human[it['id']][0]/3; basis='judged'
|
||||
else:
|
||||
sig=[(c,w,results[c]['level']) for c,w in it['derivedFrom'] if c in results and results[c]['level']!='unverified']
|
||||
if not sig: det.append((it['id'],it['name'],it['weight'],None,'unverified',[])); continue
|
||||
ws=sum(w for _,w,_ in sig); pct=sum(w*int(l)/3 for _,w,l in sig)/ws; basis='derived'
|
||||
sigs=[f"{c}={l}" for c,w,l in sig]
|
||||
ea+=it['weight']*pct; pa+=it['weight']
|
||||
det.append((it['id'],it['name'],it['weight'],round(it['weight']*pct,1),basis,sigs if basis=='derived' else []))
|
||||
raw=round(ea/pa*100)
|
||||
res[axis]={'score':raw,'grade':sd.grade(raw),'earned':round(ea,1),'possible':pa,'items':det}
|
||||
out['aeo_h']=res['aeo']; out['geo_h']=res['geo']
|
||||
out['results']=results
|
||||
print(f"v1 {out['v1']['score']}/{out['v1']['grade']} ({out['v1']['earned']}/{out['v1']['possible']}, verified {out['v1']['verified']}/36) cats {out['v1']['categories']}")
|
||||
for ax in ('aeo','geo'):
|
||||
r=res[ax]; print(f"{ax.upper()} {r['score']}/{r['grade']} ({r['earned']}/{r['possible']})")
|
||||
for x in r['items']: print(' ',x)
|
||||
print('gates',out['gates'])
|
||||
json.dump(out,open(f'{S}/audit_en_scored.json','w'),ensure_ascii=False,indent=1)
|
||||
@ -1,146 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="ko"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>원진성형외과 AI Answer Readiness Report v2.0</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com"><link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css">
|
||||
<style>
|
||||
:root{--ink:#0A1128;--navy:#021341;--violet:#4F1DA1;--accent:#6C5CE7;--light:#F7F8FC;--slate:#4A5268;--muted:#7A8399;--line:#E3E7F2}
|
||||
*{box-sizing:border-box}body{margin:0;font-family:Pretendard,-apple-system,sans-serif;color:var(--ink);background:#fff;word-break:keep-all;line-height:1.62;font-size:14px}
|
||||
.serif{font-family:'Playfair Display',serif}
|
||||
.page{padding:48px 56px;max-width:1080px;margin:0 auto}
|
||||
.dark{background:var(--ink);color:#fff}.dark .sub,.dark .note{color:#B9C0D4}.light{background:var(--light)}
|
||||
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.24em;color:var(--accent);text-transform:uppercase}.dark .eyebrow{color:#C4B5FD}
|
||||
h1{font-size:44px;line-height:1.1;margin:10px 0 6px;letter-spacing:-.02em}h2{font-size:30px;margin:8px 0 12px;line-height:1.2}h3{font-size:17px;margin:0 0 6px}
|
||||
.accent{background:linear-gradient(90deg,#C4B5FD,#93C5FD);-webkit-background-clip:text;background-clip:text;color:transparent}
|
||||
.lede{font-size:16px;color:var(--slate);max-width:760px}.dark .lede{color:#D6DBEA}
|
||||
.sub{font-size:12.5px;color:var(--muted)}.note{font-size:12.5px;color:var(--muted);margin-top:8px}
|
||||
.badge{display:inline-block;border:1px solid;border-radius:999px;padding:3px 12px;font-size:13px;font-weight:700}
|
||||
.pill{display:inline-block;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:700}.pill.gray{background:#EEF0F6;color:#6B7280}
|
||||
.grid{display:grid;gap:16px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}
|
||||
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;box-shadow:3px 4px 12px rgba(0,0,0,.05)}.dark .card{color:var(--ink)}
|
||||
.rings{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}.ring{display:flex;flex-direction:column;align-items:center;gap:8px}
|
||||
.tbl{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--line)}.tbl th{background:#F1F3FA;text-align:left;padding:9px 11px;font-size:12px;color:var(--slate);border-bottom:1px solid var(--line)}.tbl td{padding:9px 11px;border-bottom:1px solid #EEF0F6;vertical-align:top}.tbl tr:last-child td{border-bottom:0}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--accent);font-weight:700}
|
||||
.lv{display:inline-block;min-width:26px;text-align:center;border-radius:6px;padding:1px 6px;font-weight:700;font-size:12px}.lv3{background:#E9F7EF;color:#2E7D4F}.lv2{background:#EEF3FF;color:#2F4FBF}.lv1{background:#FFF4E5;color:#B26A00}.lv0{background:#FDECEF;color:#B84C5F}.lvu{background:#EEF0F6;color:#6B7280}
|
||||
.find{border-left:5px solid;padding-left:16px}.find .tag{font-size:11.5px;font-weight:700;letter-spacing:.08em}
|
||||
.act .pri{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--accent)}.act .eff{float:right}
|
||||
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi .k{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 16px}.kpi b{font-family:'Playfair Display',serif;font-size:30px;color:#AF90FF;display:block;line-height:1}.kpi span{font-size:12.5px;color:#C7CDE0}
|
||||
a{color:var(--accent)}ul{margin:6px 0 0 18px;padding:0}li{margin:3px 0}
|
||||
footer{padding:28px 56px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}
|
||||
@media print{@page{size:A4;margin:12mm}body{font-size:12.5px}.page{padding:22px 10px;max-width:none}.pb{page-break-before:always}h1{font-size:34px}h2{font-size:24px}.dark{-webkit-print-color-adjust:exact;print-color-adjust:exact}.card,.tbl,.lv,.badge,.pill,.kpi .k{-webkit-print-color-adjust:exact;print-color-adjust:exact}tr,.card{page-break-inside:avoid}}
|
||||
</style></head><body>
|
||||
|
||||
<section class="dark"><div class="page" style="padding-top:64px;padding-bottom:56px">
|
||||
<div class="eyebrow">INFINITH AI Discovery · AEO / GEO Audit v2.0</div>
|
||||
<h1 class="serif"><span class="accent">AI Answer Readiness</span></h1>
|
||||
<div style="font-size:26px;font-weight:700;margin:4px 0 2px">원진성형외과</div>
|
||||
<div class="sub" style="color:#C4B5FD">성형외과 (강남역) · <a href="https://www.k-wonjin.co.kr" style="color:#C4B5FD">https://www.k-wonjin.co.kr</a></div>
|
||||
<p class="lede" style="margin-top:18px">AI 답변엔진(ChatGPT·Perplexity·Gemini·네이버 AI 브리핑)이 이 병원을 얼마나 읽고, 믿고, 인용할 수 있는지를 실측 신호로 채점한 리포트입니다. 답변 준비도(AEO)와 출처 준비도(GEO)를 각각 100점으로 보고, 확인하지 못한 항목은 점수에서 뺍니다.</p>
|
||||
<div style="display:flex;gap:32px;align-items:center;flex-wrap:wrap;margin-top:26px">
|
||||
<div class="card" style="display:flex;gap:26px;padding:22px 30px"><div class="ring"><svg viewBox="0 0 120 120" width="132" height="132"><circle cx="60" cy="60" r="52" fill="none" stroke="#E8ECF7" stroke-width="10"/><circle cx="60" cy="60" r="52" fill="none" stroke="#6C5CE7" stroke-width="10" stroke-linecap="round" stroke-dasharray="326.7" stroke-dashoffset="277.7" transform="rotate(-90 60 60)"/><text x="60" y="66" text-anchor="middle" font-family="Playfair Display, serif" font-weight="700" font-size="30" fill="#0A1128">15</text><text x="60" y="84" text-anchor="middle" font-size="10" fill="#7A8399">/ 100</text></svg><span class="badge" style="background:#FDECEF;color:#B84C5F;border-color:#F7C3CD">AEO 등급 D</span></div><div class="ring"><svg viewBox="0 0 120 120" width="132" height="132"><circle cx="60" cy="60" r="52" fill="none" stroke="#E8ECF7" stroke-width="10"/><circle cx="60" cy="60" r="52" fill="none" stroke="#6C5CE7" stroke-width="10" stroke-linecap="round" stroke-dasharray="326.7" stroke-dashoffset="179.7" transform="rotate(-90 60 60)"/><text x="60" y="66" text-anchor="middle" font-family="Playfair Display, serif" font-weight="700" font-size="30" fill="#0A1128">45</text><text x="60" y="84" text-anchor="middle" font-size="10" fill="#7A8399">/ 100</text></svg><span class="badge" style="background:#FFF4E5;color:#B26A00;border-color:#FFD9A8">GEO 등급 C</span></div></div>
|
||||
<div class="kpi" style="flex:1;min-width:420px">
|
||||
<div class="k"><b>25</b><span>실측 항목 / 36</span></div>
|
||||
<div class="k"><b>49</b><span>v1.0 종합 (C)</span></div>
|
||||
<div class="k"><b>5</b><span>핵심 발견</span></div>
|
||||
<div class="k"><b>6</b><span>실행 항목</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="note" style="margin-top:22px">실측일 2026-09-08 · 리포트 작성 2026-09-08 · 미검증 11개 항목은 분모에서 제외했습니다. 조건은 마지막 장에 적었습니다.</p>
|
||||
</div></section>
|
||||
|
||||
<section class="light pb"><div class="page">
|
||||
<div class="eyebrow">Findings</div><h2>AI가 지금 원진성형외과를 어떻게 읽는지 정리했습니다</h2>
|
||||
<div class="grid g2" style="margin-top:14px">
|
||||
<div class="card find" style="border-left-color:#9B8AD4"><div class="tag" style="color:#9B8AD4">강점</div><h3>크롤러 접근은 열려 있습니다. 서버 렌더링이라 AI가 본문을 읽습니다</h3><p style="margin:0;color:var(--slate)">robots.txt가 AI 검색봇 12종을 모두 허용하고, IIS가 본문을 서버에서 렌더링해 JS 없이도 14,079자를 읽을 수 있습니다. TTFB 0.09초, 초기 HTML 153KB로 가볍습니다. 다만 www 유무에 따라 최종 URL이 갈라지고(정본 미수렴), sitemap이 robots.txt에 선언돼 있지 않습니다.</p></div><div class="card find" style="border-left-color:#D4889A"><div class="tag" style="color:#D4889A">핵심 과제</div><h3>연결은 됐지만 병원 자체가 스키마로 정의돼 있지 않습니다</h3><p style="margin:0;color:var(--slate)">Organization.sameAs 10개로 SNS·지도·버티컬을 잘 묶었고 주소 표기도 한 가지입니다. 그러나 MedicalClinic·Physician 스키마가 없어 주소·전화·진료시간·의료진 17명이 구조화돼 있지 않고, 전화번호는 6종이 섞여 있습니다. 영문 사이트(wonjinbeauty.com)는 hreflang으로 연결되지 않았습니다.</p></div><div class="card find" style="border-left-color:#D4889A"><div class="tag" style="color:#D4889A">핵심 과제</div><h3>인용할 문장이 부족합니다. H1도 표도 정의문도 없습니다</h3><p style="margin:0;color:var(--slate)">메인·시술 페이지에 H1이 없고 HTML 표가 없으며 병원 정의문도 없습니다. 눈매교정(CFS)·트임 페이지에는 수술 시간·마취·실밥·일상 복귀 수치가 텍스트로 있어 인용 구조의 출발점이 될 수 있지만, 쌍꺼풀·눈매교정 나머지 페이지는 수치가 없습니다. 최신 갱신 신호가 2025-02-18(sitemap)로 18개월 전입니다.</p></div><div class="card find" style="border-left-color:#D4A872"><div class="tag" style="color:#D4A872">보완</div><h3>유튜브는 강합니다. 736편·누적 3,113만 회</h3><p style="margin:0;color:var(--slate)">설명형 롱폼(눈성형 관리법·중년 눈성형 비교·지방흡입 QnA 등)이 있어 글의 근거 영상으로 쓸 수 있습니다. 다만 상위 조회 영상의 다수가 브랜드 필름·연예인·전후 형식이라 인용용 정보형 영상은 10편 안팎입니다. 이 채널이 원진의 가장 큰 오픈웹 자산입니다.</p></div><div class="card find" style="border-left-color:#D4A872"><div class="tag" style="color:#D4A872">보완</div><h3>이미지 alt 62% 누락, 의료진 경력은 텍스트지만 구조화는 안 됨</h3><p style="margin:0;color:var(--slate)">메인 이미지 45개 중 28개가 alt 없이 실려 AI가 이미지 내용을 읽지 못합니다. 의료진 17명의 경력은 텍스트로 있어(원장당 12~23줄) Physician 스키마만 붙이면 바로 엔티티가 됩니다. 강남언니·GBP·네이버 플레이스는 이번 자동 채점 범위 밖이라 수동 실측이 남아 있습니다.</p></div>
|
||||
</div>
|
||||
</div></section>
|
||||
|
||||
<section class="pb"><div class="page">
|
||||
<div class="eyebrow">AEO · Answer Readiness</div><h2>답변 준비도 8개 항목</h2>
|
||||
<p class="lede">질문을 고르고, 답을 먼저 쓰고, 한 단락으로 완결하고, 결정에 필요한 정보와 다음 행동까지 닿게 하는가.</p>
|
||||
|
||||
<table class="tbl"><thead><tr><th style="width:52px">항목</th><th>무엇을 보는가</th><th style="width:70px">점수</th><th style="width:72px">근거</th><th>파생된 실측 항목</th></tr></thead><tbody>
|
||||
<tr><td class="mono">AEO1</td><td><b>질문 수요 충족</b><div class="sub">사람들이 실제로 묻는 질문에 답하는 페이지가 있는가</div></td><td><b>0</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">C2 L0</td></tr><tr><td class="mono">AEO2</td><td><b>답변의 직접성</b><div class="sub">페이지 첫 단락에 답이 먼저 나오는가</div></td><td><b>0</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">C1 L0</td></tr><tr><td class="mono">AEO3</td><td><b>답변 단위의 자기완결성</b><div class="sub">한 단락만 떼어내도 누가·어디서·무엇을이 들어 있는가</div></td><td><span class="pill gray">미검증</span></td><td>미검증</td><td class="sub">C8 미검증</td></tr><tr><td class="mono">AEO4</td><td><b>의사결정에 필요한 정보</b><div class="sub">가격대·시간·회복·조건처럼 결정에 쓰는 정보가 텍스트로 있는가</div></td><td><b>40</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">C4 L2 · C5 L0</td></tr><tr><td class="mono">AEO5</td><td><b>정보 구조와 가독성</b><div class="sub">제목이 주제를 서술하고 계층이 논리적인가</div></td><td><b>0</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">C3 L0</td></tr><tr><td class="mono">AEO6</td><td><b>다음 행동의 명확성</b><div class="sub">답을 읽은 사람이 무엇을 하면 되는지(예약·전화·방문) 바로 보이는가</div></td><td><span class="pill gray">미검증</span></td><td>미검증</td><td class="sub"></td></tr><tr><td class="mono">AEO7</td><td><b>핵심 답변의 텍스트 추출</b><div class="sub">답이 이미지가 아니라 텍스트로 존재하고 서버가 렌더하는가</div></td><td><b>60</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">A3 L3 · F1 L0</td></tr><tr><td class="mono">AEO8</td><td><b>사이트 내 답변 발견</b><div class="sub">크롤러가 답이 있는 페이지를 찾아갈 수 있는가</div></td><td><b>47</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">A5 L1 · B6 L2</td></tr>
|
||||
</tbody></table>
|
||||
|
||||
<div class="eyebrow" style="margin-top:34px">GEO · Source Readiness</div><h2>출처 준비도 8개 항목</h2>
|
||||
<p class="lede">주장에 근거가 붙어 있고, 누가 책임지는지 보이고, 병원 사실이 표면마다 같고, 갱신·정정 기록이 있으며, 기계가 인용 식별자를 읽을 수 있는가.</p>
|
||||
|
||||
<table class="tbl"><thead><tr><th style="width:52px">항목</th><th>무엇을 보는가</th><th style="width:70px">점수</th><th style="width:72px">근거</th><th>파생된 실측 항목</th></tr></thead><tbody>
|
||||
<tr><td class="mono">GEO1</td><td><b>주장과 근거의 일치</b><div class="sub">수치·수상·효과 주장마다 근거(원문·출처·조건)가 붙어 있는가</div></td><td><span class="pill gray">미검증</span></td><td>미검증</td><td class="sub"></td></tr><tr><td class="mono">GEO2</td><td><b>출처의 적합성과 추적성</b><div class="sub">인용된 URL이 정본으로 수렴하고 시간이 지나도 같은 곳을 가리키는가</div></td><td><b>33</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">A4 L1</td></tr><tr><td class="mono">GEO3</td><td><b>전문성과 책임 주체</b><div class="sub">누가 썼고 누가 의학적으로 책임지는지 텍스트와 스키마로 보이는가</div></td><td><b>40</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">C7 L2 · B3 L0</td></tr><tr><td class="mono">GEO4</td><td><b>병원 엔티티와 사실의 정합성</b><div class="sub">이 병원이 누구인지 사이트 안과 밖(강남언니·GBP·플레이스)에서 같은 사실로 확정되는가</div></td><td><b>63</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">B2 L1 · B4 L3 · B5 L3 · D1 미검증 · D2 미검증 · D4 미검증 · D5 미검증 · D6 L0</td></tr><tr><td class="mono">GEO5</td><td><b>사실의 최신성과 정정</b><div class="sub">언제 확인한 사실인지 적혀 있고, 틀린 것을 고친 기록이 있는가</div></td><td><b>33</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">C6 L1</td></tr><tr><td class="mono">GEO6</td><td><b>원천 대비 추가 가치</b><div class="sub">다른 곳에 있는 문장을 옮긴 것이 아니라 여기서만 얻는 정보(체크리스트·조건 표·실측)가 있는가</div></td><td><span class="pill gray">미검증</span></td><td>미검증</td><td class="sub"></td></tr><tr><td class="mono">GEO7</td><td><b>발행 관계와 투명성</b><div class="sub">누가 운영하고 누구의 지원을 받는지, 광고와 정보가 구분되는지 밝히는가</div></td><td><span class="pill gray">미검증</span></td><td>미검증</td><td class="sub"></td></tr><tr><td class="mono">GEO8</td><td><b>인용 식별자와 메타데이터 정합성</b><div class="sub">기계가 읽는 식별자(JSON-LD·메타)가 유효하고 화면 내용과 같은가</div></td><td><b>67</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">B1 L2</td></tr>
|
||||
</tbody></table>
|
||||
|
||||
</div></section>
|
||||
|
||||
<section class="pb dark"><div class="page">
|
||||
<div class="eyebrow">Category Detail</div><h2>카테고리별 실측 36개 항목</h2>
|
||||
<div class="grid g3" style="margin-top:12px">
|
||||
<div class="card"><div class="sub">A · Access & Crawlability</div><h3 style="margin-top:2px">AI 크롤러 접근성</h3><div><span class="serif" style="font-size:28px;font-weight:700;color:var(--accent)">80</span><span class="sub"> / 100 · 실측 6/7</span></div></div><div class="card"><div class="sub">B · Entity & Structured Data</div><h3 style="margin-top:2px">엔티티 식별·구조화</h3><div><span class="serif" style="font-size:28px;font-weight:700;color:var(--accent)">50</span><span class="sub"> / 100 · 실측 7/7</span></div></div><div class="card"><div class="sub">C · Answer-Ready Content</div><h3 style="margin-top:2px">답변 인용 가능 콘텐츠</h3><div><span class="serif" style="font-size:28px;font-weight:700;color:var(--accent)">25</span><span class="sub"> / 100 · 실측 7/8</span></div></div><div class="card"><div class="sub">D · Off-site Surfaces</div><h3 style="margin-top:2px">AI 인용 표면 확보</h3><div><span class="serif" style="font-size:28px;font-weight:700;color:var(--accent)">53</span><span class="sub"> / 100 · 실측 2/6</span></div></div><div class="card"><div class="sub">E · Measurement</div><h3 style="margin-top:2px">AI 가시성 측정 인프라</h3><div><span class="serif" style="font-size:28px;font-weight:700;color:var(--accent)">0</span><span class="sub"> / 100 · 실측 0/4</span></div></div><div class="card"><div class="sub">F · Technical Hygiene</div><h3 style="margin-top:2px">기술 위생</h3><div><span class="serif" style="font-size:28px;font-weight:700;color:var(--accent)">42</span><span class="sub"> / 100 · 실측 3/4</span></div></div>
|
||||
</div>
|
||||
</div></section>
|
||||
<section><div class="page">
|
||||
<h3 style="margin-top:22px;font-size:18px">A · AI 크롤러 접근성 <span class="sub">AI 검색엔진이 사이트를 읽을 수 있는가. 크롤러 접근이 막히면 나머지 항목은 전부 무효다.</span></h3>
|
||||
<table class="tbl"><thead><tr><th style="width:44px">ID</th><th style="width:22%">항목</th><th style="width:88px">판정</th><th>실측 근거</th></tr></thead><tbody>
|
||||
<tr><td class="mono">A1</td><td><b>검색용 AI 봇 허용</b><div class="sub">배점 5</div></td><td><span class="lv lv3">L3</span><div class="sub">검색봇 전부 허용 + 200 응답</div></td><td class="sub" style="color:var(--slate)">12개 AI 봇 전부 허용. OAI-SearchBot·PerplexityBot·GPTBot UA로 GET → 전부 200</td></tr><tr><td class="mono">A2</td><td><b>CDN/WAF AI 차단 없음</b><div class="sub">배점 3</div></td><td><span class="lv lv3">L3</span><div class="sub">CDN 차단 없음 확인</div></td><td class="sub" style="color:var(--slate)">Server: Microsoft-IIS/10.0 직접 응답, Cloudflare 헤더 없음, AI UA 챌린지 없음</td></tr><tr><td class="mono">A3</td><td><b>서버 렌더링 본문</b><div class="sub">배점 3</div></td><td><span class="lv lv3">L3</span><div class="sub">80% 이상 (SSR/정적)</div></td><td class="sub" style="color:var(--slate)">서버 렌더링. JS 미실행 HTML에서 본문 텍스트 14,079자 추출</td></tr><tr><td class="mono">A4</td><td><b>HTTPS·리다이렉트 정합</b><div class="sub">배점 2</div></td><td><span class="lv lv1">L1</span><div class="sub">변형 간 200 중복</div></td><td class="sub" style="color:var(--slate)">변형 간 최종 URL 불일치(중복 콘텐츠 위험): ['https://k-wonjin.co.kr', 'https://www.k-wonjin.co.kr']</td></tr><tr><td class="mono">A5</td><td><b>sitemap.xml 제공</b><div class="sub">배점 3</div></td><td><span class="lv lv1">L1</span><div class="sub">있으나 robots 미선언</div></td><td class="sub" style="color:var(--slate)">/sitemap.xml 200이나 robots.txt에 Sitemap 미선언. URL 132개</td></tr><tr><td class="mono">A6</td><td><b>Bing 색인 (ChatGPT 검색 경로)</b><div class="sub">배점 3</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] Bing Webmaster Tools 등록 여부는 오너 계정 접근 필요 (또는 site: 검색 수동 확인)</td></tr><tr><td class="mono">A7</td><td><b>응답 속도·크롤 예산</b><div class="sub">배점 1</div></td><td><span class="lv lv3">L3</span><div class="sub">TTFB < 0.5s, HTML < 300KB</div></td><td class="sub" style="color:var(--slate)">TTFB 0.094s / 초기 HTML 153KB. 시술 페이지 145KB. 모두 기준 이내</td></tr>
|
||||
</tbody></table><h3 style="margin-top:22px;font-size:18px">B · 엔티티 식별·구조화 <span class="sub">AI가 "이 병원이 누구인지"를 기계적으로 확정할 수 있는가. NAP 일관성과 스키마 위생.</span></h3>
|
||||
<table class="tbl"><thead><tr><th style="width:44px">ID</th><th style="width:22%">항목</th><th style="width:88px">판정</th><th>실측 근거</th></tr></thead><tbody>
|
||||
<tr><td class="mono">B1</td><td><b>JSON-LD 문법 유효성</b><div class="sub">배점 3</div></td><td><span class="lv lv2">L2</span><div class="sub">전부 유효</div></td><td class="sub" style="color:var(--slate)">JSON-LD 4블록 전부 유효 (@graph 미사용)</td></tr><tr><td class="mono">B2</td><td><b>업종 엔티티 스키마 (MedicalClinic / LegalService / LocalBusiness)</b><div class="sub">배점 5</div></td><td><span class="lv lv1">L1</span><div class="sub">Organization만</div></td><td class="sub" style="color:var(--slate)">ItemList + Organization만 존재. MedicalClinic/LocalBusiness 없음 → 주소·전화·진료시간이 구조화되어 있지 않음</td></tr><tr><td class="mono">B3</td><td><b>전문가 스키마 (Physician / Attorney)</b><div class="sub">배점 3</div></td><td><span class="lv lv0">L0</span><div class="sub">없음</div></td><td class="sub" style="color:var(--slate)">Physician/Attorney 스키마 없음. 전문가 정보는 HTML 텍스트·이미지로만 존재</td></tr><tr><td class="mono">B4</td><td><b>NAP 사이트 내 일관성</b><div class="sub">배점 3</div></td><td><span class="lv lv3">L3</span><div class="sub">단일 표기</div></td><td class="sub" style="color:var(--slate)">주소 단일 표기: "서울시 서초구 강남대로 419 파고다타워 12". 전화 6종: 02-3477-3300, 023480-3573, 02392-0330</td></tr><tr><td class="mono">B5</td><td><b>sameAs 연결</b><div class="sub">배점 2</div></td><td><span class="lv lv3">L3</span><div class="sub">5개 이상 (SNS + 버티컬 + 지도)</div></td><td class="sub" style="color:var(--slate)">sameAs 10개 (SNS·버티컬·지도 연결)</td></tr><tr><td class="mono">B6</td><td><b>canonical·중복 제거</b><div class="sub">배점 2</div></td><td><span class="lv lv2">L2</span><div class="sub">있음</div></td><td class="sub" style="color:var(--slate)">rel=canonical self-referencing 존재</td></tr><tr><td class="mono">B7</td><td><b>다국어 hreflang</b><div class="sub">배점 2</div></td><td><span class="lv lv0">L0</span><div class="sub">다국어 페이지 있으나 미연결</div></td><td class="sub" style="color:var(--slate)">다국어 페이지 흔적(https://www.wonjinbeauty.com/en/) 있으나 hreflang 없음. 미연결</td></tr>
|
||||
</tbody></table><h3 style="margin-top:22px;font-size:18px">C · 답변 인용 가능 콘텐츠 <span class="sub">패시지 단위로 잘라내도 자기완결적인 사실 덩어리가 있는가. 정의문·FAQ·수치·표·의료진 근거.</span></h3>
|
||||
<table class="tbl"><thead><tr><th style="width:44px">ID</th><th style="width:22%">항목</th><th style="width:88px">판정</th><th>실측 근거</th></tr></thead><tbody>
|
||||
<tr><td class="mono">C1</td><td><b>정의문형 첫 문단</b><div class="sub">배점 4</div></td><td><span class="lv lv0">L0</span><div class="sub">없음 (슬로건·이미지만)</div></td><td class="sub" style="color:var(--slate)">홈 본문 1,999자에 "원진성형외과는 …에 있는 … 병원입니다" 형태의 정의문 없음. 소개 문구(25년 헤리티지·강남역)는 메인 비주얼 이미지 alt 에만 있고, 소개 페이지(/hospitalinfo/about) 첫 단락도 슬로건형</td></tr><tr><td class="mono">C2</td><td><b>FAQ 섹션</b><div class="sub">배점 4</div></td><td><span class="lv lv0">L0</span><div class="sub">없음</div></td><td class="sub" style="color:var(--slate)">FAQ·자주 묻는 질문·Q&A 섹션 탐지 안 됨 (메인·시술 페이지)</td></tr><tr><td class="mono">C3</td><td><b>제목 계층 의미성</b><div class="sub">배점 3</div></td><td><span class="lv lv0">L0</span><div class="sub">H1 없음 또는 5개 이상</div></td><td class="sub" style="color:var(--slate)">메인 H1 0개: 없음. 시술 페이지 H1 없음</td></tr><tr><td class="mono">C4</td><td><b>구체 수치 (가격·시간·회복)</b><div class="sub">배점 4</div></td><td><span class="lv lv2">L2</span><div class="sub">시술별 일부 수치</div></td><td class="sub" style="color:var(--slate)">눈매교정(CFS) 페이지에 수술 시간 2시간·단기 수면 또는 부분 마취·실밥 제거 7일·일상생활 3일 텍스트 존재. 트임(오픈아이) 40분·5~7일. 쌍꺼풀·눈매교정(글램아이·더블유착) 페이지는 수치 없음. 가격 표기 0회(비급여 안내 페이지는 별도)</td></tr><tr><td class="mono">C5</td><td><b>표·비교 구조</b><div class="sub">배점 2</div></td><td><span class="lv lv0">L0</span><div class="sub">없음</div></td><td class="sub" style="color:var(--slate)">HTML <table> 없음. 비교 정보는 이미지로 추정 (이미지 표 여부는 수동 확인)</td></tr><tr><td class="mono">C6</td><td><b>신선도 신호</b><div class="sub">배점 3</div></td><td><span class="lv lv1">L1</span><div class="sub">1년 이상</div></td><td class="sub" style="color:var(--slate)">최신 갱신 신호 2025-02-18 (sitemap lastmod 2025-02-18). 18개월 전. dateModified 마크업 없음</td></tr><tr><td class="mono">C7</td><td><b>전문가 E-E-A-T (의료진 / 변호사)</b><div class="sub">배점 3</div></td><td><span class="lv lv2">L2</span><div class="sub">자격·경력 텍스트</div></td><td class="sub" style="color:var(--slate)">의료진 상세 페이지 17명의 직함·전문의 여부·경력(원장당 12~23줄)이 HTML 텍스트로 존재. 학술 활동 페이지 3,760자. 단 Physician 스키마·저자 표기는 없어 구조화되지 않음</td></tr><tr><td class="mono">C8</td><td><b>패시지 자기완결성</b><div class="sub">배점 2</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] 핵심 페이지 단락 샘플 10개의 상호·시술명 포함 비율 수동 채점 필요</td></tr>
|
||||
</tbody></table><h3 style="margin-top:22px;font-size:18px">D · AI 인용 표면 확보 <span class="sub">실제로 AI가 인용하는 외부 표면(강남언니·GBP·오픈웹)에 존재하는가. 네이버 자산은 글로벌 AI에 기여도 0.</span></h3>
|
||||
<table class="tbl"><thead><tr><th style="width:44px">ID</th><th style="width:22%">항목</th><th style="width:88px">판정</th><th>실측 근거</th></tr></thead><tbody>
|
||||
<tr><td class="mono">D1</td><td><b>업종 버티컬 프로필 (병의원: 강남언니 / 법률: 로톡)</b><div class="sub">배점 6</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">강남언니 프로필은 공개 페이지 수동 실측 필요 (후기 수·의료진·이벤트·갱신일). 홈페이지 sameAs 에 버티컬 링크 포함 여부는 확인됨(10개 중)</td></tr><tr><td class="mono">D2</td><td><b>Google 비즈니스 프로필</b><div class="sub">배점 4</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] Google Maps 검색으로 GBP 소유·리뷰·NAP 수동 실측 필요</td></tr><tr><td class="mono">D3</td><td><b>오픈웹 언급 (티스토리·유튜브·언론)</b><div class="sub">배점 4</div></td><td><span class="lv lv2">L2</span><div class="sub">유튜브 + 언론/티스토리</div></td><td class="sub" style="color:var(--slate)">자체 YouTube 채널 @wjwonjin 영상 736편·구독 1.5만·누적 조회 3,113만(2026-09-08 API 집계). 인스타그램 3계정·페이스북·네이버 블로그(popokpop) 존재. 채널 sameAs 10개로 홈페이지와 연결됨. 단 홈페이지 내 외부 링크는 JS 렌더라 HTML에서 미노출</td></tr><tr><td class="mono">D4</td><td><b>표면 간 NAP 완전 일치</b><div class="sub">배점 3</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] 홈페이지·버티컬·GBP·플레이스 NAP 대조표 수동 작성 필요</td></tr><tr><td class="mono">D5</td><td><b>네이버 플레이스 (AI 브리핑 전용)</b><div class="sub">배점 2</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[semi·사람 판정 필요] 사이트에 네이버 플레이스 링크 없음. 플레이스 존재·홈페이지 역연결·리뷰 수 수동 확인</td></tr><tr><td class="mono">D6</td><td><b>위키데이터/위키백과 엔티티</b><div class="sub">배점 1</div></td><td><span class="lv lv0">L0</span><div class="sub">없음</div></td><td class="sub" style="color:var(--slate)">Wikidata에서 "원진성형외과" 검색 결과 없음</td></tr>
|
||||
</tbody></table><h3 style="margin-top:22px;font-size:18px">E · AI 가시성 측정 인프라 <span class="sub">개선을 증명할 수 있는가. 소유 신호(크롤러 로그·GA4 AI 유입) 계측 여부.</span></h3>
|
||||
<table class="tbl"><thead><tr><th style="width:44px">ID</th><th style="width:22%">항목</th><th style="width:88px">판정</th><th>실측 근거</th></tr></thead><tbody>
|
||||
<tr><td class="mono">E1</td><td><b>AI 크롤러 로그 (IP 검증)</b><div class="sub">배점 3</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] 서버 로그 접근 필요 (AI 크롤러 히트 + IP 검증)</td></tr><tr><td class="mono">E2</td><td><b>GA4 AI 유입 채널</b><div class="sub">배점 3</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] GA4 접근 필요 (AI 유입 커스텀 채널그룹 여부)</td></tr><tr><td class="mono">E3</td><td><b>GSC AI Overviews 노출</b><div class="sub">배점 2</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] GSC 접근 필요 (AI Overviews 노출)</td></tr><tr><td class="mono">E4</td><td><b>기준선 스팟체크</b><div class="sub">배점 2</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] 기준선 스팟체크 미실시 (질의 10개 × 5회 반복은 별도 단계)</td></tr>
|
||||
</tbody></table><h3 style="margin-top:22px;font-size:18px">F · 기술 위생 <span class="sub">이미지 대체텍스트·CMS 보안·페이지 무게·모바일. 보조 지표.</span></h3>
|
||||
<table class="tbl"><thead><tr><th style="width:44px">ID</th><th style="width:22%">항목</th><th style="width:88px">판정</th><th>실측 근거</th></tr></thead><tbody>
|
||||
<tr><td class="mono">F1</td><td><b>이미지 대체텍스트</b><div class="sub">배점 2</div></td><td><span class="lv lv0">L0</span><div class="sub">50% 이상 누락</div></td><td class="sub" style="color:var(--slate)">메인 페이지 이미지 45개 중 28개(62%) alt 누락 또는 빈 값</td></tr><tr><td class="mono">F2</td><td><b>CMS 보안·최신성</b><div class="sub">배점 1</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">Server: Microsoft-IIS/10.0, ASP.NET 계열 자체 제작 추정(meta generator 없음). CMS 버전·보안 패치 여부 판정 불가</td></tr><tr><td class="mono">F3</td><td><b>페이지 무게</b><div class="sub">배점 1</div></td><td><span class="lv lv3">L3</span><div class="sub">< 300KB</div></td><td class="sub" style="color:var(--slate)">초기 HTML 153KB (300KB 미만)</td></tr><tr><td class="mono">F4</td><td><b>모바일 대응</b><div class="sub">배점 1</div></td><td><span class="lv lv2">L2</span><div class="sub">반응형</div></td><td class="sub" style="color:var(--slate)">viewport meta 존재, 반응형. CWV 미측정</td></tr>
|
||||
</tbody></table>
|
||||
</div></section>
|
||||
|
||||
<section class="pb light"><div class="page">
|
||||
<div class="eyebrow">Action Plan</div><h2>지금 고칠 것과 4주 안에 만들 것을 나눴습니다</h2>
|
||||
<h3 style="margin-top:20px">P0 · 지금 고칠 것 (1주 안)</h3><div class="grid g2"><div class="card act"><span class="pill gray eff">1일</span><div class="pri">P0</div><h3>정본 URL 수렴 + sitemap 선언</h3><p style="margin:0 0 8px;color:var(--slate)">k-wonjin.co.kr → www.k-wonjin.co.kr 로 301 통일, robots.txt 에 Sitemap: 선언, sitemap lastmod 갱신. 전화번호를 대표번호 1개로 통일.</p><div class="sub">연결 항목 <span class="mono">A4</span> <span class="mono">A5</span> <span class="mono">B4</span></div></div><div class="card act"><span class="pill gray eff">1주</span><div class="pri">P0</div><h3>MedicalClinic + Physician 스키마</h3><p style="margin:0 0 8px;color:var(--slate)">Organization 을 MedicalClinic 으로 승격(address·telephone·openingHoursSpecification·medicalSpecialty). 의료진 17명 Physician 스키마(이름·직함·전문의·프로필 URL). 영문 사이트와 hreflang 상호 연결.</p><div class="sub">연결 항목 <span class="mono">B2</span> <span class="mono">B3</span> <span class="mono">B7</span></div></div></div><h3 style="margin-top:20px">P1 · 4주 안에 만들 것</h3><div class="grid g2"><div class="card act"><span class="pill gray eff">2~4주</span><div class="pri">P1</div><h3>시술 페이지 인용 구조: H1·표·FAQ</h3><p style="margin:0 0 8px;color:var(--slate)">시술 페이지마다 H1 1개, 수술 시간·마취·실밥·일상 복귀를 HTML 표로, FAQ 5문항 + FAQPage 스키마. CFS·트임 페이지의 수치 형식을 다른 눈·코·윤곽 페이지로 확산. 메인에 병원 정의문 한 단락.</p><div class="sub">연결 항목 <span class="mono">C1</span> <span class="mono">C2</span> <span class="mono">C3</span> <span class="mono">C4</span> <span class="mono">C5</span></div></div><div class="card act"><span class="pill gray eff">1주</span><div class="pri">P1</div><h3>이미지 alt 일괄 정비 + 갱신 신호</h3><p style="margin:0 0 8px;color:var(--slate)">메인 28개 이미지 alt 작성(무엇을 찍은 사진인지 사실만). 페이지에 dateModified 마크업, sitemap lastmod 를 실제 수정일로.</p><div class="sub">연결 항목 <span class="mono">F1</span> <span class="mono">C6</span></div></div><div class="card act"><span class="pill gray eff">2~4주</span><div class="pri">P1</div><h3>서포터즈 사이트로 오픈웹 원문 공급</h3><p style="margin:0 0 8px;color:var(--slate)">자동 빌드 미리보기(supporters-wonjin.vercel.app)의 글 6편을 병원이 검토·승인하면 색인 허용 도메인으로 발행. 유튜브 설명 영상 10편을 글에 연결. 이후 질문 뱅크 기준으로 편집 캘린더 운영.</p><div class="sub">연결 항목 <span class="mono">C2</span> <span class="mono">C4</span> <span class="mono">C5</span> <span class="mono">D3</span></div></div></div><h3 style="margin-top:20px">P2 · 이어서 할 것</h3><div class="grid g2"><div class="card act"><span class="pill gray eff">지속</span><div class="pri">P2</div><h3>표면 실측과 측정 인프라</h3><p style="margin:0 0 8px;color:var(--slate)">강남언니·GBP·네이버 플레이스 NAP 대조표 작성, GA4 AI 유입 채널그룹, GSC AI Overviews 확인, 서버 로그의 AI 크롤러 히트 계측. Bing Webmaster 등록.</p><div class="sub">연결 항목 <span class="mono">D1</span> <span class="mono">D2</span> <span class="mono">D4</span> <span class="mono">D5</span> <span class="mono">E1</span> <span class="mono">E2</span> <span class="mono">E3</span> <span class="mono">A6</span></div></div></div>
|
||||
</div></section>
|
||||
|
||||
<section class="pb dark"><div class="page">
|
||||
<div class="eyebrow">Supporters Preview</div><h2>홈페이지 자료만으로 서포터즈 사이트 초안을 만들었습니다</h2>
|
||||
<p class="lede">병원 URL 하나로 근거 수집, 글 생성, 발행 게이트, 미리보기 배포까지 자동으로 돌렸습니다. 모든 글은 의학 검토 대기 상태이고 색인은 막혀 있습니다. 병원이 확인 항목을 입력하고 검토·승인하면 코드 수정 없이 발행됩니다.</p>
|
||||
<div class="kpi" style="margin-top:18px">
|
||||
<div class="k"><b>6</b><span>글 (게이트 통과)</span></div>
|
||||
<div class="k"><b>736</b><span>유튜브 영상 집계</span></div>
|
||||
<div class="k"><b>66</b><span>사용 가능 이미지 (전후·사례 제외)</span></div>
|
||||
<div class="k"><b>17</b><span>의료진 프로필</span></div>
|
||||
</div>
|
||||
<p class="note" style="margin-top:14px">미리보기 <a href="https://supporters-wonjin.vercel.app" style="color:#C4B5FD">https://supporters-wonjin.vercel.app</a> · 병원 확인 항목 입력 <a href="https://infinith-demo.vercel.app/supporters/wonjin" style="color:#C4B5FD">infinith-demo.vercel.app/supporters/wonjin</a></p>
|
||||
</div></section>
|
||||
<section><div class="page">
|
||||
<h3 style="font-size:18px">자동 생성한 글 6편</h3>
|
||||
<table class="tbl"><thead><tr><th style="width:54px">분류</th><th>제목</th><th style="width:70px">근거 영상</th><th style="width:86px">병원 확인 대기</th><th style="width:90px">상태</th></tr></thead><tbody>
|
||||
<tr><td class="mono">A</td><td><b>원진성형외과는 어떤 병원인가요? 진료 분야·의료진 구성·위치</b><div class="sub"><a href="https://supporters-wonjin.vercel.app/posts/what-is-clinic">https://supporters-wonjin.vercel.app/posts/what-is-clinic</a></div></td><td>0편</td><td>5건</td><td><span class="pill gray">의학 검토 대기</span></td></tr><tr><td class="mono">B</td><td><b>원진성형외과 방문 안내: 위치·진료시간·주차·예약은 어떻게 하나요?</b><div class="sub"><a href="https://supporters-wonjin.vercel.app/posts/visit-guide">https://supporters-wonjin.vercel.app/posts/visit-guide</a></div></td><td>0편</td><td>3건</td><td><span class="pill gray">의학 검토 대기</span></td></tr><tr><td class="mono">D</td><td><b>원진성형외과 윤곽은 어떤 방법이 있고 시술 시간·마취·회복은 어떻게 되나요?</b><div class="sub"><a href="https://supporters-wonjin.vercel.app/posts/procedure-facial">https://supporters-wonjin.vercel.app/posts/procedure-facial</a></div></td><td>0편</td><td>5건</td><td><span class="pill gray">의학 검토 대기</span></td></tr><tr><td class="mono">D</td><td><b>원진성형외과 눈성형은 어떤 방법이 있고 시술 시간·마취·회복은 어떻게 되나요?</b><div class="sub"><a href="https://supporters-wonjin.vercel.app/posts/procedure-eye">https://supporters-wonjin.vercel.app/posts/procedure-eye</a></div></td><td>3편</td><td>5건</td><td><span class="pill gray">의학 검토 대기</span></td></tr><tr><td class="mono">D</td><td><b>원진성형외과 레이저안티에이징은 어떤 방법이 있고 시술 시간·마취·회복은 어떻게 되나요?</b><div class="sub"><a href="https://supporters-wonjin.vercel.app/posts/procedure-skin">https://supporters-wonjin.vercel.app/posts/procedure-skin</a></div></td><td>0편</td><td>6건</td><td><span class="pill gray">의학 검토 대기</span></td></tr><tr><td class="mono">C</td><td><b>상담에서 꼭 물어봐야 할 질문은 무엇인가요?</b><div class="sub"><a href="https://supporters-wonjin.vercel.app/posts/consult-questions">https://supporters-wonjin.vercel.app/posts/consult-questions</a></div></td><td>3편</td><td>3건</td><td><span class="pill gray">의학 검토 대기</span></td></tr>
|
||||
</tbody></table>
|
||||
<h3 style="font-size:18px;margin-top:26px">발견한 채널과 확인 결과</h3>
|
||||
<p class="sub" style="color:var(--slate)">홈페이지 역링크, 프로필 제목·설명, 등록부, 검색 결과를 근거로 병원 것인지 판정했습니다. "확인 필요"는 병원이 맞다고 알려 주시면 연결합니다.</p>
|
||||
<table class="tbl"><thead><tr><th style="width:110px">플랫폼</th><th>확인됨</th><th>확인 필요</th></tr></thead><tbody>
|
||||
<tr><td><b>유튜브</b></td><td><a href="https://www.youtube.com/channel/UCNBaQBCok5xIViCnrGdisoQ">WJ원진성형외과</a> <span class="sub">(구독 28,300)</span><br><a href="https://www.youtube.com/@wjwonjin">WJ원진성형외과</a> <span class="sub">(구독 14,700)</span></td><td class="sub"><a href="https://www.youtube.com/channel/UCNmTm4UubrscPczrAfGhUvQ" style="color:var(--muted)">Wonjin Plastic Surgery Korea</a><br><a href="https://www.youtube.com/channel/UCk2UbMID_NjYZe7-WBLQXRw" style="color:var(--muted)">유세윤의 광고100 X 원진성형외과</a><br><a href="https://www.youtube.com/channel/UCEC21_7WvRx8cWlje4sLVlw" style="color:var(--muted)">WONJINPS</a><br><a href="https://www.youtube.com/channel/UC8PY7tOsvoaV_z8Rlp_it0Q" style="color:var(--muted)">Wonjin Aesthetics Centre</a><br><a href="https://www.youtube.com/channel/UCJuM0rYynWd9xAXmOf-dl9A" style="color:var(--muted)">WONJIN_OFFICIAL - KOREA No.1 PLASTIC SURGERY</a><br><a href="https://www.youtube.com/channel/UChnJVIjdmUeZkA40cRFMzFA" style="color:var(--muted)">원트성형외과</a></td></tr><tr><td><b>인스타그램</b></td><td><a href="https://www.instagram.com/wonjin_official/">Instagram</a><br><a href="https://www.instagram.com/wonjin_ps/">Instagram</a><br><a href="https://www.instagram.com/wj_cosmetic/">Instagram</a></td><td class="sub"><a href="https://www.instagram.com/wj_plasticsurgery/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/hamdust_/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/bjwnjn/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/wonjin_sunnywon/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/wonjinire/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/wxxnzin/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/wj_1j_/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/wonjin/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/wonjinps/" style="color:var(--muted)">Instagram</a></td></tr><tr><td><b>페이스북</b></td><td><a href="https://www.facebook.com/KwonjinPS">KwonjinPS</a></td><td class="sub"></td></tr><tr><td><b>네이버 블로그</b></td><td><a href="https://blog.naver.com/popokpop">popokpop</a></td><td class="sub"><a href="https://blog.naver.com/naramalssami1" style="color:var(--muted)">naramalssami1</a><br><a href="https://blog.naver.com/qeqe0420" style="color:var(--muted)">qeqe0420</a><br><a href="https://blog.naver.com/vpepwxormtfo" style="color:var(--muted)">vpepwxormtfo</a></td></tr><tr><td><b>틱톡</b></td><td><a href="https://www.tiktok.com/@wonjin_official">wonjin_official</a></td><td class="sub"></td></tr><tr><td><b>카카오톡 채널</b></td><td><a href="https://pf.kakao.com/_bxflzE">원진성형외과의원</a></td><td class="sub"></td></tr><tr><td><b>강남언니</b></td><td><a href="https://www.gangnamunni.com/hospitals/2500">원진성형외과의원 | 강남언니 - 내 선택에 확신을</a></td><td class="sub"></td></tr><tr><td><b>네이버 플레이스</b></td><td><span class="sub">찾지 못함</span></td><td class="sub"></td></tr><tr><td><b>바비톡</b></td><td><a href="https://babitalk.com/hospitals/3143">원진성형외과의원 | 후기∙가격∙이벤트 정보 - 바비톡</a></td><td class="sub"></td></tr>
|
||||
</tbody></table>
|
||||
<h3 style="font-size:18px;margin-top:26px">병원이 확인해 주실 것 9가지</h3>
|
||||
<p class="sub" style="color:var(--slate)">홈페이지 공개 자료에 없어 병원만 답할 수 있는 값입니다. 입력 전까지 사이트에는 "확인 대기"로 표시됩니다.</p>
|
||||
<div class="grid g3" style="margin-top:10px"><div class="card" style="padding:14px 16px"><span class="mono">1</span> <b>작성자 실명·직함·공개 프로필</b></div><div class="card" style="padding:14px 16px"><span class="mono">2</span> <b>글별 의학 검토 원장과 검토일</b></div><div class="card" style="padding:14px 16px"><span class="mono">3</span> <b>지원 관계 문구</b></div><div class="card" style="padding:14px 16px"><span class="mono">4</span> <b>견적 기본 포함 항목·결제 방식</b></div><div class="card" style="padding:14px 16px"><span class="mono">5</span> <b>회복 일정표의 병원 확정값</b></div><div class="card" style="padding:14px 16px"><span class="mono">6</span> <b>재수술 정책</b></div><div class="card" style="padding:14px 16px"><span class="mono">7</span> <b>페이지 간 표기 불일치의 정답</b></div><div class="card" style="padding:14px 16px"><span class="mono">8</span> <b>진료 분야별 담당 원장</b></div><div class="card" style="padding:14px 16px"><span class="mono">9</span> <b>정식 도메인·색인 허용 시점·홈페이지 링크 위치</b></div></div>
|
||||
<p class="note">싣지 않는 것: 전후 사진, 환자 경험담, 다른 병원과의 비교, 효과 보장, 가격 금액. 이미지는 의료법 기준 규칙에 따라 전후·사례·모델·수술 장면·인증 마크를 자동 제외했습니다.</p>
|
||||
</div></section>
|
||||
|
||||
<section class="pb light"><div class="page">
|
||||
<div class="eyebrow">Integrity</div><h2>근거 없는 것은 약속하지 않습니다</h2>
|
||||
<table class="tbl" style="margin-top:12px"><thead><tr><th style="width:30%">하지 않는 것</th><th>이유</th></tr></thead><tbody>
|
||||
<tr><td><b>llms.txt 제작</b></td><td style="color:var(--slate)">Google 공식(2026-06) 효과 0, 채택률 0.13%, 서버 로그에 요청 자체가 없음. 위약이다.</td></tr><tr><td><b>"스키마 넣으면 AI가 인용합니다" 약속</b></td><td style="color:var(--slate)">인과 증거 없음. 스키마는 엔티티 식별을 돕는 위생 조치로만 설명한다.</td></tr><tr><td><b>단발 조회로 순위·노출 보고</b></td><td style="color:var(--slate)">LLM 답변 분산 10~34%. 반복 측정 + 신뢰구간으로만 보고한다.</td></tr><tr><td><b>답변엔진 UI 자동 조회</b></td><td style="color:var(--slate)">OpenAI·Perplexity 약관 위반. 주력 측정은 오너가 소유한 신호(로그·GA4)로 한다.</td></tr><tr><td><b>네이버 블로그 증량</b></td><td style="color:var(--slate)">blog.naver.com robots.txt가 AI 크롤링을 전면 금지. 글로벌 AI 답변 기여도 0. 네이버 AI 브리핑은 별도 트랙.</td></tr>
|
||||
</tbody></table>
|
||||
<h3 style="margin-top:26px;font-size:18px">측정 조건</h3>
|
||||
<ul style="color:var(--slate)"><li>실측 대상: 메인 페이지 + /contents/eye/cfs 2개 URL, JS 미실행 HTML 기준</li><li>크롤러 접근성: robots.txt 파싱 + 12개 AI 봇 UA 실제 GET 요청</li><li>semi/manual 항목은 자동 수집 증거만 첨부하고 미검증 처리, 분모 제외 (사람 보정 후 확정)</li><li>답변엔진 언급률은 측정하지 않았다 (단발 조회는 무효, 반복 측정은 별도 기준선 단계에서 수행)</li></ul>
|
||||
<h3 style="margin-top:26px;font-size:18px">채점 방법</h3>
|
||||
<p style="color:var(--slate);margin:0">기준표 v1.0 36개 실측 항목(A 접근성 · B 엔티티 · C 콘텐츠 · D 표면 · E 측정 · F 위생)을 0~3 레벨로 판정하고, v2.0은 그 항목을 답변 준비도(AEO) 8개와 출처 준비도(GEO) 8개로 묶어 각 100점으로 정규화합니다. 미검증 항목은 분모에서 빼고, 치명 게이트(크롤러 차단 등)에 걸리면 상한을 둡니다. 답변엔진 언급률은 단발 조회로는 재지 않습니다.</p>
|
||||
</div></section>
|
||||
|
||||
<footer>INFINITH · AI오투오 · 문의 o2oteam@o2o.kr · 이 리포트는 공개 페이지 실측에 근거하며, 오너 계정(GA4·GSC·서버 로그)이 필요한 항목은 미검증으로 두었습니다. 법률 자문이 아닙니다.</footer>
|
||||
</body></html>
|
||||
Binary file not shown.
@ -1,155 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="ko"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>원진성형외과 AI Answer Readiness Report v2.0</title>
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com"><link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&display=swap" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css">
|
||||
<style>
|
||||
:root{--ink:#0A1128;--navy:#021341;--violet:#4F1DA1;--accent:#6C5CE7;--light:#F7F8FC;--slate:#4A5268;--muted:#7A8399;--line:#E3E7F2}
|
||||
*{box-sizing:border-box}body{margin:0;font-family:Pretendard,-apple-system,sans-serif;color:var(--ink);background:#fff;word-break:keep-all;line-height:1.62;font-size:14px}
|
||||
.serif{font-family:'Playfair Display',serif}
|
||||
.page{padding:48px 56px;max-width:1080px;margin:0 auto}
|
||||
.dark{background:var(--ink);color:#fff}.dark .sub,.dark .note{color:#B9C0D4}.light{background:var(--light)}
|
||||
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.24em;color:var(--accent);text-transform:uppercase}.dark .eyebrow{color:#C4B5FD}
|
||||
h1{font-size:44px;line-height:1.1;margin:10px 0 6px;letter-spacing:-.02em}h2{font-size:30px;margin:8px 0 12px;line-height:1.2}h3{font-size:17px;margin:0 0 6px}
|
||||
.accent{background:linear-gradient(90deg,#C4B5FD,#93C5FD);-webkit-background-clip:text;background-clip:text;color:transparent}
|
||||
.lede{font-size:16px;color:var(--slate);max-width:760px}.dark .lede{color:#D6DBEA}
|
||||
.sub{font-size:12.5px;color:var(--muted)}.note{font-size:12.5px;color:var(--muted);margin-top:8px}
|
||||
.badge{display:inline-block;border:1px solid;border-radius:999px;padding:3px 12px;font-size:13px;font-weight:700}
|
||||
.pill{display:inline-block;border-radius:999px;padding:2px 9px;font-size:11.5px;font-weight:700}.pill.gray{background:#EEF0F6;color:#6B7280}
|
||||
.grid{display:grid;gap:16px}.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}
|
||||
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;box-shadow:3px 4px 12px rgba(0,0,0,.05)}.dark .card{color:var(--ink)}
|
||||
.rings{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}.ring{display:flex;flex-direction:column;align-items:center;gap:8px}
|
||||
.tbl{width:100%;border-collapse:collapse;font-size:13px;background:#fff;border-radius:12px;overflow:hidden;border:1px solid var(--line)}.tbl th{background:#F1F3FA;text-align:left;padding:9px 11px;font-size:12px;color:var(--slate);border-bottom:1px solid var(--line)}.tbl td{padding:9px 11px;border-bottom:1px solid #EEF0F6;vertical-align:top}.tbl tr:last-child td{border-bottom:0}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--accent);font-weight:700}
|
||||
.lv{display:inline-block;min-width:26px;text-align:center;border-radius:6px;padding:1px 6px;font-weight:700;font-size:12px}.lv3{background:#E9F7EF;color:#2E7D4F}.lv2{background:#EEF3FF;color:#2F4FBF}.lv1{background:#FFF4E5;color:#B26A00}.lv0{background:#FDECEF;color:#B84C5F}.lvu{background:#EEF0F6;color:#6B7280}
|
||||
.find{border-left:5px solid;padding-left:16px}.find .tag{font-size:11.5px;font-weight:700;letter-spacing:.08em}
|
||||
.act .pri{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--accent)}.act .eff{float:right}
|
||||
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi .k{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 16px}.kpi b{font-family:'Playfair Display',serif;font-size:30px;color:#AF90FF;display:block;line-height:1}.kpi span{font-size:12.5px;color:#C7CDE0}
|
||||
a{color:var(--accent)}ul{margin:6px 0 0 18px;padding:0}li{margin:3px 0}
|
||||
footer{padding:28px 56px;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}
|
||||
@media print{@page{size:A4;margin:12mm}body{font-size:12.5px}.page{padding:22px 10px;max-width:none}.pb{page-break-before:always}h1{font-size:34px}h2{font-size:24px}.dark{-webkit-print-color-adjust:exact;print-color-adjust:exact}.card,.tbl,.lv,.badge,.pill,.kpi .k{-webkit-print-color-adjust:exact;print-color-adjust:exact}tr,.card{page-break-inside:avoid}}
|
||||
</style></head><body>
|
||||
|
||||
<section class="dark"><div class="page" style="padding-top:64px;padding-bottom:56px">
|
||||
<div class="eyebrow">INFINITH AI Discovery · AEO / GEO Audit v2.0</div>
|
||||
<h1 class="serif"><span class="accent">AI Answer Readiness</span></h1>
|
||||
<div style="font-size:26px;font-weight:700;margin:4px 0 2px">원진성형외과</div>
|
||||
<div class="sub" style="color:#C4B5FD">성형외과 (강남역) · <a href="https://www.k-wonjin.co.kr" style="color:#C4B5FD">https://www.k-wonjin.co.kr</a></div>
|
||||
<p class="lede" style="margin-top:18px">AI 답변엔진(ChatGPT·Perplexity·Gemini·네이버 AI 브리핑)이 이 병원을 얼마나 읽고, 믿고, 인용할 수 있는지를 실측 신호로 채점한 리포트입니다. 답변 준비도(AEO)와 출처 준비도(GEO)를 각각 100점으로 보고, 확인하지 못한 항목은 점수에서 뺍니다.</p>
|
||||
<div style="display:flex;gap:32px;align-items:center;flex-wrap:wrap;margin-top:26px">
|
||||
<div class="card" style="display:flex;gap:26px;padding:22px 30px"><div class="ring"><svg viewBox="0 0 120 120" width="132" height="132"><circle cx="60" cy="60" r="52" fill="none" stroke="#E8ECF7" stroke-width="10"/><circle cx="60" cy="60" r="52" fill="none" stroke="#6C5CE7" stroke-width="10" stroke-linecap="round" stroke-dasharray="326.7" stroke-dashoffset="277.7" transform="rotate(-90 60 60)"/><text x="60" y="66" text-anchor="middle" font-family="Playfair Display, serif" font-weight="700" font-size="30" fill="#0A1128">15</text><text x="60" y="84" text-anchor="middle" font-size="10" fill="#7A8399">/ 100</text></svg><span class="badge" style="background:#FDECEF;color:#B84C5F;border-color:#F7C3CD">AEO 등급 D</span></div><div class="ring"><svg viewBox="0 0 120 120" width="132" height="132"><circle cx="60" cy="60" r="52" fill="none" stroke="#E8ECF7" stroke-width="10"/><circle cx="60" cy="60" r="52" fill="none" stroke="#6C5CE7" stroke-width="10" stroke-linecap="round" stroke-dasharray="326.7" stroke-dashoffset="179.7" transform="rotate(-90 60 60)"/><text x="60" y="66" text-anchor="middle" font-family="Playfair Display, serif" font-weight="700" font-size="30" fill="#0A1128">45</text><text x="60" y="84" text-anchor="middle" font-size="10" fill="#7A8399">/ 100</text></svg><span class="badge" style="background:#FFF4E5;color:#B26A00;border-color:#FFD9A8">GEO 등급 C</span></div></div>
|
||||
<div class="kpi" style="flex:1;min-width:420px">
|
||||
<div class="k"><b>25</b><span>실측 항목 / 36</span></div>
|
||||
<div class="k"><b>49</b><span>v1.0 종합 (C)</span></div>
|
||||
<div class="k"><b>5</b><span>핵심 발견</span></div>
|
||||
<div class="k"><b>6</b><span>실행 항목</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="note" style="margin-top:22px">실측일 2026-09-08 · 리포트 작성 2026-09-08 · 미검증 11개 항목은 분모에서 제외했습니다. 조건은 마지막 장에 적었습니다.</p>
|
||||
</div></section>
|
||||
|
||||
<section class="light pb"><div class="page">
|
||||
<div class="eyebrow">Findings</div><h2>AI가 지금 원진성형외과를 어떻게 읽는지 정리했습니다</h2>
|
||||
<div class="grid g2" style="margin-top:14px">
|
||||
<div class="card find" style="border-left-color:#9B8AD4"><div class="tag" style="color:#9B8AD4">강점</div><h3>크롤러 접근은 열려 있습니다. 서버 렌더링이라 AI가 본문을 읽습니다</h3><p style="margin:0;color:var(--slate)">robots.txt가 AI 검색봇 12종을 모두 허용하고, IIS가 본문을 서버에서 렌더링해 JS 없이도 14,079자를 읽을 수 있습니다. TTFB 0.09초, 초기 HTML 153KB로 가볍습니다. 다만 www 유무에 따라 최종 URL이 갈라지고(정본 미수렴), sitemap이 robots.txt에 선언돼 있지 않습니다.</p></div><div class="card find" style="border-left-color:#D4889A"><div class="tag" style="color:#D4889A">핵심 과제</div><h3>연결은 됐지만 병원 자체가 스키마로 정의돼 있지 않습니다</h3><p style="margin:0;color:var(--slate)">Organization.sameAs 10개로 SNS·지도·버티컬을 잘 묶었고 주소 표기도 한 가지입니다. 그러나 MedicalClinic·Physician 스키마가 없어 주소·전화·진료시간·의료진 17명이 구조화돼 있지 않고, 전화번호는 6종이 섞여 있습니다. 영문 사이트(wonjinbeauty.com)는 hreflang으로 연결되지 않았습니다.</p></div><div class="card find" style="border-left-color:#D4889A"><div class="tag" style="color:#D4889A">핵심 과제</div><h3>인용할 문장이 부족합니다. H1도 표도 정의문도 없습니다</h3><p style="margin:0;color:var(--slate)">메인·시술 페이지에 H1이 없고 HTML 표가 없으며 병원 정의문도 없습니다. 눈매교정(CFS)·트임 페이지에는 수술 시간·마취·실밥·일상 복귀 수치가 텍스트로 있어 인용 구조의 출발점이 될 수 있지만, 쌍꺼풀·눈매교정 나머지 페이지는 수치가 없습니다. 최신 갱신 신호가 2025-02-18(sitemap)로 18개월 전입니다.</p></div><div class="card find" style="border-left-color:#D4A872"><div class="tag" style="color:#D4A872">보완</div><h3>유튜브는 강합니다. 736편·누적 3,113만 회</h3><p style="margin:0;color:var(--slate)">설명형 롱폼(눈성형 관리법·중년 눈성형 비교·지방흡입 QnA 등)이 있어 글의 근거 영상으로 쓸 수 있습니다. 다만 상위 조회 영상의 다수가 브랜드 필름·연예인·전후 형식이라 인용용 정보형 영상은 10편 안팎입니다. 이 채널이 원진의 가장 큰 오픈웹 자산입니다.</p></div><div class="card find" style="border-left-color:#D4A872"><div class="tag" style="color:#D4A872">보완</div><h3>이미지 alt 62% 누락, 의료진 경력은 텍스트지만 구조화는 안 됨</h3><p style="margin:0;color:var(--slate)">메인 이미지 45개 중 28개가 alt 없이 실려 AI가 이미지 내용을 읽지 못합니다. 의료진 17명의 경력은 텍스트로 있어(원장당 12~23줄) Physician 스키마만 붙이면 바로 엔티티가 됩니다. 강남언니·GBP·네이버 플레이스는 이번 자동 채점 범위 밖이라 수동 실측이 남아 있습니다.</p></div>
|
||||
</div>
|
||||
</div></section>
|
||||
|
||||
<section class="pb"><div class="page">
|
||||
<div class="eyebrow">AEO · Answer Readiness</div><h2>답변 준비도 8개 항목</h2>
|
||||
<p class="lede">질문을 고르고, 답을 먼저 쓰고, 한 단락으로 완결하고, 결정에 필요한 정보와 다음 행동까지 닿게 하는가.</p>
|
||||
|
||||
<table class="tbl"><thead><tr><th style="width:52px">항목</th><th>무엇을 보는가</th><th style="width:70px">점수</th><th style="width:72px">근거</th><th>파생된 실측 항목</th></tr></thead><tbody>
|
||||
<tr><td class="mono">AEO1</td><td><b>질문 수요 충족</b><div class="sub">사람들이 실제로 묻는 질문에 답하는 페이지가 있는가</div></td><td><b>0</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">C2 L0</td></tr><tr><td class="mono">AEO2</td><td><b>답변의 직접성</b><div class="sub">페이지 첫 단락에 답이 먼저 나오는가</div></td><td><b>0</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">C1 L0</td></tr><tr><td class="mono">AEO3</td><td><b>답변 단위의 자기완결성</b><div class="sub">한 단락만 떼어내도 누가·어디서·무엇을이 들어 있는가</div></td><td><span class="pill gray">미검증</span></td><td>미검증</td><td class="sub">C8 미검증</td></tr><tr><td class="mono">AEO4</td><td><b>의사결정에 필요한 정보</b><div class="sub">가격대·시간·회복·조건처럼 결정에 쓰는 정보가 텍스트로 있는가</div></td><td><b>40</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">C4 L2 · C5 L0</td></tr><tr><td class="mono">AEO5</td><td><b>정보 구조와 가독성</b><div class="sub">제목이 주제를 서술하고 계층이 논리적인가</div></td><td><b>0</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">C3 L0</td></tr><tr><td class="mono">AEO6</td><td><b>다음 행동의 명확성</b><div class="sub">답을 읽은 사람이 무엇을 하면 되는지(예약·전화·방문) 바로 보이는가</div></td><td><span class="pill gray">미검증</span></td><td>미검증</td><td class="sub"></td></tr><tr><td class="mono">AEO7</td><td><b>핵심 답변의 텍스트 추출</b><div class="sub">답이 이미지가 아니라 텍스트로 존재하고 서버가 렌더하는가</div></td><td><b>60</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">A3 L3 · F1 L0</td></tr><tr><td class="mono">AEO8</td><td><b>사이트 내 답변 발견</b><div class="sub">크롤러가 답이 있는 페이지를 찾아갈 수 있는가</div></td><td><b>47</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">A5 L1 · B6 L2</td></tr>
|
||||
</tbody></table>
|
||||
|
||||
<div class="eyebrow" style="margin-top:34px">GEO · Source Readiness</div><h2>출처 준비도 8개 항목</h2>
|
||||
<p class="lede">주장에 근거가 붙어 있고, 누가 책임지는지 보이고, 병원 사실이 표면마다 같고, 갱신·정정 기록이 있으며, 기계가 인용 식별자를 읽을 수 있는가.</p>
|
||||
|
||||
<table class="tbl"><thead><tr><th style="width:52px">항목</th><th>무엇을 보는가</th><th style="width:70px">점수</th><th style="width:72px">근거</th><th>파생된 실측 항목</th></tr></thead><tbody>
|
||||
<tr><td class="mono">GEO1</td><td><b>주장과 근거의 일치</b><div class="sub">수치·수상·효과 주장마다 근거(원문·출처·조건)가 붙어 있는가</div></td><td><span class="pill gray">미검증</span></td><td>미검증</td><td class="sub"></td></tr><tr><td class="mono">GEO2</td><td><b>출처의 적합성과 추적성</b><div class="sub">인용된 URL이 정본으로 수렴하고 시간이 지나도 같은 곳을 가리키는가</div></td><td><b>33</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">A4 L1</td></tr><tr><td class="mono">GEO3</td><td><b>전문성과 책임 주체</b><div class="sub">누가 썼고 누가 의학적으로 책임지는지 텍스트와 스키마로 보이는가</div></td><td><b>40</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">C7 L2 · B3 L0</td></tr><tr><td class="mono">GEO4</td><td><b>병원 엔티티와 사실의 정합성</b><div class="sub">이 병원이 누구인지 사이트 안과 밖(강남언니·GBP·플레이스)에서 같은 사실로 확정되는가</div></td><td><b>63</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">B2 L1 · B4 L3 · B5 L3 · D1 미검증 · D2 미검증 · D4 미검증 · D5 미검증 · D6 L0</td></tr><tr><td class="mono">GEO5</td><td><b>사실의 최신성과 정정</b><div class="sub">언제 확인한 사실인지 적혀 있고, 틀린 것을 고친 기록이 있는가</div></td><td><b>33</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">C6 L1</td></tr><tr><td class="mono">GEO6</td><td><b>원천 대비 추가 가치</b><div class="sub">다른 곳에 있는 문장을 옮긴 것이 아니라 여기서만 얻는 정보(체크리스트·조건 표·실측)가 있는가</div></td><td><span class="pill gray">미검증</span></td><td>미검증</td><td class="sub"></td></tr><tr><td class="mono">GEO7</td><td><b>발행 관계와 투명성</b><div class="sub">누가 운영하고 누구의 지원을 받는지, 광고와 정보가 구분되는지 밝히는가</div></td><td><span class="pill gray">미검증</span></td><td>미검증</td><td class="sub"></td></tr><tr><td class="mono">GEO8</td><td><b>인용 식별자와 메타데이터 정합성</b><div class="sub">기계가 읽는 식별자(JSON-LD·메타)가 유효하고 화면 내용과 같은가</div></td><td><b>67</b><span class="sub"> / 100</span></td><td>실측 파생</td><td class="sub">B1 L2</td></tr>
|
||||
</tbody></table>
|
||||
|
||||
</div></section>
|
||||
|
||||
<section class="pb dark"><div class="page">
|
||||
<div class="eyebrow">Category Detail</div><h2>카테고리별 실측 36개 항목</h2>
|
||||
<div class="grid g3" style="margin-top:12px">
|
||||
<div class="card"><div class="sub">A · Access & Crawlability</div><h3 style="margin-top:2px">AI 크롤러 접근성</h3><div><span class="serif" style="font-size:28px;font-weight:700;color:var(--accent)">80</span><span class="sub"> / 100 · 실측 6/7</span></div></div><div class="card"><div class="sub">B · Entity & Structured Data</div><h3 style="margin-top:2px">엔티티 식별·구조화</h3><div><span class="serif" style="font-size:28px;font-weight:700;color:var(--accent)">50</span><span class="sub"> / 100 · 실측 7/7</span></div></div><div class="card"><div class="sub">C · Answer-Ready Content</div><h3 style="margin-top:2px">답변 인용 가능 콘텐츠</h3><div><span class="serif" style="font-size:28px;font-weight:700;color:var(--accent)">25</span><span class="sub"> / 100 · 실측 7/8</span></div></div><div class="card"><div class="sub">D · Off-site Surfaces</div><h3 style="margin-top:2px">AI 인용 표면 확보</h3><div><span class="serif" style="font-size:28px;font-weight:700;color:var(--accent)">53</span><span class="sub"> / 100 · 실측 2/6</span></div></div><div class="card"><div class="sub">E · Measurement</div><h3 style="margin-top:2px">AI 가시성 측정 인프라</h3><div><span class="serif" style="font-size:28px;font-weight:700;color:var(--accent)">0</span><span class="sub"> / 100 · 실측 0/4</span></div></div><div class="card"><div class="sub">F · Technical Hygiene</div><h3 style="margin-top:2px">기술 위생</h3><div><span class="serif" style="font-size:28px;font-weight:700;color:var(--accent)">42</span><span class="sub"> / 100 · 실측 3/4</span></div></div>
|
||||
</div>
|
||||
</div></section>
|
||||
<section><div class="page">
|
||||
<h3 style="margin-top:22px;font-size:18px">A · AI 크롤러 접근성 <span class="sub">AI 검색엔진이 사이트를 읽을 수 있는가. 크롤러 접근이 막히면 나머지 항목은 전부 무효다.</span></h3>
|
||||
<table class="tbl"><thead><tr><th style="width:44px">ID</th><th style="width:22%">항목</th><th style="width:88px">판정</th><th>실측 근거</th></tr></thead><tbody>
|
||||
<tr><td class="mono">A1</td><td><b>검색용 AI 봇 허용</b><div class="sub">배점 5</div></td><td><span class="lv lv3">L3</span><div class="sub">검색봇 전부 허용 + 200 응답</div></td><td class="sub" style="color:var(--slate)">12개 AI 봇 전부 허용. OAI-SearchBot·PerplexityBot·GPTBot UA로 GET → 전부 200</td></tr><tr><td class="mono">A2</td><td><b>CDN/WAF AI 차단 없음</b><div class="sub">배점 3</div></td><td><span class="lv lv3">L3</span><div class="sub">CDN 차단 없음 확인</div></td><td class="sub" style="color:var(--slate)">Server: Microsoft-IIS/10.0 직접 응답, Cloudflare 헤더 없음, AI UA 챌린지 없음</td></tr><tr><td class="mono">A3</td><td><b>서버 렌더링 본문</b><div class="sub">배점 3</div></td><td><span class="lv lv3">L3</span><div class="sub">80% 이상 (SSR/정적)</div></td><td class="sub" style="color:var(--slate)">서버 렌더링. JS 미실행 HTML에서 본문 텍스트 14,079자 추출</td></tr><tr><td class="mono">A4</td><td><b>HTTPS·리다이렉트 정합</b><div class="sub">배점 2</div></td><td><span class="lv lv1">L1</span><div class="sub">변형 간 200 중복</div></td><td class="sub" style="color:var(--slate)">변형 간 최종 URL 불일치(중복 콘텐츠 위험): ['https://k-wonjin.co.kr', 'https://www.k-wonjin.co.kr']</td></tr><tr><td class="mono">A5</td><td><b>sitemap.xml 제공</b><div class="sub">배점 3</div></td><td><span class="lv lv1">L1</span><div class="sub">있으나 robots 미선언</div></td><td class="sub" style="color:var(--slate)">/sitemap.xml 200이나 robots.txt에 Sitemap 미선언. URL 132개</td></tr><tr><td class="mono">A6</td><td><b>Bing 색인 (ChatGPT 검색 경로)</b><div class="sub">배점 3</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] Bing Webmaster Tools 등록 여부는 오너 계정 접근 필요 (또는 site: 검색 수동 확인)</td></tr><tr><td class="mono">A7</td><td><b>응답 속도·크롤 예산</b><div class="sub">배점 1</div></td><td><span class="lv lv3">L3</span><div class="sub">TTFB < 0.5s, HTML < 300KB</div></td><td class="sub" style="color:var(--slate)">TTFB 0.094s / 초기 HTML 153KB. 시술 페이지 145KB. 모두 기준 이내</td></tr>
|
||||
</tbody></table><h3 style="margin-top:22px;font-size:18px">B · 엔티티 식별·구조화 <span class="sub">AI가 "이 병원이 누구인지"를 기계적으로 확정할 수 있는가. NAP 일관성과 스키마 위생.</span></h3>
|
||||
<table class="tbl"><thead><tr><th style="width:44px">ID</th><th style="width:22%">항목</th><th style="width:88px">판정</th><th>실측 근거</th></tr></thead><tbody>
|
||||
<tr><td class="mono">B1</td><td><b>JSON-LD 문법 유효성</b><div class="sub">배점 3</div></td><td><span class="lv lv2">L2</span><div class="sub">전부 유효</div></td><td class="sub" style="color:var(--slate)">JSON-LD 4블록 전부 유효 (@graph 미사용)</td></tr><tr><td class="mono">B2</td><td><b>업종 엔티티 스키마 (MedicalClinic / LegalService / LocalBusiness)</b><div class="sub">배점 5</div></td><td><span class="lv lv1">L1</span><div class="sub">Organization만</div></td><td class="sub" style="color:var(--slate)">ItemList + Organization만 존재. MedicalClinic/LocalBusiness 없음 → 주소·전화·진료시간이 구조화되어 있지 않음</td></tr><tr><td class="mono">B3</td><td><b>전문가 스키마 (Physician / Attorney)</b><div class="sub">배점 3</div></td><td><span class="lv lv0">L0</span><div class="sub">없음</div></td><td class="sub" style="color:var(--slate)">Physician/Attorney 스키마 없음. 전문가 정보는 HTML 텍스트·이미지로만 존재</td></tr><tr><td class="mono">B4</td><td><b>NAP 사이트 내 일관성</b><div class="sub">배점 3</div></td><td><span class="lv lv3">L3</span><div class="sub">단일 표기</div></td><td class="sub" style="color:var(--slate)">주소 단일 표기: "서울시 서초구 강남대로 419 파고다타워 12". 전화 6종: 02-3477-3300, 023480-3573, 02392-0330</td></tr><tr><td class="mono">B5</td><td><b>sameAs 연결</b><div class="sub">배점 2</div></td><td><span class="lv lv3">L3</span><div class="sub">5개 이상 (SNS + 버티컬 + 지도)</div></td><td class="sub" style="color:var(--slate)">sameAs 10개 (SNS·버티컬·지도 연결)</td></tr><tr><td class="mono">B6</td><td><b>canonical·중복 제거</b><div class="sub">배점 2</div></td><td><span class="lv lv2">L2</span><div class="sub">있음</div></td><td class="sub" style="color:var(--slate)">rel=canonical self-referencing 존재</td></tr><tr><td class="mono">B7</td><td><b>다국어 hreflang</b><div class="sub">배점 2</div></td><td><span class="lv lv0">L0</span><div class="sub">다국어 페이지 있으나 미연결</div></td><td class="sub" style="color:var(--slate)">다국어 페이지 흔적(https://www.wonjinbeauty.com/en/) 있으나 hreflang 없음. 미연결</td></tr>
|
||||
</tbody></table><h3 style="margin-top:22px;font-size:18px">C · 답변 인용 가능 콘텐츠 <span class="sub">패시지 단위로 잘라내도 자기완결적인 사실 덩어리가 있는가. 정의문·FAQ·수치·표·의료진 근거.</span></h3>
|
||||
<table class="tbl"><thead><tr><th style="width:44px">ID</th><th style="width:22%">항목</th><th style="width:88px">판정</th><th>실측 근거</th></tr></thead><tbody>
|
||||
<tr><td class="mono">C1</td><td><b>정의문형 첫 문단</b><div class="sub">배점 4</div></td><td><span class="lv lv0">L0</span><div class="sub">없음 (슬로건·이미지만)</div></td><td class="sub" style="color:var(--slate)">홈 본문 1,999자에 "원진성형외과는 …에 있는 … 병원입니다" 형태의 정의문 없음. 소개 문구(25년 헤리티지·강남역)는 메인 비주얼 이미지 alt 에만 있고, 소개 페이지(/hospitalinfo/about) 첫 단락도 슬로건형</td></tr><tr><td class="mono">C2</td><td><b>FAQ 섹션</b><div class="sub">배점 4</div></td><td><span class="lv lv0">L0</span><div class="sub">없음</div></td><td class="sub" style="color:var(--slate)">FAQ·자주 묻는 질문·Q&A 섹션 탐지 안 됨 (메인·시술 페이지)</td></tr><tr><td class="mono">C3</td><td><b>제목 계층 의미성</b><div class="sub">배점 3</div></td><td><span class="lv lv0">L0</span><div class="sub">H1 없음 또는 5개 이상</div></td><td class="sub" style="color:var(--slate)">메인 H1 0개: 없음. 시술 페이지 H1 없음</td></tr><tr><td class="mono">C4</td><td><b>구체 수치 (가격·시간·회복)</b><div class="sub">배점 4</div></td><td><span class="lv lv2">L2</span><div class="sub">시술별 일부 수치</div></td><td class="sub" style="color:var(--slate)">눈매교정(CFS) 페이지에 수술 시간 2시간·단기 수면 또는 부분 마취·실밥 제거 7일·일상생활 3일 텍스트 존재. 트임(오픈아이) 40분·5~7일. 쌍꺼풀·눈매교정(글램아이·더블유착) 페이지는 수치 없음. 가격 표기 0회(비급여 안내 페이지는 별도)</td></tr><tr><td class="mono">C5</td><td><b>표·비교 구조</b><div class="sub">배점 2</div></td><td><span class="lv lv0">L0</span><div class="sub">없음</div></td><td class="sub" style="color:var(--slate)">HTML <table> 없음. 비교 정보는 이미지로 추정 (이미지 표 여부는 수동 확인)</td></tr><tr><td class="mono">C6</td><td><b>신선도 신호</b><div class="sub">배점 3</div></td><td><span class="lv lv1">L1</span><div class="sub">1년 이상</div></td><td class="sub" style="color:var(--slate)">최신 갱신 신호 2025-02-18 (sitemap lastmod 2025-02-18). 18개월 전. dateModified 마크업 없음</td></tr><tr><td class="mono">C7</td><td><b>전문가 E-E-A-T (의료진 / 변호사)</b><div class="sub">배점 3</div></td><td><span class="lv lv2">L2</span><div class="sub">자격·경력 텍스트</div></td><td class="sub" style="color:var(--slate)">의료진 상세 페이지 17명의 직함·전문의 여부·경력(원장당 12~23줄)이 HTML 텍스트로 존재. 학술 활동 페이지 3,760자. 단 Physician 스키마·저자 표기는 없어 구조화되지 않음</td></tr><tr><td class="mono">C8</td><td><b>패시지 자기완결성</b><div class="sub">배점 2</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] 핵심 페이지 단락 샘플 10개의 상호·시술명 포함 비율 수동 채점 필요</td></tr>
|
||||
</tbody></table><h3 style="margin-top:22px;font-size:18px">D · AI 인용 표면 확보 <span class="sub">실제로 AI가 인용하는 외부 표면(강남언니·GBP·오픈웹)에 존재하는가. 네이버 자산은 글로벌 AI에 기여도 0.</span></h3>
|
||||
<table class="tbl"><thead><tr><th style="width:44px">ID</th><th style="width:22%">항목</th><th style="width:88px">판정</th><th>실측 근거</th></tr></thead><tbody>
|
||||
<tr><td class="mono">D1</td><td><b>업종 버티컬 프로필 (병의원: 강남언니 / 법률: 로톡)</b><div class="sub">배점 6</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">강남언니 프로필은 공개 페이지 수동 실측 필요 (후기 수·의료진·이벤트·갱신일). 홈페이지 sameAs 에 버티컬 링크 포함 여부는 확인됨(10개 중)</td></tr><tr><td class="mono">D2</td><td><b>Google 비즈니스 프로필</b><div class="sub">배점 4</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] Google Maps 검색으로 GBP 소유·리뷰·NAP 수동 실측 필요</td></tr><tr><td class="mono">D3</td><td><b>오픈웹 언급 (티스토리·유튜브·언론)</b><div class="sub">배점 4</div></td><td><span class="lv lv2">L2</span><div class="sub">유튜브 + 언론/티스토리</div></td><td class="sub" style="color:var(--slate)">자체 YouTube 채널 @wjwonjin 영상 736편·구독 1.5만·누적 조회 3,113만(2026-09-08 API 집계). 인스타그램 3계정·페이스북·네이버 블로그(popokpop) 존재. 채널 sameAs 10개로 홈페이지와 연결됨. 단 홈페이지 내 외부 링크는 JS 렌더라 HTML에서 미노출</td></tr><tr><td class="mono">D4</td><td><b>표면 간 NAP 완전 일치</b><div class="sub">배점 3</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] 홈페이지·버티컬·GBP·플레이스 NAP 대조표 수동 작성 필요</td></tr><tr><td class="mono">D5</td><td><b>네이버 플레이스 (AI 브리핑 전용)</b><div class="sub">배점 2</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[semi·사람 판정 필요] 사이트에 네이버 플레이스 링크 없음. 플레이스 존재·홈페이지 역연결·리뷰 수 수동 확인</td></tr><tr><td class="mono">D6</td><td><b>위키데이터/위키백과 엔티티</b><div class="sub">배점 1</div></td><td><span class="lv lv0">L0</span><div class="sub">없음</div></td><td class="sub" style="color:var(--slate)">Wikidata에서 "원진성형외과" 검색 결과 없음</td></tr>
|
||||
</tbody></table><h3 style="margin-top:22px;font-size:18px">E · AI 가시성 측정 인프라 <span class="sub">개선을 증명할 수 있는가. 소유 신호(크롤러 로그·GA4 AI 유입) 계측 여부.</span></h3>
|
||||
<table class="tbl"><thead><tr><th style="width:44px">ID</th><th style="width:22%">항목</th><th style="width:88px">판정</th><th>실측 근거</th></tr></thead><tbody>
|
||||
<tr><td class="mono">E1</td><td><b>AI 크롤러 로그 (IP 검증)</b><div class="sub">배점 3</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] 서버 로그 접근 필요 (AI 크롤러 히트 + IP 검증)</td></tr><tr><td class="mono">E2</td><td><b>GA4 AI 유입 채널</b><div class="sub">배점 3</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] GA4 접근 필요 (AI 유입 커스텀 채널그룹 여부)</td></tr><tr><td class="mono">E3</td><td><b>GSC AI Overviews 노출</b><div class="sub">배점 2</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] GSC 접근 필요 (AI Overviews 노출)</td></tr><tr><td class="mono">E4</td><td><b>기준선 스팟체크</b><div class="sub">배점 2</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">[manual] 기준선 스팟체크 미실시 (질의 10개 × 5회 반복은 별도 단계)</td></tr>
|
||||
</tbody></table><h3 style="margin-top:22px;font-size:18px">F · 기술 위생 <span class="sub">이미지 대체텍스트·CMS 보안·페이지 무게·모바일. 보조 지표.</span></h3>
|
||||
<table class="tbl"><thead><tr><th style="width:44px">ID</th><th style="width:22%">항목</th><th style="width:88px">판정</th><th>실측 근거</th></tr></thead><tbody>
|
||||
<tr><td class="mono">F1</td><td><b>이미지 대체텍스트</b><div class="sub">배점 2</div></td><td><span class="lv lv0">L0</span><div class="sub">50% 이상 누락</div></td><td class="sub" style="color:var(--slate)">메인 페이지 이미지 45개 중 28개(62%) alt 누락 또는 빈 값</td></tr><tr><td class="mono">F2</td><td><b>CMS 보안·최신성</b><div class="sub">배점 1</div></td><td><span class="lv lvu">미검증</span><div class="sub">미검증</div></td><td class="sub" style="color:var(--slate)">Server: Microsoft-IIS/10.0, ASP.NET 계열 자체 제작 추정(meta generator 없음). CMS 버전·보안 패치 여부 판정 불가</td></tr><tr><td class="mono">F3</td><td><b>페이지 무게</b><div class="sub">배점 1</div></td><td><span class="lv lv3">L3</span><div class="sub">< 300KB</div></td><td class="sub" style="color:var(--slate)">초기 HTML 153KB (300KB 미만)</td></tr><tr><td class="mono">F4</td><td><b>모바일 대응</b><div class="sub">배점 1</div></td><td><span class="lv lv2">L2</span><div class="sub">반응형</div></td><td class="sub" style="color:var(--slate)">viewport meta 존재, 반응형. CWV 미측정</td></tr>
|
||||
</tbody></table>
|
||||
</div></section>
|
||||
|
||||
<section class="pb light"><div class="page">
|
||||
<div class="eyebrow">Action Plan</div><h2>지금 고칠 것과 4주 안에 만들 것을 나눴습니다</h2>
|
||||
<h3 style="margin-top:20px">P0 · 지금 고칠 것 (1주 안)</h3><div class="grid g2"><div class="card act"><span class="pill gray eff">1일</span><div class="pri">P0</div><h3>정본 URL 수렴 + sitemap 선언</h3><p style="margin:0 0 8px;color:var(--slate)">k-wonjin.co.kr → www.k-wonjin.co.kr 로 301 통일, robots.txt 에 Sitemap: 선언, sitemap lastmod 갱신. 전화번호를 대표번호 1개로 통일.</p><div class="sub">연결 항목 <span class="mono">A4</span> <span class="mono">A5</span> <span class="mono">B4</span></div></div><div class="card act"><span class="pill gray eff">1주</span><div class="pri">P0</div><h3>MedicalClinic + Physician 스키마</h3><p style="margin:0 0 8px;color:var(--slate)">Organization 을 MedicalClinic 으로 승격(address·telephone·openingHoursSpecification·medicalSpecialty). 의료진 17명 Physician 스키마(이름·직함·전문의·프로필 URL). 영문 사이트와 hreflang 상호 연결.</p><div class="sub">연결 항목 <span class="mono">B2</span> <span class="mono">B3</span> <span class="mono">B7</span></div></div></div><h3 style="margin-top:20px">P1 · 4주 안에 만들 것</h3><div class="grid g2"><div class="card act"><span class="pill gray eff">2~4주</span><div class="pri">P1</div><h3>시술 페이지 인용 구조: H1·표·FAQ</h3><p style="margin:0 0 8px;color:var(--slate)">시술 페이지마다 H1 1개, 수술 시간·마취·실밥·일상 복귀를 HTML 표로, FAQ 5문항 + FAQPage 스키마. CFS·트임 페이지의 수치 형식을 다른 눈·코·윤곽 페이지로 확산. 메인에 병원 정의문 한 단락.</p><div class="sub">연결 항목 <span class="mono">C1</span> <span class="mono">C2</span> <span class="mono">C3</span> <span class="mono">C4</span> <span class="mono">C5</span></div></div><div class="card act"><span class="pill gray eff">1주</span><div class="pri">P1</div><h3>이미지 alt 일괄 정비 + 갱신 신호</h3><p style="margin:0 0 8px;color:var(--slate)">메인 28개 이미지 alt 작성(무엇을 찍은 사진인지 사실만). 페이지에 dateModified 마크업, sitemap lastmod 를 실제 수정일로.</p><div class="sub">연결 항목 <span class="mono">F1</span> <span class="mono">C6</span></div></div><div class="card act"><span class="pill gray eff">2~4주</span><div class="pri">P1</div><h3>서포터즈 사이트로 오픈웹 원문 공급</h3><p style="margin:0 0 8px;color:var(--slate)">자동 빌드 미리보기(supporters-wonjin.vercel.app)의 글 6편을 병원이 검토·승인하면 색인 허용 도메인으로 발행. 유튜브 설명 영상 10편을 글에 연결. 이후 질문 뱅크 기준으로 편집 캘린더 운영.</p><div class="sub">연결 항목 <span class="mono">C2</span> <span class="mono">C4</span> <span class="mono">C5</span> <span class="mono">D3</span></div></div></div><h3 style="margin-top:20px">P2 · 이어서 할 것</h3><div class="grid g2"><div class="card act"><span class="pill gray eff">지속</span><div class="pri">P2</div><h3>표면 실측과 측정 인프라</h3><p style="margin:0 0 8px;color:var(--slate)">강남언니·GBP·네이버 플레이스 NAP 대조표 작성, GA4 AI 유입 채널그룹, GSC AI Overviews 확인, 서버 로그의 AI 크롤러 히트 계측. Bing Webmaster 등록.</p><div class="sub">연결 항목 <span class="mono">D1</span> <span class="mono">D2</span> <span class="mono">D4</span> <span class="mono">D5</span> <span class="mono">E1</span> <span class="mono">E2</span> <span class="mono">E3</span> <span class="mono">A6</span></div></div></div>
|
||||
</div></section>
|
||||
|
||||
<section class="pb dark"><div class="page">
|
||||
<div class="eyebrow">Supporters Preview</div><h2>홈페이지 자료만으로 서포터즈 사이트 초안을 만들었습니다</h2>
|
||||
<p class="lede">병원 URL 하나로 근거 수집, 글 생성, 발행 게이트, 미리보기 배포까지 자동으로 돌렸습니다. 모든 글은 의학 검토 대기 상태이고 색인은 막혀 있습니다. 병원이 확인 항목을 입력하고 검토·승인하면 코드 수정 없이 발행됩니다.</p>
|
||||
<div class="kpi" style="margin-top:18px">
|
||||
<div class="k"><b>6</b><span>글 (게이트 통과)</span></div>
|
||||
<div class="k"><b>736</b><span>유튜브 영상 집계</span></div>
|
||||
<div class="k"><b>66</b><span>사용 가능 이미지 (전후·사례 제외)</span></div>
|
||||
<div class="k"><b>17</b><span>의료진 프로필</span></div>
|
||||
</div>
|
||||
<p class="note" style="margin-top:14px">미리보기 <a href="https://supporters-wonjin.vercel.app" style="color:#C4B5FD">https://supporters-wonjin.vercel.app</a> · 병원 확인 항목 입력 <a href="https://infinith-demo.vercel.app/supporters/wonjin" style="color:#C4B5FD">infinith-demo.vercel.app/supporters/wonjin</a></p>
|
||||
</div></section>
|
||||
<section><div class="page">
|
||||
<h3 style="font-size:18px">자동 생성한 글 6편</h3>
|
||||
<table class="tbl"><thead><tr><th style="width:54px">분류</th><th>제목</th><th style="width:70px">근거 영상</th><th style="width:86px">병원 확인 대기</th><th style="width:90px">상태</th></tr></thead><tbody>
|
||||
<tr><td class="mono">A</td><td><b>원진성형외과는 어떤 병원인가요? 진료 분야·의료진 구성·위치</b><div class="sub"><a href="https://supporters-wonjin.vercel.app/posts/what-is-clinic">https://supporters-wonjin.vercel.app/posts/what-is-clinic</a></div></td><td>0편</td><td>5건</td><td><span class="pill gray">의학 검토 대기</span></td></tr><tr><td class="mono">B</td><td><b>원진성형외과 방문 안내: 위치·진료시간·주차·예약은 어떻게 하나요?</b><div class="sub"><a href="https://supporters-wonjin.vercel.app/posts/visit-guide">https://supporters-wonjin.vercel.app/posts/visit-guide</a></div></td><td>0편</td><td>3건</td><td><span class="pill gray">의학 검토 대기</span></td></tr><tr><td class="mono">D</td><td><b>원진성형외과 윤곽은 어떤 방법이 있고 시술 시간·마취·회복은 어떻게 되나요?</b><div class="sub"><a href="https://supporters-wonjin.vercel.app/posts/procedure-facial">https://supporters-wonjin.vercel.app/posts/procedure-facial</a></div></td><td>0편</td><td>5건</td><td><span class="pill gray">의학 검토 대기</span></td></tr><tr><td class="mono">D</td><td><b>원진성형외과 눈성형은 어떤 방법이 있고 시술 시간·마취·회복은 어떻게 되나요?</b><div class="sub"><a href="https://supporters-wonjin.vercel.app/posts/procedure-eye">https://supporters-wonjin.vercel.app/posts/procedure-eye</a></div></td><td>3편</td><td>5건</td><td><span class="pill gray">의학 검토 대기</span></td></tr><tr><td class="mono">D</td><td><b>원진성형외과 레이저안티에이징은 어떤 방법이 있고 시술 시간·마취·회복은 어떻게 되나요?</b><div class="sub"><a href="https://supporters-wonjin.vercel.app/posts/procedure-skin">https://supporters-wonjin.vercel.app/posts/procedure-skin</a></div></td><td>0편</td><td>6건</td><td><span class="pill gray">의학 검토 대기</span></td></tr><tr><td class="mono">C</td><td><b>상담에서 꼭 물어봐야 할 질문은 무엇인가요?</b><div class="sub"><a href="https://supporters-wonjin.vercel.app/posts/consult-questions">https://supporters-wonjin.vercel.app/posts/consult-questions</a></div></td><td>3편</td><td>3건</td><td><span class="pill gray">의학 검토 대기</span></td></tr>
|
||||
</tbody></table>
|
||||
<h3 style="font-size:18px;margin-top:26px">발견한 채널과 확인 결과</h3>
|
||||
<p class="sub" style="color:var(--slate)">홈페이지 역링크, 프로필 제목·설명, 등록부, 검색 결과를 근거로 병원 것인지 판정했습니다. "확인 필요"는 병원이 맞다고 알려 주시면 연결합니다.</p>
|
||||
<table class="tbl"><thead><tr><th style="width:110px">플랫폼</th><th>확인됨</th><th>확인 필요</th></tr></thead><tbody>
|
||||
<tr><td><b>유튜브</b></td><td><a href="https://www.youtube.com/channel/UCNBaQBCok5xIViCnrGdisoQ">WJ원진성형외과</a> <span class="sub">(구독 28,300)</span><br><a href="https://www.youtube.com/@wjwonjin">WJ원진성형외과</a> <span class="sub">(구독 14,700)</span></td><td class="sub"><a href="https://www.youtube.com/channel/UCNmTm4UubrscPczrAfGhUvQ" style="color:var(--muted)">Wonjin Plastic Surgery Korea</a><br><a href="https://www.youtube.com/channel/UCk2UbMID_NjYZe7-WBLQXRw" style="color:var(--muted)">유세윤의 광고100 X 원진성형외과</a><br><a href="https://www.youtube.com/channel/UCEC21_7WvRx8cWlje4sLVlw" style="color:var(--muted)">WONJINPS</a><br><a href="https://www.youtube.com/channel/UCJuM0rYynWd9xAXmOf-dl9A" style="color:var(--muted)">WONJIN_OFFICIAL - KOREA No.1 PLASTIC SURGERY</a><br><a href="https://www.youtube.com/channel/UChnJVIjdmUeZkA40cRFMzFA" style="color:var(--muted)">원트성형외과</a></td></tr><tr><td><b>인스타그램</b></td><td><a href="https://www.instagram.com/wonjin_official/">Instagram</a><br><a href="https://www.instagram.com/wonjin_ps/">Instagram</a><br><a href="https://www.instagram.com/wj_cosmetic/">Instagram</a></td><td class="sub"><a href="https://www.instagram.com/wj_plasticsurgery/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/hamdust_/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/bjwnjn/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/wonjin_sunnywon/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/wonjinire/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/wxxnzin/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/wj_1j_/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/wonjin/" style="color:var(--muted)">Instagram</a><br><a href="https://www.instagram.com/wonjinps/" style="color:var(--muted)">Instagram</a></td></tr><tr><td><b>페이스북</b></td><td><a href="https://www.facebook.com/KwonjinPS">KwonjinPS</a></td><td class="sub"></td></tr><tr><td><b>네이버 블로그</b></td><td><a href="https://blog.naver.com/popokpop">popokpop</a></td><td class="sub"><a href="https://blog.naver.com/naramalssami1" style="color:var(--muted)">naramalssami1</a><br><a href="https://blog.naver.com/qeqe0420" style="color:var(--muted)">qeqe0420</a><br><a href="https://blog.naver.com/vpepwxormtfo" style="color:var(--muted)">vpepwxormtfo</a></td></tr><tr><td><b>틱톡</b></td><td><a href="https://www.tiktok.com/@wonjin_official">wonjin_official</a></td><td class="sub"></td></tr><tr><td><b>카카오톡 채널</b></td><td><a href="https://pf.kakao.com/_bxflzE">원진성형외과의원</a></td><td class="sub"></td></tr><tr><td><b>강남언니</b></td><td><a href="https://www.gangnamunni.com/hospitals/2500">원진성형외과의원 | 강남언니 - 내 선택에 확신을</a></td><td class="sub"></td></tr><tr><td><b>네이버 플레이스</b></td><td><span class="sub">찾지 못함</span></td><td class="sub"></td></tr><tr><td><b>바비톡</b></td><td><a href="https://babitalk.com/hospitals/3143">원진성형외과의원 | 후기∙가격∙이벤트 정보 - 바비톡</a></td><td class="sub"></td></tr>
|
||||
</tbody></table>
|
||||
<h3 style="font-size:18px;margin-top:26px">병원이 확인해 주실 것 9가지</h3>
|
||||
<p class="sub" style="color:var(--slate)">홈페이지 공개 자료에 없어 병원만 답할 수 있는 값입니다. 입력 전까지 사이트에는 "확인 대기"로 표시됩니다.</p>
|
||||
<div class="grid g3" style="margin-top:10px"><div class="card" style="padding:14px 16px"><span class="mono">1</span> <b>작성자 실명·직함·공개 프로필</b></div><div class="card" style="padding:14px 16px"><span class="mono">2</span> <b>글별 의학 검토 원장과 검토일</b></div><div class="card" style="padding:14px 16px"><span class="mono">3</span> <b>지원 관계 문구</b></div><div class="card" style="padding:14px 16px"><span class="mono">4</span> <b>견적 기본 포함 항목·결제 방식</b></div><div class="card" style="padding:14px 16px"><span class="mono">5</span> <b>회복 일정표의 병원 확정값</b></div><div class="card" style="padding:14px 16px"><span class="mono">6</span> <b>재수술 정책</b></div><div class="card" style="padding:14px 16px"><span class="mono">7</span> <b>페이지 간 표기 불일치의 정답</b></div><div class="card" style="padding:14px 16px"><span class="mono">8</span> <b>진료 분야별 담당 원장</b></div><div class="card" style="padding:14px 16px"><span class="mono">9</span> <b>정식 도메인·색인 허용 시점·홈페이지 링크 위치</b></div></div>
|
||||
<p class="note">싣지 않는 것: 전후 사진, 환자 경험담, 다른 병원과의 비교, 효과 보장, 가격 금액. 이미지는 의료법 기준 규칙에 따라 전후·사례·모델·수술 장면·인증 마크를 자동 제외했습니다.</p>
|
||||
</div></section>
|
||||
|
||||
<section class="pb light"><div class="page">
|
||||
<div class="eyebrow">Integrity</div><h2>근거 없는 것은 약속하지 않습니다</h2>
|
||||
<table class="tbl" style="margin-top:12px"><thead><tr><th style="width:30%">하지 않는 것</th><th>이유</th></tr></thead><tbody>
|
||||
<tr><td><b>llms.txt 제작</b></td><td style="color:var(--slate)">Google 공식(2026-06) 효과 0, 채택률 0.13%, 서버 로그에 요청 자체가 없음. 위약이다.</td></tr><tr><td><b>"스키마 넣으면 AI가 인용합니다" 약속</b></td><td style="color:var(--slate)">인과 증거 없음. 스키마는 엔티티 식별을 돕는 위생 조치로만 설명한다.</td></tr><tr><td><b>단발 조회로 순위·노출 보고</b></td><td style="color:var(--slate)">LLM 답변 분산 10~34%. 반복 측정 + 신뢰구간으로만 보고한다.</td></tr><tr><td><b>답변엔진 UI 자동 조회</b></td><td style="color:var(--slate)">OpenAI·Perplexity 약관 위반. 주력 측정은 오너가 소유한 신호(로그·GA4)로 한다.</td></tr><tr><td><b>네이버 블로그 증량</b></td><td style="color:var(--slate)">blog.naver.com robots.txt가 AI 크롤링을 전면 금지. 글로벌 AI 답변 기여도 0. 네이버 AI 브리핑은 별도 트랙.</td></tr>
|
||||
</tbody></table>
|
||||
<h3 style="margin-top:26px;font-size:18px">측정 조건</h3>
|
||||
<ul style="color:var(--slate)"><li>실측 대상: 메인 페이지 + /contents/eye/cfs 2개 URL, JS 미실행 HTML 기준</li><li>크롤러 접근성: robots.txt 파싱 + 12개 AI 봇 UA 실제 GET 요청</li><li>semi/manual 항목은 자동 수집 증거만 첨부하고 미검증 처리, 분모 제외 (사람 보정 후 확정)</li><li>답변엔진 언급률은 측정하지 않았다 (단발 조회는 무효, 반복 측정은 별도 기준선 단계에서 수행)</li></ul>
|
||||
<h3 style="margin-top:26px;font-size:18px">측정 가능 범위</h3>
|
||||
<p style="color:var(--slate);margin:0 0 8px">무엇을 어떤 방법으로 재고, 무엇은 잴 수 없는지 먼저 밝힙니다. 잴 수 없는 것은 숫자를 만들지 않고 비워 둡니다.</p>
|
||||
<table class="tbl"><thead><tr><th style="width:26%">재는 것</th><th style="width:22%">방법</th><th style="width:80px">가능</th><th>비고</th></tr></thead><tbody>
|
||||
<tr><td><b>AI 답변 준비도 · 출처 준비도</b></td><td>공개 페이지 실측(크롤러·렌더링·스키마·표면)</td><td><span class="pill gray">가능</span></td><td class="sub">오너 계정이 필요한 항목(GA4·GSC·서버 로그)은 미검증으로 표시</td></tr>
|
||||
<tr><td><b>답변엔진 언급률 · 감성</b></td><td>질문 뱅크를 공식 API로 반복 조회</td><td><span class="pill gray">가능</span></td><td class="sub">ChatGPT · Perplexity 기본, 단발 조회는 쓰지 않음. 소비자 화면 자동 조회는 약관 위반이라 하지 않음</td></tr>
|
||||
<tr><td><b>ChatGPT 유입</b></td><td>GA4 세션 출처 · utm</td><td><span class="pill gray">가능</span></td><td class="sub">링크에 utm_source=chatgpt.com 을 붙여 보내므로 리퍼러가 비어도 잡힌다.</td></tr><tr><td><b>Perplexity 유입</b></td><td>GA4 세션 출처 · utm</td><td><span class="pill gray">일부만</span></td><td class="sub">리퍼러를 자주 비운다. 잡히는 건수는 실제 유입의 일부다. 실측 언급률과 함께 읽는다.</td></tr><tr><td><b>Gemini 유입</b></td><td>GA4 세션 출처 · utm</td><td><span class="pill gray">가능</span></td><td class="sub">gemini.google.com 리퍼러로 분리된다.</td></tr><tr><td><b>Copilot 유입</b></td><td>GA4 세션 출처 · utm</td><td><span class="pill gray">일부만</span></td><td class="sub">Bing 검색과 리퍼러가 섞이는 경우가 있다.</td></tr><tr><td><b>Claude 유입</b></td><td>GA4 세션 출처 · utm</td><td><span class="pill gray">가능</span></td><td class="sub">claude.ai 리퍼러.</td></tr><tr><td><b>Google AI Overview · AI Mode 유입</b></td><td>GA4 세션 출처 · utm</td><td><span class="pill gray">불가</span></td><td class="sub">구글 자연검색(google / organic)과 같은 리퍼러라 GA4로는 구분되지 않는다. 타사 도구의 'AI Overview 유입'도 추정치다. 가시성은 답변엔진 실측으로만 잰다.</td></tr><tr><td><b>네이버 AI 브리핑 유입</b></td><td>GA4 세션 출처 · utm</td><td><span class="pill gray">불가</span></td><td class="sub">네이버 검색 리퍼러(search.naver.com)와 구분되지 않는다. 네이버 서치어드바이저 유입 키워드로 간접 확인만 가능.</td></tr><tr><td><b>기타 AI 검색 유입</b></td><td>GA4 세션 출처 · utm</td><td><span class="pill gray">일부만</span></td><td class="sub">리퍼러가 있을 때만 잡힌다.</td></tr>
|
||||
<tr><td><b>AI 크롤러 방문</b></td><td>서버 로그(UA · IP 대역)</td><td><span class="pill gray">조건부</span></td><td class="sub">서포터즈 사이트는 로그로 계측 가능. 병원 사이트는 로그 접근 권한이 있을 때만</td></tr>
|
||||
<tr><td><b>전화 · 오프라인 방문</b></td><td>-</td><td><span class="pill gray">불가</span></td><td class="sub">사이트의 전화 탭 · 예약 클릭까지만 잼</td></tr>
|
||||
</tbody></table>
|
||||
<h3 style="margin-top:26px;font-size:18px">채점 방법</h3>
|
||||
<p style="color:var(--slate);margin:0">기준표 v1.0 36개 실측 항목(A 접근성 · B 엔티티 · C 콘텐츠 · D 표면 · E 측정 · F 위생)을 0~3 레벨로 판정하고, v2.0은 그 항목을 답변 준비도(AEO) 8개와 출처 준비도(GEO) 8개로 묶어 각 100점으로 정규화합니다. 미검증 항목은 분모에서 빼고, 치명 게이트(크롤러 차단 등)에 걸리면 상한을 둡니다. 답변엔진 언급률은 단발 조회로는 재지 않습니다.</p>
|
||||
</div></section>
|
||||
|
||||
<footer>INFINITH · AI오투오 · 문의 o2oteam@o2o.kr · 이 리포트는 공개 페이지 실측에 근거하며, 오너 계정(GA4·GSC·서버 로그)이 필요한 항목은 미검증으로 두었습니다. 법률 자문이 아닙니다.</footer>
|
||||
</body></html>
|
||||
Binary file not shown.
@ -1,192 +0,0 @@
|
||||
{
|
||||
"_meta": {
|
||||
"sampleUrls": [
|
||||
"https://www.k-wonjin.co.kr",
|
||||
"https://www.k-wonjin.co.kr/contents/eye/cfs"
|
||||
],
|
||||
"sampleWarning": "표본 URL 2개 (<5). 판정은 홈·대표 시술 페이지 기준이며 사이트 전체로 일반화하지 말 것. 시술 상세 3개·오시는길·블로그를 curl+파서로 추가 확인할 것 (2026-08-28 뷰성형외과 오판 3건의 원인)"
|
||||
},
|
||||
"results": [
|
||||
{
|
||||
"criterionId": "A1",
|
||||
"level": 3,
|
||||
"evidence": "12개 AI 봇 전부 허용. OAI-SearchBot·PerplexityBot·GPTBot UA로 GET → 전부 200",
|
||||
"source": "robots.txt: User-agent: * / Disallow: /admin/"
|
||||
},
|
||||
{
|
||||
"criterionId": "A2",
|
||||
"level": 3,
|
||||
"evidence": "Server: Microsoft-IIS/10.0 직접 응답, Cloudflare 헤더 없음, AI UA 챌린지 없음"
|
||||
},
|
||||
{
|
||||
"criterionId": "A3",
|
||||
"level": 3,
|
||||
"evidence": "서버 렌더링. JS 미실행 HTML에서 본문 텍스트 14,079자 추출"
|
||||
},
|
||||
{
|
||||
"criterionId": "A4",
|
||||
"level": 1,
|
||||
"evidence": "변형 간 최종 URL 불일치(중복 콘텐츠 위험): ['https://k-wonjin.co.kr', 'https://www.k-wonjin.co.kr']"
|
||||
},
|
||||
{
|
||||
"criterionId": "A5",
|
||||
"level": 1,
|
||||
"evidence": "/sitemap.xml 200이나 robots.txt에 Sitemap 미선언. URL 132개"
|
||||
},
|
||||
{
|
||||
"criterionId": "A6",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] Bing Webmaster Tools 등록 여부는 오너 계정 접근 필요 (또는 site: 검색 수동 확인)"
|
||||
},
|
||||
{
|
||||
"criterionId": "A7",
|
||||
"level": 3,
|
||||
"evidence": "TTFB 0.094s / 초기 HTML 153KB. 시술 페이지 145KB — 모두 기준 이내"
|
||||
},
|
||||
{
|
||||
"criterionId": "B1",
|
||||
"level": 2,
|
||||
"evidence": "JSON-LD 4블록 전부 유효 (@graph 미사용)"
|
||||
},
|
||||
{
|
||||
"criterionId": "B2",
|
||||
"level": 1,
|
||||
"evidence": "ItemList + Organization만 존재. MedicalClinic/LocalBusiness 없음 → 주소·전화·진료시간이 구조화되어 있지 않음"
|
||||
},
|
||||
{
|
||||
"criterionId": "B3",
|
||||
"level": 0,
|
||||
"evidence": "Physician/Attorney 스키마 없음. 전문가 정보는 HTML 텍스트·이미지로만 존재"
|
||||
},
|
||||
{
|
||||
"criterionId": "B4",
|
||||
"level": 3,
|
||||
"evidence": "주소 단일 표기: \"서울시 서초구 강남대로 419 파고다타워 12\". 전화 6종: 02-3477-3300, 023480-3573, 02392-0330"
|
||||
},
|
||||
{
|
||||
"criterionId": "B5",
|
||||
"level": 3,
|
||||
"evidence": "sameAs 10개 (SNS·버티컬·지도 연결)"
|
||||
},
|
||||
{
|
||||
"criterionId": "B6",
|
||||
"level": 2,
|
||||
"evidence": "rel=canonical self-referencing 존재"
|
||||
},
|
||||
{
|
||||
"criterionId": "B7",
|
||||
"level": 0,
|
||||
"evidence": "다국어 페이지 흔적(https://www.wonjinbeauty.com/en/) 있으나 hreflang 없음 — 미연결"
|
||||
},
|
||||
{
|
||||
"criterionId": "C1",
|
||||
"level": "unverified",
|
||||
"evidence": "[semi·사람 판정 필요] 메인 첫 200자: \"당신만 봅니다 - WJ 원진성형외과 Ai 상담 카카오톡 상담 빠른 비용 상담 빠른 비용 상담 바로 예약 피부과 안녕하세요, WJ 원진 성형외과입니다 :-) 빠른 비용 상담 이름 연…\" / 시술 페이지 첫 200자: \"눈매교정(고도안검하수)-당신만 봅니다-원진성형외과 Ai 상담 카카오톡 상담 빠른 비용 상담 빠른 비용 상담 바로 예약 피부과 안녕하세요, WJ …\" (첫 200자 내 상호 있음)"
|
||||
},
|
||||
{
|
||||
"criterionId": "C2",
|
||||
"level": 0,
|
||||
"evidence": "FAQ·자주 묻는 질문·Q&A 섹션 탐지 안 됨 (메인·시술 페이지)"
|
||||
},
|
||||
{
|
||||
"criterionId": "C3",
|
||||
"level": 0,
|
||||
"evidence": "메인 H1 0개: 없음. 시술 페이지 H1 없음"
|
||||
},
|
||||
{
|
||||
"criterionId": "C4",
|
||||
"level": "unverified",
|
||||
"evidence": "[semi·사람 판정 필요] 시술 페이지 수치 밀도: 가격표기 0회, 시간 2회, 일/주 14회, % 0회, 가격/비용/회복 단어 8회 — 표기 맥락(마케팅 문구 vs 실제 표) 확인 필요"
|
||||
},
|
||||
{
|
||||
"criterionId": "C5",
|
||||
"level": 0,
|
||||
"evidence": "HTML <table> 없음. 비교 정보는 이미지로 추정 (이미지 표 여부는 수동 확인)"
|
||||
},
|
||||
{
|
||||
"criterionId": "C6",
|
||||
"level": 1,
|
||||
"evidence": "최신 갱신 신호 2025-02-18 (sitemap lastmod 2025-02-18) — 18개월 전. dateModified 마크업 없음"
|
||||
},
|
||||
{
|
||||
"criterionId": "C7",
|
||||
"level": "unverified",
|
||||
"evidence": "[semi·사람 판정 필요] 전문가 언급 22회, 권위 키워드 15회 (논문, 인증, 학회) — 자격·경력이 텍스트인지 이미지인지 확인 필요"
|
||||
},
|
||||
{
|
||||
"criterionId": "C8",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] 핵심 페이지 단락 샘플 10개의 상호·시술명 포함 비율 수동 채점 필요"
|
||||
},
|
||||
{
|
||||
"criterionId": "D1",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] 업종 버티컬(병의원: 강남언니 / 법률: 로톡) 프로필 수동 실측 필요 — 후기 수·의료진·이벤트·갱신일"
|
||||
},
|
||||
{
|
||||
"criterionId": "D2",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] Google Maps 검색으로 GBP 소유·리뷰·NAP 수동 실측 필요"
|
||||
},
|
||||
{
|
||||
"criterionId": "D3",
|
||||
"level": "unverified",
|
||||
"evidence": "[semi·사람 판정 필요] 검색 그라운딩 미실시. 사이트에서 발견된 외부 채널: pf.kakao.com(2), www.facebook.com(2), www.instagram.com(2), blog.naver.com(2), www.youtube.com(2) — naver.com 제외 오픈웹 언급(티스토리·언론)은 검색으로 별도 집계 필요"
|
||||
},
|
||||
{
|
||||
"criterionId": "D4",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] 홈페이지·버티컬·GBP·플레이스 NAP 대조표 수동 작성 필요"
|
||||
},
|
||||
{
|
||||
"criterionId": "D5",
|
||||
"level": "unverified",
|
||||
"evidence": "[semi·사람 판정 필요] 사이트에 네이버 플레이스 링크 없음 — 플레이스 존재·홈페이지 역연결·리뷰 수 수동 확인"
|
||||
},
|
||||
{
|
||||
"criterionId": "D6",
|
||||
"level": 0,
|
||||
"evidence": "Wikidata에서 \"원진성형외과\" 검색 결과 없음"
|
||||
},
|
||||
{
|
||||
"criterionId": "E1",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] 서버 로그 접근 필요 (AI 크롤러 히트 + IP 검증)"
|
||||
},
|
||||
{
|
||||
"criterionId": "E2",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] GA4 접근 필요 (AI 유입 커스텀 채널그룹 여부)"
|
||||
},
|
||||
{
|
||||
"criterionId": "E3",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] GSC 접근 필요 (AI Overviews 노출)"
|
||||
},
|
||||
{
|
||||
"criterionId": "E4",
|
||||
"level": "unverified",
|
||||
"evidence": "[manual] 기준선 스팟체크 미실시 (질의 10개 × 5회 반복은 별도 단계)"
|
||||
},
|
||||
{
|
||||
"criterionId": "F1",
|
||||
"level": 0,
|
||||
"evidence": "메인 페이지 이미지 45개 중 28개(62%) alt 누락 또는 빈 값"
|
||||
},
|
||||
{
|
||||
"criterionId": "F2",
|
||||
"level": "unverified",
|
||||
"evidence": "meta generator 없음 — CMS 종류·버전 판정 근거 없음 (수동 확인 필요)"
|
||||
},
|
||||
{
|
||||
"criterionId": "F3",
|
||||
"level": 3,
|
||||
"evidence": "초기 HTML 153KB (300KB 미만)"
|
||||
},
|
||||
{
|
||||
"criterionId": "F4",
|
||||
"level": 2,
|
||||
"evidence": "viewport meta 존재, 반응형. CWV 미측정"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,877 +0,0 @@
|
||||
{
|
||||
"clinic": "wonjin",
|
||||
"name": "원진성형외과",
|
||||
"url": "https://www.k-wonjin.co.kr",
|
||||
"checkedAt": "2026-09-08",
|
||||
"phone": "02-3477-3300",
|
||||
"branches": {
|
||||
"sitePages": [
|
||||
"/",
|
||||
"/service/private",
|
||||
"/service/terms",
|
||||
"/hospitalinfo/about",
|
||||
"/sitemap.xml"
|
||||
],
|
||||
"searchQueries": [
|
||||
"\"원진성형외과\" 인스타그램",
|
||||
"\"원진성형외과\" 유튜브",
|
||||
"\"원진성형외과\" 페이스북",
|
||||
"\"원진성형외과\" 블로그",
|
||||
"원진성형외과 강남언니",
|
||||
"원진성형외과 네이버 플레이스",
|
||||
"site:instagram.com 원진",
|
||||
"site:youtube.com 원진성형외과",
|
||||
"site:facebook.com 원진성형외과",
|
||||
"naver:원진성형외과 인스타그램",
|
||||
"naver:원진성형외과 유튜브",
|
||||
"naver:원진성형외과 페이스북",
|
||||
"naver:원진성형외과 블로그"
|
||||
],
|
||||
"variantsTried": [
|
||||
"instagram:wonjin",
|
||||
"instagram:wonjinofficial",
|
||||
"instagram:wonjin.official",
|
||||
"instagram:wonjin-official",
|
||||
"instagram:wonjinps",
|
||||
"instagram:wonjin.ps",
|
||||
"instagram:wonjin-ps",
|
||||
"instagram:wonjinclinic",
|
||||
"instagram:wonjin.clinic",
|
||||
"instagram:wonjin_clinic",
|
||||
"instagram:wonjin-clinic",
|
||||
"instagram:wonjinplasticsurgery",
|
||||
"instagram:wonjin.plasticsurgery",
|
||||
"instagram:wonjin_plasticsurgery",
|
||||
"instagram:wonjin-plasticsurgery",
|
||||
"instagram:wonjinkr",
|
||||
"instagram:wonjin.kr",
|
||||
"instagram:wonjin_kr",
|
||||
"instagram:wonjin-kr",
|
||||
"instagram:wonjinkorea",
|
||||
"instagram:wonjin.korea",
|
||||
"instagram:wonjin_korea",
|
||||
"instagram:wonjin-korea",
|
||||
"instagram:wonjinseoul",
|
||||
"instagram:wonjin.seoul",
|
||||
"instagram:wonjin_seoul",
|
||||
"instagram:wonjin-seoul",
|
||||
"youtube:wonjin",
|
||||
"youtube:wonjinofficial",
|
||||
"youtube:wonjin.official",
|
||||
"youtube:wonjin_official",
|
||||
"youtube:wonjin-official",
|
||||
"youtube:wonjinps",
|
||||
"youtube:wonjin.ps",
|
||||
"youtube:wonjin_ps",
|
||||
"youtube:wonjin-ps",
|
||||
"youtube:wonjinclinic",
|
||||
"youtube:wonjin.clinic",
|
||||
"youtube:wonjin_clinic",
|
||||
"youtube:wonjin-clinic",
|
||||
"youtube:wonjinplasticsurgery"
|
||||
],
|
||||
"registry": true,
|
||||
"allBranches": true
|
||||
},
|
||||
"inventory": [
|
||||
{
|
||||
"platform": "youtube",
|
||||
"state": "CONFIRMED",
|
||||
"confirmed": 2,
|
||||
"candidates": 6,
|
||||
"tried": "사이트 5면 · 검색 13건 · 변형 14"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"state": "CONFIRMED",
|
||||
"confirmed": 3,
|
||||
"candidates": 9,
|
||||
"tried": "사이트 5면 · 검색 13건 · 변형 27"
|
||||
},
|
||||
{
|
||||
"platform": "facebook",
|
||||
"state": "CONFIRMED",
|
||||
"confirmed": 1,
|
||||
"candidates": 0,
|
||||
"tried": "사이트 5면 · 검색 13건 · 변형 0"
|
||||
},
|
||||
{
|
||||
"platform": "naverBlog",
|
||||
"state": "CONFIRMED",
|
||||
"confirmed": 1,
|
||||
"candidates": 3,
|
||||
"tried": "사이트 5면 · 검색 13건 · 변형 0"
|
||||
},
|
||||
{
|
||||
"platform": "tiktok",
|
||||
"state": "CONFIRMED",
|
||||
"confirmed": 1,
|
||||
"candidates": 0,
|
||||
"tried": "사이트 5면 · 검색 13건 · 변형 0"
|
||||
},
|
||||
{
|
||||
"platform": "kakao",
|
||||
"state": "CONFIRMED",
|
||||
"confirmed": 1,
|
||||
"candidates": 0,
|
||||
"tried": "사이트 5면 · 검색 13건 · 변형 0"
|
||||
},
|
||||
{
|
||||
"platform": "gangnamunni",
|
||||
"state": "CONFIRMED",
|
||||
"confirmed": 1,
|
||||
"candidates": 0,
|
||||
"tried": "사이트 5면 · 검색 13건 · 변형 0"
|
||||
},
|
||||
{
|
||||
"platform": "naverPlace",
|
||||
"state": "NOT_FOUND",
|
||||
"confirmed": 0,
|
||||
"candidates": 0,
|
||||
"tried": "사이트 5면 · 검색 13건 · 변형 0"
|
||||
},
|
||||
{
|
||||
"platform": "babitalk",
|
||||
"state": "CONFIRMED",
|
||||
"confirmed": 1,
|
||||
"candidates": 0,
|
||||
"tried": "사이트 5면 · 검색 13건 · 변형 0"
|
||||
}
|
||||
],
|
||||
"platforms": {
|
||||
"youtube": [
|
||||
{
|
||||
"platform": "youtube",
|
||||
"key": "UCNBaQBCok5xIViCnrGdisoQ",
|
||||
"url": "https://www.youtube.com/channel/UCNBaQBCok5xIViCnrGdisoQ",
|
||||
"status": "CONFIRMED",
|
||||
"score": 9,
|
||||
"evidence": [
|
||||
"홈페이지에서 역링크",
|
||||
"레지스트리 등재",
|
||||
"프로필 제목에 상호: \"WJ원진성형외과\"",
|
||||
"프로필 설명에 홈페이지 도메인"
|
||||
],
|
||||
"sources": [
|
||||
"site",
|
||||
"site:sameAs",
|
||||
"registry",
|
||||
"youtube:search",
|
||||
"search"
|
||||
],
|
||||
"title": "WJ원진성형외과",
|
||||
"handle": "@wj2541",
|
||||
"channelId": "UCNBaQBCok5xIViCnrGdisoQ",
|
||||
"subscribers": 28300,
|
||||
"videos": 62,
|
||||
"views": 33899424
|
||||
},
|
||||
{
|
||||
"platform": "youtube",
|
||||
"key": "@wjwonjin",
|
||||
"url": "https://www.youtube.com/@wjwonjin",
|
||||
"status": "CONFIRMED",
|
||||
"score": 9,
|
||||
"evidence": [
|
||||
"홈페이지에서 역링크",
|
||||
"레지스트리 등재",
|
||||
"프로필 제목에 상호: \"WJ원진성형외과\"",
|
||||
"프로필 설명에 홈페이지 도메인"
|
||||
],
|
||||
"sources": [
|
||||
"site",
|
||||
"site:sameAs",
|
||||
"registry",
|
||||
"search",
|
||||
"youtube:search"
|
||||
],
|
||||
"title": "WJ원진성형외과",
|
||||
"handle": "@wjwonjin",
|
||||
"channelId": "UC-EBM4e0VST1W_PQ0NzFMQg",
|
||||
"subscribers": 14700,
|
||||
"videos": 736,
|
||||
"views": 31128302
|
||||
},
|
||||
{
|
||||
"platform": "youtube",
|
||||
"key": "UCNmTm4UubrscPczrAfGhUvQ",
|
||||
"url": "https://www.youtube.com/channel/UCNmTm4UubrscPczrAfGhUvQ",
|
||||
"status": "CANDIDATE",
|
||||
"score": 2,
|
||||
"evidence": [
|
||||
"프로필 제목에 상호: \"Wonjin Plastic Surgery Korea\""
|
||||
],
|
||||
"sources": [
|
||||
"youtube:search"
|
||||
],
|
||||
"title": "Wonjin Plastic Surgery Korea",
|
||||
"handle": "@wonjinplasticsurgerykorea9746",
|
||||
"channelId": "UCNmTm4UubrscPczrAfGhUvQ",
|
||||
"subscribers": 146000,
|
||||
"videos": 50,
|
||||
"views": 8590
|
||||
},
|
||||
{
|
||||
"platform": "youtube",
|
||||
"key": "UCk2UbMID_NjYZe7-WBLQXRw",
|
||||
"url": "https://www.youtube.com/channel/UCk2UbMID_NjYZe7-WBLQXRw",
|
||||
"status": "CANDIDATE",
|
||||
"score": 2,
|
||||
"evidence": [
|
||||
"프로필 제목에 상호: \"유세윤의 광고100 X 원진성형외과\""
|
||||
],
|
||||
"sources": [
|
||||
"youtube:search"
|
||||
],
|
||||
"title": "유세윤의 광고100 X 원진성형외과",
|
||||
"handle": "@유세윤의광고100x원진",
|
||||
"channelId": "UCk2UbMID_NjYZe7-WBLQXRw",
|
||||
"subscribers": 736,
|
||||
"videos": 4,
|
||||
"views": 220740
|
||||
},
|
||||
{
|
||||
"platform": "youtube",
|
||||
"key": "UCEC21_7WvRx8cWlje4sLVlw",
|
||||
"url": "https://www.youtube.com/channel/UCEC21_7WvRx8cWlje4sLVlw",
|
||||
"status": "CANDIDATE",
|
||||
"score": 2,
|
||||
"evidence": [
|
||||
"프로필 제목에 상호: \"WONJINPS\""
|
||||
],
|
||||
"sources": [
|
||||
"youtube:search",
|
||||
"variant"
|
||||
],
|
||||
"title": "WONJINPS",
|
||||
"handle": "@wonjinps",
|
||||
"channelId": "UCEC21_7WvRx8cWlje4sLVlw",
|
||||
"subscribers": 40,
|
||||
"videos": 14,
|
||||
"views": 28223
|
||||
},
|
||||
{
|
||||
"platform": "youtube",
|
||||
"key": "UC8PY7tOsvoaV_z8Rlp_it0Q",
|
||||
"url": "https://www.youtube.com/channel/UC8PY7tOsvoaV_z8Rlp_it0Q",
|
||||
"status": "CANDIDATE",
|
||||
"score": 2,
|
||||
"evidence": [
|
||||
"프로필 제목에 상호: \"Wonjin Aesthetics Centre\""
|
||||
],
|
||||
"sources": [
|
||||
"youtube:search"
|
||||
],
|
||||
"title": "Wonjin Aesthetics Centre",
|
||||
"handle": "@wonjinaestheticscentre3458",
|
||||
"channelId": "UC8PY7tOsvoaV_z8Rlp_it0Q",
|
||||
"subscribers": 5,
|
||||
"videos": 11,
|
||||
"views": 2831
|
||||
},
|
||||
{
|
||||
"platform": "youtube",
|
||||
"key": "UCJuM0rYynWd9xAXmOf-dl9A",
|
||||
"url": "https://www.youtube.com/channel/UCJuM0rYynWd9xAXmOf-dl9A",
|
||||
"status": "CANDIDATE",
|
||||
"score": 2,
|
||||
"evidence": [
|
||||
"프로필 제목에 상호: \"WONJIN_OFFICIAL - KOREA No.1 PLASTIC SUR\""
|
||||
],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "WONJIN_OFFICIAL - KOREA No.1 PLASTIC SURGERY",
|
||||
"handle": "@wonjin_official",
|
||||
"channelId": "UCJuM0rYynWd9xAXmOf-dl9A",
|
||||
"subscribers": 3,
|
||||
"videos": 1,
|
||||
"views": 28
|
||||
},
|
||||
{
|
||||
"platform": "youtube",
|
||||
"key": "UChnJVIjdmUeZkA40cRFMzFA",
|
||||
"url": "https://www.youtube.com/channel/UChnJVIjdmUeZkA40cRFMzFA",
|
||||
"status": "CANDIDATE",
|
||||
"score": 1,
|
||||
"evidence": [
|
||||
"검색 결과 제목/요약에 상호 (naver:원진성형외과 유튜브)"
|
||||
],
|
||||
"sources": [
|
||||
"search"
|
||||
],
|
||||
"title": "원트성형외과",
|
||||
"handle": "@want_2025",
|
||||
"channelId": "UChnJVIjdmUeZkA40cRFMzFA",
|
||||
"subscribers": 79,
|
||||
"videos": 58,
|
||||
"views": 98233
|
||||
}
|
||||
],
|
||||
"instagram": [
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin_official",
|
||||
"url": "https://www.instagram.com/wonjin_official/",
|
||||
"status": "CONFIRMED",
|
||||
"score": 6,
|
||||
"evidence": [
|
||||
"홈페이지에서 역링크",
|
||||
"레지스트리 등재",
|
||||
"검색 결과 제목/요약에 상호 (\"원진성형외과\" 인스타그램)"
|
||||
],
|
||||
"sources": [
|
||||
"site",
|
||||
"site:sameAs",
|
||||
"registry",
|
||||
"search"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin_ps",
|
||||
"url": "https://www.instagram.com/wonjin_ps/",
|
||||
"status": "CONFIRMED",
|
||||
"score": 6,
|
||||
"evidence": [
|
||||
"홈페이지에서 역링크",
|
||||
"레지스트리 등재",
|
||||
"검색 결과 제목/요약에 상호 (\"원진성형외과\" 인스타그램)"
|
||||
],
|
||||
"sources": [
|
||||
"site",
|
||||
"site:sameAs",
|
||||
"registry",
|
||||
"search"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wj_cosmetic",
|
||||
"url": "https://www.instagram.com/wj_cosmetic/",
|
||||
"status": "CONFIRMED",
|
||||
"score": 5,
|
||||
"evidence": [
|
||||
"홈페이지에서 역링크",
|
||||
"레지스트리 등재"
|
||||
],
|
||||
"sources": [
|
||||
"site",
|
||||
"site:sameAs",
|
||||
"registry"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wj_plasticsurgery",
|
||||
"url": "https://www.instagram.com/wj_plasticsurgery/",
|
||||
"status": "CANDIDATE",
|
||||
"score": 1,
|
||||
"evidence": [
|
||||
"검색 결과 제목/요약에 상호 (\"원진성형외과\" 인스타그램)"
|
||||
],
|
||||
"sources": [
|
||||
"search"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "hamdust_",
|
||||
"url": "https://www.instagram.com/hamdust_/",
|
||||
"status": "CANDIDATE",
|
||||
"score": 1,
|
||||
"evidence": [
|
||||
"검색 결과 제목/요약에 상호 (site:instagram.com 원진)"
|
||||
],
|
||||
"sources": [
|
||||
"search"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "bjwnjn",
|
||||
"url": "https://www.instagram.com/bjwnjn/",
|
||||
"status": "CANDIDATE",
|
||||
"score": 1,
|
||||
"evidence": [
|
||||
"검색 결과 제목/요약에 상호 (site:instagram.com 원진)"
|
||||
],
|
||||
"sources": [
|
||||
"search"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin_sunnywon",
|
||||
"url": "https://www.instagram.com/wonjin_sunnywon/",
|
||||
"status": "CANDIDATE",
|
||||
"score": 1,
|
||||
"evidence": [
|
||||
"검색 결과 제목/요약에 상호 (site:instagram.com 원진)"
|
||||
],
|
||||
"sources": [
|
||||
"search"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjinire",
|
||||
"url": "https://www.instagram.com/wonjinire/",
|
||||
"status": "CANDIDATE",
|
||||
"score": 1,
|
||||
"evidence": [
|
||||
"검색 결과 제목/요약에 상호 (site:instagram.com 원진)"
|
||||
],
|
||||
"sources": [
|
||||
"search"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wxxnzin",
|
||||
"url": "https://www.instagram.com/wxxnzin/",
|
||||
"status": "CANDIDATE",
|
||||
"score": 1,
|
||||
"evidence": [
|
||||
"검색 결과 제목/요약에 상호 (site:instagram.com 원진)"
|
||||
],
|
||||
"sources": [
|
||||
"search"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wj_1j_",
|
||||
"url": "https://www.instagram.com/wj_1j_/",
|
||||
"status": "CANDIDATE",
|
||||
"score": 1,
|
||||
"evidence": [
|
||||
"검색 결과 제목/요약에 상호 (site:instagram.com 원진)"
|
||||
],
|
||||
"sources": [
|
||||
"search"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin",
|
||||
"url": "https://www.instagram.com/wonjin/",
|
||||
"status": "CANDIDATE",
|
||||
"score": 1,
|
||||
"evidence": [
|
||||
"검색 결과 제목/요약에 상호 (\"원진성형외과\" 인스타그램)"
|
||||
],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjinps",
|
||||
"url": "https://www.instagram.com/wonjinps/",
|
||||
"status": "CANDIDATE",
|
||||
"score": 1,
|
||||
"evidence": [
|
||||
"검색 결과 제목/요약에 상호 (\"원진성형외과\" 페이스북)"
|
||||
],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjinofficial",
|
||||
"url": "https://www.instagram.com/wonjinofficial/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin.official",
|
||||
"url": "https://www.instagram.com/wonjin.official/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin.ps",
|
||||
"url": "https://www.instagram.com/wonjin.ps/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjinclinic",
|
||||
"url": "https://www.instagram.com/wonjinclinic/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin.clinic",
|
||||
"url": "https://www.instagram.com/wonjin.clinic/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin_clinic",
|
||||
"url": "https://www.instagram.com/wonjin_clinic/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjinplasticsurgery",
|
||||
"url": "https://www.instagram.com/wonjinplasticsurgery/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin.plasticsurgery",
|
||||
"url": "https://www.instagram.com/wonjin.plasticsurgery/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin_plasticsurgery",
|
||||
"url": "https://www.instagram.com/wonjin_plasticsurgery/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjinkr",
|
||||
"url": "https://www.instagram.com/wonjinkr/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin.kr",
|
||||
"url": "https://www.instagram.com/wonjin.kr/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin_kr",
|
||||
"url": "https://www.instagram.com/wonjin_kr/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjinkorea",
|
||||
"url": "https://www.instagram.com/wonjinkorea/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin.korea",
|
||||
"url": "https://www.instagram.com/wonjin.korea/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin_korea",
|
||||
"url": "https://www.instagram.com/wonjin_korea/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjinseoul",
|
||||
"url": "https://www.instagram.com/wonjinseoul/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin.seoul",
|
||||
"url": "https://www.instagram.com/wonjin.seoul/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
},
|
||||
{
|
||||
"platform": "instagram",
|
||||
"key": "wonjin_seoul",
|
||||
"url": "https://www.instagram.com/wonjin_seoul/",
|
||||
"status": "UNRELATED",
|
||||
"score": 0,
|
||||
"evidence": [],
|
||||
"sources": [
|
||||
"variant"
|
||||
],
|
||||
"title": "Instagram"
|
||||
}
|
||||
],
|
||||
"facebook": [
|
||||
{
|
||||
"platform": "facebook",
|
||||
"key": "KwonjinPS",
|
||||
"url": "https://www.facebook.com/KwonjinPS",
|
||||
"status": "CONFIRMED",
|
||||
"score": 6,
|
||||
"evidence": [
|
||||
"홈페이지에서 역링크",
|
||||
"레지스트리 등재",
|
||||
"검색 결과 제목/요약에 상호 (\"원진성형외과\" 페이스북)"
|
||||
],
|
||||
"sources": [
|
||||
"site",
|
||||
"site:sameAs",
|
||||
"registry",
|
||||
"search"
|
||||
]
|
||||
},
|
||||
{
|
||||
"platform": "facebook",
|
||||
"key": "photo.php",
|
||||
"url": "https://www.facebook.com/photo.php",
|
||||
"status": "HANDLE_DEAD",
|
||||
"score": 1,
|
||||
"evidence": [
|
||||
"검색 결과 제목/요약에 상호 (\"원진성형외과\" 페이스북)"
|
||||
],
|
||||
"sources": [
|
||||
"search"
|
||||
]
|
||||
}
|
||||
],
|
||||
"naverBlog": [
|
||||
{
|
||||
"platform": "naverBlog",
|
||||
"key": "popokpop",
|
||||
"url": "https://blog.naver.com/popokpop",
|
||||
"status": "CONFIRMED",
|
||||
"score": 6,
|
||||
"evidence": [
|
||||
"홈페이지에서 역링크",
|
||||
"레지스트리 등재",
|
||||
"검색 결과 제목/요약에 상호 (원진성형외과 네이버 플레이스)"
|
||||
],
|
||||
"sources": [
|
||||
"site",
|
||||
"site:sameAs",
|
||||
"registry",
|
||||
"search"
|
||||
],
|
||||
"title": ""
|
||||
},
|
||||
{
|
||||
"platform": "naverBlog",
|
||||
"key": "naramalssami1",
|
||||
"url": "https://blog.naver.com/naramalssami1",
|
||||
"status": "CANDIDATE",
|
||||
"score": 1,
|
||||
"evidence": [
|
||||
"검색 결과 제목/요약에 상호 (\"원진성형외과\" 블로그)"
|
||||
],
|
||||
"sources": [
|
||||
"search"
|
||||
],
|
||||
"title": ""
|
||||
},
|
||||
{
|
||||
"platform": "naverBlog",
|
||||
"key": "qeqe0420",
|
||||
"url": "https://blog.naver.com/qeqe0420",
|
||||
"status": "CANDIDATE",
|
||||
"score": 1,
|
||||
"evidence": [
|
||||
"검색 결과 제목/요약에 상호 (\"원진성형외과\" 블로그)"
|
||||
],
|
||||
"sources": [
|
||||
"search"
|
||||
],
|
||||
"title": ""
|
||||
},
|
||||
{
|
||||
"platform": "naverBlog",
|
||||
"key": "vpepwxormtfo",
|
||||
"url": "https://blog.naver.com/vpepwxormtfo",
|
||||
"status": "CANDIDATE",
|
||||
"score": 1,
|
||||
"evidence": [
|
||||
"검색 결과 제목/요약에 상호 (원진성형외과 네이버 플레이스)"
|
||||
],
|
||||
"sources": [
|
||||
"search"
|
||||
],
|
||||
"title": ""
|
||||
}
|
||||
],
|
||||
"tiktok": [
|
||||
{
|
||||
"platform": "tiktok",
|
||||
"key": "wonjin_official",
|
||||
"url": "https://www.tiktok.com/@wonjin_official",
|
||||
"status": "CONFIRMED",
|
||||
"score": 4,
|
||||
"evidence": [
|
||||
"홈페이지에서 역링크",
|
||||
"검색 결과 제목/요약에 상호 (\"원진성형외과\" 인스타그램)"
|
||||
],
|
||||
"sources": [
|
||||
"site",
|
||||
"site:sameAs"
|
||||
],
|
||||
"title": ""
|
||||
}
|
||||
],
|
||||
"kakao": [
|
||||
{
|
||||
"platform": "kakao",
|
||||
"key": "_bxflzE",
|
||||
"url": "https://pf.kakao.com/_bxflzE",
|
||||
"status": "CONFIRMED",
|
||||
"score": 5,
|
||||
"evidence": [
|
||||
"홈페이지에서 역링크",
|
||||
"프로필 제목에 상호: \"원진성형외과의원\""
|
||||
],
|
||||
"sources": [
|
||||
"site",
|
||||
"search"
|
||||
],
|
||||
"title": "원진성형외과의원"
|
||||
}
|
||||
],
|
||||
"gangnamunni": [
|
||||
{
|
||||
"platform": "gangnamunni",
|
||||
"key": "2500",
|
||||
"url": "https://www.gangnamunni.com/hospitals/2500",
|
||||
"status": "CONFIRMED",
|
||||
"score": 3,
|
||||
"evidence": [
|
||||
"프로필 제목에 상호: \"원진성형외과의원 | 강남언니 - 내 선택에 확신을\""
|
||||
],
|
||||
"sources": [
|
||||
"search"
|
||||
],
|
||||
"title": "원진성형외과의원 | 강남언니 - 내 선택에 확신을"
|
||||
}
|
||||
],
|
||||
"naverPlace": [],
|
||||
"babitalk": [
|
||||
{
|
||||
"platform": "babitalk",
|
||||
"key": "3143",
|
||||
"url": "https://babitalk.com/hospitals/3143",
|
||||
"status": "CONFIRMED",
|
||||
"score": 3,
|
||||
"evidence": [
|
||||
"프로필 제목에 상호: \"원진성형외과의원 | 후기∙가격∙이벤트 정보 - 바비톡\""
|
||||
],
|
||||
"sources": [
|
||||
"search"
|
||||
],
|
||||
"title": "원진성형외과의원 | 후기∙가격∙이벤트 정보 - 바비톡"
|
||||
}
|
||||
]
|
||||
},
|
||||
"rules": "datacrawling 스킬 §1~§2. CONFIRMED=근거 점수 3 이상, CANDIDATE=사람 확인, NOT_FOUND 는 다섯 갈래 전부 실행 시에만"
|
||||
}
|
||||
@ -1,632 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"fetchedAt": "2026-09-07",
|
||||
"note": "textInImages=true 인 약력은 이미지 글자라 본문에 없다. authors.json에 옮기기 전에 사람이 확인한다.",
|
||||
"doctors": [
|
||||
{
|
||||
"id": "dr-choisoonwoo",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-choisoonwoo/",
|
||||
"name": "최순우",
|
||||
"title": "대표원장 · 성형외과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/01_%EC%B5%9C%EC%88%9C%EC%9A%B0%EC%9B%90%EC%9E%A5%EB%8B%98.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/01_%EC%B5%9C%EC%88%9C%EC%9A%B0%EC%9B%90%EC%9E%A5%EB%8B%98-1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2026/07/%EC%A7%88%EB%AC%B8%EB%8C%93%EA%B8%80-%ED%95%B4%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4-%EA%B0%80%EC%8A%B4%EC%84%B1%ED%98%95.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/dr_csw_video_02.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2026/07/%EA%B0%80%EC%8A%B4%EB%B3%B4%ED%98%95%EB%AC%BC-%EB%A6%AC%ED%94%8C%EB%A7%81%EC%9D%B4-%EC%97%86%EB%8B%A4.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": true,
|
||||
"status": "약력 이미지 글자 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-yunchangwoon",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-yunchangwoon/",
|
||||
"name": "윤창운",
|
||||
"title": "원장 · 성형외과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/02_%EC%9C%A4%EC%B0%BD%EC%9A%B4%EC%9B%90%EC%9E%A5%EB%8B%98-1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/02_%EC%9C%A4%EC%B0%BD%EC%9A%B4%EC%9B%90%EC%9E%A5%EB%8B%98-2.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/yunchangwoon_y.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/yunchangwoon_y2.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/yunchangwoon_y3.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": true,
|
||||
"status": "약력 이미지 글자 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-kimjeongmin",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-kimjeongmin/",
|
||||
"name": "김정민",
|
||||
"title": "원장 · 성형외과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/03_%EA%B9%80%EC%A0%95%EB%AF%BC%EC%9B%90%EC%9E%A5%EB%8B%98-1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/03_%EA%B9%80%EC%A0%95%EB%AF%BC%EC%9B%90%EC%9E%A5%EB%8B%98-2.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/kimjeongmin_y.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/kimjeongmin_y2.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/kimjeongmin_y3.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": true,
|
||||
"status": "약력 이미지 글자 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-kimdohyung",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-kimdohyung/",
|
||||
"name": "김도형",
|
||||
"title": "원장 · 성형외과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/04_%EA%B9%80%EB%8F%84%ED%98%95%EC%9B%90%EC%9E%A5%EB%8B%98-1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/04_%EA%B9%80%EB%8F%84%ED%98%95%EC%9B%90%EC%9E%A5%EB%8B%98-2.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-chungjaehyun",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-chungjaehyun/",
|
||||
"name": "정재현",
|
||||
"title": "원장 · 성형외과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2025/06/jjh-kr.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2025/06/jjh-kr.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/chungjaehyun_y.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/chungjaehyun_y2.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/chungjaehyun_y3.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": true,
|
||||
"status": "약력 이미지 글자 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-chojinwoo",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-chojinwoo/",
|
||||
"name": "조진우",
|
||||
"title": "원장 · 성형외과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/10_%EC%A1%B0%EC%A7%84%EC%9A%B0%EC%9B%90%EC%9E%A5%EB%8B%98-1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/10_%EC%A1%B0%EC%A7%84%EC%9A%B0%EC%9B%90%EC%9E%A5%EB%8B%98-2.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/chojinwoo_y.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/chojinwoo_y2.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/chojinwoo_y3.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": true,
|
||||
"status": "약력 이미지 글자 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-sonyoosung",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-sonyoosung/",
|
||||
"name": "손유성",
|
||||
"title": "원장 · 성형외과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/12_%EC%86%90%EC%9C%A0%EC%84%B1%EC%9B%90%EC%9E%A5%EB%8B%98-1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/12_%EC%86%90%EC%9C%A0%EC%84%B1%EC%9B%90%EC%9E%A5%EB%8B%98-2.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-koheunseok",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-koheunseok/",
|
||||
"name": "고은석",
|
||||
"title": "원장 · 이비인후과전문의",
|
||||
"credentials": [
|
||||
"이비인후과 전문의"
|
||||
],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/13_%EA%B3%A0%EC%9D%80%EC%84%9D%EC%9B%90%EC%9E%A5%EB%8B%98-1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/13_%EA%B3%A0%EC%9D%80%EC%84%9D%EC%9B%90%EC%9E%A5%EB%8B%98-2.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/koheunseok_y.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/koheunseok_y2.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/koheunseok_y3.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": true,
|
||||
"status": "약력 이미지 글자 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-kimminsoo",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-kimminsoo/",
|
||||
"name": "김민수",
|
||||
"title": "원장 · 외과전문의",
|
||||
"credentials": [
|
||||
"외과 전문의 (유방검진 초음파/맘모톰)"
|
||||
],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/16_%EA%B9%80%EB%AF%BC%EC%88%98%EC%9B%90%EC%9E%A5%EB%8B%98-1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/16_%EA%B9%80%EB%AF%BC%EC%88%98%EC%9B%90%EC%9E%A5%EB%8B%98-2.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/kimminsoo_y.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/kimminsoo_y2.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/kimminsoo_y3.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": true,
|
||||
"status": "약력 이미지 글자 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-kimyoungmin",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-kimyoungmin/",
|
||||
"name": "김영민",
|
||||
"title": "원장 · 영상의학과 전문의",
|
||||
"credentials": [
|
||||
"이화여자대학교 의과대학 국립의료원 영상의학과 전공의 대한영상의학회 정회원"
|
||||
],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/17_%EA%B9%80%EC%98%81%EB%AF%BC%EC%9B%90%EC%9E%A5%EB%8B%98-1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/17_%EA%B9%80%EC%98%81%EB%AF%BC%EC%9B%90%EC%9E%A5%EB%8B%98-2.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-leeseunghyun",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-leeseunghyun/",
|
||||
"name": "이승현",
|
||||
"title": "원장",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/18_%EC%9D%B4%EC%8A%B9%ED%98%84%EC%9B%90%EC%9E%A5%EB%8B%98-1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/18_%EC%9D%B4%EC%8A%B9%ED%98%84%EC%9B%90%EC%9E%A5%EB%8B%98-2.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/leeseunghyun_y.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/leeseunghyun_y2.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/leeseunghyun_y3.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": true,
|
||||
"status": "약력 이미지 글자 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-leejihyun",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-leejihyun/",
|
||||
"name": "이지현",
|
||||
"title": "원장",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/19_%EC%9D%B4%EC%A7%80%ED%98%84%EC%9B%90%EC%9E%A5%EB%8B%98-1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/19_%EC%9D%B4%EC%A7%80%ED%98%84%EC%9B%90%EC%9E%A5%EB%8B%98-2.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-ohhyemi",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-ohhyemi/",
|
||||
"name": "오혜미",
|
||||
"title": "원장",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/20_%EC%98%A4%ED%96%AC%EB%AF%B8%EC%9B%90%EC%9E%A5%EB%8B%98-1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/20_%EC%98%A4%ED%96%AC%EB%AF%B8%EC%9B%90%EC%9E%A5%EB%8B%98-2.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-sungbohyun",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-sungbohyun/",
|
||||
"name": "성보현",
|
||||
"title": "원장 · 마취통증의학과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/26_%EC%84%B1%EB%B3%B4%ED%98%84%EC%9B%90%EC%9E%A5%EB%8B%98-1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2022/12/26_%EC%84%B1%EB%B3%B4%ED%98%84%EC%9B%90%EC%9E%A5%EB%8B%98-2.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-choijinhwa",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-choijinhwa/",
|
||||
"name": "최진화",
|
||||
"title": "원장 · 마취통증의학과 전문의",
|
||||
"credentials": [
|
||||
"경희대학교 의학과 졸업 경희의료원 인턴 한양대학교병원 마취통증의학과 수련의 마취통증의학과 전문의 대한 마취통증의학회 평생회원 CPR 수료"
|
||||
],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2023/02/Dr.%EC%B5%9C%EC%A7%84%ED%99%94-1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2023/02/Dr.%EC%B5%9C%EC%A7%84%ED%99%94-2.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-songgyuyeong",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-songgyuyeong/",
|
||||
"name": "송규영",
|
||||
"title": "원장 · 마취통증의학과 전문의",
|
||||
"credentials": [
|
||||
"서울대학교 의학전문대학원 졸업 서울대학교병원 마취통증의학과 전문의 대한마취통증의학회 정회원"
|
||||
],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2023/02/dr_songgyuyeong.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2023/02/dr_songgyuyeong.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-leedongkyu",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-leedongkyu/",
|
||||
"name": "이동규",
|
||||
"title": "원장 · 성형외과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2025/06/ldg-kr.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2025/06/ldg-kr.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-kimsoyoung",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-kimsoyoung/",
|
||||
"name": "김소영",
|
||||
"title": "원장 · 성형외과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2023/04/33_%EA%B9%80%EC%86%8C%EC%98%81%EC%9B%90%EC%9E%A5%EB%8B%9802.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2023/04/33_%EA%B9%80%EC%86%8C%EC%98%81%EC%9B%90%EC%9E%A5%EB%8B%9802.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-kimyoona",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-kimyoona/",
|
||||
"name": "김유나",
|
||||
"title": "원장 · 마취통증의학과 전문의",
|
||||
"credentials": [
|
||||
"가톨릭중앙의료원 수련의 가톨릭중앙의료원 서울성모병원 전임의 대한마취통증의학회 정회원 대한통증학회 정회원"
|
||||
],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2023/03/37_%EA%B9%80%EC%9C%A0%EB%82%98%EC%9B%90%EC%9E%A5%EB%8B%98.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2023/03/37_%EA%B9%80%EC%9C%A0%EB%82%98%EC%9B%90%EC%9E%A5%EB%8B%98.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-anhyena",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-anhyena/",
|
||||
"name": "안예나",
|
||||
"title": "원장 · 마취통증의학과 전문의",
|
||||
"credentials": [
|
||||
"경희대학교 의학전문대학원 졸업 경희의료원 인턴 경희의료원 마취통증의학과 전공의 마취통증의학과 전문의 대한마취통증의학회 정회원"
|
||||
],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2024/08/40_anhyena1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2024/08/40_anhyena1.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-ohwonseok",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-ohwonseok/",
|
||||
"name": "오원석",
|
||||
"title": "원장 · 성형외과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2024/12/Oh-Won-Seok.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2024/12/Oh-Won-Seok.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-parkgunwook",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-parkgunwook/",
|
||||
"name": "박건욱",
|
||||
"title": "원장 · 성형외과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2025/04/Park-Gun-wook.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2025/04/Park-Gun-wook.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-kwakjisoo",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-kwakjisoo/",
|
||||
"name": "곽지수",
|
||||
"title": "원장 · 마취통증의학과 전문의",
|
||||
"credentials": [
|
||||
"고려대학교 의과대학 졸업 고려대학교 안암병원 수련의 고려대학교 안암병원 마취통증의학과 전공의 마취통증의학과 전문의"
|
||||
],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2025/04/gwakjisu.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2025/04/gwakjisu.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-kimkyoungrim",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-kimkyoungrim/",
|
||||
"name": "김경림",
|
||||
"title": "원장 · 마취통증의학과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2026/02/dr_kimkr_big.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2026/02/dr_kimkr_big.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-parkjinwoo",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-parkjinwoo/",
|
||||
"name": "박진우",
|
||||
"title": "대표원장 · 성형외과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2026/03/dr_parkjinwoo.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2026/03/dr_parkjinwoo.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-ohjeongseok",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-ohjeongseok/",
|
||||
"name": "오정석",
|
||||
"title": "원장 · 성형외과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2026/07/%EA%B5%AD%EB%AC%B850_%EC%98%A4%EC%A0%95%EC%84%9D_%EC%9B%90%EC%9E%A5%EB%8B%98-1.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2026/07/%EA%B5%AD%EB%AC%B850_%EC%98%A4%EC%A0%95%EC%84%9D_%EC%9B%90%EC%9E%A5%EB%8B%98.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
},
|
||||
{
|
||||
"id": "dr-ohjunseok",
|
||||
"url": "https://www.viewclinic.com/viewis/doctors/dr-ohjunseok/",
|
||||
"name": "오준석",
|
||||
"title": "원장 · 성형외과 전문의",
|
||||
"credentials": [],
|
||||
"images": [
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2026/05/doc-ohjunsk_photo.jpg",
|
||||
"alt": ""
|
||||
},
|
||||
{
|
||||
"src": "https://www.viewclinic.com/wp-content/uploads/2026/05/doc-ohjunsk_photo.jpg",
|
||||
"alt": ""
|
||||
}
|
||||
],
|
||||
"textInImages": false,
|
||||
"status": "약력 본문 없음 · 확인 대기"
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -1,89 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"fetchedAt": "2026-09-07",
|
||||
"note": "정규식 후보. 값마다 출처 URL. factSheet.json에 넣기 전에 사람이 홈페이지 표기와 대조한다. 후보가 없으면 \"확인 대기\".",
|
||||
"candidates": {
|
||||
"phone": {
|
||||
"02.539.1177": [
|
||||
"https://www.viewclinic.com/viewis/direction/",
|
||||
"https://www.viewclinic.com/viewis/direction3/",
|
||||
"https://www.viewclinic.com/special-view-intro/",
|
||||
"https://www.viewclinic.com/counsel/",
|
||||
"https://www.viewclinic.com/reservation-submit/",
|
||||
"https://www.viewclinic.com/reservation-complete/",
|
||||
"https://www.viewclinic.com/counsel/online-consultation/",
|
||||
"https://www.viewclinic.com/counsel/reservation/"
|
||||
],
|
||||
"02-539-1177": [
|
||||
"https://www.viewclinic.com/viewis/direction/",
|
||||
"https://www.viewclinic.com/viewis/direction3/",
|
||||
"https://www.viewclinic.com/special-view-intro/",
|
||||
"https://www.viewclinic.com/counsel/",
|
||||
"https://www.viewclinic.com/reservation-submit/",
|
||||
"https://www.viewclinic.com/reservation-complete/",
|
||||
"https://www.viewclinic.com/counsel/online-consultation/",
|
||||
"https://www.viewclinic.com/counsel/reservation/"
|
||||
],
|
||||
"02-539-1132": [
|
||||
"https://www.viewclinic.com/viewis/direction/",
|
||||
"https://www.viewclinic.com/viewis/direction3/",
|
||||
"https://www.viewclinic.com/special-view-intro/",
|
||||
"https://www.viewclinic.com/counsel/",
|
||||
"https://www.viewclinic.com/reservation-submit/",
|
||||
"https://www.viewclinic.com/reservation-complete/",
|
||||
"https://www.viewclinic.com/counsel/online-consultation/",
|
||||
"https://www.viewclinic.com/counsel/reservation/"
|
||||
]
|
||||
},
|
||||
"address": {
|
||||
"서울시 강남구 봉은사로 107": [
|
||||
"https://www.viewclinic.com/viewis/direction/",
|
||||
"https://www.viewclinic.com/viewis/direction3/"
|
||||
],
|
||||
"서울시 강남구 봉은사로 1": [
|
||||
"https://www.viewclinic.com/viewis/direction/"
|
||||
],
|
||||
"서울터미널 출발 강변역(2호": [
|
||||
"https://www.viewclinic.com/viewis/direction/",
|
||||
"https://www.viewclinic.com/viewis/direction3/"
|
||||
],
|
||||
"서울특별시 강남구 봉은사로 107": [
|
||||
"https://www.viewclinic.com/viewis/direction/",
|
||||
"https://www.viewclinic.com/viewis/direction3/",
|
||||
"https://www.viewclinic.com/special-view-intro/",
|
||||
"https://www.viewclinic.com/counsel/",
|
||||
"https://www.viewclinic.com/reservation-submit/",
|
||||
"https://www.viewclinic.com/reservation-complete/",
|
||||
"https://www.viewclinic.com/counsel/online-consultation/",
|
||||
"https://www.viewclinic.com/counsel/reservation/"
|
||||
]
|
||||
},
|
||||
"businessNo": {
|
||||
"220-08-86777": [
|
||||
"https://www.viewclinic.com/viewis/direction/",
|
||||
"https://www.viewclinic.com/viewis/direction3/",
|
||||
"https://www.viewclinic.com/special-view-intro/",
|
||||
"https://www.viewclinic.com/counsel/",
|
||||
"https://www.viewclinic.com/reservation-submit/",
|
||||
"https://www.viewclinic.com/reservation-complete/",
|
||||
"https://www.viewclinic.com/counsel/online-consultation/",
|
||||
"https://www.viewclinic.com/counsel/reservation/"
|
||||
]
|
||||
},
|
||||
"representative": {
|
||||
"최순우": [
|
||||
"https://www.viewclinic.com/viewis/direction/",
|
||||
"https://www.viewclinic.com/viewis/direction3/",
|
||||
"https://www.viewclinic.com/special-view-intro/",
|
||||
"https://www.viewclinic.com/counsel/",
|
||||
"https://www.viewclinic.com/reservation-submit/",
|
||||
"https://www.viewclinic.com/reservation-complete/",
|
||||
"https://www.viewclinic.com/counsel/online-consultation/",
|
||||
"https://www.viewclinic.com/counsel/reservation/"
|
||||
],
|
||||
"전화": [
|
||||
"https://www.viewclinic.com/viewis/direction3/"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
@ -1,96 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"fetchedAt": "2026-09-07",
|
||||
"url": "https://www.viewclinic.com/%E2%80%BB%EB%88%88%EB%AC%BC%EC%A3%BC%EC%9D%98%F0%9F%98%AD-make-over-%EB%9D%BC-%EC%93%B0%EA%B3%A0-%EB%A0%88%EC%A0%84%EB%93%9C%EB%9D%BC-%EC%9D%BD%EB%8A%94%EB%8B%A4%F0%9F%92%96-%EC%B2%AD%EC%88%9C-2/",
|
||||
"requestedUrl": "https://www.viewclinic.com/%E2%80%BB%EB%88%88%EB%AC%BC%EC%A3%BC%EC%9D%98%F0%9F%98%AD-make-over-%EB%9D%BC-%EC%93%B0%EA%B3%A0-%EB%A0%88%EC%A0%84%EB%93%9C%EB%9D%BC-%EC%9D%BD%EB%8A%94%EB%8B%A4%F0%9F%92%96-%EC%B2%AD%EC%88%9C-2/",
|
||||
"slug": "-E2-80-BB-EB-88-88-EB-AC-BC-EC-A3-BC-EC-9D-98-F0-9F-98-AD-make-over-EB-9D-BC-EC-93-B0-EA-B3-A0-EB-A0-88-EC-A0-84-EB-93-9C-EB-9D-BC-EC-9D-BD-EB-8A-94-EB-8B-A4-F0-9F-92-96-EC-B2-AD-EC-88-9C-2",
|
||||
"type": "other",
|
||||
"anchor": "",
|
||||
"status": 200,
|
||||
"title": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형] | 뷰성형외과",
|
||||
"metaDesc": "",
|
||||
"h1": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]",
|
||||
"mainSelector": "#ajax-content-wrap",
|
||||
"items": [
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 1,
|
||||
"text": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "By 오픈컴2022년 2월 14일No Comments"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Previous Post(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Next Post청순글래머가 되어 돌아왔어요!! 눈물없이 볼수 없었던 1편과는 다른 모습으로!![눈코성형+얼굴지방이식+안면윤곽+모티바가슴성형] 앞으로는 꽃길만🌺"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Leave a Reply Cancel Reply"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "You must be logged in to post a comment."
|
||||
}
|
||||
],
|
||||
"images": [],
|
||||
"links": [
|
||||
"https://www.viewclinic.com/category/viewtv/rhinoplasty/",
|
||||
"https://www.viewclinic.com/author/opencom/",
|
||||
"https://www.viewclinic.com/%e2%80%bb%eb%88%88%eb%ac%bc%ec%a3%bc%ec%9d%98%f0%9f%98%ad-make-over-%eb%9d%bc-%ec%93%b0%ea%b3%a0-%eb%a0%88%ec%a0%84%eb%93%9c%eb%9d%bc-%ec%9d%bd%eb%8a%94%eb%8b%a4%f0%9f%92%96-%ec%b2%ad%ec%88%9c-2/",
|
||||
"https://www.viewclinic.com/%e2%80%bb%eb%88%88%eb%ac%bc%ec%a3%bc%ec%9d%98%f0%9f%98%ad-make-over-%eb%9d%bc-%ec%93%b0%ea%b3%a0-%eb%a0%88%ec%a0%84%eb%93%9c%eb%9d%bc-%ec%9d%bd%eb%8a%94%eb%8b%a4%f0%9f%92%96-%ec%b2%ad%ec%88%9c/",
|
||||
"https://www.viewclinic.com/%ec%b2%ad%ec%88%9c%ea%b8%80%eb%9e%98%eb%a8%b8%ea%b0%80-%eb%90%98%ec%96%b4-%eb%8f%8c%ec%95%84%ec%99%94%ec%96%b4%ec%9a%94-%eb%88%88%eb%ac%bc%ec%97%86%ec%9d%b4-%eb%b3%bc%ec%88%98-%ec%97%86%ec%97%88-3/",
|
||||
"https://www.viewclinic.com/%E2%80%BB%EB%88%88%EB%AC%BC%EC%A3%BC%EC%9D%98%F0%9F%98%AD-make-over-%EB%9D%BC-%EC%93%B0%EA%B3%A0-%EB%A0%88%EC%A0%84%EB%93%9C%EB%9D%BC-%EC%9D%BD%EB%8A%94%EB%8B%A4%F0%9F%92%96-%EC%B2%AD%EC%88%9C-2/",
|
||||
"https://www.viewclinic.com/member/login/"
|
||||
],
|
||||
"flags": {
|
||||
"textInImages": false,
|
||||
"noText": false,
|
||||
"boilerplateRemoved": 0,
|
||||
"tables": 0
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"heading": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]",
|
||||
"level": 1,
|
||||
"paragraphs": [
|
||||
"By 오픈컴2022년 2월 14일No Comments"
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Previous Post(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Next Post청순글래머가 되어 돌아왔어요!! 눈물없이 볼수 없었던 1편과는 다른 모습으로!![눈코성형+얼굴지방이식+안면윤곽+모티바가슴성형] 앞으로는 꽃길만🌺",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Leave a Reply Cancel Reply",
|
||||
"level": 3,
|
||||
"paragraphs": [
|
||||
"You must be logged in to post a comment."
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
}
|
||||
],
|
||||
"text": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]\nBy 오픈컴2022년 2월 14일No Comments\nPrevious Post(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]\nNext Post청순글래머가 되어 돌아왔어요!! 눈물없이 볼수 없었던 1편과는 다른 모습으로!![눈코성형+얼굴지방이식+안면윤곽+모티바가슴성형] 앞으로는 꽃길만🌺\nLeave a Reply Cancel Reply\nYou must be logged in to post a comment.",
|
||||
"chars": 312
|
||||
}
|
||||
@ -1,96 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"fetchedAt": "2026-09-07",
|
||||
"url": "https://www.viewclinic.com/%E2%80%BB%EB%88%88%EB%AC%BC%EC%A3%BC%EC%9D%98%F0%9F%98%AD-make-over-%EB%9D%BC-%EC%93%B0%EA%B3%A0-%EB%A0%88%EC%A0%84%EB%93%9C%EB%9D%BC-%EC%9D%BD%EB%8A%94%EB%8B%A4%F0%9F%92%96-%EC%B2%AD%EC%88%9C-3/",
|
||||
"requestedUrl": "https://www.viewclinic.com/%E2%80%BB%EB%88%88%EB%AC%BC%EC%A3%BC%EC%9D%98%F0%9F%98%AD-make-over-%EB%9D%BC-%EC%93%B0%EA%B3%A0-%EB%A0%88%EC%A0%84%EB%93%9C%EB%9D%BC-%EC%9D%BD%EB%8A%94%EB%8B%A4%F0%9F%92%96-%EC%B2%AD%EC%88%9C-3/",
|
||||
"slug": "-E2-80-BB-EB-88-88-EB-AC-BC-EC-A3-BC-EC-9D-98-F0-9F-98-AD-make-over-EB-9D-BC-EC-93-B0-EA-B3-A0-EB-A0-88-EC-A0-84-EB-93-9C-EB-9D-BC-EC-9D-BD-EB-8A-94-EB-8B-A4-F0-9F-92-96-EC-B2-AD-EC-88-9C-3",
|
||||
"type": "other",
|
||||
"anchor": "",
|
||||
"status": 200,
|
||||
"title": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형] | 뷰성형외과",
|
||||
"metaDesc": "",
|
||||
"h1": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]",
|
||||
"mainSelector": "#ajax-content-wrap",
|
||||
"items": [
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 1,
|
||||
"text": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "By 오픈컴2022년 2월 14일3월 4th, 2022No Comments"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Previous Post💘 다음 생에 기대했던 미모득템!! 💘"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Next Post저랑 사궈주실래요~~?🤩🤩 흔남에서 훈남으로 변신✨"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Leave a Reply Cancel Reply"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "You must be logged in to post a comment."
|
||||
}
|
||||
],
|
||||
"images": [],
|
||||
"links": [
|
||||
"https://www.viewclinic.com/category/viewtv/facial/",
|
||||
"https://www.viewclinic.com/author/opencom/",
|
||||
"https://www.viewclinic.com/%e2%80%bb%eb%88%88%eb%ac%bc%ec%a3%bc%ec%9d%98%f0%9f%98%ad-make-over-%eb%9d%bc-%ec%93%b0%ea%b3%a0-%eb%a0%88%ec%a0%84%eb%93%9c%eb%9d%bc-%ec%9d%bd%eb%8a%94%eb%8b%a4%f0%9f%92%96-%ec%b2%ad%ec%88%9c-3/",
|
||||
"https://www.viewclinic.com/%f0%9f%92%98-%eb%8b%a4%ec%9d%8c-%ec%83%9d%ec%97%90-%ea%b8%b0%eb%8c%80%ed%96%88%eb%8d%98-%eb%af%b8%eb%aa%a8%eb%93%9d%ed%85%9c-%f0%9f%92%98-2/",
|
||||
"https://www.viewclinic.com/%ec%a0%80%eb%9e%91-%ec%82%ac%ea%b6%88%ec%a3%bc%ec%8b%a4%eb%9e%98%ec%9a%94%f0%9f%a4%a9%f0%9f%a4%a9-%ed%9d%94%eb%82%a8%ec%97%90%ec%84%9c-%ed%9b%88%eb%82%a8%ec%9c%bc%eb%a1%9c-%eb%b3%80%ec%8b%a0-2/",
|
||||
"https://www.viewclinic.com/%E2%80%BB%EB%88%88%EB%AC%BC%EC%A3%BC%EC%9D%98%F0%9F%98%AD-make-over-%EB%9D%BC-%EC%93%B0%EA%B3%A0-%EB%A0%88%EC%A0%84%EB%93%9C%EB%9D%BC-%EC%9D%BD%EB%8A%94%EB%8B%A4%F0%9F%92%96-%EC%B2%AD%EC%88%9C-3/",
|
||||
"https://www.viewclinic.com/member/login/"
|
||||
],
|
||||
"flags": {
|
||||
"textInImages": false,
|
||||
"noText": false,
|
||||
"boilerplateRemoved": 0,
|
||||
"tables": 0
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"heading": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]",
|
||||
"level": 1,
|
||||
"paragraphs": [
|
||||
"By 오픈컴2022년 2월 14일3월 4th, 2022No Comments"
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Previous Post💘 다음 생에 기대했던 미모득템!! 💘",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Next Post저랑 사궈주실래요~~?🤩🤩 흔남에서 훈남으로 변신✨",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Leave a Reply Cancel Reply",
|
||||
"level": 3,
|
||||
"paragraphs": [
|
||||
"You must be logged in to post a comment."
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
}
|
||||
],
|
||||
"text": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]\nBy 오픈컴2022년 2월 14일3월 4th, 2022No Comments\nPrevious Post💘 다음 생에 기대했던 미모득템!! 💘\nNext Post저랑 사궈주실래요~~?🤩🤩 흔남에서 훈남으로 변신✨\nLeave a Reply Cancel Reply\nYou must be logged in to post a comment.",
|
||||
"chars": 224
|
||||
}
|
||||
@ -1,96 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"fetchedAt": "2026-09-07",
|
||||
"url": "https://www.viewclinic.com/%E2%80%BB%EB%88%88%EB%AC%BC%EC%A3%BC%EC%9D%98%F0%9F%98%AD-make-over-%EB%9D%BC-%EC%93%B0%EA%B3%A0-%EB%A0%88%EC%A0%84%EB%93%9C%EB%9D%BC-%EC%9D%BD%EB%8A%94%EB%8B%A4%F0%9F%92%96-%EC%B2%AD%EC%88%9C/",
|
||||
"requestedUrl": "https://www.viewclinic.com/%E2%80%BB%EB%88%88%EB%AC%BC%EC%A3%BC%EC%9D%98%F0%9F%98%AD-make-over-%EB%9D%BC-%EC%93%B0%EA%B3%A0-%EB%A0%88%EC%A0%84%EB%93%9C%EB%9D%BC-%EC%9D%BD%EB%8A%94%EB%8B%A4%F0%9F%92%96-%EC%B2%AD%EC%88%9C/",
|
||||
"slug": "-E2-80-BB-EB-88-88-EB-AC-BC-EC-A3-BC-EC-9D-98-F0-9F-98-AD-make-over-EB-9D-BC-EC-93-B0-EA-B3-A0-EB-A0-88-EC-A0-84-EB-93-9C-EB-9D-BC-EC-9D-BD-EB-8A-94-EB-8B-A4-F0-9F-92-96-EC-B2-AD-EC-88-9C",
|
||||
"type": "other",
|
||||
"anchor": "",
|
||||
"status": 200,
|
||||
"title": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형] | 뷰성형외과",
|
||||
"metaDesc": "",
|
||||
"h1": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]",
|
||||
"mainSelector": "#ajax-content-wrap",
|
||||
"items": [
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 1,
|
||||
"text": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "By 오픈컴2022년 2월 14일3월 2nd, 2022No Comments"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Previous Post[Q&A] [눈성형] 눈꺼풀 처짐은 무조건 눈매교정 진행각?! │눈꺼풀처짐수술, 눈꺼풀처짐원인, 안검하수눈매교정"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Next Post(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Leave a Reply Cancel Reply"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "You must be logged in to post a comment."
|
||||
}
|
||||
],
|
||||
"images": [],
|
||||
"links": [
|
||||
"https://www.viewclinic.com/category/viewtv/eyes/",
|
||||
"https://www.viewclinic.com/author/opencom/",
|
||||
"https://www.viewclinic.com/%e2%80%bb%eb%88%88%eb%ac%bc%ec%a3%bc%ec%9d%98%f0%9f%98%ad-make-over-%eb%9d%bc-%ec%93%b0%ea%b3%a0-%eb%a0%88%ec%a0%84%eb%93%9c%eb%9d%bc-%ec%9d%bd%eb%8a%94%eb%8b%a4%f0%9f%92%96-%ec%b2%ad%ec%88%9c/",
|
||||
"https://www.viewclinic.com/qa-%eb%88%88%ec%84%b1%ed%98%95-%eb%88%88%ea%ba%bc%ed%92%80-%ec%b2%98%ec%a7%90%ec%9d%80-%eb%ac%b4%ec%a1%b0%ea%b1%b4-%eb%88%88%eb%a7%a4%ea%b5%90%ec%a0%95-%ec%a7%84%ed%96%89%ea%b0%81-%e2%94%82/",
|
||||
"https://www.viewclinic.com/%e2%80%bb%eb%88%88%eb%ac%bc%ec%a3%bc%ec%9d%98%f0%9f%98%ad-make-over-%eb%9d%bc-%ec%93%b0%ea%b3%a0-%eb%a0%88%ec%a0%84%eb%93%9c%eb%9d%bc-%ec%9d%bd%eb%8a%94%eb%8b%a4%f0%9f%92%96-%ec%b2%ad%ec%88%9c-2/",
|
||||
"https://www.viewclinic.com/%E2%80%BB%EB%88%88%EB%AC%BC%EC%A3%BC%EC%9D%98%F0%9F%98%AD-make-over-%EB%9D%BC-%EC%93%B0%EA%B3%A0-%EB%A0%88%EC%A0%84%EB%93%9C%EB%9D%BC-%EC%9D%BD%EB%8A%94%EB%8B%A4%F0%9F%92%96-%EC%B2%AD%EC%88%9C/",
|
||||
"https://www.viewclinic.com/member/login/"
|
||||
],
|
||||
"flags": {
|
||||
"textInImages": false,
|
||||
"noText": false,
|
||||
"boilerplateRemoved": 0,
|
||||
"tables": 0
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"heading": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]",
|
||||
"level": 1,
|
||||
"paragraphs": [
|
||||
"By 오픈컴2022년 2월 14일3월 2nd, 2022No Comments"
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Previous Post[Q&A] [눈성형] 눈꺼풀 처짐은 무조건 눈매교정 진행각?! │눈꺼풀처짐수술, 눈꺼풀처짐원인, 안검하수눈매교정",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Next Post(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Leave a Reply Cancel Reply",
|
||||
"level": 3,
|
||||
"paragraphs": [
|
||||
"You must be logged in to post a comment."
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
}
|
||||
],
|
||||
"text": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]\nBy 오픈컴2022년 2월 14일3월 2nd, 2022No Comments\nPrevious Post[Q&A] [눈성형] 눈꺼풀 처짐은 무조건 눈매교정 진행각?! │눈꺼풀처짐수술, 눈꺼풀처짐원인, 안검하수눈매교정\nNext Post(※눈물주의😭) make over 라 쓰고 레전드라 읽는다💖 청순글래머로 돌아온 미경님의 수술후기✨ [눈코성형+지방이식+안면윤곽+모티바가슴성형]\nLeave a Reply Cancel Reply\nYou must be logged in to post a comment.",
|
||||
"chars": 304
|
||||
}
|
||||
@ -1,96 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"fetchedAt": "2026-09-07",
|
||||
"url": "https://www.viewclinic.com/%E2%80%BB%EB%88%88%EB%AC%BC%EC%A3%BC%EC%9D%98%F0%9F%98%AD-make-over-%EB%9D%BC-%EC%93%B0%EA%B3%A0-%EB%A0%88%EC%A0%84%EB%93%9C%EB%9D%BC-%EC%9D%BD%EB%8A%94%EB%8B%A4/",
|
||||
"requestedUrl": "https://www.viewclinic.com/%E2%80%BB%EB%88%88%EB%AC%BC%EC%A3%BC%EC%9D%98%F0%9F%98%AD-make-over-%EB%9D%BC-%EC%93%B0%EA%B3%A0-%EB%A0%88%EC%A0%84%EB%93%9C%EB%9D%BC-%EC%9D%BD%EB%8A%94%EB%8B%A4/",
|
||||
"slug": "-E2-80-BB-EB-88-88-EB-AC-BC-EC-A3-BC-EC-9D-98-F0-9F-98-AD-make-over-EB-9D-BC-EC-93-B0-EA-B3-A0-EB-A0-88-EC-A0-84-EB-93-9C-EB-9D-BC-EC-9D-BD-EB-8A-94-EB-8B-A4",
|
||||
"type": "other",
|
||||
"anchor": "",
|
||||
"status": 200,
|
||||
"title": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다 | 뷰성형외과",
|
||||
"metaDesc": "",
|
||||
"h1": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다",
|
||||
"mainSelector": "#ajax-content-wrap",
|
||||
"items": [
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 1,
|
||||
"text": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "By 오픈컴2022년 3월 1일3월 2nd, 2022No Comments"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Previous Post식약처의 벨라젤 이슈 결과 알려드립니다"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Next Post벨라젤 이슈, 현재까지의 상황 정리해드립니다"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Leave a Reply Cancel Reply"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "You must be logged in to post a comment."
|
||||
}
|
||||
],
|
||||
"images": [],
|
||||
"links": [
|
||||
"https://www.viewclinic.com/category/viewtv/breast/",
|
||||
"https://www.viewclinic.com/author/opencom/",
|
||||
"https://www.viewclinic.com/%e2%80%bb%eb%88%88%eb%ac%bc%ec%a3%bc%ec%9d%98%f0%9f%98%ad-make-over-%eb%9d%bc-%ec%93%b0%ea%b3%a0-%eb%a0%88%ec%a0%84%eb%93%9c%eb%9d%bc-%ec%9d%bd%eb%8a%94%eb%8b%a4/",
|
||||
"https://www.viewclinic.com/%ec%8b%9d%ec%95%bd%ec%b2%98%ec%9d%98-%eb%b2%a8%eb%9d%bc%ec%a0%a4-%ec%9d%b4%ec%8a%88-%ea%b2%b0%ea%b3%bc-%ec%95%8c%eb%a0%a4%eb%93%9c%eb%a6%bd%eb%8b%88%eb%8b%a4/",
|
||||
"https://www.viewclinic.com/%eb%b2%a8%eb%9d%bc%ec%a0%a4-%ec%9d%b4%ec%8a%88-%ed%98%84%ec%9e%ac%ea%b9%8c%ec%a7%80%ec%9d%98-%ec%83%81%ed%99%a9-%ec%a0%95%eb%a6%ac%ed%95%b4%eb%93%9c%eb%a6%bd%eb%8b%88%eb%8b%a4/",
|
||||
"https://www.viewclinic.com/%E2%80%BB%EB%88%88%EB%AC%BC%EC%A3%BC%EC%9D%98%F0%9F%98%AD-make-over-%EB%9D%BC-%EC%93%B0%EA%B3%A0-%EB%A0%88%EC%A0%84%EB%93%9C%EB%9D%BC-%EC%9D%BD%EB%8A%94%EB%8B%A4/",
|
||||
"https://www.viewclinic.com/member/login/"
|
||||
],
|
||||
"flags": {
|
||||
"textInImages": false,
|
||||
"noText": false,
|
||||
"boilerplateRemoved": 0,
|
||||
"tables": 0
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"heading": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다",
|
||||
"level": 1,
|
||||
"paragraphs": [
|
||||
"By 오픈컴2022년 3월 1일3월 2nd, 2022No Comments"
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Previous Post식약처의 벨라젤 이슈 결과 알려드립니다",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Next Post벨라젤 이슈, 현재까지의 상황 정리해드립니다",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Leave a Reply Cancel Reply",
|
||||
"level": 3,
|
||||
"paragraphs": [
|
||||
"You must be logged in to post a comment."
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
}
|
||||
],
|
||||
"text": "(※눈물주의😭) make over 라 쓰고 레전드라 읽는다\nBy 오픈컴2022년 3월 1일3월 2nd, 2022No Comments\nPrevious Post식약처의 벨라젤 이슈 결과 알려드립니다\nNext Post벨라젤 이슈, 현재까지의 상황 정리해드립니다\nLeave a Reply Cancel Reply\nYou must be logged in to post a comment.",
|
||||
"chars": 172
|
||||
}
|
||||
@ -1,77 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"fetchedAt": "2026-09-07",
|
||||
"url": "https://www.viewclinic.com/%E2%80%BB-%EC%8B%A4%EC%A0%9C-%EA%B0%80%EC%8A%B4%EC%88%98%EC%88%A0-%EC%9D%B4%EB%A0%87%EA%B2%8C-%EC%A7%84%ED%96%89%EB%90%A9%EB%8B%88%EB%8B%A4/",
|
||||
"requestedUrl": "https://www.viewclinic.com/%E2%80%BB-%EC%8B%A4%EC%A0%9C-%EA%B0%80%EC%8A%B4%EC%88%98%EC%88%A0-%EC%9D%B4%EB%A0%87%EA%B2%8C-%EC%A7%84%ED%96%89%EB%90%A9%EB%8B%88%EB%8B%A4/",
|
||||
"slug": "-E2-80-BB-EC-8B-A4-EC-A0-9C-EA-B0-80-EC-8A-B4-EC-88-98-EC-88-A0-EC-9D-B4-EB-A0-87-EA-B2-8C-EC-A7-84-ED-96-89-EB-90-A9-EB-8B-88-EB-8B-A4",
|
||||
"type": "other",
|
||||
"anchor": "",
|
||||
"status": 200,
|
||||
"title": "※ 실제 가슴수술 이렇게 진행됩니다! | 뷰성형외과",
|
||||
"metaDesc": "",
|
||||
"h1": "※ 실제 가슴수술 이렇게 진행됩니다!",
|
||||
"mainSelector": "#ajax-content-wrap",
|
||||
"items": [
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 1,
|
||||
"text": "※ 실제 가슴수술 이렇게 진행됩니다!"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "By viewadmin2022년 7월 18일No Comments"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Previous Post눈재수술,코재수술,지방이식 이후 갓생사는 중❣️🎇"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Next Post윤곽3종, 코재수술하고 미모 성수기 START! 🥰🥰✨"
|
||||
}
|
||||
],
|
||||
"images": [],
|
||||
"links": [
|
||||
"https://www.viewclinic.com/category/viewtv/breast/",
|
||||
"https://www.viewclinic.com/author/viewadmin/",
|
||||
"https://www.viewclinic.com/%e2%80%bb-%ec%8b%a4%ec%a0%9c-%ea%b0%80%ec%8a%b4%ec%88%98%ec%88%a0-%ec%9d%b4%eb%a0%87%ea%b2%8c-%ec%a7%84%ed%96%89%eb%90%a9%eb%8b%88%eb%8b%a4/",
|
||||
"https://www.viewclinic.com/%eb%88%88%ec%9e%ac%ec%88%98%ec%88%a0%ec%bd%94%ec%9e%ac%ec%88%98%ec%88%a0%ec%a7%80%eb%b0%a9%ec%9d%b4%ec%8b%9d-%ec%9d%b4%ed%9b%84-%ea%b0%93%ec%83%9d%ec%82%ac%eb%8a%94-%ec%a4%91%e2%9d%a3%ef%b8%8f/",
|
||||
"https://www.viewclinic.com/%ec%9c%a4%ea%b3%bd3%ec%a2%85-%ec%bd%94%ec%9e%ac%ec%88%98%ec%88%a0%ed%95%98%ea%b3%a0-%eb%af%b8%eb%aa%a8-%ec%84%b1%ec%88%98%ea%b8%b0-start-%f0%9f%a5%b0%f0%9f%a5%b0%e2%9c%a8/",
|
||||
"https://www.viewclinic.com/%E2%80%BB-%EC%8B%A4%EC%A0%9C-%EA%B0%80%EC%8A%B4%EC%88%98%EC%88%A0-%EC%9D%B4%EB%A0%87%EA%B2%8C-%EC%A7%84%ED%96%89%EB%90%A9%EB%8B%88%EB%8B%A4/"
|
||||
],
|
||||
"flags": {
|
||||
"textInImages": false,
|
||||
"noText": false,
|
||||
"boilerplateRemoved": 0,
|
||||
"tables": 0
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"heading": "※ 실제 가슴수술 이렇게 진행됩니다!",
|
||||
"level": 1,
|
||||
"paragraphs": [
|
||||
"By viewadmin2022년 7월 18일No Comments"
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Previous Post눈재수술,코재수술,지방이식 이후 갓생사는 중❣️🎇",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Next Post윤곽3종, 코재수술하고 미모 성수기 START! 🥰🥰✨",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
}
|
||||
],
|
||||
"text": "※ 실제 가슴수술 이렇게 진행됩니다!\nBy viewadmin2022년 7월 18일No Comments\nPrevious Post눈재수술,코재수술,지방이식 이후 갓생사는 중❣️🎇\nNext Post윤곽3종, 코재수술하고 미모 성수기 START! 🥰🥰✨",
|
||||
"chars": 119
|
||||
}
|
||||
@ -1,96 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"fetchedAt": "2026-09-07",
|
||||
"url": "https://www.viewclinic.com/%E2%9A%A0-%EC%96%91%EC%95%85-%EC%88%98%EC%88%A0-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0-%E2%94%82%EC%96%91%EC%95%85%EC%88%98%EC%88%A0%EB%B9%84%EC%9A%A9-%EC%96%91%EC%95%85%EC%88%98/",
|
||||
"requestedUrl": "https://www.viewclinic.com/%E2%9A%A0-%EC%96%91%EC%95%85-%EC%88%98%EC%88%A0-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0-%E2%94%82%EC%96%91%EC%95%85%EC%88%98%EC%88%A0%EB%B9%84%EC%9A%A9-%EC%96%91%EC%95%85%EC%88%98/",
|
||||
"slug": "-E2-9A-A0-EC-96-91-EC-95-85-EC-88-98-EC-88-A0-ED-9B-84-EC-A3-BC-EC-9D-98-EC-82-AC-ED-95-AD-E2-9A-A0-E2-94-82-EC-96-91-EC-95-85-EC-88-98-EC-88-A0-EB-B9-84-EC-9A-A9-EC-96-91-EC-95-85-EC-88-98",
|
||||
"type": "other",
|
||||
"anchor": "",
|
||||
"status": 200,
|
||||
"title": "⚠ 양악 수술 후 주의사항 ⚠ │양악수술비용, 양악수술후기, 양악브이로그, 얼굴뼈수술 | 뷰성형외과",
|
||||
"metaDesc": "",
|
||||
"h1": "⚠ 양악 수술 후 주의사항 ⚠ │양악수술비용, 양악수술후기, 양악브이로그, 얼굴뼈수술",
|
||||
"mainSelector": "#ajax-content-wrap",
|
||||
"items": [
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 1,
|
||||
"text": "⚠ 양악 수술 후 주의사항 ⚠ │양악수술비용, 양악수술후기, 양악브이로그, 얼굴뼈수술"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "By 오픈컴2022년 2월 14일3월 4th, 2022No Comments"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Previous Post[슬의생2 5화 리뷰] 물 엎은 익순이 건강악화설? 전문서적까지 대동한 찐의사들의 날카로운 추리, 나의닥터가 보는 슬기로운 의사생활! -닥터 김지민,최순우"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Next Post[리얼리뷰] 양악+윤곽+귀족수술로 입체적인 볼륨페이스 탄생기! 👸"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Leave a Reply Cancel Reply"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "You must be logged in to post a comment."
|
||||
}
|
||||
],
|
||||
"images": [],
|
||||
"links": [
|
||||
"https://www.viewclinic.com/category/viewtv/etc/",
|
||||
"https://www.viewclinic.com/author/opencom/",
|
||||
"https://www.viewclinic.com/%e2%9a%a0-%ec%96%91%ec%95%85-%ec%88%98%ec%88%a0-%ed%9b%84-%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad-%e2%9a%a0-%e2%94%82%ec%96%91%ec%95%85%ec%88%98%ec%88%a0%eb%b9%84%ec%9a%a9-%ec%96%91%ec%95%85%ec%88%98/",
|
||||
"https://www.viewclinic.com/%ec%8a%ac%ec%9d%98%ec%83%9d2-5%ed%99%94-%eb%a6%ac%eb%b7%b0-%eb%ac%bc-%ec%97%8e%ec%9d%80-%ec%9d%b5%ec%88%9c%ec%9d%b4-%ea%b1%b4%ea%b0%95%ec%95%85%ed%99%94%ec%84%a4-%ec%a0%84%eb%ac%b8%ec%84%9c/",
|
||||
"https://www.viewclinic.com/%eb%a6%ac%ec%96%bc%eb%a6%ac%eb%b7%b0-%ec%96%91%ec%95%85%ec%9c%a4%ea%b3%bd%ea%b7%80%ec%a1%b1%ec%88%98%ec%88%a0%eb%a1%9c-%ec%9e%85%ec%b2%b4%ec%a0%81%ec%9d%b8-%eb%b3%bc%eb%a5%a8%ed%8e%98%ec%9d%b4/",
|
||||
"https://www.viewclinic.com/%E2%9A%A0-%EC%96%91%EC%95%85-%EC%88%98%EC%88%A0-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0-%E2%94%82%EC%96%91%EC%95%85%EC%88%98%EC%88%A0%EB%B9%84%EC%9A%A9-%EC%96%91%EC%95%85%EC%88%98/",
|
||||
"https://www.viewclinic.com/member/login/"
|
||||
],
|
||||
"flags": {
|
||||
"textInImages": false,
|
||||
"noText": false,
|
||||
"boilerplateRemoved": 0,
|
||||
"tables": 0
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"heading": "⚠ 양악 수술 후 주의사항 ⚠ │양악수술비용, 양악수술후기, 양악브이로그, 얼굴뼈수술",
|
||||
"level": 1,
|
||||
"paragraphs": [
|
||||
"By 오픈컴2022년 2월 14일3월 4th, 2022No Comments"
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Previous Post[슬의생2 5화 리뷰] 물 엎은 익순이 건강악화설? 전문서적까지 대동한 찐의사들의 날카로운 추리, 나의닥터가 보는 슬기로운 의사생활! -닥터 김지민,최순우",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Next Post[리얼리뷰] 양악+윤곽+귀족수술로 입체적인 볼륨페이스 탄생기! 👸",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Leave a Reply Cancel Reply",
|
||||
"level": 3,
|
||||
"paragraphs": [
|
||||
"You must be logged in to post a comment."
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
}
|
||||
],
|
||||
"text": "⚠ 양악 수술 후 주의사항 ⚠ │양악수술비용, 양악수술후기, 양악브이로그, 얼굴뼈수술\nBy 오픈컴2022년 2월 14일3월 4th, 2022No Comments\nPrevious Post[슬의생2 5화 리뷰] 물 엎은 익순이 건강악화설? 전문서적까지 대동한 찐의사들의 날카로운 추리, 나의닥터가 보는 슬기로운 의사생활! -닥터 김지민,최순우\nNext Post[리얼리뷰] 양악+윤곽+귀족수술로 입체적인 볼륨페이스 탄생기! 👸\nLeave a Reply Cancel Reply\nYou must be logged in to post a comment.",
|
||||
"chars": 248
|
||||
}
|
||||
@ -1,96 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"fetchedAt": "2026-09-07",
|
||||
"url": "https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EA%B0%80%EC%8A%B4-%EC%88%98%EC%88%A0-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EB%AA%A8%ED%8B%B0%EB%B0%94%EB%B3%B4%ED%98%95%EB%AC%BC-%EA%B0%80/",
|
||||
"requestedUrl": "https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EA%B0%80%EC%8A%B4-%EC%88%98%EC%88%A0-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EB%AA%A8%ED%8B%B0%EB%B0%94%EB%B3%B4%ED%98%95%EB%AC%BC-%EA%B0%80/",
|
||||
"slug": "-E2-9A-A0-EF-B8-8F-EA-B0-80-EC-8A-B4-EC-88-98-EC-88-A0-ED-9B-84-EC-A3-BC-EC-9D-98-EC-82-AC-ED-95-AD-E2-9A-A0-EF-B8-8F-E2-94-82-EB-AA-A8-ED-8B-B0-EB-B0-94-EB-B3-B4-ED-98-95-EB-AC-BC-EA-B0-80",
|
||||
"type": "other",
|
||||
"anchor": "",
|
||||
"status": 200,
|
||||
"title": "⚠️ 가슴 수술 후 주의사항 ⚠️ │모티바보형물, 가슴수술후기, 가슴확대, 가슴보형물 | 뷰성형외과",
|
||||
"metaDesc": "",
|
||||
"h1": "⚠️ 가슴 수술 후 주의사항 ⚠️ │모티바보형물, 가슴수술후기, 가슴확대, 가슴보형물",
|
||||
"mainSelector": "#ajax-content-wrap",
|
||||
"items": [
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 1,
|
||||
"text": "⚠️ 가슴 수술 후 주의사항 ⚠️ │모티바보형물, 가슴수술후기, 가슴확대, 가슴보형물"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "By 오픈컴2022년 2월 14일No Comments"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Previous Post(눈코재수술+윤곽 3종)한 번 사는 인생 예쁘게 살아보자! 세연의 성형 브이로그 1탄 -나닥 뷰티로그"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Next Post⚠️ 눈 수술 후 주의사항 ⚠️ │눈수술후주의사항, 눈수술잘하는곳, 코수술비용, 쌍수가격"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Leave a Reply Cancel Reply"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "You must be logged in to post a comment."
|
||||
}
|
||||
],
|
||||
"images": [],
|
||||
"links": [
|
||||
"https://www.viewclinic.com/category/viewtv/etc/",
|
||||
"https://www.viewclinic.com/author/opencom/",
|
||||
"https://www.viewclinic.com/%e2%9a%a0%ef%b8%8f-%ea%b0%80%ec%8a%b4-%ec%88%98%ec%88%a0-%ed%9b%84-%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad-%e2%9a%a0%ef%b8%8f-%e2%94%82%eb%aa%a8%ed%8b%b0%eb%b0%94%eb%b3%b4%ed%98%95%eb%ac%bc-%ea%b0%80/",
|
||||
"https://www.viewclinic.com/%eb%88%88%ec%bd%94%ec%9e%ac%ec%88%98%ec%88%a0%ec%9c%a4%ea%b3%bd-3%ec%a2%85%ed%95%9c-%eb%b2%88-%ec%82%ac%eb%8a%94-%ec%9d%b8%ec%83%9d-%ec%98%88%ec%81%98%ea%b2%8c-%ec%82%b4%ec%95%84%eb%b3%b4%ec%9e%90-3/",
|
||||
"https://www.viewclinic.com/%eb%88%88-%ec%88%98%ec%88%a0-%ed%9b%84-%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad-%e2%9a%a0%ef%b8%8f-%e2%94%82%eb%88%88%ec%88%98%ec%88%a0%ed%9b%84%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad-%eb%88%88%ec%88%98/",
|
||||
"https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EA%B0%80%EC%8A%B4-%EC%88%98%EC%88%A0-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EB%AA%A8%ED%8B%B0%EB%B0%94%EB%B3%B4%ED%98%95%EB%AC%BC-%EA%B0%80/",
|
||||
"https://www.viewclinic.com/member/login/"
|
||||
],
|
||||
"flags": {
|
||||
"textInImages": false,
|
||||
"noText": false,
|
||||
"boilerplateRemoved": 0,
|
||||
"tables": 0
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"heading": "⚠️ 가슴 수술 후 주의사항 ⚠️ │모티바보형물, 가슴수술후기, 가슴확대, 가슴보형물",
|
||||
"level": 1,
|
||||
"paragraphs": [
|
||||
"By 오픈컴2022년 2월 14일No Comments"
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Previous Post(눈코재수술+윤곽 3종)한 번 사는 인생 예쁘게 살아보자! 세연의 성형 브이로그 1탄 -나닥 뷰티로그",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Next Post⚠️ 눈 수술 후 주의사항 ⚠️ │눈수술후주의사항, 눈수술잘하는곳, 코수술비용, 쌍수가격",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Leave a Reply Cancel Reply",
|
||||
"level": 3,
|
||||
"paragraphs": [
|
||||
"You must be logged in to post a comment."
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
}
|
||||
],
|
||||
"text": "⚠️ 가슴 수술 후 주의사항 ⚠️ │모티바보형물, 가슴수술후기, 가슴확대, 가슴보형물\nBy 오픈컴2022년 2월 14일No Comments\nPrevious Post(눈코재수술+윤곽 3종)한 번 사는 인생 예쁘게 살아보자! 세연의 성형 브이로그 1탄 -나닥 뷰티로그\nNext Post⚠️ 눈 수술 후 주의사항 ⚠️ │눈수술후주의사항, 눈수술잘하는곳, 코수술비용, 쌍수가격\nLeave a Reply Cancel Reply\nYou must be logged in to post a comment.",
|
||||
"chars": 221
|
||||
}
|
||||
@ -1,96 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"fetchedAt": "2026-09-07",
|
||||
"url": "https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EC%88%98%EC%88%A0-%EC%A0%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EC%84%B1%ED%98%95%EC%88%98%EC%88%A0%EC%A0%84%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD/",
|
||||
"requestedUrl": "https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EC%88%98%EC%88%A0-%EC%A0%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EC%84%B1%ED%98%95%EC%88%98%EC%88%A0%EC%A0%84%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD/",
|
||||
"slug": "-E2-9A-A0-EF-B8-8F-EC-88-98-EC-88-A0-EC-A0-84-EC-A3-BC-EC-9D-98-EC-82-AC-ED-95-AD-E2-9A-A0-EF-B8-8F-E2-94-82-EC-84-B1-ED-98-95-EC-88-98-EC-88-A0-EC-A0-84-EC-A3-BC-EC-9D-98-EC-82-AC-ED-95-AD",
|
||||
"type": "other",
|
||||
"anchor": "",
|
||||
"status": 200,
|
||||
"title": "⚠️ 수술 전 주의사항 ⚠️ │성형수술전주의사항, 눈수술잘하는곳, 코수술비용, 쌍수가격 | 뷰성형외과",
|
||||
"metaDesc": "",
|
||||
"h1": "⚠️ 수술 전 주의사항 ⚠️ │성형수술전주의사항, 눈수술잘하는곳, 코수술비용, 쌍수가격",
|
||||
"mainSelector": "#ajax-content-wrap",
|
||||
"items": [
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 1,
|
||||
"text": "⚠️ 수술 전 주의사항 ⚠️ │성형수술전주의사항, 눈수술잘하는곳, 코수술비용, 쌍수가격"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "By 오픈컴2022년 2월 14일3월 4th, 2022No Comments"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Previous Post[리얼리뷰] 양악+윤곽+귀족수술로 입체적인 볼륨페이스 탄생기! 👸"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Next Post⚠️ 페이스리프팅 후 주의사항 ⚠️ │연예인피부관리, 피부리프팅시술, 얼굴리프팅후기, 피부좋아지는법"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Leave a Reply Cancel Reply"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "You must be logged in to post a comment."
|
||||
}
|
||||
],
|
||||
"images": [],
|
||||
"links": [
|
||||
"https://www.viewclinic.com/category/viewtv/etc/",
|
||||
"https://www.viewclinic.com/author/opencom/",
|
||||
"https://www.viewclinic.com/%e2%9a%a0%ef%b8%8f-%ec%88%98%ec%88%a0-%ec%a0%84-%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad-%e2%9a%a0%ef%b8%8f-%e2%94%82%ec%84%b1%ed%98%95%ec%88%98%ec%88%a0%ec%a0%84%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad/",
|
||||
"https://www.viewclinic.com/%eb%a6%ac%ec%96%bc%eb%a6%ac%eb%b7%b0-%ec%96%91%ec%95%85%ec%9c%a4%ea%b3%bd%ea%b7%80%ec%a1%b1%ec%88%98%ec%88%a0%eb%a1%9c-%ec%9e%85%ec%b2%b4%ec%a0%81%ec%9d%b8-%eb%b3%bc%eb%a5%a8%ed%8e%98%ec%9d%b4/",
|
||||
"https://www.viewclinic.com/%ed%8e%98%ec%9d%b4%ec%8a%a4%eb%a6%ac%ed%94%84%ed%8c%85-%ed%9b%84-%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad-%e2%9a%a0%ef%b8%8f-%e2%94%82%ec%97%b0%ec%98%88%ec%9d%b8%ed%94%bc%eb%b6%80%ea%b4%80%eb%a6%ac/",
|
||||
"https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EC%88%98%EC%88%A0-%EC%A0%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EC%84%B1%ED%98%95%EC%88%98%EC%88%A0%EC%A0%84%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD/",
|
||||
"https://www.viewclinic.com/member/login/"
|
||||
],
|
||||
"flags": {
|
||||
"textInImages": false,
|
||||
"noText": false,
|
||||
"boilerplateRemoved": 0,
|
||||
"tables": 0
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"heading": "⚠️ 수술 전 주의사항 ⚠️ │성형수술전주의사항, 눈수술잘하는곳, 코수술비용, 쌍수가격",
|
||||
"level": 1,
|
||||
"paragraphs": [
|
||||
"By 오픈컴2022년 2월 14일3월 4th, 2022No Comments"
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Previous Post[리얼리뷰] 양악+윤곽+귀족수술로 입체적인 볼륨페이스 탄생기! 👸",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Next Post⚠️ 페이스리프팅 후 주의사항 ⚠️ │연예인피부관리, 피부리프팅시술, 얼굴리프팅후기, 피부좋아지는법",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Leave a Reply Cancel Reply",
|
||||
"level": 3,
|
||||
"paragraphs": [
|
||||
"You must be logged in to post a comment."
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
}
|
||||
],
|
||||
"text": "⚠️ 수술 전 주의사항 ⚠️ │성형수술전주의사항, 눈수술잘하는곳, 코수술비용, 쌍수가격\nBy 오픈컴2022년 2월 14일3월 4th, 2022No Comments\nPrevious Post[리얼리뷰] 양악+윤곽+귀족수술로 입체적인 볼륨페이스 탄생기! 👸\nNext Post⚠️ 페이스리프팅 후 주의사항 ⚠️ │연예인피부관리, 피부리프팅시술, 얼굴리프팅후기, 피부좋아지는법\nLeave a Reply Cancel Reply\nYou must be logged in to post a comment.",
|
||||
"chars": 228
|
||||
}
|
||||
@ -1,96 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"fetchedAt": "2026-09-07",
|
||||
"url": "https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EC%8B%A4%EB%A6%AC%ED%94%84%ED%8C%85-%EC%88%98%EC%88%A0-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EC%8B%A4%EB%A6%AC%ED%94%84%ED%8C%85%EC%9C%A0/",
|
||||
"requestedUrl": "https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EC%8B%A4%EB%A6%AC%ED%94%84%ED%8C%85-%EC%88%98%EC%88%A0-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EC%8B%A4%EB%A6%AC%ED%94%84%ED%8C%85%EC%9C%A0/",
|
||||
"slug": "-E2-9A-A0-EF-B8-8F-EC-8B-A4-EB-A6-AC-ED-94-84-ED-8C-85-EC-88-98-EC-88-A0-ED-9B-84-EC-A3-BC-EC-9D-98-EC-82-AC-ED-95-AD-E2-9A-A0-EF-B8-8F-E2-94-82-EC-8B-A4-EB-A6-AC-ED-94-84-ED-8C-85-EC-9C-A0",
|
||||
"type": "other",
|
||||
"anchor": "",
|
||||
"status": 200,
|
||||
"title": "⚠️ 실리프팅 수술 후 주의사항 ⚠️ │실리프팅유지기간, 실리프팅시술, 실리프팅종류 | 뷰성형외과",
|
||||
"metaDesc": "",
|
||||
"h1": "⚠️ 실리프팅 수술 후 주의사항 ⚠️ │실리프팅유지기간, 실리프팅시술, 실리프팅종류",
|
||||
"mainSelector": "#ajax-content-wrap",
|
||||
"items": [
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 1,
|
||||
"text": "⚠️ 실리프팅 수술 후 주의사항 ⚠️ │실리프팅유지기간, 실리프팅시술, 실리프팅종류"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "By 오픈컴2022년 2월 14일3월 4th, 2022No Comments"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Previous Post⚠️ 페이스리프팅 후 주의사항 ⚠️ │연예인피부관리, 피부리프팅시술, 얼굴리프팅후기, 피부좋아지는법"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Next Post[뱃살 타파 리얼후기] 운동은 싫지만 뱃살은 삭제하고 싶어!│지방흡입후기 지방흡입후관리 지흡브이로그"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Leave a Reply Cancel Reply"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "You must be logged in to post a comment."
|
||||
}
|
||||
],
|
||||
"images": [],
|
||||
"links": [
|
||||
"https://www.viewclinic.com/category/viewtv/etc/",
|
||||
"https://www.viewclinic.com/author/opencom/",
|
||||
"https://www.viewclinic.com/%e2%9a%a0%ef%b8%8f-%ec%8b%a4%eb%a6%ac%ed%94%84%ed%8c%85-%ec%88%98%ec%88%a0-%ed%9b%84-%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad-%e2%9a%a0%ef%b8%8f-%e2%94%82%ec%8b%a4%eb%a6%ac%ed%94%84%ed%8c%85%ec%9c%a0/",
|
||||
"https://www.viewclinic.com/%ed%8e%98%ec%9d%b4%ec%8a%a4%eb%a6%ac%ed%94%84%ed%8c%85-%ed%9b%84-%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad-%e2%9a%a0%ef%b8%8f-%e2%94%82%ec%97%b0%ec%98%88%ec%9d%b8%ed%94%bc%eb%b6%80%ea%b4%80%eb%a6%ac/",
|
||||
"https://www.viewclinic.com/%eb%b1%83%ec%82%b4-%ed%83%80%ed%8c%8c-%eb%a6%ac%ec%96%bc%ed%9b%84%ea%b8%b0-%ec%9a%b4%eb%8f%99%ec%9d%80-%ec%8b%ab%ec%a7%80%eb%a7%8c-%eb%b1%83%ec%82%b4%ec%9d%80-%ec%82%ad%ec%a0%9c%ed%95%98%ea%b3%a0/",
|
||||
"https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EC%8B%A4%EB%A6%AC%ED%94%84%ED%8C%85-%EC%88%98%EC%88%A0-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EC%8B%A4%EB%A6%AC%ED%94%84%ED%8C%85%EC%9C%A0/",
|
||||
"https://www.viewclinic.com/member/login/"
|
||||
],
|
||||
"flags": {
|
||||
"textInImages": false,
|
||||
"noText": false,
|
||||
"boilerplateRemoved": 0,
|
||||
"tables": 0
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"heading": "⚠️ 실리프팅 수술 후 주의사항 ⚠️ │실리프팅유지기간, 실리프팅시술, 실리프팅종류",
|
||||
"level": 1,
|
||||
"paragraphs": [
|
||||
"By 오픈컴2022년 2월 14일3월 4th, 2022No Comments"
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Previous Post⚠️ 페이스리프팅 후 주의사항 ⚠️ │연예인피부관리, 피부리프팅시술, 얼굴리프팅후기, 피부좋아지는법",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Next Post[뱃살 타파 리얼후기] 운동은 싫지만 뱃살은 삭제하고 싶어!│지방흡입후기 지방흡입후관리 지흡브이로그",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Leave a Reply Cancel Reply",
|
||||
"level": 3,
|
||||
"paragraphs": [
|
||||
"You must be logged in to post a comment."
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
}
|
||||
],
|
||||
"text": "⚠️ 실리프팅 수술 후 주의사항 ⚠️ │실리프팅유지기간, 실리프팅시술, 실리프팅종류\nBy 오픈컴2022년 2월 14일3월 4th, 2022No Comments\nPrevious Post⚠️ 페이스리프팅 후 주의사항 ⚠️ │연예인피부관리, 피부리프팅시술, 얼굴리프팅후기, 피부좋아지는법\nNext Post[뱃살 타파 리얼후기] 운동은 싫지만 뱃살은 삭제하고 싶어!│지방흡입후기 지방흡입후관리 지흡브이로그\nLeave a Reply Cancel Reply\nYou must be logged in to post a comment.",
|
||||
"chars": 240
|
||||
}
|
||||
@ -1,96 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"fetchedAt": "2026-09-07",
|
||||
"url": "https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EC%95%88%EB%A9%B4%EC%9C%A4%EA%B3%BD-%EC%88%98%EC%88%A0-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EC%95%88%EB%A9%B4%EC%9C%A4%EA%B3%BD%EC%A0%84/",
|
||||
"requestedUrl": "https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EC%95%88%EB%A9%B4%EC%9C%A4%EA%B3%BD-%EC%88%98%EC%88%A0-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EC%95%88%EB%A9%B4%EC%9C%A4%EA%B3%BD%EC%A0%84/",
|
||||
"slug": "-E2-9A-A0-EF-B8-8F-EC-95-88-EB-A9-B4-EC-9C-A4-EA-B3-BD-EC-88-98-EC-88-A0-ED-9B-84-EC-A3-BC-EC-9D-98-EC-82-AC-ED-95-AD-E2-9A-A0-EF-B8-8F-E2-94-82-EC-95-88-EB-A9-B4-EC-9C-A4-EA-B3-BD-EC-A0-84",
|
||||
"type": "other",
|
||||
"anchor": "",
|
||||
"status": 200,
|
||||
"title": "⚠️ 안면윤곽 수술 후 주의사항 ⚠️ │안면윤곽전후, 안면윤곽수술비용, 안면윤곽살처짐 | 뷰성형외과",
|
||||
"metaDesc": "",
|
||||
"h1": "⚠️ 안면윤곽 수술 후 주의사항 ⚠️ │안면윤곽전후, 안면윤곽수술비용, 안면윤곽살처짐",
|
||||
"mainSelector": "#ajax-content-wrap",
|
||||
"items": [
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 1,
|
||||
"text": "⚠️ 안면윤곽 수술 후 주의사항 ⚠️ │안면윤곽전후, 안면윤곽수술비용, 안면윤곽살처짐"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "By 오픈컴2022년 2월 14일No Comments"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Previous Post⚠️ 코 수술 후 주의사항 ⚠️ │코수술후주의사항, 코수술잘하는곳, 코수술비용, 코수술후관리"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Next Post[슬의생2 4화 리뷰] 나의닥터가 보는 슬기로운 의사생활! 깜짝 노래 실력부터 애잔한 롱디썰까지 대방출 - 닥터 정진우, 최순우"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Leave a Reply Cancel Reply"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "You must be logged in to post a comment."
|
||||
}
|
||||
],
|
||||
"images": [],
|
||||
"links": [
|
||||
"https://www.viewclinic.com/category/viewtv/etc/",
|
||||
"https://www.viewclinic.com/author/opencom/",
|
||||
"https://www.viewclinic.com/%e2%9a%a0%ef%b8%8f-%ec%95%88%eb%a9%b4%ec%9c%a4%ea%b3%bd-%ec%88%98%ec%88%a0-%ed%9b%84-%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad-%e2%9a%a0%ef%b8%8f-%e2%94%82%ec%95%88%eb%a9%b4%ec%9c%a4%ea%b3%bd%ec%a0%84/",
|
||||
"https://www.viewclinic.com/%e2%9a%a0%ef%b8%8f-%ec%bd%94-%ec%88%98%ec%88%a0-%ed%9b%84-%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad-%e2%9a%a0%ef%b8%8f-%e2%94%82%ec%bd%94%ec%88%98%ec%88%a0%ed%9b%84%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad/",
|
||||
"https://www.viewclinic.com/%ec%8a%ac%ec%9d%98%ec%83%9d2-4%ed%99%94-%eb%a6%ac%eb%b7%b0-%eb%82%98%ec%9d%98%eb%8b%a5%ed%84%b0%ea%b0%80-%eb%b3%b4%eb%8a%94-%ec%8a%ac%ea%b8%b0%eb%a1%9c%ec%9a%b4-%ec%9d%98%ec%82%ac%ec%83%9d%ed%99%9c/",
|
||||
"https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EC%95%88%EB%A9%B4%EC%9C%A4%EA%B3%BD-%EC%88%98%EC%88%A0-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EC%95%88%EB%A9%B4%EC%9C%A4%EA%B3%BD%EC%A0%84/",
|
||||
"https://www.viewclinic.com/member/login/"
|
||||
],
|
||||
"flags": {
|
||||
"textInImages": false,
|
||||
"noText": false,
|
||||
"boilerplateRemoved": 0,
|
||||
"tables": 0
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"heading": "⚠️ 안면윤곽 수술 후 주의사항 ⚠️ │안면윤곽전후, 안면윤곽수술비용, 안면윤곽살처짐",
|
||||
"level": 1,
|
||||
"paragraphs": [
|
||||
"By 오픈컴2022년 2월 14일No Comments"
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Previous Post⚠️ 코 수술 후 주의사항 ⚠️ │코수술후주의사항, 코수술잘하는곳, 코수술비용, 코수술후관리",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Next Post[슬의생2 4화 리뷰] 나의닥터가 보는 슬기로운 의사생활! 깜짝 노래 실력부터 애잔한 롱디썰까지 대방출 - 닥터 정진우, 최순우",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Leave a Reply Cancel Reply",
|
||||
"level": 3,
|
||||
"paragraphs": [
|
||||
"You must be logged in to post a comment."
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
}
|
||||
],
|
||||
"text": "⚠️ 안면윤곽 수술 후 주의사항 ⚠️ │안면윤곽전후, 안면윤곽수술비용, 안면윤곽살처짐\nBy 오픈컴2022년 2월 14일No Comments\nPrevious Post⚠️ 코 수술 후 주의사항 ⚠️ │코수술후주의사항, 코수술잘하는곳, 코수술비용, 코수술후관리\nNext Post[슬의생2 4화 리뷰] 나의닥터가 보는 슬기로운 의사생활! 깜짝 노래 실력부터 애잔한 롱디썰까지 대방출 - 닥터 정진우, 최순우\nLeave a Reply Cancel Reply\nYou must be logged in to post a comment.",
|
||||
"chars": 235
|
||||
}
|
||||
@ -1,96 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"fetchedAt": "2026-09-07",
|
||||
"url": "https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EC%A7%80%EB%B0%A9%EC%9D%B4%EC%8B%9D-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EC%A7%80%EB%B0%A9%EC%9D%B4%EC%8B%9D%ED%9B%84%EA%B8%B0-%EC%A7%80/",
|
||||
"requestedUrl": "https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EC%A7%80%EB%B0%A9%EC%9D%B4%EC%8B%9D-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EC%A7%80%EB%B0%A9%EC%9D%B4%EC%8B%9D%ED%9B%84%EA%B8%B0-%EC%A7%80/",
|
||||
"slug": "-E2-9A-A0-EF-B8-8F-EC-A7-80-EB-B0-A9-EC-9D-B4-EC-8B-9D-ED-9B-84-EC-A3-BC-EC-9D-98-EC-82-AC-ED-95-AD-E2-9A-A0-EF-B8-8F-E2-94-82-EC-A7-80-EB-B0-A9-EC-9D-B4-EC-8B-9D-ED-9B-84-EA-B8-B0-EC-A7-80",
|
||||
"type": "procedure",
|
||||
"anchor": "",
|
||||
"status": 200,
|
||||
"title": "⚠️ 지방이식 후 주의사항 ⚠️ │지방이식후기, 지방이식처짐, 지방이식붓기, 지방이식다이어트 | 뷰성형외과",
|
||||
"metaDesc": "",
|
||||
"h1": "⚠️ 지방이식 후 주의사항 ⚠️ │지방이식후기, 지방이식처짐, 지방이식붓기, 지방이식다이어트",
|
||||
"mainSelector": "#ajax-content-wrap",
|
||||
"items": [
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 1,
|
||||
"text": "⚠️ 지방이식 후 주의사항 ⚠️ │지방이식후기, 지방이식처짐, 지방이식붓기, 지방이식다이어트"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "By 오픈컴2022년 2월 14일No Comments"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Previous Post[VIEW 레시피] 안면윤곽 수술 황금 레시피 전격 공개"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Next Post같은 얼굴인데 다른 느낌...인데?? 훨씬 예뻐졌어!! 안면윤곽수술+눈코수술+가슴성형후기😍"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Leave a Reply Cancel Reply"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "You must be logged in to post a comment."
|
||||
}
|
||||
],
|
||||
"images": [],
|
||||
"links": [
|
||||
"https://www.viewclinic.com/category/viewtv/etc/",
|
||||
"https://www.viewclinic.com/author/opencom/",
|
||||
"https://www.viewclinic.com/%e2%9a%a0%ef%b8%8f-%ec%a7%80%eb%b0%a9%ec%9d%b4%ec%8b%9d-%ed%9b%84-%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad-%e2%9a%a0%ef%b8%8f-%e2%94%82%ec%a7%80%eb%b0%a9%ec%9d%b4%ec%8b%9d%ed%9b%84%ea%b8%b0-%ec%a7%80/",
|
||||
"https://www.viewclinic.com/view-%eb%a0%88%ec%8b%9c%ed%94%bc-%ec%95%88%eb%a9%b4%ec%9c%a4%ea%b3%bd-%ec%88%98%ec%88%a0-%ed%99%a9%ea%b8%88-%eb%a0%88%ec%8b%9c%ed%94%bc-%ec%a0%84%ea%b2%a9-%ea%b3%b5%ea%b0%9c/",
|
||||
"https://www.viewclinic.com/%ea%b0%99%ec%9d%80-%ec%96%bc%ea%b5%b4%ec%9d%b8%eb%8d%b0-%eb%8b%a4%eb%a5%b8-%eb%8a%90%eb%82%8c-%ec%9d%b8%eb%8d%b0-%ed%9b%a8%ec%94%ac-%ec%98%88%eb%bb%90%ec%a1%8c%ec%96%b4-%ec%95%88%eb%a9%b4-4/",
|
||||
"https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EC%A7%80%EB%B0%A9%EC%9D%B4%EC%8B%9D-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EC%A7%80%EB%B0%A9%EC%9D%B4%EC%8B%9D%ED%9B%84%EA%B8%B0-%EC%A7%80/",
|
||||
"https://www.viewclinic.com/member/login/"
|
||||
],
|
||||
"flags": {
|
||||
"textInImages": false,
|
||||
"noText": false,
|
||||
"boilerplateRemoved": 0,
|
||||
"tables": 0
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"heading": "⚠️ 지방이식 후 주의사항 ⚠️ │지방이식후기, 지방이식처짐, 지방이식붓기, 지방이식다이어트",
|
||||
"level": 1,
|
||||
"paragraphs": [
|
||||
"By 오픈컴2022년 2월 14일No Comments"
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Previous Post[VIEW 레시피] 안면윤곽 수술 황금 레시피 전격 공개",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Next Post같은 얼굴인데 다른 느낌...인데?? 훨씬 예뻐졌어!! 안면윤곽수술+눈코수술+가슴성형후기😍",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Leave a Reply Cancel Reply",
|
||||
"level": 3,
|
||||
"paragraphs": [
|
||||
"You must be logged in to post a comment."
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
}
|
||||
],
|
||||
"text": "⚠️ 지방이식 후 주의사항 ⚠️ │지방이식후기, 지방이식처짐, 지방이식붓기, 지방이식다이어트\nBy 오픈컴2022년 2월 14일No Comments\nPrevious Post[VIEW 레시피] 안면윤곽 수술 황금 레시피 전격 공개\nNext Post같은 얼굴인데 다른 느낌...인데?? 훨씬 예뻐졌어!! 안면윤곽수술+눈코수술+가슴성형후기😍\nLeave a Reply Cancel Reply\nYou must be logged in to post a comment.",
|
||||
"chars": 211
|
||||
}
|
||||
@ -1,96 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"fetchedAt": "2026-09-07",
|
||||
"url": "https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EC%BD%94-%EC%88%98%EC%88%A0-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EC%BD%94%EC%88%98%EC%88%A0%ED%9B%84%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD/",
|
||||
"requestedUrl": "https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EC%BD%94-%EC%88%98%EC%88%A0-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EC%BD%94%EC%88%98%EC%88%A0%ED%9B%84%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD/",
|
||||
"slug": "-E2-9A-A0-EF-B8-8F-EC-BD-94-EC-88-98-EC-88-A0-ED-9B-84-EC-A3-BC-EC-9D-98-EC-82-AC-ED-95-AD-E2-9A-A0-EF-B8-8F-E2-94-82-EC-BD-94-EC-88-98-EC-88-A0-ED-9B-84-EC-A3-BC-EC-9D-98-EC-82-AC-ED-95-AD",
|
||||
"type": "other",
|
||||
"anchor": "",
|
||||
"status": 200,
|
||||
"title": "⚠️ 코 수술 후 주의사항 ⚠️ │코수술후주의사항, 코수술잘하는곳, 코수술비용, 코수술후관리 | 뷰성형외과",
|
||||
"metaDesc": "",
|
||||
"h1": "⚠️ 코 수술 후 주의사항 ⚠️ │코수술후주의사항, 코수술잘하는곳, 코수술비용, 코수술후관리",
|
||||
"mainSelector": "#ajax-content-wrap",
|
||||
"items": [
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 1,
|
||||
"text": "⚠️ 코 수술 후 주의사항 ⚠️ │코수술후주의사항, 코수술잘하는곳, 코수술비용, 코수술후관리"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "By 오픈컴2022년 2월 14일No Comments"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Previous Post⚠️ 눈 수술 후 주의사항 ⚠️ │눈수술후주의사항, 눈수술잘하는곳, 코수술비용, 쌍수가격"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Next Post⚠️ 안면윤곽 수술 후 주의사항 ⚠️ │안면윤곽전후, 안면윤곽수술비용, 안면윤곽살처짐"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Leave a Reply Cancel Reply"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "You must be logged in to post a comment."
|
||||
}
|
||||
],
|
||||
"images": [],
|
||||
"links": [
|
||||
"https://www.viewclinic.com/category/viewtv/etc/",
|
||||
"https://www.viewclinic.com/author/opencom/",
|
||||
"https://www.viewclinic.com/%e2%9a%a0%ef%b8%8f-%ec%bd%94-%ec%88%98%ec%88%a0-%ed%9b%84-%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad-%e2%9a%a0%ef%b8%8f-%e2%94%82%ec%bd%94%ec%88%98%ec%88%a0%ed%9b%84%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad/",
|
||||
"https://www.viewclinic.com/%eb%88%88-%ec%88%98%ec%88%a0-%ed%9b%84-%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad-%e2%9a%a0%ef%b8%8f-%e2%94%82%eb%88%88%ec%88%98%ec%88%a0%ed%9b%84%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad-%eb%88%88%ec%88%98/",
|
||||
"https://www.viewclinic.com/%e2%9a%a0%ef%b8%8f-%ec%95%88%eb%a9%b4%ec%9c%a4%ea%b3%bd-%ec%88%98%ec%88%a0-%ed%9b%84-%ec%a3%bc%ec%9d%98%ec%82%ac%ed%95%ad-%e2%9a%a0%ef%b8%8f-%e2%94%82%ec%95%88%eb%a9%b4%ec%9c%a4%ea%b3%bd%ec%a0%84/",
|
||||
"https://www.viewclinic.com/%E2%9A%A0%EF%B8%8F-%EC%BD%94-%EC%88%98%EC%88%A0-%ED%9B%84-%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD-%E2%9A%A0%EF%B8%8F-%E2%94%82%EC%BD%94%EC%88%98%EC%88%A0%ED%9B%84%EC%A3%BC%EC%9D%98%EC%82%AC%ED%95%AD/",
|
||||
"https://www.viewclinic.com/member/login/"
|
||||
],
|
||||
"flags": {
|
||||
"textInImages": false,
|
||||
"noText": false,
|
||||
"boilerplateRemoved": 0,
|
||||
"tables": 0
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"heading": "⚠️ 코 수술 후 주의사항 ⚠️ │코수술후주의사항, 코수술잘하는곳, 코수술비용, 코수술후관리",
|
||||
"level": 1,
|
||||
"paragraphs": [
|
||||
"By 오픈컴2022년 2월 14일No Comments"
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Previous Post⚠️ 눈 수술 후 주의사항 ⚠️ │눈수술후주의사항, 눈수술잘하는곳, 코수술비용, 쌍수가격",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Next Post⚠️ 안면윤곽 수술 후 주의사항 ⚠️ │안면윤곽전후, 안면윤곽수술비용, 안면윤곽살처짐",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Leave a Reply Cancel Reply",
|
||||
"level": 3,
|
||||
"paragraphs": [
|
||||
"You must be logged in to post a comment."
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
}
|
||||
],
|
||||
"text": "⚠️ 코 수술 후 주의사항 ⚠️ │코수술후주의사항, 코수술잘하는곳, 코수술비용, 코수술후관리\nBy 오픈컴2022년 2월 14일No Comments\nPrevious Post⚠️ 눈 수술 후 주의사항 ⚠️ │눈수술후주의사항, 눈수술잘하는곳, 코수술비용, 쌍수가격\nNext Post⚠️ 안면윤곽 수술 후 주의사항 ⚠️ │안면윤곽전후, 안면윤곽수술비용, 안면윤곽살처짐\nLeave a Reply Cancel Reply\nYou must be logged in to post a comment.",
|
||||
"chars": 220
|
||||
}
|
||||
@ -1,96 +0,0 @@
|
||||
{
|
||||
"clinic": "viewclinic",
|
||||
"fetchedAt": "2026-09-07",
|
||||
"url": "https://www.viewclinic.com/%E2%9C%A8-%EB%B7%B0%ED%8B%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%B6%81-%EA%B0%80%EC%8A%B4-%EC%BB%A4%EC%A7%80%EB%8A%94-%EB%B2%95-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EC%95%8C%EB%A0%A4%EC%A4%80%EB%8B%A4-%EB%8B%A4/",
|
||||
"requestedUrl": "https://www.viewclinic.com/%E2%9C%A8-%EB%B7%B0%ED%8B%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%B6%81-%EA%B0%80%EC%8A%B4-%EC%BB%A4%EC%A7%80%EB%8A%94-%EB%B2%95-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EC%95%8C%EB%A0%A4%EC%A4%80%EB%8B%A4-%EB%8B%A4/",
|
||||
"slug": "-E2-9C-A8-EB-B7-B0-ED-8B-B0-ED-8E-98-EC-9D-B4-EC-8A-A4-EB-B6-81-EA-B0-80-EC-8A-B4-EC-BB-A4-EC-A7-80-EB-8A-94-EB-B2-95-EC-A0-9C-EB-8C-80-EB-A1-9C-EC-95-8C-EB-A0-A4-EC-A4-80-EB-8B-A4-EB-8B-A4",
|
||||
"type": "other",
|
||||
"anchor": "",
|
||||
"status": 200,
|
||||
"title": "✨ [뷰티페이스북] 가슴 커지는 법 제대로 알려준다! 다 드루와!! ✨ | 뷰성형외과",
|
||||
"metaDesc": "",
|
||||
"h1": "✨ [뷰티페이스북] 가슴 커지는 법 제대로 알려준다! 다 드루와!! ✨",
|
||||
"mainSelector": "#ajax-content-wrap",
|
||||
"items": [
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 1,
|
||||
"text": "✨ [뷰티페이스북] 가슴 커지는 법 제대로 알려준다! 다 드루와!! ✨"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "By 오픈컴2022년 3월 1일3월 2nd, 2022No Comments"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Previous Post[리얼리뷰] ✨ 슴부심 상승했G! 매력넘치G! G컵 볼륨 끝판왕 탄생기 ✨"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Next Post[뷰티연구소-가슴재수술 편] 새가슴도 볼륨뿜뿜! OO가슴으로 재탄생한 치트키 대공개!"
|
||||
},
|
||||
{
|
||||
"kind": "h",
|
||||
"level": 3,
|
||||
"text": "Leave a Reply Cancel Reply"
|
||||
},
|
||||
{
|
||||
"kind": "p",
|
||||
"text": "You must be logged in to post a comment."
|
||||
}
|
||||
],
|
||||
"images": [],
|
||||
"links": [
|
||||
"https://www.viewclinic.com/category/viewtv/breast/",
|
||||
"https://www.viewclinic.com/author/opencom/",
|
||||
"https://www.viewclinic.com/%e2%9c%a8-%eb%b7%b0%ed%8b%b0%ed%8e%98%ec%9d%b4%ec%8a%a4%eb%b6%81-%ea%b0%80%ec%8a%b4-%ec%bb%a4%ec%a7%80%eb%8a%94-%eb%b2%95-%ec%a0%9c%eb%8c%80%eb%a1%9c-%ec%95%8c%eb%a0%a4%ec%a4%80%eb%8b%a4-%eb%8b%a4/",
|
||||
"https://www.viewclinic.com/%eb%a6%ac%ec%96%bc%eb%a6%ac%eb%b7%b0-%e2%9c%a8-%ec%8a%b4%eb%b6%80%ec%8b%ac-%ec%83%81%ec%8a%b9%ed%96%88g-%eb%a7%a4%eb%a0%a5%eb%84%98%ec%b9%98g-g%ec%bb%b5-%eb%b3%bc%eb%a5%a8-%eb%81%9d%ed%8c%90/",
|
||||
"https://www.viewclinic.com/%eb%b7%b0%ed%8b%b0%ec%97%b0%ea%b5%ac%ec%86%8c-%ea%b0%80%ec%8a%b4%ec%9e%ac%ec%88%98%ec%88%a0-%ed%8e%b8-%ec%83%88%ea%b0%80%ec%8a%b4%eb%8f%84-%eb%b3%bc%eb%a5%a8%eb%bf%9c%eb%bf%9c-oo%ea%b0%80%ec%8a%b4/",
|
||||
"https://www.viewclinic.com/%E2%9C%A8-%EB%B7%B0%ED%8B%B0%ED%8E%98%EC%9D%B4%EC%8A%A4%EB%B6%81-%EA%B0%80%EC%8A%B4-%EC%BB%A4%EC%A7%80%EB%8A%94-%EB%B2%95-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EC%95%8C%EB%A0%A4%EC%A4%80%EB%8B%A4-%EB%8B%A4/",
|
||||
"https://www.viewclinic.com/member/login/"
|
||||
],
|
||||
"flags": {
|
||||
"textInImages": false,
|
||||
"noText": false,
|
||||
"boilerplateRemoved": 0,
|
||||
"tables": 0
|
||||
},
|
||||
"sections": [
|
||||
{
|
||||
"heading": "✨ [뷰티페이스북] 가슴 커지는 법 제대로 알려준다! 다 드루와!! ✨",
|
||||
"level": 1,
|
||||
"paragraphs": [
|
||||
"By 오픈컴2022년 3월 1일3월 2nd, 2022No Comments"
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Previous Post[리얼리뷰] ✨ 슴부심 상승했G! 매력넘치G! G컵 볼륨 끝판왕 탄생기 ✨",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Next Post[뷰티연구소-가슴재수술 편] 새가슴도 볼륨뿜뿜! OO가슴으로 재탄생한 치트키 대공개!",
|
||||
"level": 3,
|
||||
"paragraphs": [],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
},
|
||||
{
|
||||
"heading": "Leave a Reply Cancel Reply",
|
||||
"level": 3,
|
||||
"paragraphs": [
|
||||
"You must be logged in to post a comment."
|
||||
],
|
||||
"lists": [],
|
||||
"tables": []
|
||||
}
|
||||
],
|
||||
"text": "✨ [뷰티페이스북] 가슴 커지는 법 제대로 알려준다! 다 드루와!! ✨\nBy 오픈컴2022년 3월 1일3월 2nd, 2022No Comments\nPrevious Post[리얼리뷰] ✨ 슴부심 상승했G! 매력넘치G! G컵 볼륨 끝판왕 탄생기 ✨\nNext Post[뷰티연구소-가슴재수술 편] 새가슴도 볼륨뿜뿜! OO가슴으로 재탄생한 치트키 대공개!\nLeave a Reply Cancel Reply\nYou must be logged in to post a comment.",
|
||||
"chars": 210
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user