사이트맵은 사이트에 있는 페이지, 동영상 및 기타 파일과 그 관계에 관한 정보를 제공하는 파일입니다. Google과 같은 검색엔진은 이 파일을 읽고 사이트를 더 효율적으로 크롤링합니다. 사이트맵은 내가 사이트에서 중요하다고 생각하는 페이지와 파일을 Google에 알리고 중요한 관련 정보를 제공합니다.
크게 아래 단계를 따르게 됩니다.
- 사용할 사이트맵 형식을 결정합니다.
- 자동 또는 수동으로 사이트맵을 만듭니다.
- 사이트맵을 robots.txt에 추가하거나 Search Console에 직접 제출하여 Google에 제공합니다
사이트맵 형식
Google에서는 여러 사이트맵 형식을 지원합니다.
Google은 모든 형식의 표준 사이트맵 프로토콜을 예상합니다. Google은 현재 사이트맵에서 <priority>
속성을 사용하지 않습니다.
형식과 관계없이 사이트맵은 1개당 50MB(압축하지 않은 파일 기준)와 URL 50,000개로 제한됩니다. 파일이 더 크거나 URL이 더 많은 경우, 목록을 여러 개의 사이트맵으로 나눠야 합니다. 사이트맵 색인 파일(사이트맵 목록과 연결된 파일)을 만들어 Google에 색인 파일 하나만 제출하는 방법도 있습니다(선택사항). 즉, Google에 여러 개의 사이트맵을 제출하거나 사이트맵 색인 파일을 제출하면 됩니다.
XML
다음은 단일 URL 위치를 포함하는 매우 기본적인 XML 사이트맵입니다.
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.example.com/foo.html</loc> <lastmod>2018-06-04</lastmod> </url> </urlset>
sitemaps.org에서 복잡한 예와 전체 문서를 확인할 수 있습니다.
대체 언어 페이지를 지정하는 사이트맵과 뉴스, 이미지, 동영상 파일 사이트맵의 예를 확인해 보세요.
RSS, mRSS, Atom 1. 0
RSS 또는 Atom 피드가 블로그에 있는 경우 피드의 URL을 사이트맵으로 제출할 수 있습니다. 대부분의 블로그 소프트웨어에서 대신 피드를 생성할 수 있지만, 이 피드는 최근 URL에 대한 정보만 제공한다는 점을 염두에 두시기 바랍니다.
- Google에서는 RSS 2.0 및 Atom 1.0 피드를 사용할 수 있습니다.
- mRSS(media RSS) 피드를 사용하여 사이트의 동영상 콘텐츠에 대한 세부정보를 Google에 제공할 수 있습니다.
텍스트
사이트맵에 웹페이지 URL만 포함되어 있다면 Google에 한 줄에 하나의 URL을 포함하는 간단한 텍스트 파일을 제공할 수 있습니다. 예를 들면 다음과 같습니다.
http://www.example.com/file1.html http://www.example.com/file2.html
텍스트 파일 사이트맵을 위한 가이드라인
- UTF-8 인코딩을 사용하여 파일을 인코딩합니다.
- 사이트맵 파일에 URL이 아닌 다른 항목을 넣으면 안 됩니다.
- .txt 확장자(예: sitemap.txt)만 있다면 텍스트 파일의 이름을 원하는 대로 정할 수 있습니다.
추가 미디어 유형의 사이트맵 확장 구문
Google에서는 다음 미디어 유형에 확장된 사이트맵 구문을 지원합니다. 색인 생성을 개선하기 위해 이러한 확장된 구문을 사용하여 동영상 파일, 이미지, 기타 사이트에서 파싱하기 어려운 기타 콘텐츠를 설명합니다.
일반 사이트맵 가이드라인
- 일관성 있는 정규화된 URL을 사용합니다. Google에서는 표시된 그대로 URL을 크롤링합니다. 예를 들어, 사이트가 https://www.example.com/에 있다면 URL을 https://example.com/(www 누락) 또는 ./mypage.html(상대 URL)로 지정해서는 안 됩니다.
- 사이트맵은 사이트의 어디에나 게시할 수 있지만 사이트맵은 상위 디렉터리의 하위 항목에만 영향을 줍니다. 따라서 사이트 루트에 게시된 사이트맵은 사이트의 모든 파일에 영향을 줄 수 있으므로 여기에 게시하는 것을 권장합니다.
- 사이트맵에 URL의 세션 ID가 포함되지 않아야 합니다. 그러면 이러한 URL의 중복 크롤링을 줄일 수 있습니다.
- hreflang 주석을 사용하여 URL의 대체 언어 버전을 Google에 알립니다.
- 사이트맵 파일은 UTF-8로 인코딩되어야 하며 적절하게 URL을 이스케이프 처리해야 합니다.
- 대형 사이트맵을 분할하여 여러 개의 소형 사이트맵으로 만들 수 있습니다. 사이트맵은 최대 50,000개의 URL을 포함할 수 있으며 압축하지 않은 상태에서 50MB를 초과하면 안 됩니다. 사이트맵 색인 파일을 사용하여 모든 사이트맵을 표시하고 개별 사이트맵 대신 이 하나의 파일을 Google에 제출합니다.
- 사이트맵에는 표준 URL만 표시합니다. 페이지의 버전이 두 개인 경우 검색결과에 표시할 버전만 사이트맵에 등록합니다. 사이트의 버전이 두 개인 경우(예: www 및 www가 아닌 사이트) 선호하는 사이트를 결정하여 해당 사이트에 사이트맵을 게시하고 나머지 사이트에는 rel=canonical 또는 리디렉션을 추가합니다.
- 페이지의 모바일 버전과 데스크톱 버전 URL이 다르다면 사이트맵에서 한 버전에만 연결하는 것이 좋습니다. 하지만, 두 URL을 모두 가리키도록 하려면 URL에 주석을 추가하여 데스크톱 버전과 모바일 버전을 표시합니다.
- 사이트맵 확장 구문을 사용하여 동영상, 이미지, 뉴스와 같은 추가 미디어 유형에 연결할 수 있습니다.
- 다른 언어 또는 지역의 대체 페이지가 있다면 사이트맵 또는 HTML 태그로 hreflang을 사용하여 대체 URL을 표시할 수 있습니다.
- 영숫자 및 라틴어 이외의 문자. 사이트맵 파일은 UTF-8로 인코딩해야 하며, 일반적으로 파일을 저장할 때 UTF-8 인코딩이 가능합니다. 모든 XML 파일과 마찬가지로 모든 데이터 값(URL 포함)은 다음 표에 있는 문자에 엔티티 이스케이프 코드를 사용해야 합니다. 사이트맵에는 ASCII 문자만 포함할 수 있습니다. 확장된 ASCII 문자나 특정 제어 코드, * 및 {} 등의 특수 문자는 사용하면 안 됩니다. 이러한 문자가 포함된 사이트맵 URL을 추가하면 오류가 발생합니다.
문자 기호 이스케이프 코드 앰퍼샌드 &
&
작은따옴표 '
'
큰따옴표 "
"
초과 >
>
미만 <
<
또한 사이트맵 URL을 포함한 모든 URL은 URL이 위치하고 이스케이프된 웹 서버에서 쉽게 읽을 수 있도록 인코딩되어야 합니다. 그러나 종류에 관계없이 스크립트나 도구, 로그 파일을 사용하여(URL을 직접 입력하는 경우 제외) URL을 작성하면 대개 인코딩 작업이 알아서 완료됩니다. 사이트맵을 제출했는데 Google에서 일부 URL을 찾을 수 없다는 오류가 표시된다면 URL이 RFC-3986 표준(URI의 경우), RFC-3987 표준(IRI의 경우), XML 표준을 따르는지 확인하세요.
다음은 ASCII 이외의 문자(ü)와 엔티티 이스케이프 처리가 필요한 문자(&)를 사용하는 URL의 예입니다.
http://www.example.com/ümlat.html&q=name
다음은 동일한 URL을 ISO-8859 인코딩을 사용하여 인코딩하고 엔티티 이스케이프 처리한 예입니다.
http://www.example.com/%FCmlat.html&q=name
다음은 동일한 URL을 UTF-8 인코딩을 사용하고 엔티티 이스케이프 처리한 예입니다.
http://www.example.com/%C3%BCmlat.html&q=name
- 사이트맵은 어떤 페이지가 중요한지 Google에 알려주는 제안입니다. Google에서는 사이트맵에 있는 모든 URL을 크롤링한다고 보장하지 않습니다.
- Google에서는 <priority> 및 <changefreq> 값을 무시합니다.
- Google에서는 <lastmod> 값이 일관되고 정확성을 검증(예: 페이지의 마지막 수정사항과 비교)할 수 있는 경우에 이 값을 사용합니다.
- 사이트맵에서 URL 위치는 중요하지 않습니다. Google은 사이트맵에 표시된 순서대로 URL을 크롤링하지 않습니다.
사이트맵 만들기
사이트맵을 만들면 검색결과에 표시할 URL을 검색엔진에 알려주게 됩니다. 이러한 URL이 표준 URL입니다. 여러 URL에서 동일한 콘텐츠에 액세스할 수 있는 경우 동일한 콘텐츠로 연결되는 모든 URL 대신 원하는 URL을 선택하여 사이트맵에 포함합니다.
사이트맵에 포함할 URL을 정한 후 사이트 아키텍처와 크기에 따라 다음 방법 중 하나를 선택하여 사이트맵을 만듭니다.
- CMS에서 사이트맵을 생성하도록 합니다.
- URL이 수십 개 미만인 사이트맵의 경우 사이트맵을 수동으로 생성할 수 있습니다.
- URL이 수십 개 이상인 사이트맵의 경우 사이트맵을 자동으로 생성합니다.
CMS에서 사이트맵을 생성하도록 하기
WordPress, Wix, Blogger와 같은 CMS를 사용하는 경우 CMS가 이미 검색엔진에 제공할 수 있는 사이트맵을 만들었을 수 있습니다. CMS에서 사이트맵을 생성하는 방법 또는 CMS가 사이트맵을 자동으로 생성하지 않는 경우 사이트맵을 만드는 방법에 관한 정보를 검색해 보세요. 예를 들어 Wix의 경우 ‘wix 사이트맵’을 검색합니다.
다른 모든 사이트 설정의 경우 사이트맵을 직접 생성해야 합니다.
수동으로 사이트맵 생성하기
URL이 수십 개 미만인 사이트맵의 경우 사이트맵을 수동으로 생성할 수 있습니다. 수동으로 생성하려면 Windows 메모장 또는 Nano(Linux, MacOS)와 같은 텍스트 편집기를 열고 사이트맵 형식 섹션에 설명된 구문을 따릅니다.
수동으로도 더 큰 사이트맵을 만들 수는 있지만 지루한 작업을 해야 합니다.
자동으로 사이트맵 생성하기
URL이 수십 개 이상인 사이트맵의 경우 사이트맵을 생성해야 합니다. 사이트맵을 생성할 수 있는 다양한 도구가 있습니다. 그러나 가장 좋은 방법은 웹사이트 소프트웨어에서 생성하게 하는 것입니다. 예를 들어 웹사이트 데이터베이스에서 사이트 URL을 추출한 다음 웹 서버의 화면이나 실제 파일로 URL을 내보낼 수 있습니다. 이 솔루션에 관해서는 개발자나 서버 관리자에게 문의하세요. 코드에 관한 아이디어가 필요하면 타사 사이트맵 생성기의 이전 컬렉션을 확인하세요.
사이트맵은 50MB를 초과할 수 없다는 점에 주의하세요. 대규모 사이트맵 관리에 관해 자세히 알아보세요.
Google에 사이트맵 제출
Google에서는 사이트가 크롤링될 때마다 사이트맵을 확인하지는 않습니다. 사이트맵을 처음 발견했을 때만 확인하며 이후에는 사이트맵을 변경했다는 사실이 핑된 경우에만 확인합니다. 사이트맵을 새롭게 변경했거나 업데이트했을 때만 Google에 알립니다. 변경되지 않은 사이트맵을 여러 번 제출하거나 핑하지 마세요.
사이트맵에서 페이지를 업데이트한 경우 페이지를<lastmod>입력란으로 표시합니다. 다른 XML 파일에도 이와 비슷한 입력란이 있습니다(Atom XML의 경우<ujpdated>). 이 날짜를 계산하는 방법도 알아보세요.
Google에 사이트맵을 제공하는 데 몇 가지 방법이 있습니다.
- 사이트맵 보고서를 사용하여 사이트맵을 제출합니다.
- 핑 도구를 사용합니다. 브라우저나 명령줄에서 이 주소로 GET 요청을 보내 사이트맵의 전체 URL을 지정합니다. 이때 사이트맵 파일에 액세스할 수 있는지 확인합니다.
https://www.google.com/ping?sitemap=FULL_URL_OF_SITEMAP
예:
https://www.google.com/ping?sitemap=https://example.com/sitemap.xml
- robots.txt 파일 내 아무 곳에나 다음 행을 삽입하여 사이트맵으로 연결되는 경로를 지정합니다. 그렇게 하면 Google에서 다음번에 robots.txt 파일을 크롤링할 때 경로를 확인하게 됩니다.
Sitemap: https://example.com/my_sitemap.xml
- 사이트맵에 Atom/RSS를 사용하며 Google뿐만 아니라 다른 검색엔진에도 변경사항을 브로드캐스트하려는 경우 WebSub를 사용합니다.
사이트맵을 제출하는 것은 힌트를 주는 정도밖에 안 됩니다. Google에서 사이트맵을 다운로드하거나 사이트의 URL 크롤링에 사이트맵을 사용한다고 보장하지 않습니다.