0

我正在使用 Django 站点地图框架。

你可以在这里看到我的站点地图:

https://dealmazing.com/sitemap.xml

它似乎正在接收我的博客/blog

但不是我的实际博客文章。看起来它正在一遍又一遍地记录实际的帖子,dealmazing.com/blog但没有真实的 URL

这是我的 sitemaps.xml 文件

from django.contrib import sitemaps
from django.contrib.sitemaps import Sitemap
from django.urls import reverse
from deals.models import Deal, Category, Retailer
from blog.models import Post, BlogCategory

class StaticViewSitemap(sitemaps.Sitemap):
    priority = 1.0
    changefreq = 'daily'

    def items(self):
        return ['about', 'contact', 'disclosure', 'terms', 'privacy', 'deals:deals', 'blog:blog']

    def location(self,item):
        return reverse(item)


class BlogSitemap(Sitemap):
    changfreq = "daily"
    priority = 1.0
    location ='/blog'

    def items(self):
        return Post.objects.filter(status='Published')

    def lastmod(self, obj):
        return obj.created

class BlogCategorySitemap(Sitemap):
    changfreq = "daily"
    priority = 1.0

    def items(self):
        return BlogCategory.objects.all()

class DealCategorySitemap(Sitemap):
    changfreq = "daily"
    priority = 1.0

    def items(self):
        return Category.objects.all()

class RetailerSitemap(Sitemap):
    changfreq = "daily"
    priority = 1.0

    def items(self):
        return Retailer.objects.all()


class DealSitemap(Sitemap):
    changfreq = "daily"
    priority = 1.0

    def items(self):
        return Deal.objects.all()

    def lastmod(self, obj):
        return obj.date_added

在我的 urls 文件中

sitemaps = {
    'static': StaticViewSitemap,
    'blog': BlogSitemap,
    'blog-category': BlogCategorySitemap,
    'deals': DealSitemap,
    'deals-category': DealCategorySitemap,
    'retailers': RetailerSitemap
}

 path('sitemap.xml', sitemap,
         {'sitemaps': sitemaps},
         name='django.contrib.sitemaps.views.sitemap'),

我不能完全确定为什么它没有发布完整的 URL

4

0 回答 0