(sitemap_generation)= # 사이트맵 생성기 이 문서는 `wagtail.contrib.sitemaps` 모듈을 사용하여 Wagtail 웹사이트용 XML 사이트맵을 만드는 방법을 설명합니다. ```{note} Wagtail 1.10부터 Django contrib sitemap 앱이 사이트맵을 생성하는 데 사용됩니다. 그러나 Wagtail은 사이트맵 생성 중에 Site 인스턴스를 사용할 수 있어야 하므로 Django에서 제공하는 뷰(`django.contrib.sitemaps.views`) 대신 `wagtail.contrib.sitemaps.views` 모듈의 뷰를 사용해야 합니다. 이러한 뷰의 사용법은 동일하며, 이는 사이트맵의 사용자 지정 및 캐싱이 기본 Django 패턴을 사용하여 수행됨을 의미합니다. 자세한 내용은 Django 문서를 참조하십시오. ``` ## 기본 구성 먼저 Django 설정 파일의 INSTALLED_APPS에 `"django.contrib.sitemaps"` 를 추가해야 합니다. ```python INSTALLED_APPS = [ ... "django.contrib.sitemaps", ] ``` 그런 다음 `urls.py` 에 사이트맵을 생성하는 `wagtail.contrib.sitemaps.views.sitemap` 뷰에 대한 링크를 추가해야 합니다. ```python from wagtail.contrib.sitemaps.views import sitemap urlpatterns = [ ... path('sitemap.xml', sitemap), ... # 'sitemap' 줄이 기본 Wagtail 페이지 제공 경로 위에 오도록 합니다. path("", include(wagtail_urls)), ] ``` 이제 `/sitemap.xml` 로 이동하여 사이트맵이 작동하는 것을 볼 수 있습니다. 기본적으로 웹사이트의 모든 게시된 페이지가 사이트맵에 추가됩니다. ## 호스트 이름 설정 기본적으로 사이트맵은 Wagtail 관리자의 `Sites` 영역에 정의된 호스트 이름을 사용합니다. 기본 사이트 이름이 `localhost` 인 경우 사이트맵의 URL은 다음과 같습니다. ```xml http://localhost/about/ 2015-09-26 ``` Google Search Tools와 같은 도구가 사이트를 올바르게 색인화하려면 유효하고 크롤링 가능한 호스트 이름을 설정해야 합니다. 사이트의 호스트 이름을 `localhost` 에서 `mysite.com` 으로 변경하면 `sitemap.xml` 에 올바른 URL이 포함됩니다. ```xml http://mysite.com/about/ 2015-09-26 ``` 사이트의 포트를 `443` 으로 변경하면 `https` 스키마가 사용됩니다. [사이트 작업](site_model_ref)에 대해 자세히 알아보십시오. ## 사용자 지정 ### URL `Page` 클래스는 `get_sitemap_urls` 메서드를 정의하며, `Page` 인스턴스별로 사이트맵을 사용자 지정하기 위해 재정의할 수 있습니다. 이 메서드는 요청 객체를 수락하고 사이트맵의 URL 항목당 하나의 사전 목록을 반환해야 합니다. 빈 목록을 반환하여 사이트맵에서 페이지를 제외할 수 있습니다. 각 사전에는 다음이 포함될 수 있습니다. - **location** (필수) - 사이트맵에 추가할 전체 URL 경로입니다. - **lastmod** - 페이지가 마지막으로 수정된 시점으로 설정된 Python 날짜 또는 날짜/시간입니다. - **changefreq** - **priority** 더 추가할 수 있지만 사이트맵에 표시되도록 `sitemap.xml` 템플릿을 재정의해야 합니다. ## 여러 사이트맵 제공 Django에서 사이트맵 색인을 지원하려면 `django.contrib.sitemaps.views` 의 색인 뷰 대신 `wagtail.contrib.sitemaps.views` 의 색인 뷰를 사용해야 합니다. 자세한 내용은 Django 문서를 참조하십시오.