Blog

HTML meta 태그 완벽 가이드: SEO부터 소셜 미디어 최적화까지

HTML meta 태그의 모든 것을 알아봅니다. charset, viewport, description부터 Open Graph, Twitter Card, AI 봇 제어까지 실무에서 필요한 메타 태그를 상세히 설명합니다.

HTML <meta> 태그 완벽 가이드

문서의 메타데이터를 정의하는 <meta> 태그는 검색엔진, 브라우저, 소셜 미디어에 페이지 정보를 제공하는 핵심 요소입니다. 이 가이드에서는 실무에서 필요한 모든 메타 태그 사용법을 다룹니다.


관련 상세 가이드

이 문서의 주제를 더 깊이 다루는 상세 가이드입니다:

가이드설명
Open Graph 메타 태그 완벽 가이드Facebook, LinkedIn, KakaoTalk 소셜 미디어 공유 최적화
HTML meta refresh 리다이렉트 가이드JavaScript 없이 페이지 자동 이동 구현
HTML SEO 완벽 가이드: 시멘틱 태그시멘틱 HTML 태그와 검색엔진 최적화

목차

  1. 기본 문법과 주요 속성
  2. charset - 문자 인코딩
  3. viewport - 반응형 웹
  4. SEO 관련 메타 태그
  5. AI 봇 제어
  6. http-equiv - HTTP 헤더 설정
  7. Open Graph (OG) 태그
  8. Twitter Card 태그
  9. 테마 및 색상
  10. 기타 유용한 메타 태그
  11. 시멘틱 HTML과 SEO
  12. 실무 템플릿
  13. SEO 체크리스트

기본 문법과 주요 속성

html
<meta charset="UTF-8">
<meta name="속성명" content="">
<meta http-equiv="헤더명" content="">
<meta property="og:속성" content="">

<meta> 태그는 void element로 종료 태그가 없습니다.

주요 속성

속성설명예시
charset문자 인코딩 선언charset="UTF-8"
name메타데이터 이름name="description"
content메타데이터 값content="페이지 설명"
http-equivHTTP 헤더 설정http-equiv="refresh"
propertyOpen Graph 속성property="og:title"
media미디어 쿼리 (theme-color용)media="(prefers-color-scheme: dark)"

charset - 문자 인코딩

문서의 문자 인코딩을 선언합니다. 반드시 문서의 첫 1024 바이트 내에 위치해야 합니다.

html
<meta charset="UTF-8">

주의사항

  • HTML5에서는 UTF-8만 유효합니다
  • <head> 태그 바로 다음에 위치시키는 것이 권장됩니다
  • 레거시 방식: <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

viewport - 반응형 웹

모바일 브라우저의 뷰포트 설정을 제어합니다.

html
<meta name="viewport" content="width=device-width, initial-scale=1.0">

viewport 속성값

속성설명
width뷰포트 너비device-width 또는 픽셀값
height뷰포트 높이device-height 또는 픽셀값
initial-scale초기 확대 비율0.1 ~ 10.0
minimum-scale최소 확대 비율0.1 ~ 10.0
maximum-scale최대 확대 비율0.1 ~ 10.0
user-scalable사용자 확대/축소 허용yes / no

예시

html
<!-- 기본 반응형 설정 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<!-- 확대 제한 (접근성 문제로 권장하지 않음) -->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

SEO 영향: viewport 태그가 있으면 Google에서 페이지를 모바일 친화적으로 인식합니다.


SEO 관련 메타 태그

description - 페이지 설명

검색 결과에 표시되는 페이지 설명입니다.

html
<meta name="description" content="이 페이지는 HTML meta 태그의 사용법과 SEO 최적화 방법을 설명합니다.">

권장 길이: 150-160자 (모바일에서는 더 짧게 표시됨)

keywords - 키워드

html
<meta name="keywords" content="HTML, meta 태그, SEO, viewport">

참고: 현재 Google은 keywords 태그를 검색 순위에 반영하지 않습니다. 남용 때문에 무시됩니다.

robots - 검색 로봇 제어

html
<meta name="robots" content="index, follow">
설명
index페이지 색인 허용
noindex페이지 색인 금지
follow링크 추적 허용
nofollow링크 추적 금지
noarchive캐시 저장 금지
nosnippet검색 결과 미리보기 금지

author - 저자

html
<meta name="author" content="홍길동">

AI 봇 제어

AI 학습 데이터 수집을 제어합니다. 검색 순위에는 영향 없음.

html
<!-- AI 학습 차단 -->
<meta name="GPTBot" content="noindex, nofollow">
<meta name="Google-Extended" content="noindex">
<meta name="ClaudeBot" content="noindex, nofollow">
<meta name="CCBot" content="noindex, nofollow">

<!-- AI 학습 허용 -->
<meta name="GPTBot" content="index, follow">

주요 AI 크롤러 목록

봇 이름소유사용도
GPTBotOpenAIChatGPT 학습 데이터 수집
ChatGPT-UserOpenAIChatGPT 검색 기능 (학습 아님)
Google-ExtendedGoogleGemini AI 학습 (검색 순위 무관)
ClaudeBotAnthropicClaude AI 학습
Claude-UserAnthropicClaude 검색 기능
CCBotCommon Crawl오픈소스 AI 학습 데이터
BytespiderByteDanceTikTok AI 학습
Meta-ExternalAgentMetaFacebook/Instagram AI
PerplexityBotPerplexityAI 검색 엔진
Applebot-ExtendedAppleApple AI 학습

전략별 설정

1. 완전 차단 (콘텐츠 보호 우선)

html
<meta name="GPTBot" content="noindex, nofollow">
<meta name="ClaudeBot" content="noindex, nofollow">
<meta name="Google-Extended" content="noindex">
<meta name="CCBot" content="noindex, nofollow">

2. AI 검색 허용 + 학습 차단 (노출은 되지만 학습에는 사용 안됨)

html
<!-- 검색용 봇 허용 -->
<meta name="ChatGPT-User" content="index, follow">
<meta name="Claude-User" content="index, follow">

<!-- 학습용 봇 차단 -->
<meta name="GPTBot" content="noindex, nofollow">
<meta name="ClaudeBot" content="noindex, nofollow">

3. 전체 허용 (노출 극대화)

html
<meta name="GPTBot" content="index, follow">
<meta name="ClaudeBot" content="index, follow">
<meta name="Google-Extended" content="index">

참고: 더 정밀한 제어는 robots.txt 파일 사용을 권장합니다.


http-equiv - HTTP 헤더 설정

http-equiv"HTTP equivalent"(HTTP 동등물)의 약자입니다. HTML 문서 내에서 HTTP 헤더와 동일한 효과를 낼 수 있게 해줍니다.

html
<!-- 서버에서 설정하는 HTTP 헤더 -->
Content-Type: text/html; charset=utf-8
Refresh: 5

<!-- HTML에서 동일한 효과 -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="refresh" content="5">

http-equiv vs name 차이

구분http-equivname
용도HTTP 헤더 시뮬레이션문서 메타데이터
처리브라우저가 HTTP 헤더처럼 처리검색엔진/브라우저가 참고
예시refresh, content-type, CSPdescription, viewport, robots

refresh - 페이지 새로고침/리다이렉트

JavaScript 없이 HTML만으로 페이지를 새로고침하거나 다른 URL로 리다이렉트할 수 있습니다.

html
<!-- 5초 후 현재 페이지 새로고침 -->
<meta http-equiv="refresh" content="5">

<!-- 3초 후 다른 페이지로 리다이렉트 -->
<meta http-equiv="refresh" content="3;url=https://example.com">

<!-- 즉시 리다이렉트 (0초) -->
<meta http-equiv="refresh" content="0;url=https://example.com/new-page">

리다이렉트 실무 예제

html
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <!-- 5초 후 새 페이지로 리다이렉트 -->
    <meta http-equiv="refresh" content="5;url=https://example.com/new-location">
    <title>페이지 이동 중...</title>
</head>
<body>
    <p>페이지가 이동되었습니다.</p>
    <p>5초 후 자동으로 이동합니다.</p>
    <p>자동으로 이동하지 않으면 <a href="https://example.com/new-location">여기를 클릭</a>하세요.</p>
</body>
</html>

리다이렉트 주의사항

항목설명
SEO검색엔진은 meta refresh를 301/302 리다이렉트보다 낮게 평가합니다. 영구 이동은 서버 리다이렉트 권장
접근성스크린 리더 사용자에게 혼란을 줄 수 있음. 0초 즉시 이동은 피하는 것이 좋음
사용자 경험뒤로가기 버튼이 제대로 작동하지 않을 수 있음
권장 상황임시 안내 페이지, 점검 페이지, 레거시 URL 이전 고지

권장: 영구적인 URL 변경은 서버 측 301 리다이렉트를 사용하세요.

기타 http-equiv 값

html
<!-- IE 호환성 모드 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">

<!-- 보안 정책 (CSP) -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self'">

Open Graph (OG) 태그

소셜 미디어에서 공유 시 표시되는 정보를 정의합니다.

html
<!-- 기본 정보 -->
<meta property="og:type" content="website">
<meta property="og:title" content="페이지 제목">
<meta property="og:description" content="페이지 설명">
<meta property="og:url" content="https://example.com/page">
<meta property="og:image" content="https://example.com/image.jpg">

<!-- 추가 정보 -->
<meta property="og:site_name" content="사이트 이름">
<meta property="og:locale" content="ko_KR">

og:type 값

설명사용 예
website일반 웹사이트홈페이지, 랜딩 페이지
article블로그/뉴스 기사블로그 포스트, 뉴스 기사
video.movie영화영화 정보 페이지
video.episodeTV 에피소드TV 프로그램
music.song음악음원 페이지
profile프로필 페이지사용자 프로필
product제품 페이지쇼핑몰 상품

article 타입 전용 태그

html
<meta property="article:published_time" content="2024-01-15T09:00:00+09:00">
<meta property="article:modified_time" content="2024-01-20T14:30:00+09:00">
<meta property="article:author" content="https://example.com/author/name">
<meta property="article:section" content="Technology">
<meta property="article:tag" content="HTML">

이미지 권장 사양

플랫폼권장 크기비율
Facebook1200 x 630px1.91:1
LinkedIn1200 x 627px1.91:1
KakaoTalk800 x 400px2:1

OG 디버깅 도구


Twitter Card 태그

트위터(X)에서 공유 시 표시되는 정보를 정의합니다.

html
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="제목">
<meta name="twitter:description" content="설명">
<meta name="twitter:image" content="https://example.com/image.jpg">
<meta name="twitter:site" content="@사이트계정">
<meta name="twitter:creator" content="@작성자계정">

twitter:card 값

설명이미지
summary작은 이미지 + 제목/설명최소 144x144px, 최대 4096x4096px
summary_large_image큰 이미지 + 제목/설명최소 300x157px, 권장 1200x628px
app앱 다운로드 카드앱 아이콘 사용
player비디오/오디오 플레이어플레이어 임베드

Open Graph 폴백

Twitter는 twitter: 태그가 없으면 og: 태그를 대신 사용합니다.

Twitter CardOpen Graph 폴백
twitter:titleog:title
twitter:descriptionog:description
twitter:imageog:image

테마 및 색상

theme-color - 브라우저 테마 색상

html
<meta name="theme-color" content="#0078D7">

<!-- 다크모드 대응 -->
<meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)">
<meta name="theme-color" content="#1a1a1a" media="(prefers-color-scheme: dark)">

color-scheme - 색상 체계

html
<meta name="color-scheme" content="light dark">

기타 유용한 메타 태그

referrer - Referrer 정책

사용자가 링크를 클릭할 때 이전 페이지의 URL 정보가 얼마나 전달되는지 제어합니다.

html
<meta name="referrer" content="strict-origin-when-cross-origin">
설명전달되는 정보
no-referrerReferrer 전송 안함없음
no-referrer-when-downgradeHTTPS→HTTP 시 전송 안함전체 URL (기본값)
origin출처(도메인)만 전송https://example.com
origin-when-cross-origin같은 사이트는 전체 URL, 다른 사이트는 출처만조건부
same-origin같은 사이트에만 전송조건부
strict-originHTTPS→HTTP 시 전송 안함, 그 외 출처만https://example.com
strict-origin-when-cross-origin권장조건부
unsafe-url항상 전체 URL 전송 (보안 취약)전체 URL

format-detection - 자동 감지 비활성화

모바일 브라우저가 전화번호, 이메일 등을 자동으로 링크로 만드는 기능을 제어합니다.

html
<!-- 전화번호 자동 링크 비활성화 -->
<meta name="format-detection" content="telephone=no">

<!-- 여러 항목 비활성화 -->
<meta name="format-detection" content="telephone=no, email=no, address=no">

사용 예시

html
<head>
    <meta name="format-detection" content="telephone=no">
</head>
<body>
    <!-- 전화번호 아님 - 링크 안됨 -->
    <p>주문번호: 010-1234-5678</p>

    <!-- 실제 전화번호 - 수동 링크 -->
    <p>고객센터: <a href="tel:+82-2-1234-5678">02-1234-5678</a></p>
</body>

참고: 이 메타 태그는 주로 iOS Safari에서 작동합니다.


시멘틱 HTML과 SEO

검색엔진은 시멘틱 태그를 통해 페이지 구조와 콘텐츠의 중요도를 파악합니다.

문서 구조 태그

태그용도SEO 해석접근성 랜드마크
<header>페이지/섹션 헤더브랜드, 네비게이션 영역banner
<nav>네비게이션 링크사이트 구조 파악, 내부 링크 중요도navigation
<main>주요 콘텐츠 (1개)핵심 콘텐츠 영역main
<article>독립적 콘텐츠개별 색인 가능한 콘텐츠article
<section>주제별 그룹콘텐츠 주제 구분region (제목 필요)
<aside>부가 콘텐츠주요 콘텐츠와 분리됨complementary
<footer>페이지/섹션 푸터저작권, 보조 정보contentinfo

검색엔진 처리 우선순위

code-highlight
1. <main> 내부 콘텐츠 (핵심) - 가장 높은 가중치
2. <article> 내부 콘텐츠 (개별 색인 대상)
3. <header>/<nav> (사이트 구조 파악)
4. <aside> (부가 정보)
5. <footer> (보조 정보) - 가장 낮은 가중치

헤딩 태그 (h1-h6)

콘텐츠의 계층 구조를 정의하는 SEO에서 가장 중요한 태그 중 하나입니다.

태그용도권장 사항
<h1>페이지 주제페이지당 1개만, 핵심 키워드 포함
<h2>주요 섹션 제목주요 키워드/주제 포함
<h3>하위 섹션 제목h2 아래 세부 주제
<h4-h6>더 세부적인 구분필요시에만 사용

헤딩 규칙:

  • 계층 순서 준수: h1 → h2 → h3 (건너뛰기 금지)
  • h1은 페이지당 1개만
  • 스타일 목적으로 헤딩 태그 선택 금지

올바른 시멘틱 구조 예시

html
<body>
    <header>
        <h1>사이트 제목</h1>
        <nav>...</nav>
    </header>

    <main>
        <article>
            <h2>글 제목</h2>
            <section>
                <h3>섹션 제목</h3>
                <p>내용...</p>
            </section>
        </article>
    </main>

    <aside>관련 글</aside>
    <footer>저작권 정보</footer>
</body>

article vs section 차이

구분<article><section>
독립성독립적으로 배포/재사용 가능단독으로는 의미 불완전
예시블로그 포스트, 뉴스 기사, 댓글챕터, 탭 내용, 주제별 그룹
RSS피드 항목으로 배포 가능해당 없음

실무 템플릿

기본 웹페이지

html
<!DOCTYPE html>
<html lang="ko">
<head>
    <!-- 필수 메타 태그 -->
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <!-- SEO 메타 태그 -->
    <title>페이지 제목 | 사이트명</title>
    <meta name="description" content="페이지에 대한 간결하고 명확한 설명 (150-160자)">
    <meta name="robots" content="index, follow">

    <!-- Open Graph -->
    <meta property="og:type" content="website">
    <meta property="og:title" content="페이지 제목">
    <meta property="og:description" content="페이지 설명">
    <meta property="og:url" content="https://example.com/page">
    <meta property="og:image" content="https://example.com/og-image.jpg">
    <meta property="og:site_name" content="사이트명">
    <meta property="og:locale" content="ko_KR">

    <!-- Twitter Card -->
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:title" content="페이지 제목">
    <meta name="twitter:description" content="페이지 설명">
    <meta name="twitter:image" content="https://example.com/twitter-image.jpg">

    <!-- 테마 색상 -->
    <meta name="theme-color" content="#0078D7">

    <!-- 캐노니컬 URL -->
    <link rel="canonical" href="https://example.com/page">
</head>
<body>
    <!-- 콘텐츠 -->
</body>
</html>

SEO 체크리스트

필수 메타 태그

  • charset="UTF-8" 설정 (첫 1024바이트 내)
  • viewport 태그로 반응형 설정
  • title 태그 50-60자, 키워드 앞쪽 배치
  • description은 150-160자 이내로 작성
  • 각 페이지마다 고유한 title, description 작성
  • 중복 페이지는 canonical 태그 설정
  • 색인 원치 않는 페이지는 robots="noindex" 설정

소셜 미디어

  • og:image는 1200x630px 권장
  • og:title, og:description, og:url 설정
  • twitter:card 설정 (summary_large_image 권장)
  • twitter:image는 최소 280x150px

시멘틱 HTML

  • <h1> 태그 페이지당 1개만 사용
  • 헤딩 계층 구조 준수 (h1→h2→h3, 건너뛰기 금지)
  • <main> 태그로 핵심 콘텐츠 감싸기
  • <article> 태그로 독립 콘텐츠 구분
  • <nav> 태그로 네비게이션 감싸기
  • <header>, <footer> 적절히 사용

콘텐츠 최적화

  • 이미지에 설명적 alt 텍스트
  • 이미지 width/height 지정 (CLS 방지)
  • 이미지 loading="lazy" 설정
  • 링크에 설명적 앵커 텍스트 ("여기 클릭" 금지)
  • 목록 태그로 정보 구조화 (<ul>, <ol>)
  • <time datetime=""> 태그로 날짜 표시

AI 봇 제어 (선택)

  • 콘텐츠 보호 시 AI 학습 차단 메타 태그 추가
  • 또는 robots.txt에서 AI 크롤러 제어

참고 자료

공식 문서

SEO 가이드