website/hub/sitemaps.py

63 lines
1.3 KiB
Python
Raw Permalink Normal View History

2025-03-03 15:57:08 +01:00
from django.contrib.sitemaps import Sitemap
from django.urls import reverse
from hub.services.models import (
Service,
CloudProvider,
ConsultingPartner,
ServiceOffering,
)
class StaticSitemap(Sitemap):
changefreq = "monthly"
priority = 1.0
def items(self):
return ["services:homepage", "services:contact"]
def location(self, item):
return reverse(item)
class ServiceSitemap(Sitemap):
changefreq = "weekly"
priority = 1.0
def items(self):
return Service.objects.filter(disable_listing=False).exclude(
is_coming_soon=True
)
def lastmod(self, obj):
return obj.updated_at
class OfferingSitemap(Sitemap):
changefreq = "weekly"
priority = 0.7
def items(self):
return ServiceOffering.objects.filter(disable_listing=False)
def lastmod(self, obj):
return obj.updated_at
class CloudProviderSitemap(Sitemap):
changefreq = "weekly"
priority = 0.7
def items(self):
return CloudProvider.objects.filter(disable_listing=False)
class ConsultingPartnerSitemap(Sitemap):
changefreq = "weekly"
priority = 0.7
def items(self):
return ConsultingPartner.objects.filter(disable_listing=False)
def lastmod(self, obj):
return obj.updated_at