robots.txt는 접근 안내
`robots.txt`는 검색 엔진 크롤러에게 어떤 경로를 허용하거나 제한할지 알려주는 파일입니다. 공개 정보 사이트라면 대부분의 페이지를 허용하는 단순한 설정으로 충분합니다.
중요한 점은 robots.txt가 보안 장치가 아니라는 것입니다. 숨겨야 하는 정보는 애초에 공개 저장소나 정적 사이트에 올리지 않아야 합니다.
sitemap.xml은 페이지 목록
`sitemap.xml`은 검색 엔진이 사이트의 주요 URL을 발견하도록 돕는 파일입니다. 글 수가 많지 않아도 사이트맵을 제공하면 Search Console에서 제출하고 상태를 확인하기 쉽습니다.
Astro는 sitemap 통합 기능을 통해 빌드 시 사이트맵을 만들 수 있습니다. 이때 사이트의 기준 URL이 정확해야 하므로 설정 파일의 `site` 값을 실제 도메인으로 맞춰야 합니다.
Search Console과 함께 보기
robots.txt와 sitemap.xml을 만들었다고 바로 검색 노출이 보장되는 것은 아닙니다. Google Search Console에 도메인을 등록하고 사이트맵 제출, 색인 상태, 페이지 오류를 함께 확인해야 합니다.
특히 새 도메인은 색인까지 시간이 걸릴 수 있으므로, 심사 직전에 급하게 만드는 것보다 먼저 공개해 안정적으로 접근되는지 확인하는 편이 좋습니다.
HTML 사이트맵과 XML 사이트맵을 구분한 사례
이 사이트에는 사람이 보는 `/site-map/` 페이지와 검색 엔진에 제출하는 `/sitemap-index.xml` 파일이 따로 있습니다. Search Console에는 HTML 페이지가 아니라 XML 사이트맵을 제출해야 합니다.
`sitemap-index.xml`은 실제 URL을 모두 직접 담는 파일이 아니라 `sitemap-0.xml` 같은 하위 사이트맵을 가리키는 목차일 수 있습니다. Google은 인덱스 파일을 읽고 하위 사이트맵을 따라갑니다.
준비할 스크린샷
Search Console에서 HTML 사이트맵 제출 오류와 XML 사이트맵 제출 성공 화면을 비교하면 초보자가 자주 겪는 혼동을 줄일 수 있습니다.
실전 점검표
- `robots.txt`가 사이트맵 XML 주소를 가리키는지 확인한다.
- Search Console에는 `/sitemap-index.xml`을 제출한다.
- 사람용 사이트맵과 검색엔진용 XML 사이트맵을 구분한다.
- 빌드 후 `dist`에 사이트맵이 생성되는지 확인한다.
흔한 실수
- Search Console에 `/site-map/` 같은 HTML 페이지를 제출하는 것.
- `robots.txt`에서 실제 존재하지 않는 사이트맵 주소를 안내하는 것.
- 사이트맵 인덱스에 글 URL이 직접 안 보인다고 오류로 착각하는 것.
자주 묻는 질문
sitemap-index.xml에 글 URL이 안 보이면 문제인가요?
아닙니다. 사이트맵 인덱스는 하위 사이트맵 위치를 알려주는 파일입니다. 실제 URL은 `sitemap-0.xml` 같은 하위 파일에 들어갈 수 있습니다.
robots.txt가 없으면 색인이 안 되나요?
반드시 그런 것은 아니지만, 공개 사이트라면 허용 정책과 사이트맵 위치를 명확히 제공하는 것이 좋습니다.
사이트맵 제출 후 발견된 페이지가 0으로 나옵니다.
제출 직후에는 0으로 보일 수 있습니다. 사이트맵 형식이 맞고 URL이 접속된다면 Google이 처리할 시간을 두고 다시 확인하세요.