SOYOYU
기술 SEO

고성 송지호·봉수대 오토캠핑장 예약 사이트가 검색에 안 나오는 이유

송지호·봉수대 등 고성군 공공캠핑장 6곳 예약 방법 정리. 그리고 공식 예약 사이트가 구글 색인에 0건인 이유를 구글 오픈소스 파서까지 돌려 실측으로 진단합니다.

전승엽2026년 8월 12일19 min read
canonicalrobots.txt사이트 이전색인공공기관
고성군 공공캠핑장 통합예약 바로가기

송지호·봉수대 등 6곳 예약은 이 주소 하나입니다. 검색 상단에 뜨는 다른 주소는 현재 응답하지 않는 옛 사이트입니다.

TL;DR: 고성 캠핑장 예약, 어디서 하나?

  • 고성군 공공캠핑장 6곳은 2024년 3월 21일부터 통합예약 사이트 한 곳으로 일원화됐습니다.
  • 공식 예약 주소는 gwgs.pubcamping.kr 하나입니다.
  • 검색 1·2위는 군청 공식 페이지인데, 둘 다 응답하지 않는 옛 사이트로 안내합니다. 첫 화면에서는 예약에 도달할 수 없습니다.
  • 정작 진짜 예약 사이트는 구글 색인에 한 페이지도 없습니다. site: 조회 결과 0건입니다.
  • 구글 공식 파서로 직접 돌려보니 robots.txt는 구글을 막고 있지 않습니다. 대신 Bing·GPTBot·ClaudeBot은 실제로 차단됩니다.
  • 남은 문제는 canonical 루트 고정, sitemap 부재, 군청 도메인의 낡은 링크입니다. 다만 색인 0건의 결정타는 서치콘솔 없이 단정할 수 없습니다.
  • AI 개요도 낡은 근거로 답을 만듭니다. 읽히지 않으면 낡은 정보가 나를 대신합니다.
  • 사이트를 옮기는 모든 조직이 밟는 순서이기도 합니다. 사이트는 옮겼는데 색인은 옮기지 않은 경우입니다.

본문의 사이트 진단 수치는 2026년 8월 12일 직접 요청해 확인한 값입니다.


먼저, 예약 방법부터

이 글을 검색으로 찾아오셨다면 원하는 건 진단이 아니라 예약 주소일 겁니다. 그것부터 정리합니다.

공식 통합예약 주소

고성군 공공캠핑장 통합예약

이 주소 하나에서 6곳 전부 예약됩니다. 캠핑장별 페이지는 아래와 같습니다.

캠핑장주소예약 페이지
송지호 오토캠핑장고성군 죽왕면 동해대로 6090바로가기
봉수대오토캠핑장고성군 죽왕면 삼포리 1137-10바로가기
오호캠핑장고성군 죽왕면 오호리 1-5바로가기
백도오토캠핑장고성군 죽왕면 문암항길 133바로가기
자작도 캠핑장고성군 죽왕면 문암진리 466-1바로가기
명파오토캠핑장고성군 현내면 명파4길 47바로가기

예약 오픈 일정

송지호 오토캠핑장 페이지 기준 안내는 다음과 같습니다.

출처: 송지호 오토캠핑장 공식 페이지

매월 셋째주 화요일 10시부터 오픈, 다음달 1일부터 말일까지 예약 가능

봉수대오토캠핑장은 페이지에 고정 규칙 대신 다음 시즌 오픈 - 공지사항 일정 참고로 안내하고 있어, 봉수대 공지사항을 별도로 확인해야 합니다. 캠핑장마다 오픈 규칙이 동일하지 않다는 점을 기억해 두세요.

문의처

  • 송지호 오토캠핑장: 033-681-5244
  • 봉수대오토캠핑장: 010-7664-4123

여기까지가 실용 정보입니다. 아래부터는 왜 이 주소를 매번 검색으로 찾기가 그렇게 어려웠는지에 대한 이야기입니다.


1년 반 동안 주소를 못 외운 사람의 기록

저는 고성 송지호와 봉수대를 번갈아 다니는 캠퍼입니다. 그리고 지난 1년 반 동안 매번 같은 절차를 반복했습니다.

검색창에 "송지호 오토캠핑장 예약"을 칩니다. 결과가 쭉 나옵니다. 위쪽 링크를 누릅니다. 로딩 표시가 돌다가 멈춥니다. 뒤로 갑니다. 다음 링크를 누릅니다. 또 안 열립니다. 결국 누군가의 블로그 글에 들어가서, 본문 중간에 걸린 링크를 타고 들어가야 겨우 진짜 예약 페이지에 도착합니다.

처음엔 제 인터넷이 문제인 줄 알았습니다. 그다음엔 서버가 예약 오픈 시간이라 몰려서 죽은 줄 알았습니다. 평일 낮에도 똑같길래 그제야 이상하다고 생각했습니다.

주소를 외우면 되지 않냐고 하실 텐데, gwgs.pubcamping.kr입니다. 외워지지 않습니다. 즐겨찾기를 해도 폰을 바꾸면 사라집니다. 그래서 매번 검색합니다. 매번 같은 자리에서 막힙니다.

명색이 검색을 업으로 하는 사람인데 1년 반을 이러고 있었다는 게 좀 웃겨서, 어느 날 마음먹고 사이트를 뜯어봤습니다.

결론부터 말하면 서버 문제가 아니었습니다. 그리고 제가 잘못 찾은 것도 아니었습니다.


실측 1 — 검색 결과 1등도, AI 개요도 예약으로 이어지지 않는다

말로 설명하기 전에 검색 화면부터 보시죠. "송지호 오토캠핑장 예약"의 실제 결과입니다.

구글에서 송지호 오토캠핑장 예약을 검색한 결과 화면. 상단 AI 개요가 고성군 통합예약시스템 홈페이지를 안내하고, 그 아래 첫 번째 결과로 강원고성군청의 강원고성 통합예약 페이지, 두 번째로 고성군 관광포털 오토캠핑장 페이지가 표시된다. 세 번째부터는 네이버 블로그와 고캠핑 등 제3자 사이트가 이어진다

화면만 보면 문제가 없어 보입니다. AI 개요가 예약 방법을 친절히 설명하고, 주소와 전화번호도 정확하고, 상단 두 자리를 군청 공식 도메인이 차지하고 있습니다. 공공기관 검색 결과로는 이상적인 모양입니다.

그런데 이 링크들을 실제로 눌러봤습니다.

검색 결과 1위 — 강원고성 통합예약 www.gwgs.go.kr/yeyak/

페이지는 정상적으로 열립니다. 제목도 "강원고성 통합예약"으로 정확하고, 1등에 오를 만한 페이지입니다.

문제는 그 안의 링크입니다. 이 페이지에서 캠핑장 예약으로 나가는 링크를 전부 뽑아봤더니 전부 같은 곳을 가리키고 있었습니다.

https://gwgs.ticketplay.zone/portal/index

응답하지 않는 옛 예약 시스템입니다. 그리고 이 페이지 어디에도 현재 운영 중인 pubcamping.kr 링크는 단 한 개도 없습니다.

검색 결과 2위 — 고성군 관광포털 오토캠핑장 페이지

똑같습니다. 이 페이지의 유일한 예약 링크도 gwgs.ticketplay.zone/portal/index이고, pubcamping.kr 링크는 역시 없습니다.

군청 공식 도메인이 상단 두 자리를 차지하고 있는데, 두 페이지 모두 2년 넘게 이용자를 죽은 사이트로 안내하고 있습니다. 페이지가 열린다는 것과 목적을 이룰 수 있다는 것은 다른 문제입니다.

AI 개요

AI 개요는 "고성군 통합예약시스템 홈페이지를 통해 온라인으로 할 수 있습니다"라고 안내합니다. 문장 자체는 맞습니다. 문제는 이 답변이 참고한 근거가 방금 확인한 그 페이지들이라는 점입니다. AI는 읽을 수 있는 문서를 근거로 답을 만듭니다. 읽을 수 있는 문서가 낡았으면 답도 낡습니다.

정리하면 이렇습니다.

검색 화면 위치상태예약 가능 여부
AI 개요낡은 문서 기반 안내바로 이어지지 않음
검색 1위 (군청 통합예약)정상 열림, 예약 링크는 죽은 사이트불가
검색 2위 (군청 관광포털)정상 열림, 예약 링크는 죽은 사이트불가
실제 예약 사이트정상 운영 중상단에 없음

검색 결과 첫 화면에서 예약에 도달할 방법이 없습니다. 3위부터 등장하는 네이버 블로그와 캠핑 정보 사이트를 거쳐야 겨우 진짜 주소를 찾습니다. 제가 1년 반 동안 반복한 게 정확히 이 경로였습니다.


실측 2 — 죽은 도메인 두 개가 자리를 지키고 있다

검색 결과에 등장하는 도메인을 하나씩 직접 요청해봤습니다.

gwgs.ticketplay.zone — 옛 예약 시스템입니다. DNS는 정상적으로 IP를 반환합니다. 그런데 HTTP 요청을 보내면 응답이 오지 않습니다. 25초를 기다려도 아무것도 돌아오지 않고 타임아웃으로 끊깁니다. 서버는 켜져 있는데 대답하지 않는 상태입니다.

www.bongsucamp.com — 봉수대가 예전에 쓰던 자체 홈페이지입니다. 이쪽은 더 확실합니다. DNS 조회 자체가 실패합니다. 도메인이 사라졌습니다.

두 주소 모두 지금도 검색 결과에 나옵니다. 제목도 그럴듯합니다. "송지호 오토캠핑장", "고객센터 - 송지호 오토캠핑장", "봉수대오토캠핑장". 검색하는 사람 입장에서 이보다 더 공식적으로 보이는 결과는 없습니다.

여기서 하나 짚고 갈 게 있습니다. 도메인을 완전히 내려버렸다면 오히려 상황이 나았을 겁니다. 크롤러가 명확한 실패를 받으면 색인에서 정리하기 시작하니까요. 가장 나쁜 건 지금 상태입니다. 응답 없는 타임아웃은 크롤러 입장에서 일시적 서버 장애로 읽힙니다. 일시적 장애로 판단하면 색인을 지우지 않고 유지합니다. 사이트가 다시 살아날 거라고 기다려주는 겁니다.

죽은 사이트를 방치하면 조용히 사라지는 게 아니라, 살아 있는 사이트의 자리를 차지한 채 남습니다.


실측 3 — 구글 색인에 이 사이트가 한 페이지도 없다

여기서 가장 확실한 수치가 나옵니다. 구글에서 이 도메인의 색인 현황을 직접 조회했습니다.

site:gwgs.pubcamping.kr

결과는 이렇습니다.

site:gwgs.pubcamping.kr와(과) 일치하는 검색결과가 없습니다.

0건입니다. 캠핑장 페이지가 몇 개 빠진 수준이 아니라, 홈페이지를 포함해 단 한 페이지도 구글 색인에 없습니다.

비교를 위해 같은 조회를 군청 도메인에 해봤습니다. site:gwgs.go.kr은 의회·버스정보·배움ON 등 서브도메인까지 수십 페이지가 정상 색인돼 있습니다. 같은 기관인데 예약 사이트만 통째로 비어 있습니다.

순위가 낮은 게 아닙니다. 구글이 아는 페이지가 없습니다. 앞에서 본 검색 결과에 이 사이트가 안 보였던 이유가 이겁니다.

그럼 왜 0건인가. 확인 가능한 것부터 하나씩 봤습니다.

먼저, noindex 신호는 없다

  • meta name="robots" — 없음
  • X-Robots-Tag 응답 헤더 — 없음
  • Googlebot User-Agent로 요청 — 200 정상 응답, 41KB HTML 전송

색인을 명시적으로 막는 신호는 어디에도 없고, 구글봇이라고 밝히고 요청해도 서버는 정상 문서를 내줍니다. 즉 "서버가 구글을 막는다"는 단순한 설명은 성립하지 않습니다.

canonical이 전 페이지 루트로 고정돼 있다

현재 운영 중인 사이트의 페이지 HTML을 열어보면 이렇게 되어 있습니다.

<!-- /@song/index (송지호) -->
<title>송지호 오토캠핑장 &gt; 고성군 공공캠핑장</title>
<link rel="canonical" href="https://gwgs.pubcamping.kr">

<!-- /@bongsucamp/index (봉수대) -->
<title>봉수대오토캠핑장 &gt; 고성군 공공캠핑장</title>
<link rel="canonical" href="https://gwgs.pubcamping.kr">

<!-- /Home/H10000/H10100/productSearch (통합예약) -->
<link rel="canonical" href="https://gwgs.pubcamping.kr">

제목은 페이지마다 제대로 다릅니다. 본문도 서버에서 렌더링되어 정상적으로 들어 있습니다. 캠핑장 이름, 주소, 시설 정보가 전부 HTML 텍스트로 존재합니다. 자바스크립트로만 그려지는 빈 껍데기가 아닙니다. 여기까지는 잘 만든 사이트입니다.

그런데 모든 페이지의 canonical이 루트 주소 한 곳을 가리킵니다.

rel=canonical은 검색엔진에 "여러 주소로 같은 내용이 보일 때, 대표 주소는 이것"이라고 알려주는 태그입니다. 중복 페이지를 정리할 때 쓰는 정상적인 도구입니다.

문제는 지금 설정이 이렇게 읽힌다는 겁니다.

송지호 페이지의 대표 주소는 홈페이지입니다. 봉수대 페이지의 대표 주소도 홈페이지입니다. 통합예약 페이지의 대표 주소도 홈페이지입니다. 공지사항 페이지의 대표 주소도 홈페이지입니다.

캠핑장 6곳의 개별 페이지가 전부 자기 자신을 홈페이지의 중복본이라고 신고하고 있습니다.

Google은 canonical을 절대 명령이 아니라 강한 힌트로 취급합니다. 이 설정만으로 색인이 0건이 되지는 않습니다. 다만 개별 페이지가 "내 평가는 홈페이지로 몰아달라"고 요청하고 있으니, 자기 키워드로 순위를 만들 근거를 스스로 포기한 상태인 것은 분명합니다.

og:url도 전부 루트로 되어 있습니다. 카카오톡이나 블로그에 송지호 페이지 링크를 공유하면 미리보기에 홈페이지가 뜹니다. 일행에게 링크를 보내도 상대는 다시 캠핑장을 찾아 들어가야 합니다.

여기서 솔직하게 선을 긋겠습니다

색인 0건의 정확한 원인은 사이트 바깥에서 단정할 수 없습니다.

바깥에서 확인되는 사실은 여기까지입니다.

확인된 것상태색인 0건의 원인인가
noindex 신호없음아님
Googlebot 요청 응답200 정상아님
robots.txt 크롤 허용Googlebot 전 경로 ALLOWED아님 (다음 장에서 실측)
canonical전 페이지 루트 고정단독으로는 설명 안 됨
sitemap.xml404발견 경로 없음
군청 도메인에서 오는 링크0개 (전부 옛 주소로)발견 경로 없음

위쪽 세 줄은 실측으로 원인에서 제외됐습니다. 서버는 구글에 문을 열어두고 있고, 색인을 막는 신호도 없습니다.

남은 것은 아래 세 줄인데, 여기에 공통점이 있습니다. 구글이 이 사이트를 찾아올 길 자체가 없습니다. 사이트맵도 없고, 군청 공식 도메인은 아직 옛 주소만 가리키고 있습니다. 문은 열려 있는데 아무도 주소를 알려주지 않은 상태입니다.

다만 이것도 가장 유력한 후보일 뿐 확정은 아닙니다. 구글이 실제로 크롤을 시도했는지, 시도했다면 무엇을 봤는지는 서치콘솔의 색인 생성 보고서에만 기록돼 있고, 그건 사이트 운영자만 열 수 있습니다.

바깥에서 할 수 있는 진단은 여기까지입니다. 원인을 하나로 단정하지 않는 대신, 무엇이 원인이 아닌지는 확실하게 지웠습니다. 진단은 보통 그렇게 좁혀 들어갑니다.

색인이 안 될 때 어느 단계를 어떤 순서로 점검해야 하는지는 신규 페이지가 색인되지 않는 원인에 정리해 두었습니다.


실측 4 — robots.txt를 구글 파서로 직접 돌려봤다

robots.txt도 확인했습니다. 원문 그대로입니다.

User-agent: *
Disallow: /
User-agent: Googlebot
User-agent: Yeti
User-agent: Daumoa
Allow: /Home*
Allow: /@*

참고로 이 파일에는 빈 줄이 하나도 없습니다. 일곱 줄이 개행 하나로만 이어져 있습니다.

이 파일을 놓고 해석이 세 갈래로 갈립니다.

  • 해석 A: 세 봇에게는 Disallow가 없으니 전 경로 허용
  • 해석 B: /Home*, /@*만 허용되고 나머지는 차단
  • 해석 C: Disallow 기준이 없어 규칙이 무효가 되고 위의 전면 차단을 물려받음

셋 다 그럴듯합니다. 그래서 추측 대신 구글 코드에 직접 물었습니다.

구글 파서로 직접 판정하기

구글은 2019년에 Googlebot이 실제로 쓰는 robots.txt 파서를 오픈소스로 공개했습니다. 서치콘솔의 robots.txt 테스터가 없어진 지금, 이게 가장 권위 있는 검증 방법입니다.

git clone https://github.com/google/robotstxt.git
cmake -S robotstxt -B build -DROBOTS_BUILD_TESTS=OFF -DCMAKE_CXX_STANDARD=17
cmake --build build

./build/robots robots.txt Googlebot https://gwgs.pubcamping.kr/

실제 파일을 그대로 받아 돌린 결과입니다.

User-agentURL 경로판정
Googlebot/Home/H10000/H10100/productSearchALLOWED
Googlebot/@song/indexALLOWED
Googlebot/ (루트)ALLOWED
Googlebot/other/pathALLOWED
Yeti/@song/indexALLOWED
Daumoa/Home/indexALLOWED
bingbot/Home/indexDISALLOWED
GPTBot/Home/indexDISALLOWED
ClaudeBot/@song/indexDISALLOWED

해석 A가 맞습니다. B와 C는 둘 다 틀렸습니다.

주목할 줄은 /other/path입니다. Allow: /Home*에도 Allow: /@*에도 매치되지 않는 경로인데 ALLOWED로 나옵니다. 규격이 정한 그대로입니다.

공식 출처: RFC 9309 - Robots Exclusion Protocol

One or more user-agent lines that are followed by one or more rules. The group is terminated by a user-agent line or end of file.

If no match is found amongst the rules in a group for a matching user-agent or there are no rules in the group, the URI is allowed.

그룹을 끝내는 건 빈 줄이 아니라 user-agent 줄입니다. 그래서 세 봇은 위의 Disallow: /를 물려받지 않고, 자기 그룹에 금지 규칙이 없으니 전부 허용됩니다. Allow 두 줄은 이미 허용된 것을 다시 허용할 뿐이라 지워도 동작이 같습니다.

그래서 두 가지가 확정됩니다

첫째, robots.txt는 구글 색인 0건의 원인이 아닙니다. 앞 장의 미스터리에서 이 항목은 빠집니다. 구글은 이 사이트의 모든 경로를 크롤할 수 있습니다.

둘째, 차단은 실재합니다. 다만 막힌 대상이 다릅니다.

첫 두 줄 User-agent: * / Disallow: /는 자기 이름을 가진 그룹이 없는 모든 크롤러에게 전면 차단으로 적용됩니다. 여기에 해당하는 것들입니다.

  • Bingbot — 마이크로소프트 검색
  • GPTBot, OAI-SearchBot — ChatGPT
  • ClaudeBot, PerplexityBot — 그 외 AI 검색

이름을 적어준 세 곳 외에는 전부입니다. 그리고 이 방식의 진짜 비용은 새로 등장하는 서비스마다 수동으로 이름을 추가해야 한다는 점입니다. 대부분 추가되지 않습니다. 2024년에 쓴 파일이 2026년의 검색 환경을 그대로 막고 있는 이유입니다.

결과적으로 지금 AI 검색 도구에 "고성 송지호 캠핑장 예약 어디서 해"라고 물으면, 공식 사이트는 구조적으로 답변에 등장할 수 없습니다. 크롤러가 문서를 읽지 못했으니 인용할 근거 자체가 없습니다. 대신 그 자리를 블로그와 캠핑 정보 사이트가 채웁니다.

그리고 이것이 맨 앞의 AI 개요를 설명합니다

앞에서 본 AI 개요가 왜 예약으로 이어지지 않았는지, 이제 인과가 연결됩니다.

  1. 예약 사이트가 구글 색인에 0건이고, AI 크롤러에게는 robots.txt차단돼 있다
  2. 그래서 AI가 근거로 쓸 수 있는 문서는 군청 도메인 쪽만 남았다
  3. 그런데 군청 페이지는 2년 넘게 옛 예약 시스템을 안내하고 있다
  4. 결과적으로 AI 개요는 낡은 근거로 만들어진 답을 내놓는다

AI가 틀린 게 아닙니다. 읽을 수 있는 문서 중에서 가장 공식적인 것을 골랐을 뿐입니다. 진짜 정답을 가진 문서가 후보에 없었기 때문에 생긴 일입니다.

여기가 검색과 AI 검색이 갈리는 지점입니다. 기존 검색에서 색인 실패는 순위가 밀리는 정도로 끝났습니다. AI 검색에서는 잘못된 답변이 내 이름으로 유통됩니다. 내가 읽히지 않으면, 나에 대한 낡은 정보가 나를 대신해 답이 됩니다.

크롤러별 허용 규칙을 어떻게 짜야 하는지는 AI 크롤러 robots.txt 설정 가이드AI 봇을 잘못 막았을 때 생기는 일에 정리해 두었습니다.


실측 5 — 찾아갈 지도가 없다

나머지는 짧게 정리합니다. 전부 직접 요청해 확인한 결과입니다.

  • sitemap.xml — 404. 사이트맵이 없습니다.
  • llms.txt — 404. AI 검색용 안내 파일도 없습니다.
  • 캠핑장 개별 페이지의 meta description — 없음.
  • 캠핑장 개별 페이지의 h1 — 없음.
  • 구조화 데이터(JSON-LD) — 0개.

캠핑장에는 Campground라는 전용 스키마 타입이 있습니다. 주소, 전화번호, 편의시설, 예약 링크를 기계가 읽을 수 있는 형태로 표시하는 규격입니다. 6곳 각각에 이걸 넣었다면 지도 결과와 AI 답변에 그대로 인용될 자리였습니다. 필요한 정보는 이미 페이지에 다 있습니다. 기계가 읽을 형태로 표시만 안 되어 있을 뿐입니다.


그런데 이 사이트, 관리 안 하는 사이트가 아닙니다

여기가 이 사례에서 가장 중요한 부분입니다.

봉수대 공지사항을 열어보면 최근 글이 이렇게 올라와 있습니다.

  • 개인 캠핑카, 개인 카라반은 예약이 불가합니다 (2026.07.25)
  • 인원추가관련 안내 (2026.07.08)
  • 중앙화장실 신축공사 안내 (2026.06.14)
  • 2026년 성수기 기간 안내 (2026.05.12)

한 달 전까지 공지가 올라오고 있습니다. 담당자가 실제로 운영하고, 이용자 문의에 대응하고, 정책을 다듬고 있습니다. 사이트는 서버 렌더링으로 잘 만들어졌고, 360도 VR로 사이트를 미리 둘러보는 기능까지 넣었습니다. 6곳으로 흩어져 있던 예약·결제를 하나로 통합한 것도 이용자 입장에서 분명한 개선입니다.

그런데 그 결과가 이렇습니다.

성실하게 관리되는 사이트는 색인에 한 페이지도 없고, 사라진 사이트는 검색 상단에 남아 있습니다.

누가 게을러서 생긴 일이 아닙니다. 사이트 이전 프로젝트의 완료 조건에 "검색에서 찾아지는지 확인" 항목이 없었을 뿐입니다. 오픈하고, 예약이 정상 처리되고, 결제가 붙으면 프로젝트는 끝난 걸로 처리됩니다. 검색 결과는 몇 달 뒤에 서서히 나타나기 때문에, 그때쯤이면 프로젝트 팀은 이미 해산해 있습니다.

이게 공공기관만의 문제도 아닙니다. 쇼핑몰을 옮기고, CMS를 바꾸고, 도메인을 통합하는 모든 조직이 정확히 같은 순서를 밟습니다. 사이트 이전 후 트래픽이 빠지는 패턴은 업종을 가리지 않습니다.


개선 방향 — 우선순위대로 일곱 가지

지금 상태에서 손대야 할 순서입니다.

1. 서치콘솔에서 원인부터 확인한다

앞에서 적었듯 색인 0건의 결정타는 바깥에서 단정할 수 없습니다. 그러니 첫 작업은 고치는 게 아니라 보는 것이어야 합니다.

  • 도메인 소유권 확인 후 URL 검사로 대표 페이지 상태 조회
  • robots.txt 테스터로 구글이 이 파일을 실제로 어떻게 갈랐는지 확인
  • 페이지 색인 생성 보고서에서 제외 사유 확인

여기서 5분이면 나머지 다섯 개 중 무엇이 진짜 원인인지 드러납니다. 추측으로 고치기 시작하면 엉뚱한 것부터 건드리게 됩니다.

2. canonical을 각 페이지 자기 주소로 바꾼다

원인이 무엇으로 판명되든 이건 고쳐야 합니다.

<!-- 현재: 모든 페이지가 동일 -->
<link rel="canonical" href="https://gwgs.pubcamping.kr">

<!-- 수정: 각 페이지가 자기 주소 -->
<link rel="canonical" href="https://gwgs.pubcamping.kr/@song/index">

og:url도 같이 맞춰야 공유 미리보기가 정상화됩니다. 템플릿 한 곳만 고치면 끝나는 작업입니다.

3. 옛 도메인을 301 리다이렉트로 연결한다

gwgs.ticketplay.zonewww.bongsucamp.com이 아직 통제 가능한 상태라면, 응답 없이 두지 말고 새 주소로 301 리다이렉트를 걸어야 합니다. 그러면 옛 주소가 쌓아둔 검색 평가가 새 주소로 넘어옵니다. 지금은 그 자산이 아무 데도 못 가고 허공에 떠 있습니다.

도메인이 이미 만료됐다면 되찾을 수 없습니다. 이 경우 새 사이트에서 처음부터 신호를 쌓는 수밖에 없습니다. 이전 작업에서 도메인을 먼저 놓아버리면 안 되는 이유입니다.

4. robots.txt에서 AI 크롤러 차단을 푼다

구글은 이미 들어올 수 있으니 급한 건 이쪽입니다. 지금 상태로는 ChatGPT·Perplexity·Copilot 어디에 물어도 이 사이트는 답에 나올 수 없습니다.

허용 목록 방식을 유지하겠다면, 최소한 봇마다 그룹을 나누고 Disallow를 명시하세요. 규격상 필요해서가 아니라 — 실측했듯 지금 파일도 구글에는 정상 동작합니다 — 읽는 사람이 헷갈리지 않게 하려는 것입니다.

User-agent: *
Disallow: /

User-agent: Googlebot
Disallow: /
Allow: /Home
Allow: /@

더 권하는 방향은 허용 목록을 버리는 쪽입니다. 공개 예약 정보를 다루는 사이트라면 결제·개인정보 경로만 막고 나머지를 여는 편이 맞습니다.

User-agent: *
Disallow: /Home/H30000/
Allow: /

Sitemap: https://gwgs.pubcamping.kr/sitemap.xml

경로는 실제 구조에 맞춰 조정해야 하지만, 원칙은 "기본 개방, 필요한 곳만 차단"입니다. 이름으로 초대하는 방식은 새 검색 서비스가 등장할 때마다 수동으로 추가해야 하고, 대부분 추가되지 않습니다.

5. 군청 도메인의 낡은 링크를 교체한다

이건 예약 사이트가 아니라 gwgs.go.kr 쪽에서 할 일입니다. 검색 상단을 차지한 통합예약 페이지와 관광포털 오토캠핑장 페이지의 예약 링크가 아직 죽은 옛 주소를 가리키고 있습니다.

검색과 AI가 가장 신뢰하는 게 공식 도메인이라, 여기서 잘못 안내하면 그 오류가 그대로 증폭됩니다. 링크 두 개 고치는 작업인데 효과는 앞의 항목들 못지않습니다.

6. sitemap.xml을 만들고 서치콘솔에 제출한다

페이지가 30개 남짓인 사이트입니다. 정적 파일 하나로 충분합니다. 제출까지 30분이면 끝납니다.

7. 캠핑장별 Campground 스키마를 넣는다

주소, 전화번호, 편의시설, 예약 URL을 JSON-LD로 표시합니다. 이미 페이지에 있는 정보를 기계가 읽을 형태로 한 번 더 적어주는 것뿐입니다. AI 검색과 지도 결과에서 인용될 확률이 올라갑니다.

1번과 2번만 해도 체감 차이가 납니다. 비용이 큰 순서와 효과가 큰 순서가 반대라는 게 기술 SEO의 특징입니다.


사이트를 옮길 때의 체크리스트

이 사례에서 뽑을 수 있는, 어느 조직에나 적용되는 항목입니다.

  • 옛 도메인 전 URL에 301 리다이렉트 적용. 서버를 그냥 끄는 건 처리가 아니다
  • 옛 도메인은 리다이렉트가 정착할 때까지 최소 1년 이상 유지
  • 모든 페이지의 canonical이 자기 주소를 가리키는지 확인
  • og:url도 페이지별로 정확한지 확인
  • robots.txt구글 오픈소스 파서로 직접 판정. 눈으로 읽은 의도와 실제 동작은 다르다
  • 그때 AI 크롤러 이름도 함께 테스트. 구글만 확인하면 절반만 본 것이다
  • 오픈 1개월 후 site:내도메인 색인 건수 확인. 0건이면 다른 점검이 다 무의미하다
  • sitemap 제출 후 서치콘솔 색인 현황 확인
  • 오픈 후 1개월·3개월 시점에 주요 키워드 검색 결과 재확인
  • 프로젝트 완료 조건에 "검색에서 찾아지는가" 항목을 명시적으로 포함

마지막 항목이 핵심입니다. 나머지 일곱 개는 마지막 항목이 있으면 자연히 따라옵니다.


자주 묻는 질문 (FAQ)

Q1. 고성 송지호·봉수대 캠핑장은 지금 어디서 예약하나요?

gwgs.pubcamping.kr 통합예약 한 곳입니다. 2024년 3월 21일부터 고성군 공공캠핑장 6곳의 예약·결제가 이 사이트로 통합됐습니다. 검색 결과에 보이는 다른 주소는 현재 응답하지 않는 옛 사이트일 수 있습니다.

Q2. 예약은 언제 열리나요?

송지호 오토캠핑장 안내 기준으로 매월 셋째주 화요일 10시에 열리며, 다음달 1일부터 말일까지 예약할 수 있습니다. 봉수대는 페이지에 고정 규칙 대신 공지사항 참고로 안내하고 있어, 캠핑장별 공지를 따로 확인하는 편이 안전합니다.

Q3. canonical을 잘못 걸면 페이지가 검색에서 사라지나요?

canonical 하나만으로 페이지가 색인에서 통째로 사라지지는 않습니다. Google은 이를 절대 명령이 아니라 강한 힌트로 취급합니다. 다만 사이트가 "이 페이지의 평가를 다른 주소로 몰아달라"고 요청한 상태이므로, 해당 페이지가 자기 키워드로 순위를 쌓기는 매우 어려워집니다. 색인이 아예 0건이라면 canonical 외에 발견 경로·크롤 차단·품질 판단 등을 함께 봐야 하며, 그 구분은 서치콘솔의 색인 생성 보고서에서만 가능합니다.

Q4. 옛 사이트는 그냥 서버를 끄면 되지 않나요?

권장하지 않습니다. 응답 없는 타임아웃은 크롤러에게 일시적 장애로 읽혀 색인이 오히려 오래 유지됩니다. 죽은 페이지가 검색 상단에 남아 이용자를 막는 상태가 길어집니다. 301 리다이렉트로 새 주소를 알려주는 것이 정석입니다.

Q5. robots.txt에서 특정 봇만 허용하는 방식은 문제가 되나요?

규격 위반은 아닙니다. 이 글의 사례도 구글 파서로 돌려보니 의도대로 동작했습니다. 진짜 위험은 다른 데 있습니다. 새로운 검색 서비스나 AI 크롤러가 등장할 때마다 이름을 수동으로 추가해야 하는데, 대부분 추가되지 않습니다. 그 사이 해당 서비스에서는 사이트가 존재하지 않는 것과 같습니다.

허용 목록 자체가 잘못된 방식은 아닙니다. 다만 닫히는 쪽이 기본값이 되므로, 관리 주기를 정해두지 않으면 시간이 지날수록 사이트가 조용히 고립됩니다. 2024년에 쓴 파일이 2026년의 검색 환경을 막고 있는 게 그 예입니다.

Q6. 우리 사이트도 같은 문제가 있는지 어떻게 확인하나요?

브라우저에서 페이지 소스를 열어 canonical 태그가 자기 주소를 가리키는지 보는 것으로 시작하세요. 그다음 도메인/robots.txt도메인/sitemap.xml을 주소창에 직접 입력해 확인합니다. 세 가지만 봐도 큰 문제는 대부분 드러납니다.


결론

고성군 공공캠핑장 예약 사이트는 잘 만들어졌고 지금도 관리되고 있습니다. 서버 렌더링도 정상이고, 공지도 꾸준히 올라오고, 통합예약이라는 방향도 옳았습니다.

그런데 검색 첫 화면에서는 예약에 도달할 수 없습니다. 상단을 차지한 군청 페이지 두 곳이 모두 죽은 사이트로 안내하고, AI 개요는 그 낡은 문서를 근거로 답을 만듭니다. 그리고 정답을 가진 사이트는 구글 색인에 한 페이지도 없습니다.

무엇이 결정타였는지는 서치콘솔을 열어야 알 수 있고, 그건 운영자만 할 수 있는 일입니다. 다만 바깥에서도 지울 건 지웠습니다. noindex도 없고, 서버도 구글에 정상 응답하고, robots.txt도 구글을 막지 않습니다. 문은 열려 있는데 아무도 주소를 알려주지 않은 상태에 가깝습니다. 사이트맵이 없고, 군청 공식 도메인은 아직도 옛 주소만 가리킵니다.

검색은 사이트를 잘 만들었는지 묻지 않습니다. 찾아갈 수 있게 표시했는지를 묻습니다. 그리고 AI 검색이 늘어나면서 이 격차는 더 벌어집니다. 색인되지 않은 문서는 이제 순위에서 밀리는 정도가 아니라, 답변에서 존재하지 않게 됩니다.

사이트를 옮기셨다면, 지금 site:내도메인으로 한번 검색해 보세요. 몇 건이 나오는지가 첫 번째 신호입니다. 그다음 자기 서비스명으로 검색해서 1등에 뜬 주소가 실제로 열리는지 확인해 보시고요. 이 사례처럼 2년 넘게 아무도 몰랐을 수 있습니다.

고성 캠핑 가시는 분들을 위해 다시 한번 정리합니다. 예약은 고성군 공공캠핑장 통합예약에서 하시면 됩니다. 송지호는 여기, 봉수대는 여기입니다. 이 글을 즐겨찾기 해두시는 것도 방법입니다. 저는 그러려고 씁니다.

사이트 이전이나 통합 후 검색 유입이 회복되지 않는다면 XEO 테크니컬 컨설팅에서 색인·리다이렉트 구조를 점검할 수 있습니다.

다른 글 읽기

기술 SEO

이미지 검색에 우리 제품 사진이 하나도 안 나오는 이유

구글 이미지·시각 검색(Google Lens)에 제품 사진이 안 뜨는 원인과 대응. Alt Text·파일명·이미지 사이트맵·주변 텍스트까지 이커머스 시각 검색 최적화 실무.

4 min read
기술 SEO

커스텀 dropdown은 거의 항상 잘못된 선택입니다 — select와 combobox 코드 리뷰

native <select>는 모바일에서 압도적으로 좋은 UX를 줍니다. 커스텀 dropdown으로 갈아탈 정당한 이유는 검색 가능, 멀티 선택, 가상화 셋 정도뿐입니다. ARIA combobox의 진짜 비용을 봅니다.

9 min read
기술 SEO

검색 결과에 내 사이트 설명이 이상하게 나오는 이유

메타 디스크립션을 써도 구글이 다르게 보여주는 이유와 대응 방법. 구글이 스니펫을 재작성하는 구조, 자주 하는 실수, 최소화할 수 있는 기술.

4 min read
기술 SEO

type=text는 거의 항상 잘못된 선택입니다 — input 타입별 코드 리뷰

type 속성 한 글자가 모바일 키보드를 바꾸고, AI 자동완성 정확도를 결정하고, 한국 전화번호 입력의 함정을 만듭니다. input 타입 13개의 실무 결정 트리를 정리합니다.

8 min read
기술 SEO

신규 페이지를 만들어도 구글이 며칠째 안 가져가는 이유

사이트맵을 제출해도 신규 페이지가 바로 색인되지는 않습니다. 발견·크롤·색인 단계를 구분하고 공식 도구로 원인을 점검하는 대응 순서.

5 min read
기술 SEO

Radix Dialog도 깨지는 그 케이스 — focus trap 코드 리뷰

포커스 트랩은 native <dialog>가 무료로 해주는 일이지만, 라이브러리·SPA 라우팅·autoFocus가 섞이면 미세하게 깨집니다. 깨지는 다섯 시나리오를 코드로 짚어봅니다.

10 min read

검색 최적화가 필요하신가요?

무료 상담을 통해 비즈니스에 맞는 최적화 전략을 확인하세요.