0

为了解决 magento 将当前日期放入站点地图的 lastmod 字段的事实。这会导致抓取率低下,我修改了 Sitemap.php (app/code/local/Mage/Sitemap/Model/Sitemap.php) 中的日期,如下所示:

    /*
     * Generate categories sitemap
     **/

    $changefreq = (string)Mage::getStoreConfig('sitemap/category/changefreq', $storeId);
    $priority   = (string)Mage::getStoreConfig('sitemap/category/priority', $storeId);
    $collection = Mage::getResourceModel('sitemap/catalog_category')->getCollection($storeId);
    foreach ($collection as $item) {
        $xml = sprintf('<url><loc>%s</loc><lastmod>%s</lastmod><changefreq>%s</changefreq><priority>%.1f</priority></url>',
            htmlspecialchars($baseUrl . $item->getUrl()),
            substr(Mage::getModel('catalog/category')->load($item->getId())->getUpdatedAt(),0,10),  //---> here the changes
            $changefreq,
            $priority
        );
        $io->streamWrite($xml);
    }

这是可行的,但我注意到我的sitemap.xml(www.edenglamode.com/sitemap.xml)中的一些url对于一些lastmod是空的,所以谷歌抱怨了这一点,我尝试对产品进行一些修改并重新生成站点地图但没有办法

<url>
 <loc>
   http://www.edenglamode.com/robe-courte-sexy-bustier-avec-ceinture.html
 </loc>
   <lastmod/>
   <changefreq>hourly</changefreq>
  <priority>1.0</priority>
</url>

你能帮我解决这个问题吗?

4

1 回答 1

0

如果产品 lastmod 时间为 NULL,那么您应该加载产品,将 DATE 添加为 lastmod,保存产品并将 DATE 写入您的 XML。下一次它不会有问题,因为 lastmod 存在。然后它将能够写出站点地图条目,而无需等待 Magento 加载“n”保存产品的时间。

Can I enquire as to how you ended up with no lastmod times? Did you import the products en-masse and not open them in admin?

于 2012-09-20T18:47:19.017 回答