SEO·GEO 강의 · 심화 자료

기술 SEO 6요소 상세

홈페이지 기술 SEO 기반 6가지 — 앞 5개는 잘 노출되게, 마지막 1개는 노출 안 되게. 방향이 반대인 짝입니다. (예시는 ATNM 실제 적용)

▶ 슬라이드로 돌아가기 ← 샘플 목록
요소역할한 줄방향
robots.txt봇 출입 규칙"여긴 와도 되고 저긴 안 돼"노출
사이트맵페이지 목록"우리 페이지 목록은 이거야"노출
canonical중복 정리"진짜 주소는 이거 하나"노출
OG 이미지공유 썸네일"링크 붙이면 뜨는 카드"노출
구조화 데이터기계용 명함"이 회사가 누구인지 정확히"노출
민감정보 차단유출 방지"사업자등록증은 안 보이게"차단

1 robots.txt — 검색봇 출입 안내판

사이트 최상단(/robots.txt)에 두는 평문 파일. 건물 입구 안내판.

하는 일

왜 필요한가

크롤 예산 절약, 색인 원치 않는 경로 제외, 사이트맵 위치 안내로 색인 촉진.

User-agent: *
Allow: /
Disallow: /raw_data/        # 민감폴더 색인 금지
Sitemap: https://atnm.coreaup.com/sitemap.xml

⚠️ 한계 · 흔한 실수

robots는 "요청"일 뿐 강제가 아니다. 직접 URL 접근은 못 막는다(→ §6 서버 차단 병행). 실수로 Disallow: / 전체 차단, CDN 관리형과 오리진 파일 중복 주의.

2 사이트맵(sitemap.xml) — 페이지 목록 지도

사이트의 URL 목록 XML. 건물 층별 안내도.

하는 일

<url><loc>로 색인 대상 페이지를 명시. 서치콘솔·서치어드바이저·빙에 제출하면 색인이 빨라지고 현황 추적 가능.

왜 필요한가

링크로 도달 어려운 페이지도 빠짐없이 수집, 신규/변경 페이지 빠른 발견.

<url><loc>https://atnm.coreaup.com/</loc><priority>1.0</priority></url>
<url><loc>https://atnm.coreaup.com/creative.html</loc><priority>0.8</priority></url>

finance.html(회계)은 일부러 제외 — 민감 정보라 noindex.

⚠️ 흔한 실수

noindex 페이지를 사이트맵에 넣기(모순), 404·리다이렉트 URL 포함, 잘못된 Content-Type.

3 canonical(정규 URL) — "진짜 주소는 이거야"

페이지 <head><link rel="canonical">. 여러 별명 중 본명 지정.

하는 일 / 왜 필요한가

같은 페이지가 여러 주소(/, /index.html, ?utm=…, http/https, 대소문자)로 열릴 때 대표 주소 하나로 순위 신호를 통합한다. 안 하면 중복 콘텐츠로 순위 힘이 분산된다. 각 페이지가 자기 자신을 가리키는 자기참조 canonical이 기본.

<link rel="canonical" href="https://atnm.coreaup.com/">

⚠️ 흔한 실수

모든 페이지를 홈으로 canonical(하위 페이지 색인 실종), 상대경로·오타로 엉뚱한 URL, noindex와 동시 사용(충돌).

4 OG 이미지(Open Graph) — 링크 공유 썸네일

<meta property="og:…"> 태그 묶음. 링크의 명함/썸네일 카드.

하는 일

카카오톡·페북·네이버·슬랙 등에 링크를 붙이면 뜨는 미리보기 카드(제목·설명·이미지). 권장 규격 1200×630, 절대 URL.

왜 필요한가

없으면 밋밋하거나 깨진다. 있으면 로고·제목 카드로 떠서 클릭률·신뢰도↑.

<meta property="og:title" content="주식회사 아이테어눔 | 헬스케어 매니지먼트 플랫폼">
<meta property="og:image" content="https://atnm.coreaup.com/assets/og-image.png">

과거 이 이미지가 없어서 404(공유 시 안 뜸) → 로고 기반 1200×630로 제작해 해결.

⚠️ 흔한 실수

상대경로 이미지(공유 안 됨), 파일 404, 캐시(디버거로 강제 갱신 필요).

5 구조화 데이터(JSON-LD) — 기계가 읽는 명함

<script type="application/ld+json"> 안 schema.org 데이터. 봇·AI가 읽는 명함.

하는 일 / 왜 필요한가

"이건 회사, 이름 X, 별칭 Y, 홈 Z"처럼 엔티티 의미를 명확히 전달. 검색엔진이 브랜드를 하나의 엔티티로 인식 → 지식패널·리치결과. AI 답변(GEO)이 인용할 때 신뢰 정보로 활용.

{
  "@type": "Organization",
  "name": "주식회사 아이테어눔",
  "alternateName": ["ATNM", "atnm", "Aeternum", "아이테어눔"],
  "url": "https://atnm.coreaup.com"
}

alternateName 배열 덕에 어떤 별칭으로 검색해도 같은 회사로 인식. 주소·전화 확정 시 LocalBusiness/MedicalBusiness로 확장 → 지도/지역검색.

⚠️ 흔한 실수

페이지에 없는 정보 마크업(스팸 페널티), JSON 문법 오류, 잘못된 @type.

6 민감정보 차단 — 사업자등록증 등 유출 방지

사업자등록증·견적서·초본 등 원본이 웹에서 열리거나 색인되지 않게. 최우선.

왜 필요한가

정적 폴더에 있으면 URL만 알면 누구나 다운로드, 색인되면 유출. 실제 사고로 직결 → SEO보다 우선.

이중·삼중 방어 (ATNM)

계층방법효과
① robots.txtDisallow: /raw_data/검색 색인 차단(약함)
서버단(핵심)server.js에서 /raw_data 404 처리URL 직접 접근 차단
③ 파일 자체서버 assets·raw_data 민감 원본 삭제노출면 제거

핵심: robots(①)만으론 직접 접근이 안 막힌다. 서버단 404(②)가 진짜 방패. 원본은 로컬 raw_data에만 보존.

⚠️ 흔한 실수

"robots로 막았으니 안전" 착각(직접 URL로 뚫림), 공개 assets/에 민감파일 혼입.

방향으로 다시 보기
· 잘 노출되게(5요소): robots(허용)·사이트맵·canonical·OG·구조화데이터 → 검색·AI가 잘 찾고 이해하게
· 노출 안 되게(1요소): 민감정보 차단(robots + 서버 404 + 파일삭제) → 유출 방지
기술 SEO는 "열기"와 "닫기"를 정확히 구분하는 데서 시작한다.