diff --git a/acros/sitemaps.py b/acros/sitemaps.py index e2b9362..e4ebbc9 100644 --- a/acros/sitemaps.py +++ b/acros/sitemaps.py @@ -1,6 +1,7 @@ from django.contrib.sitemaps import Sitemap +from django.urls import reverse -from .models import Acronym +from .models import Acronym, Tag class AcronymSitemap(Sitemap): @@ -12,3 +13,27 @@ class AcronymSitemap(Sitemap): def lastmod(self, obj: Acronym): return obj.modified_date + + +class TagsSitemap(Sitemap): + changefreq = "weekly" + priority = 0.5 + + def items(self): + return Tag.objects.all() + + +class StaticPagesSitemap(Sitemap): + changefreq = "weekly" + priority = 0.9 + + def items(self): + return [ + reverse("index"), + reverse("overview"), + reverse("tags"), + reverse("integrations") + ] + + def location(self, url): + return url diff --git a/acros/urls.py b/acros/urls.py index fe81fb2..daf1d7b 100644 --- a/acros/urls.py +++ b/acros/urls.py @@ -7,14 +7,16 @@ from rest_framework import routers from acronomy import settings from . import views -from .sitemaps import AcronymSitemap +from .sitemaps import AcronymSitemap, StaticPagesSitemap, TagsSitemap router = routers.DefaultRouter() router.register(r'acronym', views.AcronymViewSet) router.register(r'tag', views.TagViewSet) sitemaps = { - "acronyms": AcronymSitemap + "static": StaticPagesSitemap, + "acronyms": AcronymSitemap, + "tags": TagsSitemap } urlpatterns = [