sitemap magento lastmod

时间:2012-09-20 12:49:14

标签: php magento magento-1.7

为了解决magento将当前日期放入sitemap的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中的某些url的某些lastmod是空的(www.edenglamode.com/sitemap.xml) 所以谷歌抱怨这一点,我尝试了对产品的一些修改并重新生成了站点地图,但没办法

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

你能帮我解决一下吗?

1 个答案:

答案 0 :(得分:0)

如果产品lastmod时间为NULL,则应加载产品,将DATE添加为lastmod,保存产品并将DATE写入XML。下一次,它将不会出现lastmod存在的问题。然后,它就可以写出站点地图条目,而无需等待Magento加载'n'保存产品的年龄。

我可以询问你是如何结束没有lastmod时间的吗?您是否已集中导入产品而未在管理中打开它们?