사이트맵 생성기¶
이 문서는 wagtail.contrib.sitemaps 모듈을 사용하여 Wagtail 웹사이트용 XML 사이트맵을 만드는 방법을 설명합니다.
참고
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" 를 추가해야 합니다.
INSTALLED_APPS = [
...
"django.contrib.sitemaps",
]
그런 다음 urls.py 에 사이트맵을 생성하는
wagtail.contrib.sitemaps.views.sitemap 뷰에 대한 링크를 추가해야 합니다.
from wagtail.contrib.sitemaps.views import sitemap
urlpatterns = [
...
path('sitemap.xml', sitemap),
...
# 'sitemap' 줄이 기본 Wagtail 페이지 제공 경로 위에 오도록 합니다.
path("", include(wagtail_urls)),
]
이제 /sitemap.xml 로 이동하여 사이트맵이 작동하는 것을 볼 수 있습니다.
기본적으로 웹사이트의 모든 게시된 페이지가 사이트맵에 추가됩니다.
호스트 이름 설정¶
기본적으로 사이트맵은 Wagtail 관리자의
Sites 영역에 정의된 호스트 이름을 사용합니다. 기본 사이트 이름이 localhost 인 경우
사이트맵의 URL은 다음과 같습니다.
<url>
<loc>http://localhost/about/</loc>
<lastmod>2015-09-26</lastmod>
</url>
Google Search Tools와 같은 도구가 사이트를 올바르게 색인화하려면
유효하고 크롤링 가능한 호스트 이름을 설정해야 합니다. 사이트의 호스트 이름을
localhost 에서 mysite.com 으로 변경하면 sitemap.xml 에 올바른 URL이 포함됩니다.
<url>
<loc>http://mysite.com/about/</loc>
<lastmod>2015-09-26</lastmod>
</url>
사이트의 포트를 443 으로 변경하면 https 스키마가 사용됩니다.
사이트 작업에 대해 자세히 알아보십시오.
사용자 지정¶
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
문서를 참조하십시오.