홈페이지 분석 리포트

Example (기준) · 2026-04-30 08:15

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

78
/ 100
메타
45
성능
100
헤딩
90
이미지
100
링크
84
모바일
95
로봇
60
키워드
70
스키마
60
GEO
51
보안
75
접근성
97
중복콘텐츠
90
사이트맵
100
내부링크
0
깨진링크
100
백링크
0
평가 요약
전체 이슈
14
Critical
1
Warning
9
Info
4
메타 4건
헤딩 1건
이미지 1건
링크 2건
성능 통과
키워드 2건
모바일 1건
스키마 1건
로봇 2건
Canonical: 없음
JSON-LD: 0개
robots/sitemap: robots 없음 / sitemap 없음
메타 태그
제목 (14)
Example Domain
설명 (0)
Canonical:
HTML lang: en
charset: windows-1252
오픈 그래프
og:title: 없음
og:description: 없음
og:image: 없음
og:type: 없음
og:url: 없음
Title이 너무 짧습니다 (14자, 권장: 30~60자)
Meta Description이 없습니다
누락된 OG 태그: ogTitle, ogDescription, ogImage
Canonical URL이 설정되지 않았습니다
성능
TTFB
37ms
FCP
252ms
DCL
180ms
DOM Complete
191ms
헤딩 구조
H1 (1)
  • Example Domain
H2 태그가 없습니다. 콘텐츠 구조화를 권장합니다
이미지
전체: 0
alt 있음: 0
alt 없음: 0
비율: 100%
페이지에 이미지가 없습니다
링크
전체: 1
내부: 0
외부: 1
내부 링크가 없습니다
1개 링크에 generic 앵커 텍스트 사용 (Lighthouse SEO): Learn more
키워드
단어 수: 19
domain (2, 10.53%) use (2, 10.53%) in (2, 10.53%) example (1, 5.26%) this (1, 5.26%) is (1, 5.26%) for (1, 5.26%) documentation (1, 5.26%) examples (1, 5.26%) without (1, 5.26%) needing (1, 5.26%) permission (1, 5.26%) avoid (1, 5.26%) operations (1, 5.26%) learn (1, 5.26%)
콘텐츠가 19단어로 적습니다 (권장: 300+ 단어)
키워드 밀도가 높은 단어: domain, use, in (5% 초과)
모바일
뷰포트: width=device-width, initial-scale=1
가로 스크롤: 없음
1개 요소의 터치 영역이 작습니다
스키마.org (JSON-LD)
JSON-LD 블록: 0
@type 감지: 없음
유형: 없음
수집된 JSON-LD 원본 데이터가 없습니다.
Schema.org 구조화 데이터(JSON-LD)가 없습니다
robots 및 사이트맵
robots.txt: 없음
sitemap.xml: 없음
robots.txt가 없습니다
sitemap.xml이 없습니다
보안 헤더
75
HTTPS
HSTS
CSP
nosniff
X-Frame
Referrer-Policy
Permissions-Policy
Strict-Transport-Security (HSTS) 헤더 없음
Content-Security-Policy 없음 — XSS 방어 약화
X-Content-Type-Options: nosniff 미설정
X-Frame-Options (DENY/SAMEORIGIN) 또는 CSP frame-ancestors 미설정 — clickjacking
Referrer-Policy 헤더 없음
Permissions-Policy 헤더 없음 — browser feature 기본 정책 노출
접근성 (WCAG 2)
97
레이블 없는 input: 0
이름 없는 button: 0
Skip link: 없음
Heading 계층 skip: 0
Alt 누락 이미지: 0
html[lang]: en
"본문으로 건너뛰기" 링크 없음 — 키보드 사용자 내비게이션 비효율
중복 콘텐츠
90
크롤 페이지: 1
중복 title 그룹: 0
중복 desc 그룹: 0
리다이렉트 체인 2+: 0
meta description 없는 페이지가 전체의 절반 이상 (1건)
사이트맵 ↔ 크롤 diff
100
sitemap URL: 0
크롤 URL: 0
Orphan: 0
sitemap 누락: 0
sitemap.xml 없음 — orphan 분석 건너뜀
내부 링크 그래프 (PageRank / orphan)
0
페이지: 1
Orphan: 1
Dead-end: 1
평균 inbound: 0
평균 outbound: 0
nofollow 내부: 0
Top PageRank
https://www.example.com/
pr 1 · in 0 · out 0
Orphan 페이지 (1)
https://www.example.com/
d0
깨진 링크 (Broken Link Audit)
100
총 링크: 1
검증됨: 1
미검증: 0
내부 깨짐: 0
외부 깨짐: 0
메뉴 트리 / 네비게이션 (Google sitelinks 적합도)
공통 내부 링크 / breadcrumb / 사이트 구조 분석
0
크롤 페이지: 1
공통 메뉴: 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 (생성형 검색 최적화)
51
direct_answer
80
qa_structure
40
schema_strength
40
eat_signals
45
citations
60
content_depth
35
keyword_alignment
100
quotations
50
statistics
40
lists
40
FAQPage / HowTo JSON-LD 없음 — AI 검색(ChatGPT/AI Overview)이 Q&A 로 인용하기 어려움
Article/BlogPosting schema 없음 — author/date 명시로 E-E-A-T 강화 권장
본문이 19단어로 얕음 — AI 인용 블록 추출에 400+ 단어 권장
추가 권장 체크 로직 (예시)

아래 항목은 데이터 연동 전에도 설계 가능한 규칙 예시입니다. 실제 운영에서는 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": 45,
    "title": {
        "content": "Example Domain",
        "length": 14
    },
    "description": {
        "content": "",
        "length": 0
    },
    "og": {
        "title": "",
        "description": "",
        "image": "",
        "type": "",
        "url": ""
    },
    "canonical": "",
    "lang": "en",
    "charset": "windows-1252",
    "hreflangs": [],
    "issues": [
        {
            "severity": "warning",
            "message": "Title이 너무 짧습니다 (14자, 권장: 30~60자)"
        },
        {
            "severity": "critical",
            "message": "Meta Description이 없습니다"
        },
        {
            "severity": "warning",
            "message": "누락된 OG 태그: ogTitle, ogDescription, ogImage"
        },
        {
            "severity": "info",
            "message": "Canonical URL이 설정되지 않았습니다"
        }
    ]
}
heading_analysis
{
    "score": 90,
    "h1_count": 1,
    "structure": {
        "h1": {
            "count": 1,
            "items": [
                "Example Domain"
            ]
        }
    },
    "issues": [
        {
            "severity": "info",
            "message": "H2 태그가 없습니다. 콘텐츠 구조화를 권장합니다"
        }
    ]
}
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": 84,
    "total": 1,
    "internal": 0,
    "external": 1,
    "no_text": 0,
    "generic_text": 1,
    "non_crawlable": 0,
    "issues": [
        {
            "severity": "warning",
            "message": "내부 링크가 없습니다"
        },
        {
            "severity": "warning",
            "message": "1개 링크에 generic 앵커 텍스트 사용 (Lighthouse SEO): Learn more"
        }
    ]
}
performance_analysis
{
    "score": 100,
    "metrics": {
        "lcp": 252,
        "inp": null,
        "cls": 0,
        "ttfb": 37,
        "fcp": 252,
        "dom_content_loaded": 180,
        "dom_complete": 191,
        "load_event": 191,
        "transfer_size": 598
    },
    "issues": []
}
keyword_analysis
{
    "score": 70,
    "word_count": 19,
    "top_keywords": [
        {
            "word": "domain",
            "count": 2,
            "density": "10.53",
            "variants": {
                "domain": 2
            }
        },
        {
            "word": "use",
            "count": 2,
            "density": "10.53",
            "variants": {
                "use": 2
            }
        },
        {
            "word": "in",
            "count": 2,
            "density": "10.53",
            "variants": {
                "in": 2
            }
        },
        {
            "word": "example",
            "count": 1,
            "density": "5.26",
            "variants": {
                "example": 1
            }
        },
        {
            "word": "this",
            "count": 1,
            "density": "5.26",
            "variants": {
                "this": 1
            }
        },
        {
            "word": "is",
            "count": 1,
            "density": "5.26",
            "variants": {
                "is": 1
            }
        },
        {
            "word": "for",
            "count": 1,
            "density": "5.26",
            "variants": {
                "for": 1
            }
        },
        {
            "word": "documentation",
            "count": 1,
            "density": "5.26",
            "variants": {
                "documentation": 1
            }
        },
        {
            "word": "examples",
            "count": 1,
            "density": "5.26",
            "variants": {
                "examples": 1
            }
        },
        {
            "word": "without",
            "count": 1,
            "density": "5.26",
            "variants": {
                "without": 1
            }
        },
        {
            "word": "needing",
            "count": 1,
            "density": "5.26",
            "variants": {
                "needing": 1
            }
        },
        {
            "word": "permission",
            "count": 1,
            "density": "5.26",
            "variants": {
                "permission": 1
            }
        },
        {
            "word": "avoid",
            "count": 1,
            "density": "5.26",
            "variants": {
                "avoid": 1
            }
        },
        {
            "word": "operations",
            "count": 1,
            "density": "5.26",
            "variants": {
                "operations": 1
            }
        },
        {
            "word": "learn",
            "count": 1,
            "density": "5.26",
            "variants": {
                "learn": 1
            }
        },
        {
            "word": "more",
            "count": 1,
            "density": "5.26",
            "variants": {
                "more": 1
            }
        }
    ],
    "issues": [
        {
            "severity": "warning",
            "message": "콘텐츠가 19단어로 적습니다 (권장: 300+ 단어)"
        },
        {
            "severity": "warning",
            "message": "키워드 밀도가 높은 단어: domain, use, in (5% 초과)"
        }
    ]
}
geo_analysis
{
    "score": 51,
    "sub_scores": {
        "direct_answer": 80,
        "qa_structure": 40,
        "schema_strength": 40,
        "eat_signals": 45,
        "citations": 60,
        "content_depth": 35,
        "keyword_alignment": 100,
        "quotations": 50,
        "statistics": 40,
        "lists": 40
    },
    "signals": {
        "h1_count": 1,
        "h2_count": 0,
        "h3_count": 0,
        "question_headings": 0,
        "has_faq_page": false,
        "has_article": false,
        "has_how_to": false,
        "has_breadcrumb": false,
        "external_links": 1,
        "word_count": 19,
        "blockquotes": 0,
        "quote_sentences": 0,
        "stat_sentences": 0,
        "percent_occurrences": 0,
        "ul_count": 0,
        "ol_count": 0,
        "table_count": 0,
        "li_total": 0,
        "tldr_markers": false,
        "has_direct_answer": true
    },
    "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": "warning",
            "message": "본문이 19단어로 얕음 — AI 인용 블록 추출에 400+ 단어 권장"
        }
    ]
}
security_headers_analysis
{
    "score": 75,
    "is_https": true,
    "has_hsts": false,
    "has_csp": false,
    "has_nosniff": false,
    "has_xfo": false,
    "has_referrer_policy": false,
    "has_permissions_policy": false,
    "cookies": {
        "total": 0,
        "insecure_count": 0,
        "no_httponly_count": 0,
        "no_samesite_count": 0,
        "insecure_samples": []
    },
    "subresource": {
        "scripts_without_integrity": 0,
        "links_without_integrity": 0,
        "total_external": 0
    },
    "headers_sample": [],
    "issues": [
        {
            "severity": "warning",
            "message": "Strict-Transport-Security (HSTS) 헤더 없음"
        },
        {
            "severity": "info",
            "message": "Content-Security-Policy 없음 — XSS 방어 약화"
        },
        {
            "severity": "info",
            "message": "X-Content-Type-Options: nosniff 미설정"
        },
        {
            "severity": "info",
            "message": "X-Frame-Options (DENY/SAMEORIGIN) 또는 CSP frame-ancestors 미설정 — clickjacking"
        },
        {
            "severity": "info",
            "message": "Referrer-Policy 헤더 없음"
        },
        {
            "severity": "info",
            "message": "Permissions-Policy 헤더 없음 — browser feature 기본 정책 노출"
        }
    ]
}
accessibility_analysis
{
    "score": 97,
    "unlabeled_inputs": 0,
    "buttons_no_name": 0,
    "has_skip_link": false,
    "heading_skips": 0,
    "imgs_missing_alt": 0,
    "imgs_empty_alt": 0,
    "html_lang": "en",
    "total_forms": 0,
    "low_contrast_count": 0,
    "contrast_sampled": 4,
    "contrast_samples": [],
    "issues": [
        {
            "severity": "info",
            "message": "\"본문으로 건너뛰기\" 링크 없음 — 키보드 사용자 내비게이션 비효율"
        }
    ]
}
duplicate_content_analysis
{
    "score": 90,
    "total_pages": 1,
    "duplicate_groups": 0,
    "duplicate_pages": 0,
    "empty_title_pages": 0,
    "thin_title_pages": 0,
    "description_duplicate_groups": 0,
    "description_missing_pages": 1,
    "redirected_pages": 0,
    "long_chain_pages": 0,
    "issues": [
        {
            "severity": "warning",
            "message": "meta description 없는 페이지가 전체의 절반 이상 (1건)"
        }
    ]
}
sitemap_orphan_analysis
{
    "score": 100,
    "sitemap_count": 0,
    "crawled_count": 0,
    "orphan_count": 0,
    "missing_from_sitemap_count": 0,
    "issues": [
        {
            "severity": "info",
            "message": "sitemap.xml 없음 — orphan 분석 건너뜀"
        }
    ]
}
crux_field_data
null
mobile_analysis
{
    "score": 95,
    "viewport": "width=device-width, initial-scale=1",
    "has_horizontal_scroll": false,
    "small_touch_targets": 1,
    "small_fonts": 0,
    "issues": [
        {
            "severity": "info",
            "message": "1개 요소의 터치 영역이 작습니다"
        }
    ]
}
schema_analysis
{
    "score": 60,
    "count": 0,
    "types": [],
    "schemas": [],
    "issues": [
        {
            "severity": "warning",
            "message": "Schema.org 구조화 데이터(JSON-LD)가 없습니다"
        }
    ]
}
robots_analysis
{
    "score": 60,
    "robots": {
        "exists": false,
        "blocks_all": false,
        "content": null,
        "sitemap_urls": []
    },
    "sitemap": {
        "exists": false,
        "url": null,
        "size": null
    },
    "issues": [
        {
            "severity": "warning",
            "message": "robots.txt가 없습니다"
        },
        {
            "severity": "warning",
            "message": "sitemap.xml이 없습니다"
        }
    ]
}
integration_analysis
null