← 봇 셋업 가이드 목록으로
🔍
세상에 내보내기 · 배포 (1편)

랜딩에 SEO 심기
검색에 뜨고, 카톡에 예쁘게 뜨게

페이지는 만들었는데 아무도 안 온다면. 뽀야가 곡성 랜딩에 실제로 심은 순서 그대로 알려줄게.

대상 정적 랜딩 · 원페이지
필요한 것 편집 권한뿐
검증 2026.8 곡성 2기 랜딩
🐱

뽀야: 랜딩 페이지 하나 예쁘게 만들었어. 그런데 아무도 안 와. 왜냐면 페이지를 만드는 것과 그 페이지가 세상에 보이게 만드는 것은 완전히 다른 일이거든. 오늘 하는 게 그 두 번째야. 어렵지 않아 — 페이지 맨 위에 설명 쪽지 몇 장 붙이는 일이야.

🤔 이걸 안 하면 무슨 일이 생기냐면

추상적인 "검색 최적화" 말고, 실제로 벌어지는 장면 셋이야.

장면 1 — 카톡에 링크를 보냈는데 회색 네모만 뜬다.
제목도 이상하고 이미지도 없어. 받는 사람 입장에선 "이거 스팸인가?" 싶어서 안 눌러.→ 링크를 붙였을 때 뜨는 카드는 페이지 디자인이 아니라 OG 태그가 결정해. 3장에서 붙여.
장면 2 — 구글에 우리 행사 이름을 쳐도 안 나온다.
구글은 세상 모든 페이지를 알아서 아는 게 아니라, 로봇을 보내 돌아다니며 수집해. 새로 만든 페이지는 아무도 알려주지 않으면 그냥 없는 페이지야.→ "여기 페이지 목록이야"라고 알려주는 게 5장의 sitemap이야.
장면 3 — 지난 기수 페이지가 이번 기수보다 위에 뜬다.
1기 모집 페이지를 지우지 않고 남겨뒀더니 그게 먼저 검색돼서, 사람들이 이미 끝난 모집을 보고 나가버려.→ 오래된 페이지를 검색에서 빼는 것도 5장에서 해.

이 셋을 막는 게 오늘 할 일이야. 페이지 코드를 뜯어고치는 게 아니라, <head> 안에 설명 문장 몇 줄을 추가하는 것뿐이야. 디자인은 하나도 안 바뀌어.

2편도 있어: GA4 + 서치콘솔 붙이기 — 몇 명 왔는지 세는 얘기. 이 1편을 먼저 하는 게 좋아. GA4 태그를 심어두면 서치콘솔 소유권 확인이 클릭 한 번에 끝나거든.
1

개념 먼저 — 넷이 뭐가 다른가

한 덩어리로 "SEO"라 부르지만, 사실 성격이 다른 네 가지야
SEO가 뭐야? "검색 최적화"라고 번역하는데, 쉽게 말하면 내 페이지가 뭐 하는 페이지인지 기계한테 설명해주는 일이야. 사람은 페이지를 보면 알지만, 구글이나 카카오는 못 봐. 그래서 따로 적어줘야 해. 그 "적어주는 쪽지"가 아래 넷이야.

가게로 비유하면 이래.

여기서 계속 나올 단어 둘.
크롤러(로봇) — 구글이 인터넷을 돌아다니며 페이지를 주워오라고 보내는 프로그램. 사람 대신 내 사이트에 들어와 읽고 가.
색인(인덱스) — 그렇게 주워온 페이지를 구글이 자기 서랍에 정리해 넣는 것. 색인이 안 되면 검색 결과에 아예 안 나와. "구글에 등록됐다"는 말이 이 뜻이야.
넷 다 그냥 텍스트야. <head> 안이나 사이트 최상단에 넣는 것뿐. 서버도, 플러그인도, 돈도 안 들어. 화면은 하나도 안 바뀌어.
2

메타 태그 — 검색 결과에 뜨는 두 줄

클릭을 부르는 문장을 여기 넣는다
뭘 하는 거냐면 — 구글 검색 결과 한 칸은 파란 제목 한 줄 + 회색 설명 두 줄로 되어 있잖아. 그 두 개를 내가 직접 정해주는 거야. 안 정해주면 구글이 페이지에서 아무 문장이나 골라 쓰는데, 대개 이상한 게 걸려.
<title>AI노마드 워케이션 in곡성 2기 · 모집 안내</title>
<meta name="description" content="AI 도구는 써봤지만 내 업무에는 아직 제대로 붙이지 못했다면…" />
<link rel="canonical" href="https://gokseong.nodak.co.kr/" />
<meta name="robots" content="index, follow, max-image-preview:large" />

canonical이 제일 중요해

같은 페이지가 www 붙은 주소, 끝에 / 없는 주소, ?utm_source=… 붙은 주소로 여러 개 존재하면 구글은 "다른 페이지 3개"로 세. 점수가 쪼개져. canonical은 "진짜 주소는 이거 하나야"라고 못 박는 거야.

반드시 절대경로. https://부터 다 써.
3

OG 태그 — 카톡에 던졌을 때 뜨는 카드

⭐ 지뢰가 제일 많은 구간이야
뭘 하는 거냐면 — 카톡·슬랙에 링크를 붙이면 그냥 파란 주소가 아니라 이미지 + 제목 + 설명이 든 네모 카드가 뜨잖아. 그 카드 내용을 정하는 태그야. OG = 오픈그래프, 페이스북이 만들어서 지금은 카톡·슬랙·엑스가 다 같이 쓰는 공통 규격이야.
중요한 건 검색이랑 완전히 별개라는 점. 2장을 잘 해놔도 이걸 안 하면 카톡 카드는 여전히 비어 있어.
<meta property="og:title" content="AI노마드 워케이션 in곡성 2기 · 단 18명 선발" />
<meta property="og:description" content="9/18~9/21 전남 곡성 3박4일 · 단 18명…" />
<meta property="og:image" content="https://gokseong.nodak.co.kr/img/og-2th.png" />
<meta property="og:image:width" content="1280" />
<meta property="og:image:height" content="720" />
<meta property="og:url" content="https://gokseong.nodak.co.kr/" />
<meta property="og:type" content="website" />
<meta property="og:locale" content="ko_KR" />
<meta name="twitter:card" content="summary_large_image" />

여기서 다들 밟는 지뢰 셋

고쳤는데 카톡 카드가 그대로면 카카오 디버거에서 URL 넣고 초기화를 눌러. 사실 제일 싼 건 링크 뿌리기 전에 태그를 완성해두는 것이야.
og:image 만들 때: 1200×630 또는 1280×720. 글씨를 크게. 카톡 카드는 손바닥만하게 보여서, PC에서 예뻐 보이는 얇은 글씨는 모바일에서 아예 안 읽혀.
4

JSON-LD — 이 페이지가 "행사"라고 알려주기

사람 눈엔 안 보이고 검색엔진만 읽는 블록
뭘 하는 거냐면 — 지금까지는 기계한테 "이 페이지 제목은 이거야" 정도만 알려줬어. 여기서는 한 걸음 더 가서 "이건 행사고, 9월 18일부터고, 49만 9천 원이고, 정원 18명이야"를 항목별로 알려줘.
왜 굳이? 기계가 내용을 항목으로 이해하면 검색 결과를 그냥 파란 링크가 아니라 날짜·가격이 붙은 카드로 보여줄 수 있거든. 이걸 리치 결과라고 불러.
JSON-LD는 그 항목들을 적는 문법 이름이야(JSON 형식으로 쓴다는 뜻). 무섭게 생겼지만 그냥 양식에 빈칸 채우는 것이고, 항목 이름은 schema.org에 정해져 있어.
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    { "@type": "Organization", "@id": "https://nodak.co.kr/#org",
      "name": "노닥컴퍼니", "url": "https://nodak.co.kr" },
    { "@type": "EducationEvent", "@id": "https://gokseong.nodak.co.kr/#event-2th",
      "name": "AI노마드 워케이션 in곡성 2기",
      "startDate": "2026-09-18T14:00:00+09:00",
      "endDate":   "2026-09-21T14:00:00+09:00",
      "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
      "maximumAttendeeCapacity": 18,
      "location": { "@type": "Place", "name": "곡성 러스틱타운 삼기" },
      "organizer": { "@id": "https://nodak.co.kr/#org" },
      "offers": { "@type": "Offer", "price": "499000", "priceCurrency": "KRW",
        "url": "https://gokseong.nodak.co.kr/apply.html",
        "validThrough": "2026-09-11T23:59:59+09:00" } }
  ]
}
</script>
날짜에 +09:00을 꼭 붙여. 안 붙이면 구글이 UTC로 읽어서 한국 시각보다 9시간 앞당겨 표시해.
5

robots.txt / sitemap.xml

사이트 최상단에 놓는 그냥 텍스트 파일 둘
뭘 하는 거냐면 — 앞의 셋은 페이지 안에 넣는 거였고, 이 둘은 사이트 전체에 하나씩 두는 파일이야.
robots.txt = 로봇한테 주는 출입 규칙. "이 폴더는 보지 마."
sitemap.xml = 페이지 목록. "우리 사이트엔 이런 페이지들이 있어."
로봇은 원래 링크를 타고 다니며 페이지를 찾는데, 링크가 적은 새 사이트는 한참 못 찾아. 목록을 직접 쥐여주면 훨씬 빨라져.
# robots.txt — 크롤러 출입 규칙
User-agent: *
Allow: /
Disallow: /api/
Disallow: /1th/

Sitemap: https://gokseong.nodak.co.kr/sitemap.xml
<!-- sitemap.xml — 페이지 목록 -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://gokseong.nodak.co.kr/</loc>
    <lastmod>2026-08-23</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
</urlset>
priority는 내 사이트 안에서의 상대적 중요도야. 남의 사이트랑 겨루는 점수가 아니야. 전부 1.0을 주면 아무 의미가 없어져.
robots에서 막은 경로를 sitemap에 넣지 마. "들어오지 마 / 근데 이거 봐"가 돼서 서치콘솔이 경고를 띄워.
6

심었으면 확인한다

로컬에서 잘 보이는 건 증거가 아니야
왜 굳이 확인하냐면 — 이 작업은 전부 눈에 안 보이는 것을 고치는 일이야. 화면은 똑같이 잘 나오는데 태그만 틀려 있을 수 있어. 고쳤는데 배포를 안 했거나, 배포했는데 옛날 파일이 남아 있는 경우도 흔하고. 그래서 실제 주소에 대고 직접 확인해.

① 라이브에 진짜 올라갔나

curl -s https://gokseong.nodak.co.kr/ | grep -E 'og:title|canonical|ld\+json'
curl -sI https://gokseong.nodak.co.kr/robots.txt  | head -1   # 200이어야 함
curl -sI https://gokseong.nodak.co.kr/sitemap.xml | head -1   # 200이어야 함

② JSON-LD가 먹혔나

리치 결과 테스트에 URL을 넣어. "유효한 항목 1개 감지됨"이 뜨면 성공이야.

실제 통과 화면 보기 · 캡처 1장
곡성 랜딩 ·
곡성 랜딩 · "유효한 항목 1개 감지됨 / 이벤트"
아래 "심각하지 않은 문제가 감지됨"은 선택 항목(공연자·티켓 판매 시작일 등)이 비었다는 안내야. 그냥 둬도 돼. 빨간 오류만 잡으면 돼.

③ 카톡 카드

카카오 디버거에서 확인하고 캐시 초기화. 그리고 실제로 나한테 카톡을 보내서 눈으로 봐. 디버거가 통과해도 실기기에서 이미지가 안 뜨는 경우가 있어.

🐾 졸업 체크리스트

  1. title 60자 / description 150자 / canonical 절대경로
  2. og:image 절대경로 + 1200×630 이상 + 큰 글씨
  3. JSON-LD 타입을 페이지 성격에 맞게 + 날짜에 +09:00
  4. robots.txt에서 지난 기수·/api/ 막고, sitemap엔 안 넣기
  5. 라이브에서 curl 확인 + 리치 결과 테스트 + 카톡 실기기 확인
다음 편 → GA4 + 서치콘솔 붙이기. 몇 명 왔고 어느 버튼 눌렀는지 세는 얘기.
🐱

뽀야 마무리: 제일 많이 나는 사고는 og:image 상대경로랑 카카오 캐시야. 둘 다 "브라우저에선 잘 되는데 카톡만 이상해" 모양으로 나타나. 그러니까 링크 뿌리기 전에 카톡으로 나한테 한 번 보내봐. 그게 제일 확실해 🐾

← {{SERIES_LABEL}} 목록으로