블로그 SEO, 기본 개념부터 실전 셋팅까지
블로그를 만들었다. 글도 쓰기 시작했다. 그런데… 아무도 안 온다. 검색해도 내 블로그가 안 나온다. 왜일까?

SEO가 뭔데?
SEO(Search Engine Optimization) — 검색 엔진 최적화.
쉽게 말하면, 구글이나 네이버에서 내 글이 검색되게 만드는 기술이다.
아무리 좋은 글을 써도, 검색 엔진이 내 블로그를 모르면 아무도 찾아오지 않는다. SEO는 검색 엔진에게 “나 여기 있어, 이런 글 썼어”라고 알려주는 과정이다.
검색이 작동하는 원리
1. 크롤링 — 구글 봇이 웹을 돌아다니며 페이지를 발견한다
2. 인덱싱 — 발견한 페이지의 내용을 분석하고 저장(색인)한다
3. 랭킹 — 누군가 검색하면, 색인된 페이지 중 가장 관련 있는 걸 순서대로 보여준다SEO는 이 세 단계 모두에서 내 블로그가 잘 처리되도록 돕는 것이다.

내가 실제로 셋팅한 것들
1. sitemap.xml — “내 블로그 지도”
https://coffeemon.life/sitemap.xml사이트맵은 블로그의 모든 페이지 URL을 한 파일에 모아놓은 지도다.
구글 봇이 웹을 돌아다니다 우연히 내 블로그를 발견하길 기다리는 대신, “여기 내 페이지 목록이야, 다 읽어가”라고 직접 건네주는 것이다.
왜 필요한가?
- 새 글을 올려도 구글이 며칠~몇 주간 모를 수 있다
- 사이트맵을 제출하면 구글이 빠르게 모든 페이지를 발견한다
- 내 블로그는 37개 페이지가 등록되어 있다
2. robots.txt — “출입 규칙”
https://coffeemon.life/robots.txt로봇 텍스트 파일은 검색 엔진 봇에게 **“여기는 와도 돼, 여기는 오지 마”**를 알려주는 규칙서다.
예를 들어:
/api/경로는 API 서버라 크롤링할 필요 없다 → 차단- 나머지 모든 페이지는 자유롭게 크롤링 가능 → 허용
- 사이트맵 위치도 여기에 적어준다
3. 메타 태그 (title, description, OG) — “검색 결과에 보이는 얼굴”
구글에서 뭔가를 검색하면, 각 결과에 제목과 설명이 보인다. 이게 메타 태그다.
[검색 결과 예시]
첫 번째 커피 한 잔 | coffeemon ← title
이 블로그는 거대한 선언의 공간이 아니다. ← description
그저 아침마다 커피를 내리듯, 생각을 내리는 공간.메타 태그가 없으면? 구글이 알아서 페이지 내용 중 일부를 잘라서 보여주는데, 대부분 엉뚱한 문장이 잡힌다. 직접 지정해주는 게 훨씬 낫다.
Open Graph (OG) 태그
카카오톡이나 슬랙에 링크를 붙여넣으면 미리보기 카드가 뜨는 걸 본 적 있을 것이다.
그 카드에 들어가는 정보가 바로 OG 태그다:
og:title— 카드 제목og:description— 카드 설명og:image— 카드 이미지
내 블로그는 OG 이미지를 자동 생성한다. 글 제목과 카테고리를 넣으면 검정 배경에 깔끔한 이미지가 만들어진다. 매번 포토샵을 열 필요가 없다.
Twitter Card
트위터(X)에 공유할 때 보이는 미리보기도 별도 태그가 있다. twitter:card, twitter:image 등을 지정해주면 큰 이미지 카드로 표시된다.
4. canonical URL — “원본은 나야”
같은 글이 여러 URL로 접근 가능할 수 있다:
https://coffeemon.life/post/first-cup
https://coffeemon.life/post/first-cup?utm_source=twitter
https://coffeemon.life/post/first-cup#section-2구글은 이걸 다른 페이지로 볼 수도 있다. canonical 태그는 **“이 URL이 원본이야”**라고 명시해서, 검색 순위가 분산되는 걸 막는다.
5. JSON-LD 구조화 데이터 — “검색 결과를 화려하게”
이게 오늘 작업한 것 중 가장 임팩트가 큰 부분이다.
JSON-LD는 페이지의 내용을 구글이 구조적으로 이해할 수 있게 해주는 데이터다. HTML 안에 숨겨진 메타데이터라고 보면 된다.
BlogPosting 스키마
{
"@type": "BlogPosting",
"headline": "첫 번째 커피 한 잔",
"datePublished": "2026-02-17",
"author": { "name": "coffeemon" },
"articleSection": "daily"
}이걸 넣으면 구글 검색 결과에 리치 스니펫이 표시될 수 있다:
- 게시 날짜
- 저자 이름
- 카테고리
일반 검색 결과보다 눈에 띄어서 **클릭률(CTR)**이 올라간다.
BreadcrumbList (탐색 경로)
홈 > 오늘의 한 잔 > 첫 번째 커피 한 잔검색 결과에서 URL 대신 이런 경로가 표시된다. 사용자가 글의 위치를 한눈에 파악할 수 있다.
WebSite + SearchAction
{
"@type": "WebSite",
"potentialAction": {
"@type": "SearchAction",
"target": "https://coffeemon.life/search?q={검색어}"
}
}이걸 등록하면 구글에서 **“coffeemon.life 경제”**처럼 사이트 내 검색을 바로 할 수 있게 된다.
6. RSS 피드 — “구독의 문”
https://coffeemon.life/rss.xmlRSS는 블로그의 새 글을 자동으로 받아볼 수 있는 구독 형식이다. 요즘은 직접 RSS 리더를 쓰는 사람이 적지만, 검색 엔진이 RSS를 통해 새 글을 빠르게 발견하기도 하고, 일부 뉴스 서비스나 큐레이션 플랫폼이 RSS를 통해 콘텐츠를 수집한다.

모니터링 도구 두 가지
Google Analytics (GA) — “들어온 사람 분석”
사이트에 방문한 사람이 뭘 하는지 추적한다.
- 오늘 몇 명이 왔는지
- 어떤 글이 가장 많이 읽혔는지
- 평균 몇 분 동안 머물렀는지
- 어디서 들어왔는지 (구글 검색? SNS 공유? 직접 입력?)
비유하자면: 가게에 CCTV를 달아서 손님이 어디를 돌아다니는지 보는 것.
Google Search Console (GSC) — “검색 노출 관리”
내 블로그가 구글 검색에서 어떻게 보이는지 관리한다.
- 어떤 검색어로 내 블로그가 노출됐는지
- 몇 번 노출되고 몇 번 클릭됐는지
- 검색 순위가 몇 위인지
- 크롤링/인덱싱 에러가 있는지
비유하자면: 가게 앞 간판이 사람들 눈에 잘 보이는지, 몇 명이 간판을 보고 들어왔는지 확인하는 것.
둘을 같이 보면
GSC: "경제 브리핑" 검색어로 노출 100회, 클릭 3회 (CTR 3%)
→ 제목이나 설명이 매력적이지 않다 → 메타 태그 개선
GA: 들어온 사람 중 80%가 10초 만에 나감
→ 콘텐츠 품질이나 로딩 속도 문제 → 글 보강 또는 성능 최적화
정리: SEO 체크리스트
| 항목 | 역할 | 내 블로그 |
|---|---|---|
| sitemap.xml | 페이지 목록을 구글에 전달 | ✅ 37페이지 등록 |
| robots.txt | 크롤링 규칙 설정 | ✅ /api/ 차단 |
| meta description | 검색 결과 설명문 | ✅ 모든 페이지 |
| OG 태그 | SNS 공유 미리보기 | ✅ 자동 이미지 생성 |
| Twitter Card | 트위터 미리보기 | ✅ |
| canonical URL | 원본 URL 명시 | ✅ 포스트 페이지 |
| JSON-LD | 구조화 데이터 (리치 스니펫) | ✅ BlogPosting + Breadcrumb |
| RSS | 구독 + 새 글 알림 | ✅ /rss.xml |
| Google Analytics | 방문자 행동 분석 | ✅ 연동 완료 |
| Search Console | 검색 노출 모니터링 | ✅ 사이트맵 제출 완료 |

마치며
SEO는 한 번 세팅하고 끝나는 게 아니다. 기본 인프라를 갖추는 건 출발선에 서는 것이고, 진짜 중요한 건 그 이후다.
꾸준히 좋은 글을 쓰고, Search Console에서 어떤 키워드로 사람들이 찾아오는지 관찰하고, 그 데이터를 바탕으로 콘텐츠를 개선하는 것. 결국 SEO의 본질은 **“검색하는 사람에게 쓸모 있는 글을 쓰는 것”**이다.
기술적 셋팅은 그 글이 제대로 전달되도록 돕는 도구일 뿐이다.