홈페이지 분석 리포트

프리릭 코딩 스토어 · 2026-04-22 10:12

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

96
/ 100
이전 분석 대비 변화
prev analysis #190
점수 변화
+4
신규 이슈
0
해결된 이슈
0
신규 referring domain
0
메타
100
성능
90
헤딩
100
이미지
100
링크
100
모바일
80
로봇
95
키워드
100
스키마
100
GEO
60
보안
99
접근성
95
중복콘텐츠
100
사이트맵
75
내부링크
0
깨진링크
100
백링크
0
평가 요약
전체 이슈
5
Critical
0
Warning
2
Info
3
메타 통과
헤딩 통과
이미지 1건
링크 통과
성능 1건
키워드 통과
모바일 2건
스키마 통과
로봇 1건
Canonical: 설정됨
JSON-LD: 1개
robots/sitemap: robots OK / sitemap OK
메타 태그
제목 (44)
프리릭 코딩 스토어 · 개발자가 직접 만든 프로그램·실전 강의·파일 번들 스토어
설명 (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
성능
TTFB
846ms
FCP
1276ms
DCL
1506ms
DOM Complete
1506ms
TTFB 846ms (≤800ms 권장)
헤딩 구조
H1 (1)
  • 최대 30% 할인, 일주일 한정
H2 (6)
  • BEST 강의
  • BEST 파일·프로그램
  • 왜 프리릭 코딩 스토어인가
  • 프리릭 코딩 스토어
  • 구독 플랜
  • 전체 페이지 둘러보기
H3 (4)
  • 직접 만든 코드·강의
  • 월 구독 or 개별 구매
  • 14일 환불 보장
  • 안전한 결제
이미지
전체: 0
alt 있음: 0
alt 없음: 0
비율: 100%
페이지에 이미지가 없습니다
링크
전체: 42
내부: 41
외부: 1
키워드
단어 수: 322
강의 (11, 3.42%) 구독 (8, 2.48%) 프로그램 (6, 1.86%) 환불 (6, 1.86%) 프리릭 (5, 1.55%) 파일 (5, 1.55%) 전체 (5, 1.55%) 코딩 (4, 1.24%) 플랜 (4, 1.24%) 로그 (4, 1.24%) 자주 (4, 1.24%) best (4, 1.24%) 000원 (4, 1.24%) 900원 (4, 1.24%) 다운로드 (4, 1.24%)
모바일
뷰포트: width=device-width, initial-scale=1.0
가로 스크롤: 없음
13개 요소의 터치 영역이 44px 미만입니다
2개 요소의 폰트 크기가 작습니다
스키마.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: 발견됨
robots.txt에 Sitemap 지시문이 없습니다
보안 헤더
99
HTTPS
HSTS
CSP
nosniff
X-Frame
Referrer-Policy
Permissions-Policy
쿠키 2개 — Secure 없음: 0, HttpOnly 없음: 1, SameSite 없음: 0
HttpOnly 플래그 없는 쿠키 1개 — XSS 로 JS 탈취 가능
외부 리소스 2개 중 SRI(integrity=) 없음: script 1, stylesheet 0
접근성 (WCAG 2)
95
레이블 없는 input: 0
이름 없는 button: 0
Skip link: 없음
Heading 계층 skip: 0
Alt 누락 이미지: 0
html[lang]: ko
"본문으로 건너뛰기" 링크 없음 — 키보드 사용자 내비게이션 비효율
색상 대비 4.5:1 미달 4/80 (5%, WCAG 1.4.3) 예: a(3:1), a(3.7:1), a(3.7:1)
중복 콘텐츠
100
크롤 페이지: 0
중복 title 그룹: 0
중복 desc 그룹: 0
리다이렉트 체인 2+: 0
크롤된 200 OK 페이지 없음 — 중복 분석 건너뜀
사이트맵 ↔ 크롤 diff
75
sitemap URL: 15
크롤 URL: 0
Orphan: 15
sitemap 누락: 0
sitemap 에만 있고 크롤 링크로 도달 못한 orphan 페이지 15건 (예: https://store.prelik.com/ | https://store.prelik.com/plans | https://store.prelik.com/products)
내부 링크 그래프 (PageRank / orphan)
0
페이지: 0
Orphan: 0
Dead-end: 0
평균 inbound: 0
평균 outbound: 0
nofollow 내부: 0
깨진 링크 (Broken Link Audit)
100
총 링크: 0
검증됨: 0
미검증: 0
내부 깨짐: 0
외부 깨짐: 0
메뉴 트리 / 네비게이션 (Google sitelinks 적합도)
공통 내부 링크 / breadcrumb / 사이트 구조 분석
0
크롤 페이지: 0
공통 메뉴: 0
depth≤2 도달: 0%
BreadcrumbList:
SiteNavSchema:
Backlinks (외부 인바운드 링크)
0
총 백링크: 0
Referring 도메인: 0
Dofollow: 0%
Alive ratio: -%
Alive: 0
Dead: 0
미검증: 0
최근 7일: 0
최근 30일: 0
소스:
GEO (생성형 검색 최적화)
60
direct_answer
100
qa_structure
50
schema_strength
40
eat_signals
45
citations
60
content_depth
55
keyword_alignment
100
quotations
50
statistics
78
lists
40
FAQPage / HowTo JSON-LD 없음 — AI 검색(ChatGPT/AI Overview)이 Q&A 로 인용하기 어려움
Article/BlogPosting schema 없음 — author/date 명시로 E-E-A-T 강화 권장
질문형 H2/H3 (예: "~인가?", "왜 ~할까?") 없음 — 생성형 검색 인용에 불리
본문이 322단어로 얕음 — AI 인용 블록 추출에 400+ 단어 권장
H1 직후 요약 문단 / TL;DR 섹션 없음 — AI 가 핵심 답변 추출 어려움
인용구(blockquote / "…") 거의 없음 — Aggarwal 연구 기준 인용구 추가 시 LLM 가시성 상승
목록·표 구조 없음 — 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": 100,
    "title": {
        "content": "프리릭 코딩 스토어 · 개발자가 직접 만든 프로그램·실전 강의·파일 번들 스토어",
        "length": 44
    },
    "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": []
}
heading_analysis
{
    "score": 100,
    "h1_count": 1,
    "structure": {
        "h1": {
            "count": 1,
            "items": [
                "최대 30% 할인, 일주일 한정"
            ]
        },
        "h2": {
            "count": 6,
            "items": [
                "BEST 강의",
                "BEST 파일·프로그램",
                "왜 프리릭 코딩 스토어인가",
                "프리릭 코딩 스토어",
                "구독 플랜",
                "전체 페이지 둘러보기"
            ]
        },
        "h3": {
            "count": 4,
            "items": [
                "직접 만든 코드·강의",
                "월 구독 or 개별 구매",
                "14일 환불 보장",
                "안전한 결제"
            ]
        }
    },
    "issues": []
}
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": 100,
    "total": 42,
    "internal": 41,
    "external": 1,
    "no_text": 0,
    "generic_text": 0,
    "non_crawlable": 0,
    "issues": []
}
performance_analysis
{
    "score": 90,
    "metrics": {
        "lcp": 1276,
        "inp": 48,
        "cls": 0,
        "ttfb": 846,
        "fcp": 1276,
        "dom_content_loaded": 1506,
        "dom_complete": 1506,
        "load_event": 1506,
        "transfer_size": 8413
    },
    "issues": [
        {
            "severity": "warning",
            "message": "TTFB 846ms (≤800ms 권장)"
        }
    ]
}
keyword_analysis
{
    "score": 100,
    "word_count": 322,
    "top_keywords": [
        {
            "word": "강의",
            "count": 11,
            "density": "3.42",
            "variants": {
                "강의": 11
            }
        },
        {
            "word": "구독",
            "count": 8,
            "density": "2.48",
            "variants": {
                "구독": 8
            }
        },
        {
            "word": "프로그램",
            "count": 6,
            "density": "1.86",
            "variants": {
                "프로그램": 6
            }
        },
        {
            "word": "환불",
            "count": 6,
            "density": "1.86",
            "variants": {
                "환불": 6
            }
        },
        {
            "word": "프리릭",
            "count": 5,
            "density": "1.55",
            "variants": {
                "프리릭": 5
            }
        },
        {
            "word": "파일",
            "count": 5,
            "density": "1.55",
            "variants": {
                "파일": 5
            }
        },
        {
            "word": "전체",
            "count": 5,
            "density": "1.55",
            "variants": {
                "전체": 5
            }
        },
        {
            "word": "코딩",
            "count": 4,
            "density": "1.24",
            "variants": {
                "코딩": 4
            }
        },
        {
            "word": "플랜",
            "count": 4,
            "density": "1.24",
            "variants": {
                "플랜": 4
            }
        },
        {
            "word": "로그",
            "count": 4,
            "density": "1.24",
            "variants": {
                "로그인": 4
            }
        },
        {
            "word": "자주",
            "count": 4,
            "density": "1.24",
            "variants": {
                "자주": 4
            }
        },
        {
            "word": "best",
            "count": 4,
            "density": "1.24",
            "variants": {
                "best": 4
            }
        },
        {
            "word": "000원",
            "count": 4,
            "density": "1.24",
            "variants": {
                "000원": 4
            }
        },
        {
            "word": "900원",
            "count": 4,
            "density": "1.24",
            "variants": {
                "900원": 4
            }
        },
        {
            "word": "다운로드",
            "count": 4,
            "density": "1.24",
            "variants": {
                "다운로드": 4
            }
        },
        {
            "word": "스토어",
            "count": 3,
            "density": "0.93",
            "variants": {
                "스토어": 3
            }
        },
        {
            "word": "카탈로그",
            "count": 3,
            "density": "0.93",
            "variants": {
                "카탈로그": 3
            }
        },
        {
            "word": "보기",
            "count": 3,
            "density": "0.93",
            "variants": {
                "보기": 3
            }
        },
        {
            "word": "1인",
            "count": 3,
            "density": "0.93",
            "variants": {
                "1인": 3
            }
        },
        {
            "word": "월간",
            "count": 3,
            "density": "0.93",
            "variants": {
                "월간": 3
            }
        }
    ],
    "issues": []
}
geo_analysis
{
    "score": 60,
    "sub_scores": {
        "direct_answer": 100,
        "qa_structure": 50,
        "schema_strength": 40,
        "eat_signals": 45,
        "citations": 60,
        "content_depth": 55,
        "keyword_alignment": 100,
        "quotations": 50,
        "statistics": 78,
        "lists": 40
    },
    "signals": {
        "h1_count": 1,
        "h2_count": 6,
        "h3_count": 4,
        "question_headings": 0,
        "has_faq_page": false,
        "has_article": false,
        "has_how_to": false,
        "has_breadcrumb": false,
        "external_links": 1,
        "word_count": 322,
        "blockquotes": 0,
        "quote_sentences": 0,
        "stat_sentences": 8,
        "percent_occurrences": 2,
        "ul_count": 0,
        "ol_count": 0,
        "table_count": 0,
        "li_total": 0,
        "tldr_markers": false,
        "has_direct_answer": false
    },
    "improvements": [
        "FAQPage JSON-LD 추가 — 핵심 Q&A 3-5개를 mainEntity.Question 으로 마크업하면 AI 인용 확률 상승",
        "H2/H3 을 \"~는 무엇인가?\", \"왜 ~할까?\" 같은 질문 형태로 재구성 → 직접 답변 추출에 유리",
        "각 섹션 앞에 1-2 문장 요약(TL;DR) 배치 + 근거 데이터/예시 추가로 400+ 단어 확보",
        "Article schema 의 author(Person) / datePublished / dateModified 명시 — E-E-A-T 신호"
    ],
    "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": "warning",
            "message": "본문이 322단어로 얕음 — AI 인용 블록 추출에 400+ 단어 권장"
        },
        {
            "severity": "warning",
            "message": "H1 직후 요약 문단 / TL;DR 섹션 없음 — AI 가 핵심 답변 추출 어려움"
        },
        {
            "severity": "info",
            "message": "인용구(blockquote / \"…\") 거의 없음 — Aggarwal 연구 기준 인용구 추가 시 LLM 가시성 상승"
        },
        {
            "severity": "info",
            "message": "목록·표 구조 없음 — AI 는 구조화된 스냅샷 인용을 선호"
        }
    ]
}
security_headers_analysis
{
    "score": 99,
    "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": 0,
        "total_external": 2
    },
    "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": "외부 리소스 2개 중 SRI(integrity=) 없음: script 1, stylesheet 0"
        }
    ]
}
accessibility_analysis
{
    "score": 95,
    "unlabeled_inputs": 0,
    "buttons_no_name": 0,
    "has_skip_link": false,
    "heading_skips": 0,
    "imgs_missing_alt": 0,
    "imgs_empty_alt": 0,
    "html_lang": "ko",
    "total_forms": 0,
    "low_contrast_count": 4,
    "contrast_sampled": 80,
    "contrast_samples": [
        {
            "tag": "a",
            "text": "회원가입",
            "ratio": 3
        },
        {
            "tag": "a",
            "text": "로그인 후 시작",
            "ratio": 3.7
        },
        {
            "tag": "a",
            "text": "로그인 후 시작",
            "ratio": 3.7
        }
    ],
    "issues": [
        {
            "severity": "info",
            "message": "\"본문으로 건너뛰기\" 링크 없음 — 키보드 사용자 내비게이션 비효율"
        },
        {
            "severity": "info",
            "message": "색상 대비 4.5:1 미달 4/80 (5%, WCAG 1.4.3) 예: a(3:1), a(3.7:1), a(3.7:1)"
        }
    ]
}
duplicate_content_analysis
{
    "score": 100,
    "total_pages": 0,
    "duplicate_groups": 0,
    "issues": [
        {
            "severity": "info",
            "message": "크롤된 200 OK 페이지 없음 — 중복 분석 건너뜀"
        }
    ]
}
sitemap_orphan_analysis
{
    "score": 75,
    "sitemap_count": 15,
    "crawled_count": 0,
    "orphan_count": 15,
    "missing_from_sitemap_count": 0,
    "orphan_samples": [
        "https://store.prelik.com/",
        "https://store.prelik.com/plans",
        "https://store.prelik.com/products",
        "https://store.prelik.com/courses",
        "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/laravel-solo-founder",
        "https://store.prelik.com/products/claude-code-workflow",
        "https://store.prelik.com/products/uiux-source-pack"
    ],
    "issues": [
        {
            "severity": "warning",
            "message": "sitemap 에만 있고 크롤 링크로 도달 못한 orphan 페이지 15건 (예: https://store.prelik.com/ | https://store.prelik.com/plans | https://store.prelik.com/products)"
        }
    ]
}
crux_field_data
null
mobile_analysis
{
    "score": 80,
    "viewport": "width=device-width, initial-scale=1.0",
    "has_horizontal_scroll": false,
    "small_touch_targets": 13,
    "small_fonts": 2,
    "issues": [
        {
            "severity": "warning",
            "message": "13개 요소의 터치 영역이 44px 미만입니다"
        },
        {
            "severity": "info",
            "message": "2개 요소의 폰트 크기가 작습니다"
        }
    ]
}
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": 95,
    "robots": {
        "exists": true,
        "blocks_all": false,
        "has_user_agent": true,
        "invalid_directives": [],
        "content": "User-agent: *\nDisallow:\n",
        "sitemap_urls": []
    },
    "sitemap": {
        "exists": true,
        "url": "https://store.prelik.com/sitemap.xml",
        "type": "urlset",
        "url_count": 15,
        "has_lastmod": true,
        "has_priority": false,
        "size": 1738
    },
    "issues": [
        {
            "severity": "info",
            "message": "robots.txt에 Sitemap 지시문이 없습니다"
        }
    ]
}
integration_analysis
null