홈페이지 분석 리포트

달숲 - dalsoop · 2026-04-20 00:14

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

86
/ 100
이전 분석 대비 변화
prev analysis #151
점수 변화
0
신규 이슈
7
해결된 이슈
0
신규 referring domain
0
🔴 신규 critical: [image] 이미지의 40%만 alt 텍스트가 있습니다 (권장: 100%)
🔗 신규 broken: [EXT 404] https://landing.dalsoop.ranode.net/gallery/
🔗 신규 broken: [EXT 404] https://landing.dalsoop.ranode.net/category/object/
🔗 신규 broken: [EXT 404] https://landing.dalsoop.ranode.net/category/actor/
메타
75
성능
100
헤딩
100
이미지
60
링크
88
모바일
95
로봇
100
키워드
75
스키마
60
GEO
55
보안
72
접근성
94
중복콘텐츠
95
사이트맵
75
내부링크
100
깨진링크
82
백링크
0
평가 요약
전체 이슈
9
Critical
1
Warning
5
Info
3
메타 3건
헤딩 통과
이미지 1건
링크 1건
성능 통과
키워드 2건
모바일 1건
스키마 1건
로봇 통과
Canonical: 없음
JSON-LD: 0개
robots/sitemap: robots OK / sitemap OK
메타 태그
제목 (27)
달숲 – dalsoop – Photographer
설명 (8)
사진작가 갤러리
Canonical:
HTML lang: ko-KR
charset: UTF-8
오픈 그래프
og:title: 달숲
og:description: 사진작가 갤러리
og:image: https://photo-dalsoop.50.internal.kr/wp-content/themes/image/assets/images/dalso...
og:type: 없음
og:url: 없음
Title이 너무 짧습니다 (27자, 권장: 30~60자)
Description이 너무 짧습니다 (8자, 권장: 70~160자)
Canonical URL이 설정되지 않았습니다
성능
TTFB
225ms
FCP
1064ms
DCL
895ms
DOM Complete
1069ms
헤딩 구조
H1 (1)
  • 사진작가 달숲
H2 (2)
  • 일상을 발견하다
  • Social
이미지
전체: 5
alt 있음: 2
alt 없음: 3
비율: 40%
이미지의 40%만 alt 텍스트가 있습니다 (권장: 100%)
링크
전체: 8
내부: 4
외부: 4
6개 링크에 앵커 텍스트가 없습니다 (75%)
키워드
단어 수: 28
갤러리 (1, 3.57%) 프로젝트 (1, 3.57%) 사진작 (1, 3.57%) 달숲 (1, 3.57%) 일상 (1, 3.57%) 발견하다 (1, 3.57%) 장소 (1, 3.57%) 시간 (1, 3.57%) 기록 (1, 3.57%) 것은 (1, 3.57%) 특별 (1, 3.57%) 언제나 (1, 3.57%) 보이지 (1, 3.57%) 않지 (1, 3.57%) 매일 (1, 3.57%)
콘텐츠가 28단어로 적습니다 (권장: 300+ 단어)
주요 키워드 '갤러리'가 Title에 포함되지 않았습니다
모바일
뷰포트: width=device-width, initial-scale=1
가로 스크롤: 없음
9개 요소의 터치 영역이 작습니다
스키마.org (JSON-LD)
JSON-LD 블록: 0
@type 감지: 없음
유형: 없음
수집된 JSON-LD 원본 데이터가 없습니다.
Schema.org 구조화 데이터(JSON-LD)가 없습니다
robots 및 사이트맵
robots.txt: 발견됨
sitemap.xml: 발견됨
보안 헤더
72
HTTPS
HSTS
CSP
nosniff
X-Frame
Referrer-Policy
Permissions-Policy
쿠키 3개 — Secure 없음: 0, HttpOnly 없음: 0, SameSite 없음: 3
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 기본 정책 노출
SameSite 속성 없는 쿠키 3개 — CSRF 취약
접근성 (WCAG 2)
94
레이블 없는 input: 0
이름 없는 button: 0
Skip link: 없음
Heading 계층 skip: 0
Alt 누락 이미지: 3
html[lang]: ko-KR
"본문으로 건너뛰기" 링크 없음 — 키보드 사용자 내비게이션 비효율
3개 img 에 alt 속성 자체 누락 (WCAG 1.1.1) — 장식용은 alt="" 명시 필요
중복 콘텐츠
95
크롤 페이지: 5
중복 title 그룹: 0
중복 desc 그룹: 1
리다이렉트 체인 2+: 0
동일 meta description 5건 (예: "사진작가 갤러리...")
사이트맵 ↔ 크롤 diff
75
sitemap URL: 33
크롤 URL: 5
Orphan: 28
sitemap 누락: 0
sitemap 에만 있고 크롤 링크로 도달 못한 orphan 페이지 28건 (예: https://photo-dalsoop.50.internal.kr/%ec%95%88%eb%85%95%ed%95%98%ec%84%b8%ec%9a%94 | https://photo-dalsoop.50.internal.kr/asd | https://photo-dalsoop.50.internal.kr/%e3%85%81%e3%84%b4%e3%85%87%e3%85%81%e3%84%b4)
내부 링크 그래프 (PageRank / orphan)
100
페이지: 5
Orphan: 0
Dead-end: 0
평균 inbound: 3.4
평균 outbound: 3.4
nofollow 내부: 0
Top PageRank
https://photo-dalsoop.50.internal.kr/
pr 0.28144 · in 5 · out 3
https://photo-dalsoop.50.internal.kr/project
pr 0.28144 · in 5 · out 5
https://photo-dalsoop.50.internal.kr/gallery
pr 0.28144 · in 5 · out 3
https://photo-dalsoop.50.internal.kr/project/color-of-seoul/
pr 0.07784 · in 1 · out 3
https://photo-dalsoop.50.internal.kr/project/%ec%86%8c%eb%a9%b8/
pr 0.07784 · in 1 · out 3
깨진 링크 (Broken Link Audit)
82
총 링크: 50
검증됨: 50
미검증: 0
내부 깨짐: 0
외부 깨짐: 6
샘플
EXT https://landing.dalsoop.ranode.net/gallery/
404
EXT https://landing.dalsoop.ranode.net/category/object/
404
EXT https://landing.dalsoop.ranode.net/category/actor/
404
EXT https://landing.dalsoop.ranode.net/category/place/
404
EXT https://landing.dalsoop.ranode.net/project/
404
EXT https://landing.dalsoop.ranode.net/project/
404
Backlinks (외부 인바운드 링크)
0
총 백링크: 0
Referring 도메인: 0
Dofollow: 0%
Alive ratio: -%
Alive: 0
Dead: 0
미검증: 0
최근 7일: 0
최근 30일: 0
소스:
GEO (생성형 검색 최적화)
55
direct_answer
80
qa_structure
50
schema_strength
40
eat_signals
45
citations
80
content_depth
35
keyword_alignment
85
quotations
50
statistics
40
lists
63
FAQPage / HowTo JSON-LD 없음 — AI 검색(ChatGPT/AI Overview)이 Q&A 로 인용하기 어려움
Article/BlogPosting schema 없음 — author/date 명시로 E-E-A-T 강화 권장
질문형 H2/H3 (예: "~인가?", "왜 ~할까?") 없음 — 생성형 검색 인용에 불리
본문이 28단어로 얕음 — AI 인용 블록 추출에 400+ 단어 권장
상위 키워드가 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": 75,
    "title": {
        "content": "달숲 – dalsoop – Photographer",
        "length": 27
    },
    "description": {
        "content": "사진작가 갤러리",
        "length": 8
    },
    "og": {
        "title": "달숲",
        "description": "사진작가 갤러리",
        "image": "https://photo-dalsoop.50.internal.kr/wp-content/themes/image/assets/images/dalsoop.png",
        "type": "",
        "url": ""
    },
    "canonical": "",
    "lang": "ko-KR",
    "charset": "UTF-8",
    "hreflangs": [],
    "issues": [
        {
            "severity": "warning",
            "message": "Title이 너무 짧습니다 (27자, 권장: 30~60자)"
        },
        {
            "severity": "warning",
            "message": "Description이 너무 짧습니다 (8자, 권장: 70~160자)"
        },
        {
            "severity": "info",
            "message": "Canonical URL이 설정되지 않았습니다"
        }
    ]
}
heading_analysis
{
    "score": 100,
    "h1_count": 1,
    "structure": {
        "h1": {
            "count": 1,
            "items": [
                "사진작가 달숲"
            ]
        },
        "h2": {
            "count": 2,
            "items": [
                "일상을 발견하다",
                "Social"
            ]
        }
    },
    "issues": []
}
image_analysis
{
    "score": 60,
    "total": 5,
    "with_alt": 2,
    "without_alt": 3,
    "alt_ratio": 40,
    "low_quality_alt": 0,
    "missing_alt_images": [
        "https://landing.dalsoop.ranode.net/wp-content/uploads/2023/04/s_2.jpg",
        "https://landing.dalsoop.ranode.net/wp-content/uploads/2023/05/122A1600-2.jpg",
        "https://landing.dalsoop.ranode.net/wp-content/uploads/2023/04/s_IMG_8562-3.jpg"
    ],
    "issues": [
        {
            "severity": "critical",
            "message": "이미지의 40%만 alt 텍스트가 있습니다 (권장: 100%)"
        }
    ]
}
link_analysis
{
    "score": 88,
    "total": 8,
    "internal": 4,
    "external": 4,
    "no_text": 6,
    "generic_text": 0,
    "non_crawlable": 0,
    "issues": [
        {
            "severity": "warning",
            "message": "6개 링크에 앵커 텍스트가 없습니다 (75%)"
        }
    ]
}
performance_analysis
{
    "score": 100,
    "metrics": {
        "lcp": 1708,
        "inp": 128,
        "cls": 0.002004711009837963,
        "ttfb": 225,
        "fcp": 1064,
        "dom_content_loaded": 895,
        "dom_complete": 1069,
        "load_event": 1117,
        "transfer_size": 12930
    },
    "issues": []
}
keyword_analysis
{
    "score": 75,
    "word_count": 28,
    "top_keywords": [
        {
            "word": "갤러리",
            "count": 1,
            "density": "3.57",
            "variants": {
                "갤러리": 1
            }
        },
        {
            "word": "프로젝트",
            "count": 1,
            "density": "3.57",
            "variants": {
                "프로젝트": 1
            }
        },
        {
            "word": "사진작",
            "count": 1,
            "density": "3.57",
            "variants": {
                "사진작가": 1
            }
        },
        {
            "word": "달숲",
            "count": 1,
            "density": "3.57",
            "variants": {
                "달숲": 1
            }
        },
        {
            "word": "일상",
            "count": 1,
            "density": "3.57",
            "variants": {
                "일상을": 1
            }
        },
        {
            "word": "발견하다",
            "count": 1,
            "density": "3.57",
            "variants": {
                "발견하다": 1
            }
        },
        {
            "word": "장소",
            "count": 1,
            "density": "3.57",
            "variants": {
                "장소": 1
            }
        },
        {
            "word": "시간",
            "count": 1,
            "density": "3.57",
            "variants": {
                "시간을": 1
            }
        },
        {
            "word": "기록",
            "count": 1,
            "density": "3.57",
            "variants": {
                "기록하는": 1
            }
        },
        {
            "word": "것은",
            "count": 1,
            "density": "3.57",
            "variants": {
                "것은": 1
            }
        },
        {
            "word": "특별",
            "count": 1,
            "density": "3.57",
            "variants": {
                "특별합니다": 1
            }
        },
        {
            "word": "언제나",
            "count": 1,
            "density": "3.57",
            "variants": {
                "언제나": 1
            }
        },
        {
            "word": "보이지",
            "count": 1,
            "density": "3.57",
            "variants": {
                "보이지는": 1
            }
        },
        {
            "word": "않지",
            "count": 1,
            "density": "3.57",
            "variants": {
                "않지만": 1
            }
        },
        {
            "word": "매일",
            "count": 1,
            "density": "3.57",
            "variants": {
                "매일": 1
            }
        },
        {
            "word": "떠오르",
            "count": 1,
            "density": "3.57",
            "variants": {
                "떠오르는": 1
            }
        },
        {
            "word": "달처럼",
            "count": 1,
            "density": "3.57",
            "variants": {
                "달처럼": 1
            }
        },
        {
            "word": "그때",
            "count": 1,
            "density": "3.57",
            "variants": {
                "그때의": 1
            }
        },
        {
            "word": "감정",
            "count": 1,
            "density": "3.57",
            "variants": {
                "감정": 1
            }
        },
        {
            "word": "모습",
            "count": 1,
            "density": "3.57",
            "variants": {
                "모습을": 1
            }
        }
    ],
    "issues": [
        {
            "severity": "warning",
            "message": "콘텐츠가 28단어로 적습니다 (권장: 300+ 단어)"
        },
        {
            "severity": "info",
            "message": "주요 키워드 '갤러리'가 Title에 포함되지 않았습니다"
        }
    ]
}
geo_analysis
{
    "score": 55,
    "sub_scores": {
        "direct_answer": 80,
        "qa_structure": 50,
        "schema_strength": 40,
        "eat_signals": 45,
        "citations": 80,
        "content_depth": 35,
        "keyword_alignment": 85,
        "quotations": 50,
        "statistics": 40,
        "lists": 63
    },
    "signals": {
        "h1_count": 1,
        "h2_count": 2,
        "h3_count": 0,
        "question_headings": 0,
        "has_faq_page": false,
        "has_article": false,
        "has_how_to": false,
        "has_breadcrumb": false,
        "external_links": 4,
        "word_count": 28,
        "blockquotes": 0,
        "quote_sentences": 0,
        "stat_sentences": 0,
        "percent_occurrences": 0,
        "ul_count": 2,
        "ol_count": 0,
        "table_count": 0,
        "li_total": 5,
        "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": "info",
            "message": "질문형 H2/H3 (예: \"~인가?\", \"왜 ~할까?\") 없음 — 생성형 검색 인용에 불리"
        },
        {
            "severity": "warning",
            "message": "본문이 28단어로 얕음 — AI 인용 블록 추출에 400+ 단어 권장"
        },
        {
            "severity": "info",
            "message": "상위 키워드가 Title/Description 에 일관되게 반영되지 않음 — AI 요약 시 주제 일치도 하락"
        }
    ]
}
security_headers_analysis
{
    "score": 72,
    "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": 3,
        "insecure_count": 0,
        "no_httponly_count": 0,
        "no_samesite_count": 3,
        "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 기본 정책 노출"
        },
        {
            "severity": "info",
            "message": "SameSite 속성 없는 쿠키 3개 — CSRF 취약"
        }
    ]
}
accessibility_analysis
{
    "score": 94,
    "unlabeled_inputs": 0,
    "buttons_no_name": 0,
    "has_skip_link": false,
    "heading_skips": 0,
    "imgs_missing_alt": 3,
    "imgs_empty_alt": 0,
    "html_lang": "ko-KR",
    "total_forms": 0,
    "low_contrast_count": 0,
    "contrast_sampled": 8,
    "contrast_samples": [],
    "issues": [
        {
            "severity": "info",
            "message": "\"본문으로 건너뛰기\" 링크 없음 — 키보드 사용자 내비게이션 비효율"
        },
        {
            "severity": "warning",
            "message": "3개 img 에 alt 속성 자체 누락 (WCAG 1.1.1) — 장식용은 alt=\"\" 명시 필요"
        }
    ]
}
duplicate_content_analysis
{
    "score": 95,
    "total_pages": 5,
    "duplicate_groups": 0,
    "duplicate_pages": 0,
    "empty_title_pages": 0,
    "thin_title_pages": 0,
    "description_duplicate_groups": 1,
    "description_missing_pages": 0,
    "redirected_pages": 2,
    "long_chain_pages": 0,
    "issues": [
        {
            "severity": "warning",
            "message": "동일 meta description 5건 (예: \"사진작가 갤러리...\")"
        }
    ]
}
sitemap_orphan_analysis
{
    "score": 75,
    "sitemap_count": 33,
    "crawled_count": 5,
    "orphan_count": 28,
    "missing_from_sitemap_count": 0,
    "orphan_samples": [
        "https://photo-dalsoop.50.internal.kr/%ec%95%88%eb%85%95%ed%95%98%ec%84%b8%ec%9a%94",
        "https://photo-dalsoop.50.internal.kr/asd",
        "https://photo-dalsoop.50.internal.kr/%e3%85%81%e3%84%b4%e3%85%87%e3%85%81%e3%84%b4",
        "https://photo-dalsoop.50.internal.kr/%e3%85%81%e3%84%b4%e3%85%87",
        "https://photo-dalsoop.50.internal.kr/%e3%85%81%e3%84%b4%e3%85%87-2",
        "https://photo-dalsoop.50.internal.kr/asdf-4",
        "https://photo-dalsoop.50.internal.kr/asd-2",
        "https://photo-dalsoop.50.internal.kr/asd-3",
        "https://photo-dalsoop.50.internal.kr/asdf",
        "https://photo-dalsoop.50.internal.kr/asdf-2"
    ],
    "issues": [
        {
            "severity": "warning",
            "message": "sitemap 에만 있고 크롤 링크로 도달 못한 orphan 페이지 28건 (예: https://photo-dalsoop.50.internal.kr/%ec%95%88%eb%85%95%ed%95%98%ec%84%b8%ec%9a%94 | https://photo-dalsoop.50.internal.kr/asd | https://photo-dalsoop.50.internal.kr/%e3%85%81%e3%84%b4%e3%85%87%e3%85%81%e3%84%b4)"
        }
    ]
}
crux_field_data
null
mobile_analysis
{
    "score": 95,
    "viewport": "width=device-width, initial-scale=1",
    "has_horizontal_scroll": false,
    "small_touch_targets": 9,
    "small_fonts": 0,
    "issues": [
        {
            "severity": "info",
            "message": "9개 요소의 터치 영역이 작습니다"
        }
    ]
}
schema_analysis
{
    "score": 60,
    "count": 0,
    "types": [],
    "schemas": [],
    "issues": [
        {
            "severity": "warning",
            "message": "Schema.org 구조화 데이터(JSON-LD)가 없습니다"
        }
    ]
}
robots_analysis
{
    "score": 100,
    "robots": {
        "exists": true,
        "blocks_all": false,
        "has_user_agent": true,
        "invalid_directives": [],
        "content": "User-agent: *\nDisallow: /wp-admin/\nAllow: /wp-admin/admin-ajax.php\n\nSitemap: https://photo-dalsoop.50.internal.kr/wp-sitemap.xml\n",
        "sitemap_urls": [
            "https://photo-dalsoop.50.internal.kr/wp-sitemap.xml"
        ]
    },
    "sitemap": {
        "exists": true,
        "url": "https://photo-dalsoop.50.internal.kr/wp-sitemap.xml",
        "type": "sitemapindex",
        "url_count": 0,
        "has_lastmod": false,
        "has_priority": false,
        "size": 699
    },
    "issues": []
}
integration_analysis
null