홈페이지 분석 리포트

프리릭 코딩 스토어 · 2026-04-25 08:02

ⓘ 이 점수는 홈페이지 1장 기준입니다. 페이지별 점수 / 사이트 전체 집계는 사이트 리포트에서 보세요.

92
/ 100
이전 분석 대비 변화
prev analysis #202
점수 변화
0
신규 이슈
7
해결된 이슈
1
신규 referring domain
0
🔴 신규 critical: [a11y] 1개 input/select/textarea 에 label 없음 (WCAG 3.3.2, 1.3.1)
🔴 신규 critical: [duplicate] '로그인 · 라이트 코딩' 제목을 가진 페이지 6건 중복 (예: https://store.prelik.com/my/learn…
🔴 신규 critical: [duplicate] '1인 창업자의 라라벨 | laravel' 제목을 가진 페이지 2건 중복 (예: https://store.prelik.com…
메타
90
성능
90
헤딩
90
이미지
100
링크
94
모바일
80
로봇
100
키워드
85
스키마
100
GEO
64
보안
98
접근성
88
중복콘텐츠
56
사이트맵
68
내부링크
85
깨진링크
100
백링크
0
평가 요약
전체 이슈
9
Critical
0
Warning
6
Info
3
메타 1건
헤딩 1건
이미지 1건
링크 1건
성능 1건
키워드 2건
모바일 2건
스키마 통과
로봇 통과
Canonical: 설정됨
JSON-LD: 1개
robots/sitemap: robots OK / sitemap OK
메타 태그
제목 (25)
⚡ 라이트 코딩 — 실무에서 통하는 진짜 교육
설명 (97)
1인 개발자가 직접 만든 프로덕션급 프로그램·실전 라라벨 강의·파일 번들을 월 구독 또는 개별 구매로. 14일 환불 보장, 안전한 PortOne 결제, 세금계산서 자동 발급.
Canonical: https://store.prelik.com/
HTML lang: ko
charset: UTF-8
오픈 그래프
og:title: 프리릭 코딩 스토어 · 개발자가 직접 만든 프로그램·실전 강의·파일 번들 스토어
og:description: 1인 개발자가 직접 만든 프로덕션급 프로그램·실전 라라벨 강의·파일 번들을 월 구독...
og:image: https://store.prelik.com/og-default.png
og:type: website
og:url: https://store.prelik.com
Title이 너무 짧습니다 (25자, 권장: 30~60자)
성능
TTFB
915ms
FCP
1676ms
DCL
1509ms
DOM Complete
1836ms
TTFB 915ms (≤800ms 권장)
헤딩 구조
H1 (1)
  • 실무에서 통하는진짜 교육.
H2 (7)
  • 지금 가장 핫한 강의
  • 원하는 분야를 골라보세요
  • 수강생들이 직접 말합니다
  • 최고의 현직 전문가가 가르칩니다
  • 첫 달 50% 할인,지금 시작하세요.
  • 자주 묻는 질문
  • 지금 시작하세요
H4 (4)
  • 서비스
  • 강의
  • 회사
  • 지원
헤딩 레벨이 건너뛰어졌습니다 (예: H1 → H3)
이미지
전체: 0
alt 있음: 0
alt 없음: 0
비율: 100%
페이지에 이미지가 없습니다
링크
전체: 45
내부: 45
외부: 0
3개 링크에 앵커 텍스트가 없습니다 (7%)
키워드
단어 수: 530
강의 (29, 5.47%) 수강생 (8, 1.51%) 데이터 (6, 1.13%) 라이트 (5, 0.94%) 실제 (5, 0.94%) 평점 (5, 0.94%) 직접 (4, 0.75%) 개발 (4, 0.75%) ai (4, 0.75%) 90 (3, 0.57%) 코딩 (3, 0.57%) 강사 (3, 0.57%) 요금제 (3, 0.57%) faq (3, 0.57%) 시작하기 (3, 0.57%)
주요 키워드 '강의'가 Title에 포함되지 않았습니다
키워드 밀도가 높은 단어: 강의 (5% 초과)
모바일
뷰포트: width=device-width, initial-scale=1.0
가로 스크롤: 없음
31개 요소의 터치 영역이 44px 미만입니다
1개 요소의 폰트 크기가 작습니다
스키마.org (JSON-LD)
JSON-LD 블록: 1
@type 감지: 있음
유형: Organization, WebSite
원본 JSON-LD #1
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@type": "Organization",
            "@id": "https://store.prelik.com#org",
            "name": "Laravel",
            "url": "https://store.prelik.com",
            "logo": "https://store.prelik.com/og-default.png",
            "sameAs": [
                "https://github.com/dalsoop"
            ],
            "contactPoint": [
                {
                    "@type": "ContactPoint",
                    "email": "devops@prelik.com",
                    "contactType": "customer support",
                    "availableLanguage": [
                        "Korean"
                    ]
                }
            ]
        },
        {
            "@type": "WebSite",
            "@id": "https://store.prelik.com#site",
            "url": "https://store.prelik.com",
            "name": "Laravel",
            "publisher": {
                "@id": "https://store.prelik.com#org"
            },
            "inLanguage": "ko",
            "potentialAction": {
                "@type": "SearchAction",
                "target": "https://store.prelik.com/products?q={search_term_string}",
                "query-input": "required name=search_term_string"
            }
        }
    ]
}
robots 및 사이트맵
robots.txt: 발견됨
sitemap.xml: 발견됨
보안 헤더
98
HTTPS
HSTS
CSP
nosniff
X-Frame
Referrer-Policy
Permissions-Policy
쿠키 2개 — Secure 없음: 0, HttpOnly 없음: 1, SameSite 없음: 0
HttpOnly 플래그 없는 쿠키 1개 — XSS 로 JS 탈취 가능
외부 리소스 4개 중 SRI(integrity=) 없음: script 1, stylesheet 2
접근성 (WCAG 2)
88
레이블 없는 input: 1
이름 없는 button: 0
Skip link: 없음
Heading 계층 skip: 1
Alt 누락 이미지: 0
html[lang]: ko
1개 input/select/textarea 에 label 없음 (WCAG 3.3.2, 1.3.1)
"본문으로 건너뛰기" 링크 없음 — 키보드 사용자 내비게이션 비효율
heading 계층 건너뛴 구간 1곳 (h1→h3 등) — 스크린 리더 혼란
색상 대비 4.5:1 미달 8/80 (10%, WCAG 1.4.3) 예: a(1.7:1), a(1.7:1), span(2.5:1)
중복 콘텐츠
56
크롤 페이지: 19
중복 title 그룹: 5
중복 desc 그룹: 2
리다이렉트 체인 2+: 0
'로그인 · 라이트 코딩' 제목을 가진 페이지 6건 중복 (예: https://store.prelik.com/my/learning)
'1인 창업자의 라라벨 | laravel' 제목을 가진 페이지 2건 중복 (예: https://store.prelik.com/products/laravel-solo-founder)
'강의 · 라이트 코딩' 제목을 가진 페이지 2건 중복 (예: https://store.prelik.com/courses/laravel-solo-founder/lessons/2)
'claude code 실전 워크플로 | laravel' 제목을 가진 페이지 2건 중복 (예: https://store.prelik.com/products/claude-code-workflow)
'로그인 · k-edu' 제목을 가진 페이지 3건 중복 (예: https://store.prelik.com/checkout/basic-monthly)
동일 meta description 2건 (예: "1인 창업자의 라라벨...")
동일 meta description 2건 (예: "ai 페어프로그래밍으로 생산성 3배. 실제 커밋 기반 예제....")
meta description 없는 페이지가 전체의 절반 이상 (13건)
사이트맵 ↔ 크롤 diff
68
sitemap URL: 15
크롤 URL: 19
Orphan: 11
sitemap 누락: 15
sitemap 에만 있고 크롤 링크로 도달 못한 orphan 페이지 11건 (예: https://store.prelik.com/plans | https://store.prelik.com/products | https://store.prelik.com/partners)
크롤됐지만 sitemap 에 없는 페이지 15건 (예: https://store.prelik.com/my/learning | https://store.prelik.com/courses/laravel-solo-founder/lessons/2 | https://store.prelik.com/login)
내부 링크 그래프 (PageRank / orphan)
85
페이지: 30
Orphan: 4
Dead-end: 11
평균 inbound: 3.03
평균 outbound: 3.03
nofollow 내부: 0
Top PageRank
https://store.prelik.com/
pr 0.15754 · in 15 · out 15
https://store.prelik.com/login
pr 0.1035 · in 6 · out 3
https://store.prelik.com/register
pr 0.0763 · in 9 · out 2
https://store.prelik.com/forgot-password
pr 0.0763 · in 9 · out 2
https://store.prelik.com/courses/laravel-solo-founder
pr 0.04853 · in 4 · out 11
https://store.prelik.com/courses/laravel-solo-founder/lessons/2
pr 0.04616 · in 4 · out 3
https://store.prelik.com/courses/laravel-solo-founder/lessons/1
pr 0.04616 · in 4 · out 3
https://store.prelik.com/courses
pr 0.02823 · in 4 · out 15
https://store.prelik.com/plans
pr 0.02823 · in 4 · out 0
https://store.prelik.com/faq
pr 0.02237 · in 2 · out 0
Orphan 페이지 (4)
https://store.prelik.com/checkout/basic-monthly
d2
https://store.prelik.com/checkout/enterprise-monthly
d2
https://store.prelik.com/cdn-cgi/l/email-protection
d2
https://store.prelik.com/checkout/pro-monthly
d2
깨진 링크 (Broken Link Audit)
100
총 링크: 95
검증됨: 95
미검증: 0
내부 깨짐: 0
외부 깨짐: 0
메뉴 트리 / 네비게이션 (Google sitelinks 적합도)
공통 내부 링크 / breadcrumb / 사이트 구조 분석
20
크롤 페이지: 30
공통 메뉴: 0
depth≤2 도달: 100%
BreadcrumbList:
SiteNavSchema:
일관된 메뉴 트리가 감지되지 않음 — 페이지 간 공통 내부 링크가 너무 적음
Backlinks (외부 인바운드 링크)
0
총 백링크: 0
Referring 도메인: 0
Dofollow: 0%
Alive ratio: -%
Alive: 0
Dead: 0
미검증: 0
최근 7일: 0
최근 30일: 0
소스:
GEO (생성형 검색 최적화)
64
direct_answer
100
qa_structure
50
schema_strength
40
eat_signals
45
citations
40
content_depth
75
keyword_alignment
85
quotations
65
statistics
85
lists
80
FAQPage / HowTo JSON-LD 없음 — AI 검색(ChatGPT/AI Overview)이 Q&A 로 인용하기 어려움
Article/BlogPosting schema 없음 — author/date 명시로 E-E-A-T 강화 권장
질문형 H2/H3 (예: "~인가?", "왜 ~할까?") 없음 — 생성형 검색 인용에 불리
외부 출처 링크 없음 — 근거/인용 구조로 AI 신뢰도 상승 가능
상위 키워드가 Title/Description 에 일관되게 반영되지 않음 — AI 요약 시 주제 일치도 하락
추가 권장 체크 로직 (예시)

아래 항목은 데이터 연동 전에도 설계 가능한 규칙 예시입니다. 실제 운영에서는 GSC/백링크 도구 연동 후 점수화하세요.

1) 백링크 품질 점수 (오프페이지)
backlink_score = 0.35*ref_domain_growth + 0.30*high_quality_domain_ratio + 0.20*anchor_naturalness - 0.15*spam_link_ratio
권장 임계값: high_quality_domain_ratio >= 0.6, spam_link_ratio <= 0.1
2) URL-H1 정합성 점수 (완전 일치 필수 아님)
url_h1_alignment = semantic_similarity(url_slug, h1_text)
if alignment < 0.45: warning
if alignment < 0.30: critical
설명: 문자열 완전 동일보다 주제 일치(semantic) 우선
3) 제목-본문 일치성
title_body_match = 100
if top_keyword_not_in_title: -25
if top_keyword_not_in_description: -20
if intro_missing_core_topic: -15
if final < 70: 개선 필요
4) 내부링크 분배
internal_link_health = 100
if orphan_pages > 0: -min(40, orphan_pages*5)
if core_pages_inlinks_avg < 3: -20
if anchor_empty_ratio > 0.1: -15
5) CTR 개선 우선순위 (성과 기반)
priority = impressions * max(0, expected_ctr - current_ctr)
상위 priority 페이지부터 title/meta rewrite -> 14/28일 효과 비교
개선 팁: "URL이 H1과 완전 동일" 같은 단일 규칙보다, 정합성(semantic) + 검색 성과(CTR/노출) + 기술 신호(canonical/schema)를 함께 보는 방식이 더 안정적입니다.
원본 분석 데이터 (저장 JSON)
meta_analysis
{
    "score": 90,
    "title": {
        "content": "⚡ 라이트 코딩 — 실무에서 통하는 진짜 교육",
        "length": 25
    },
    "description": {
        "content": "1인 개발자가 직접 만든 프로덕션급 프로그램·실전 라라벨 강의·파일 번들을 월 구독 또는 개별 구매로. 14일 환불 보장, 안전한 PortOne 결제, 세금계산서 자동 발급.",
        "length": 97
    },
    "og": {
        "title": "프리릭 코딩 스토어 · 개발자가 직접 만든 프로그램·실전 강의·파일 번들 스토어",
        "description": "1인 개발자가 직접 만든 프로덕션급 프로그램·실전 라라벨 강의·파일 번들을 월 구독 또는 개별 구매로. 14일 환불 보장, 안전한 PortOne 결제, 세금계산서 자동 발급.",
        "image": "https://store.prelik.com/og-default.png",
        "type": "website",
        "url": "https://store.prelik.com"
    },
    "canonical": "https://store.prelik.com/",
    "lang": "ko",
    "charset": "UTF-8",
    "hreflangs": [],
    "issues": [
        {
            "severity": "warning",
            "message": "Title이 너무 짧습니다 (25자, 권장: 30~60자)"
        }
    ]
}
heading_analysis
{
    "score": 90,
    "h1_count": 1,
    "structure": {
        "h1": {
            "count": 1,
            "items": [
                "실무에서 통하는진짜 교육."
            ]
        },
        "h2": {
            "count": 7,
            "items": [
                "지금 가장 핫한 강의",
                "원하는 분야를 골라보세요",
                "수강생들이 직접 말합니다",
                "최고의 현직 전문가가 가르칩니다",
                "첫 달 50% 할인,지금 시작하세요.",
                "자주 묻는 질문",
                "지금 시작하세요"
            ]
        },
        "h4": {
            "count": 4,
            "items": [
                "서비스",
                "강의",
                "회사",
                "지원"
            ]
        }
    },
    "issues": [
        {
            "severity": "warning",
            "message": "헤딩 레벨이 건너뛰어졌습니다 (예: H1 → H3)"
        }
    ]
}
image_analysis
{
    "score": 100,
    "total": 0,
    "with_alt": 0,
    "without_alt": 0,
    "alt_ratio": 100,
    "low_quality_alt": 0,
    "missing_alt_images": [],
    "issues": [
        {
            "severity": "info",
            "message": "페이지에 이미지가 없습니다"
        }
    ]
}
link_analysis
{
    "score": 94,
    "total": 45,
    "internal": 45,
    "external": 0,
    "no_text": 3,
    "generic_text": 0,
    "non_crawlable": 0,
    "issues": [
        {
            "severity": "warning",
            "message": "3개 링크에 앵커 텍스트가 없습니다 (7%)"
        }
    ]
}
performance_analysis
{
    "score": 90,
    "metrics": {
        "lcp": 2336,
        "inp": 200,
        "cls": 0,
        "ttfb": 915,
        "fcp": 1676,
        "dom_content_loaded": 1509,
        "dom_complete": 1836,
        "load_event": 1836,
        "transfer_size": 16264
    },
    "issues": [
        {
            "severity": "warning",
            "message": "TTFB 915ms (≤800ms 권장)"
        }
    ]
}
keyword_analysis
{
    "score": 85,
    "word_count": 530,
    "top_keywords": [
        {
            "word": "강의",
            "count": 29,
            "density": "5.47",
            "variants": {
                "강의": 29
            }
        },
        {
            "word": "수강생",
            "count": 8,
            "density": "1.51",
            "variants": {
                "수강생": 8
            }
        },
        {
            "word": "데이터",
            "count": 6,
            "density": "1.13",
            "variants": {
                "데이터": 6
            }
        },
        {
            "word": "라이트",
            "count": 5,
            "density": "0.94",
            "variants": {
                "라이트": 5
            }
        },
        {
            "word": "실제",
            "count": 5,
            "density": "0.94",
            "variants": {
                "실제": 5
            }
        },
        {
            "word": "평점",
            "count": 5,
            "density": "0.94",
            "variants": {
                "평점": 5
            }
        },
        {
            "word": "직접",
            "count": 4,
            "density": "0.75",
            "variants": {
                "직접": 4
            }
        },
        {
            "word": "개발",
            "count": 4,
            "density": "0.75",
            "variants": {
                "개발": 4
            }
        },
        {
            "word": "ai",
            "count": 4,
            "density": "0.75",
            "variants": {
                "ai": 4
            }
        },
        {
            "word": 90,
            "count": 3,
            "density": "0.57",
            "variants": {
                "90": 3
            }
        },
        {
            "word": "코딩",
            "count": 3,
            "density": "0.57",
            "variants": {
                "코딩": 3
            }
        },
        {
            "word": "강사",
            "count": 3,
            "density": "0.57",
            "variants": {
                "강사": 3
            }
        },
        {
            "word": "요금제",
            "count": 3,
            "density": "0.57",
            "variants": {
                "요금제": 3
            }
        },
        {
            "word": "faq",
            "count": 3,
            "density": "0.57",
            "variants": {
                "faq": 3
            }
        },
        {
            "word": "시작하기",
            "count": 3,
            "density": "0.57",
            "variants": {
                "시작하기": 3
            }
        },
        {
            "word": "진짜",
            "count": 3,
            "density": "0.57",
            "variants": {
                "진짜": 3
            }
        },
        {
            "word": "교육",
            "count": 3,
            "density": "0.57",
            "variants": {
                "교육": 3
            }
        },
        {
            "word": "현직",
            "count": 3,
            "density": "0.57",
            "variants": {
                "현직": 3
            }
        },
        {
            "word": "전문가",
            "count": 3,
            "density": "0.57",
            "variants": {
                "전문가가": 3
            }
        },
        {
            "word": "설계",
            "count": 3,
            "density": "0.57",
            "variants": {
                "설계한": 3
            }
        }
    ],
    "issues": [
        {
            "severity": "info",
            "message": "주요 키워드 '강의'가 Title에 포함되지 않았습니다"
        },
        {
            "severity": "warning",
            "message": "키워드 밀도가 높은 단어: 강의 (5% 초과)"
        }
    ]
}
geo_analysis
{
    "score": 64,
    "sub_scores": {
        "direct_answer": 100,
        "qa_structure": 50,
        "schema_strength": 40,
        "eat_signals": 45,
        "citations": 40,
        "content_depth": 75,
        "keyword_alignment": 85,
        "quotations": 65,
        "statistics": 85,
        "lists": 80
    },
    "signals": {
        "h1_count": 1,
        "h2_count": 7,
        "h3_count": 0,
        "question_headings": 0,
        "has_faq_page": false,
        "has_article": false,
        "has_how_to": false,
        "has_breadcrumb": false,
        "external_links": 0,
        "word_count": 530,
        "blockquotes": 0,
        "quote_sentences": 3,
        "stat_sentences": 29,
        "percent_occurrences": 6,
        "ul_count": 4,
        "ol_count": 0,
        "table_count": 0,
        "li_total": 16,
        "tldr_markers": false,
        "has_direct_answer": true
    },
    "improvements": [
        "FAQPage JSON-LD 추가 — 핵심 Q&A 3-5개를 mainEntity.Question 으로 마크업하면 AI 인용 확률 상승",
        "H2/H3 을 \"~는 무엇인가?\", \"왜 ~할까?\" 같은 질문 형태로 재구성 → 직접 답변 추출에 유리",
        "Article schema 의 author(Person) / datePublished / dateModified 명시 — E-E-A-T 신호",
        "신뢰할 만한 외부 출처 2-3개 인용 — AI 는 근거 있는 콘텐츠를 선호"
    ],
    "issues": [
        {
            "severity": "warning",
            "message": "FAQPage / HowTo JSON-LD 없음 — AI 검색(ChatGPT/AI Overview)이 Q&A 로 인용하기 어려움"
        },
        {
            "severity": "warning",
            "message": "Article/BlogPosting schema 없음 — author/date 명시로 E-E-A-T 강화 권장"
        },
        {
            "severity": "info",
            "message": "질문형 H2/H3 (예: \"~인가?\", \"왜 ~할까?\") 없음 — 생성형 검색 인용에 불리"
        },
        {
            "severity": "info",
            "message": "외부 출처 링크 없음 — 근거/인용 구조로 AI 신뢰도 상승 가능"
        },
        {
            "severity": "info",
            "message": "상위 키워드가 Title/Description 에 일관되게 반영되지 않음 — AI 요약 시 주제 일치도 하락"
        }
    ]
}
security_headers_analysis
{
    "score": 98,
    "is_https": true,
    "has_hsts": true,
    "has_csp": true,
    "has_nosniff": true,
    "has_xfo": true,
    "has_referrer_policy": true,
    "has_permissions_policy": true,
    "cookies": {
        "total": 2,
        "insecure_count": 0,
        "no_httponly_count": 1,
        "no_samesite_count": 0,
        "insecure_samples": []
    },
    "subresource": {
        "scripts_without_integrity": 1,
        "links_without_integrity": 2,
        "total_external": 4
    },
    "headers_sample": {
        "content-security-policy": "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.jsdelivr.net https://cdn.portone.io https://cf.portone.io https://us.i.posthog.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: https: blob:; font-src 'self' https://fonts.gstatic.com data:; connect-src 'self' https://api.portone.io https://us.i.posthog.com https://upload.videodelivery.net wss:; media-src 'self' https://videodelivery.net https://customer-bi86u6r8immqh8to.cloudflarestream.com blob:; frame-src 'self' https://cdn.portone.io https://iamport-checkout.portone.io https://customer-bi86u6r8immqh8to.cloudflarestream.com; object-src 'none'; base-uri 'self'; form-action 'self' https://iamport-checkout.portone.io;",
        "permissions-policy": "camera=(), microphone=(), geolocation=()",
        "referrer-policy": "strict-origin-when-cross-origin",
        "strict-transport-security": "max-age=31536000; includeSubDomains",
        "x-content-type-options": "nosniff",
        "x-frame-options": "SAMEORIGIN"
    },
    "issues": [
        {
            "severity": "info",
            "message": "HttpOnly 플래그 없는 쿠키 1개 — XSS 로 JS 탈취 가능"
        },
        {
            "severity": "info",
            "message": "외부 리소스 4개 중 SRI(integrity=) 없음: script 1, stylesheet 2"
        }
    ]
}
accessibility_analysis
{
    "score": 88,
    "unlabeled_inputs": 1,
    "buttons_no_name": 0,
    "has_skip_link": false,
    "heading_skips": 1,
    "imgs_missing_alt": 0,
    "imgs_empty_alt": 0,
    "html_lang": "ko",
    "total_forms": 2,
    "low_contrast_count": 8,
    "contrast_sampled": 80,
    "contrast_samples": [
        {
            "tag": "a",
            "text": "무료로 시작하기",
            "ratio": 1.7
        },
        {
            "tag": "a",
            "text": "무료로 시작하기",
            "ratio": 1.7
        },
        {
            "tag": "span",
            "text": "$29.00",
            "ratio": 2.5
        }
    ],
    "issues": [
        {
            "severity": "critical",
            "message": "1개 input/select/textarea 에 label 없음 (WCAG 3.3.2, 1.3.1)"
        },
        {
            "severity": "info",
            "message": "\"본문으로 건너뛰기\" 링크 없음 — 키보드 사용자 내비게이션 비효율"
        },
        {
            "severity": "info",
            "message": "heading 계층 건너뛴 구간 1곳 (h1→h3 등) — 스크린 리더 혼란"
        },
        {
            "severity": "info",
            "message": "색상 대비 4.5:1 미달 8/80 (10%, WCAG 1.4.3) 예: a(1.7:1), a(1.7:1), span(2.5:1)"
        }
    ]
}
duplicate_content_analysis
{
    "score": 56,
    "total_pages": 19,
    "duplicate_groups": 5,
    "duplicate_pages": 15,
    "empty_title_pages": 0,
    "thin_title_pages": 0,
    "description_duplicate_groups": 2,
    "description_missing_pages": 13,
    "redirected_pages": 8,
    "long_chain_pages": 0,
    "issues": [
        {
            "severity": "critical",
            "message": "'로그인 · 라이트 코딩' 제목을 가진 페이지 6건 중복 (예: https://store.prelik.com/my/learning)"
        },
        {
            "severity": "critical",
            "message": "'1인 창업자의 라라벨 | laravel' 제목을 가진 페이지 2건 중복 (예: https://store.prelik.com/products/laravel-solo-founder)"
        },
        {
            "severity": "critical",
            "message": "'강의 · 라이트 코딩' 제목을 가진 페이지 2건 중복 (예: https://store.prelik.com/courses/laravel-solo-founder/lessons/2)"
        },
        {
            "severity": "critical",
            "message": "'claude code 실전 워크플로 | laravel' 제목을 가진 페이지 2건 중복 (예: https://store.prelik.com/products/claude-code-workflow)"
        },
        {
            "severity": "critical",
            "message": "'로그인 · k-edu' 제목을 가진 페이지 3건 중복 (예: https://store.prelik.com/checkout/basic-monthly)"
        },
        {
            "severity": "warning",
            "message": "동일 meta description 2건 (예: \"1인 창업자의 라라벨...\")"
        },
        {
            "severity": "warning",
            "message": "동일 meta description 2건 (예: \"ai 페어프로그래밍으로 생산성 3배. 실제 커밋 기반 예제....\")"
        },
        {
            "severity": "warning",
            "message": "meta description 없는 페이지가 전체의 절반 이상 (13건)"
        }
    ]
}
sitemap_orphan_analysis
{
    "score": 68,
    "sitemap_count": 15,
    "crawled_count": 19,
    "orphan_count": 11,
    "missing_from_sitemap_count": 15,
    "orphan_samples": [
        "https://store.prelik.com/plans",
        "https://store.prelik.com/products",
        "https://store.prelik.com/partners",
        "https://store.prelik.com/products/dev-toolbox-pro",
        "https://store.prelik.com/products/markdown-converter",
        "https://store.prelik.com/products/uiux-source-pack",
        "https://store.prelik.com/legal/terms",
        "https://store.prelik.com/legal/privacy",
        "https://store.prelik.com/legal/refund",
        "https://store.prelik.com/legal/about"
    ],
    "issues": [
        {
            "severity": "warning",
            "message": "sitemap 에만 있고 크롤 링크로 도달 못한 orphan 페이지 11건 (예: https://store.prelik.com/plans | https://store.prelik.com/products | https://store.prelik.com/partners)"
        },
        {
            "severity": "info",
            "message": "크롤됐지만 sitemap 에 없는 페이지 15건 (예: https://store.prelik.com/my/learning | https://store.prelik.com/courses/laravel-solo-founder/lessons/2 | https://store.prelik.com/login)"
        }
    ]
}
crux_field_data
null
mobile_analysis
{
    "score": 80,
    "viewport": "width=device-width, initial-scale=1.0",
    "has_horizontal_scroll": false,
    "small_touch_targets": 31,
    "small_fonts": 1,
    "issues": [
        {
            "severity": "warning",
            "message": "31개 요소의 터치 영역이 44px 미만입니다"
        },
        {
            "severity": "info",
            "message": "1개 요소의 폰트 크기가 작습니다"
        }
    ]
}
schema_analysis
{
    "score": 100,
    "count": 1,
    "types": [
        "Organization",
        "WebSite"
    ],
    "schemas": [
        {
            "@context": "https://schema.org",
            "@graph": [
                {
                    "@type": "Organization",
                    "@id": "https://store.prelik.com#org",
                    "name": "Laravel",
                    "url": "https://store.prelik.com",
                    "logo": "https://store.prelik.com/og-default.png",
                    "sameAs": [
                        "https://github.com/dalsoop"
                    ],
                    "contactPoint": [
                        {
                            "@type": "ContactPoint",
                            "email": "devops@prelik.com",
                            "contactType": "customer support",
                            "availableLanguage": [
                                "Korean"
                            ]
                        }
                    ]
                },
                {
                    "@type": "WebSite",
                    "@id": "https://store.prelik.com#site",
                    "url": "https://store.prelik.com",
                    "name": "Laravel",
                    "publisher": {
                        "@id": "https://store.prelik.com#org"
                    },
                    "inLanguage": "ko",
                    "potentialAction": {
                        "@type": "SearchAction",
                        "target": "https://store.prelik.com/products?q={search_term_string}",
                        "query-input": "required name=search_term_string"
                    }
                }
            ]
        }
    ],
    "issues": []
}
robots_analysis
{
    "score": 100,
    "robots": {
        "exists": true,
        "blocks_all": false,
        "has_user_agent": true,
        "invalid_directives": [],
        "content": "User-agent: *\nDisallow: /admin\nDisallow: /checkout\nDisallow: /cart\nDisallow: /my/\nDisallow: /billing/\nDisallow: /dashboard\nDisallow: /login\nDisallow: /register\nDisallow: /forgot-password\nDisallow: /reset-password\n\nSitemap: https://store.prelik.com/sitemap.xml\n",
        "sitemap_urls": [
            "https://store.prelik.com/sitemap.xml"
        ]
    },
    "sitemap": {
        "exists": true,
        "url": "https://store.prelik.com/sitemap.xml",
        "type": "urlset",
        "url_count": 15,
        "has_lastmod": true,
        "has_priority": true,
        "size": 2566
    },
    "issues": []
}
integration_analysis
null