1. sitemap.xml 개요
1.1 sitemap.xml의 역할
- 검색 엔진(예: Google, Bing 등)이 웹사이트의 페이지를 효과적으로 크롤링하도록 안내한다.
- 웹사이트의 URL 목록을 제공하여 인덱싱을 촉진한다.
- 특정 페이지의 마지막 수정 날짜(Last Modified Date), 우선순위(Priority), 갱신 빈도(Change Frequency) 등의 정보를 포함할 수 있다.
- 검색 엔진이 수집하지 못할 수도 있는 동적 생성 페이지나 깊숙한 경로의 페이지를 발견하도록 돕는다.
1.2 sitemap.xml이 필요한 이유
- SEO(Search Engine Optimization) 최적화: 웹사이트의 모든 페이지를 검색 엔진에 빠르게 노출할 수 있다.
- 사이트 구조 개선: 검색 엔진이 사이트의 계층 구조를 쉽게 파악할 수 있다.
- 콘텐츠 갱신 알림: 새로운 콘텐츠가 추가되었거나 업데이트된 페이지를 검색 엔진이 빠르게 감지할 수 있다.
2. sitemap.xml 기본 구조
- sitemap.xml은 XML 형식으로 작성되며, 아래와 같은 기본적인 구조를 가진다.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/</loc>
<lastmod>2025-02-15</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://example.com/about</loc>
<lastmod>2025-02-10</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
2.1 주요 태그 설명
<urlset> | sitemap을 정의하는 최상위 태그이며, xmlns 속성을 포함해야 한다. |
<url> | 각 URL을 감싸는 개별 항목이다. |
<loc> | 페이지의 URL을 지정한다. |
<lastmod> | 페이지의 마지막 수정 날짜(YYYY-MM-DD 형식)이다. |
<changefreq> | 페이지 변경 빈도를 나타낸다. (always, hourly, daily, weekly, monthly, yearly, never) |
<priority> | 페이지의 중요도를 0.0에서 1.0 사이의 값으로 설정한다. (1.0이 가장 중요) |
3. sitemap.xml 설정 방법
3.1 직접 작성하여 업로드
- sitemap.xml 파일을 생성한다.
- 위와 같은 XML 형식으로 URL을 추가한다.
- 웹사이트의 루트 디렉토리에 sitemap.xml을 업로드한다. (https://example.com/sitemap.xml)
3.2 자동 생성 도구 사용
- 온라인 사이트맵 생성기: XML-Sitemaps
- WordPress 플러그인: Yoast SEO, Rank Math
3.3 Google Search Console에 제출
- Google Search Console 접속: Google Search Console
- 웹사이트 등록 (소유권 확인 필요)
- Sitemaps 탭 이동
- sitemap.xml 경로 입력 후 제출 (https://example.com/sitemap.xml)
4. 여러 개의 sitemap.xml 관리
4.1 sitemap index 파일 사용
- 대규모 웹사이트의 경우 여러 개의 sitemap.xml 파일을 생성하고 sitemap_index.xml을 통해 관리할 수 있다.
<https://example.com/sitemap-pages.xml>
2025-02-15
<https://example.com/sitemap-posts.xml>
2025-02-15
- 각 서브 사이트맵 파일(sitemap-pages.xml, sitemap-posts.xml)에는 특정한 유형의 URL만 포함할 수 있다.
5. robots.txt에서 sitemap.xml 등록
- 검색 엔진이 sitemap.xml을 쉽게 찾도록 robots.txt 파일에 다음과 같이 추가할 수 있다.
User-agent: *
Disallow: /private/
Sitemap: <https://example.com/sitemap.xml>
- 이렇게 하면 검색 엔진은 웹사이트 크롤링 시 sitemap.xml을 참조하게 된다.
6. sitemap.xml의 Best Practice
- 최대 50,000개의 URL 포함 가능 (그 이상은 여러 개의 sitemap 파일로 분할)
- 파일 크기는 50MB 이하로 유지 (압축된 sitemap.xml.gz도 가능)
- 동적으로 생성되는 웹사이트의 경우 자동 업데이트 시스템 구축 (CMS 또는 Python, PHP 등으로 자동 생성)
- 404, 301 리디렉션 URL은 포함하지 않기 (정상적인 페이지만 등록)
- Google Search Console에서 제출 후 오류 확인 (잘못된 URL, 인덱싱 불가능한 페이지 확인)
참고 자료
https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap?hl=ko
'Hack&Dev > Web' 카테고리의 다른 글
Flask 디버그 모드에서의 LFI(Local File Inclusion) 및 PIN 탈취 취약점 (0) | 2025.02.22 |
---|---|
TXT 레코드란? (0) | 2025.02.15 |
스왑 파일(Swap File)이란? (0) | 2025.02.15 |
HTML 엔티티(HTML Entities)란? (XSS 방지) (2) | 2025.02.14 |
널 바이트 인젝션 분석 및 활용 (0) | 2025.02.14 |