首 页  >>  E商学院  >>  Magento探索  >>  修改magento的sitemap.xml

修改magento的sitemap.xml

如想屏蔽掉cms pages相关的单页面,首页在/app/code/core/Mage/Sitemap/Model这个路径下找到Sitemap.php,打开以后找到Generate cms pages sitemap(大概在171行左右)原文如下

/**

* Generate cms pages sitemap

*/

$changefreq = (string)Mage::getStoreConfig('sitemap/page/changefreq', $storeId);
$priority = (string)Mage::getStoreConfig('sitemap/page/priority', $storeId);
$collection = Mage::getResourceModel('sitemap/cms_page')->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()),
$date,
$changefreq,
$priority
);
$io->streamWrite($xml);
}
unset($collection);

修改为:

/**
* Generate cms pages sitemap

$changefreq = (string)Mage::getStoreConfig('sitemap/page/changefreq', $storeId);
$priority = (string)Mage::getStoreConfig('sitemap/page/priority', $storeId);
$collection = Mage::getResourceModel('sitemap/cms_page')->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()),
$date,
$changefreq,
$priority
);
$io->streamWrite($xml);
}
unset($collection);
*/

也就是把这段给注释掉,这样就屏蔽掉那些单页面了

然后就是sitemap中没有首页,这个需要我们自己加上了,这个是我参考别人的,代码如下:

/**

* Generate index sitemap

*/

$xml= sprintf('<url><loc>%s</loc><lastmod>%s</lastmod><changefreq>daily</changefreq><priority>%.1f</priority></url>',

htmlspecialchars($baseUrl),

$date,

$changefreq,

$priority

);

$io->streamWrite($xml);



以上这段代码加在以下代码前就可以了:

$io->streamWrite('</urlset>');
$io->streamClose();

$this->setSitemapTime(Mage::getSingleton('core/date')->gmtDate('Y-m-d H:i:s'));
$this->save();

return $this;
}
}


点击次数:2136  发布日期:2013-04-13  【打印此页】  【关闭