01DEFINITION
한 줄로 말하면
사이트맵은 "이 사이트에 어떤 페이지가 있다"를 검색엔진에 직접 건네는 목록입니다. 메뉴를 따라가는 것만으로는 닿기 어려운 페이지 — 목록 깊숙한 상세, 방금 올린 글 — 이 색인되는 속도가 눈에 띄게 달라집니다. 페이지가 늘고 줄 때 손으로 고치는 파일로 두면 반드시 틀어지므로, 목록에서 자동으로 만들어 내보내는 것이 원칙입니다.
02RISK
없으면 무슨 일이 생기나
검색엔진은 링크를 따라가며 페이지를 찾습니다. 메뉴에서 세 번 눌러야 나오는 상세 페이지, 목록의 끝쪽에 밀려난 오래된 글, 방금 올려서 아직 아무도 링크하지 않은 페이지는 그 여정에서 뒤로 밀리거나 아예 닿지 않습니다. 사이트맵은 그 목록을 한 번에 건네는 지름길입니다.
없는 것보다 나쁜 것은 틀린 것입니다. 손으로 만든 사이트맵에는 이미 삭제한 페이지가 남아 있고 새로 만든 페이지는 빠져 있습니다. 검색엔진이 그 목록을 따라가 404 를 여러 번 만나면 목록 자체의 신뢰도가 떨어져, 정작 맞는 주소까지 늦게 처리됩니다.
리다이렉트가 실려 있는 경우도 같은 문제입니다. 사이트맵에 적는 주소는 최종 주소여야 합니다. 옮겨 간 주소를 계속 싣고 있으면 색인해 달라고 건넨 목록이 전부 다른 곳으로 넘기는 주소가 되어 크롤링 예산만 소모합니다.
03CHECK IT YOURSELF
직접 확인하는 방법
아래는 저희를 거치지 않고 지금 해 보실 수 있는 방법입니다. 결과를 저희에게 보내실 필요도 없습니다.
-
01
파일이 열리는지 본다
가장 흔한 주소부터 확인합니다. XML 이 나오면 정상이고, 404 나 HTML 오류 페이지가 나오면 없는 것입니다.
$ curl -s https://example.com/sitemap.xml | head -n 5 <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url><loc>https://example.com/</loc></url>
-
02
몇 개가 들어 있는지 세어 본다
실제 페이지 수와 크게 차이가 나면 목록이 오래된 것입니다. 상품이 200개인데 사이트맵에 30개만 있으면 나머지는 스스로 찾아지기를 기다리는 상태입니다.
$ curl -s https://example.com/sitemap.xml | grep -c "<loc>"
-
03
실린 주소가 실제로 200 인지 확인한다
목록에서 몇 개를 뽑아 응답 코드를 확인합니다. 404 나 301 이 섞여 있으면 그만큼 크롤링 예산이 낭비되고 있습니다.
$ curl -s https://example.com/sitemap.xml \ | grep -oP '(?<=<loc>)[^<]+' | head -n 20 \ | xargs -I{} curl -s -o /dev/null -w "%{http_code} {}\n" {} -
04
서치 콘솔에 제출돼 있는지 본다
파일이 있어도 제출하지 않으면 발견이 늦어집니다. 서치 콘솔의 사이트맵 화면에서 마지막으로 읽어 간 날짜와 발견된 주소 수를 확인하십시오.
04HOW TO FIX
고치는 방법
서버 환경에 따라 적을 자리가 다릅니다. 아래는 가장 흔한 구성 기준이고, 적용 전에 현재 설정을 백업하십시오.
이것이 이 항목의 핵심입니다. 파일을 손으로 쓰지 말고, 페이지 목록을 갖고 있는 곳에서 뽑아 내보내십시오. 저희 사이트맵도 상품 테이블을 그대로 읽어 만듭니다. 상품을 하나 숨기면 사이트맵에서도 그 순간 빠집니다.
# 정적 파일이 아니라 라우트로 내보낸다 RewriteRule ^sitemap\.xml$ ops/index.php?r=sitemap [QSA,L]
워드프레스, 그누보드 같은 설치형은 대부분 사이트맵 생성 기능을 갖고 있거나 널리 쓰이는 플러그인이 있습니다. 직접 만들 이유가 없습니다.
한 줄이면 크롤러가 스스로 찾아갑니다. 절대주소로 적어야 하고, 도메인을 옮기면 이 줄도 같이 바뀌어야 합니다.
Sitemap: https://example.com/sitemap.xml
토큰이 들어간 주소, 로그인해야 보이는 페이지, 내용이 거의 없는 폼 페이지는 싣지 않습니다. 색인해 달라고 내미는 목록이므로, 색인되면 곤란한 것과 색인돼도 소용없는 것은 빼는 것이 맞습니다.
05FAQ
자주 묻는 질문
사이트맵을 넣으면 검색 순위가 올라가나요
- 순위가 오르는 것이 아니라 발견이 빨라집니다. 사이트맵은 이런 페이지가 있다고 알려 주는 목록일 뿐이고, 그 페이지가 좋은지 나쁜지는 내용이 정합니다. 다만 발견되지 않은 페이지는 순위 자체가 없으므로, 출발선에 서는 일이라고 보시면 됩니다.
페이지가 몇 개 안 되는 소개 사이트에도 필요한가요
- 효과는 작습니다. 페이지가 열 개 남짓이고 전부 메뉴에서 한 번에 닿는다면 크롤러가 알아서 다 찾습니다. 다만 만드는 비용도 거의 없고, 나중에 게시판이나 상세 페이지가 늘어날 때 이미 있는 편이 낫습니다.
주소가 아주 많으면 어떻게 하나요
- 한 파일에 5만 개, 압축 전 50MB 가 상한입니다. 넘으면 여러 파일로 나누고 그 목록을 가리키는 색인 사이트맵을 하나 둡니다. 구조로 나누면 관리도 쉬워져서, 상품과 게시글을 따로 두는 방식이 많이 쓰입니다.
priority 와 changefreq 는 꼭 적어야 하나요
- 적지 않아도 됩니다. 구글은 이 두 값을 사실상 참고하지 않는다고 밝힌 바 있고, 실제 크롤링 빈도는 페이지가 얼마나 자주 바뀌는지를 관찰해 정합니다. 적더라도 무해하지만 여기에 시간을 들일 이유는 없습니다.
RELATED
같이 보시면 좋은 항목
GET STARTED
내 사이트는
이 항목을 통과할까요
주소만 넣으시면 이 항목을 포함해 25가지를 판정해 점수와 실패 개수를 보여 드립니다. 로그인도, 소유 확인도 필요 없습니다 — 전부 밖에서 관찰만 하는 항목이기 때문입니다.