创建站点地图但 Google 无法获取错误
Created A Sitemap But Google Couldn't Fetch Error
在 Django 中,我为我的项目创建了站点地图。我没有使用内置的 django 站点地图框架。我创建了一个视图和模板并从 urls.py 指向它。当我在资源管理器中打开它时,站点地图工作正常。但是当我将我的站点地图添加到我的搜索控制台时 google 给我无法获取错误。
无法弄清楚问题出在哪里。有什么想法吗?
我的看法:
class SitemapPost(ListView):
model = Movies
ordering = ['-pk']
template_name = "front/sitemap-post.xml"
content_type='application/xml'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
today = datetime.now()
context['today'] = datetime.now()
return context
网址:
path('sitemap-post.xml', SitemapPost.as_view(),name='sitemap-post'),
模板:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd http://www.google.com/schemas/sitemap-image/1.1 http://www.google.com/schemas/sitemap-image/1.1/sitemap-image.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{% for object in object_list %}
<url>
<loc>https://{{request.get_host}}{{ object.get_absolute_url }}</loc>
<lastmod>{{today|date:"Y-m-d"}}</lastmod>
<changefreq>daily</changefreq>
<priority>0.9</priority>
</url>
{% endfor %}
</urlset>
这是我的站点地图文件:link
机器人文本:
Sitemap: https://olefilm.icu/sitemap-post.xml
User-Agent: *
Disallow: /headoffice/
Disallow: /admin/
Disallow: /accounts/login/
为什么不使用django站点地图框架?这很好。无论如何,请尝试将其添加到您的 robots.txt
文件
Sitemap: linkToSitemap
User-agent: Googlebot
Disallow:
User-agent: AdsBot-Google
Disallow:
User-agent: Googlebot-Image
Disallow:
这允许 Google 抓取您的网站,因为某些服务器会自动阻止它。如果您还没有将其添加到您的网址,请务必将其添加
path('robots.txt', TemplateView.as_view(template_name="robots.txt", content_type="text/plain"),),
已解决**
我更改了域名,然后重试。有效。
我认为这是 Search Console 的错误。
在 Django 中,我为我的项目创建了站点地图。我没有使用内置的 django 站点地图框架。我创建了一个视图和模板并从 urls.py 指向它。当我在资源管理器中打开它时,站点地图工作正常。但是当我将我的站点地图添加到我的搜索控制台时 google 给我无法获取错误。
无法弄清楚问题出在哪里。有什么想法吗?
我的看法:
class SitemapPost(ListView):
model = Movies
ordering = ['-pk']
template_name = "front/sitemap-post.xml"
content_type='application/xml'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
today = datetime.now()
context['today'] = datetime.now()
return context
网址:
path('sitemap-post.xml', SitemapPost.as_view(),name='sitemap-post'),
模板:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd http://www.google.com/schemas/sitemap-image/1.1 http://www.google.com/schemas/sitemap-image/1.1/sitemap-image.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{% for object in object_list %}
<url>
<loc>https://{{request.get_host}}{{ object.get_absolute_url }}</loc>
<lastmod>{{today|date:"Y-m-d"}}</lastmod>
<changefreq>daily</changefreq>
<priority>0.9</priority>
</url>
{% endfor %}
</urlset>
这是我的站点地图文件:link
机器人文本:
Sitemap: https://olefilm.icu/sitemap-post.xml
User-Agent: *
Disallow: /headoffice/
Disallow: /admin/
Disallow: /accounts/login/
为什么不使用django站点地图框架?这很好。无论如何,请尝试将其添加到您的 robots.txt
文件
Sitemap: linkToSitemap
User-agent: Googlebot
Disallow:
User-agent: AdsBot-Google
Disallow:
User-agent: Googlebot-Image
Disallow:
这允许 Google 抓取您的网站,因为某些服务器会自动阻止它。如果您还没有将其添加到您的网址,请务必将其添加
path('robots.txt', TemplateView.as_view(template_name="robots.txt", content_type="text/plain"),),
已解决**
我更改了域名,然后重试。有效。 我认为这是 Search Console 的错误。