Найти - Пользователи
Полная версия: sitemap
Начало » Python для новичков » sitemap
1
asdfghhgfdsa
Что означает <lastmod>. Это дата последнего изменения в информации по фильму или добавления фильма на сайт? В карте сайта не проставляет дату последнего изменения. Вот такая ситуация:


Обнаружили что сервер не ставит дату изменений в sitemap.xml

25 октября в 17:36 мы поменяли текст на странице http://vidozon.com/online/macho-i-botan/2/
Но в карте сайта ничего не поменялось. Должна ли отображаться дата любого изменения на странице?


<loc>vidozon.com/online/macho-i-botan/2/</loc>
<lastmod>2014-10-04</lastmod>
<changefreq>daily</changefreq>
<priority>0.5</priority>


Этот фильм находится в http://vidozon.com/sitemap-Movie.xml под №2.
Разработчики сайта вообще не включили <lastmod>, сами нашли , что он необходим. Добавили только недавно. Не знаем правильно ли сделали, потому что исправление доверили тем же разработчикам. Теперь уж не знаем правильно ли вообще составлена карта сайта.
Alen
asdfghhgfdsa
Это дата последнего изменения в информации по фильму или добавления фильма на сайт?

Эта та дата, которую вы хотите сообщить поисковым роботам, для обновления поискового индекса.
Обычно это дата последней модификации страницы.

asdfghhgfdsa
Должна ли отображаться дата любого изменения на странице?

Как запрограммируете так и будет.
Все примеры для Django.
Можете сделать статичной:
import datetime
from django.contrib.sitemaps import Sitemap
from django.core.urlresolvers import reverse
class StaticViewSitemap(Sitemap):
    priority = 0.7
    changefreq = 'monthly'
    lastmod = datetime.datetime(2014, 11, 20)
    def items(self):
        return ['main', 'about', 'films',
                'feedback', 'pricing',
                'documents', 'partner']
    def location(self, item):
        return reverse(item)

Можете врать, что вот оно только родилось:

import datetime
from django.contrib.sitemaps import Sitemap
from django.core.urlresolvers import reverse
class NowViewSitemap(Sitemap):
    priority = 0.7
    changefreq = 'monthly'
    lastmod = datetime.datetime.now()
    def items(self):
        return ['main', 'about', 'films',
                'feedback', 'pricing',
                'documents', 'partner']
    def location(self, item):
        return reverse(item)

Можете выдавать реальное время изменений из свой базы данных, например, если контента много то только самый свежак не позднее чем за 2 дня до, как-то так:
import datetime
from django.contrib.sitemaps import Sitemap
from myproject.core.models import Content 
class RealViewSitemap(Sitemap):
    priority = 0.7
    changefreq = 'monthly'
    def items(self):
        # Choose from a data source for the data which is necessary to build file sitemap
        return Content.objects.filter(ready=True,
                                      date_create__gt=self.two_days()).order_by('id')
    @staticmethod
    def lastmod(obj):
        return obj.date_create  # The method returns a date that is specified in the parameter lastmod
    def location(self, obj):
        # The method returns the URL that is specified in the parameter loc
        return "/?v=%s" % obj.link_web
    @staticmethod
    def two_days():
        return datetime.datetime.now() - datetime.timedelta(days=2)
asdfghhgfdsa
спасибо, наконец дельный ответ.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB