我正在生成sitemap.xml,它生成了17个文件,其中有网站上的链接,这意味着页面无论是在页眉或页脚或相互链接,但我有50个搜索引擎优化页面,这是没有生成。
我们在网站上没有任何链接,这意味着(页眉、页脚和链接)任何地方它都在视图/页面文件夹中,方法在PagesController中。我想在sitemap.xml中动态生成50个搜索引擎优化页面。它将如何工作?
我是通过Generator.zip文件夹做的。
发布于 2014-02-03 13:51:57
尝尝这个
public function seo_sitemap()
{
$this->autoRender=false;
$data = $this->Page->find('all');
if(!empty($data))
{
$writer = new XMLWriter();
$writer->openURI(WWW_ROOT.'/seo_pages_sitemap.xml');
$writer->startDocument('1.0', 'UTF-8');
$writer->setIndent(4);
$writer->startElement('urlset');
$writer->writeAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
$writer->writeAttribute('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9');
$writer->writeAttribute('xsi:schemaLocation', 'http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd');
foreach ($data as $list)
{
$urls = SITEURL."/".$list['Page']['url'].".html";
$lin=utf8_encode($urls);
$url_date = date(DATE_W3C, strtotime($list['Page']['created']));
$writer->startElement('url');
$writer->writeElement('loc', $lin);
$writer->writeElement('lastmod',trim($url_date));
$writer->writeElement('changefreq', 'always');
$writer->writeElement('priority', '0.8');
$writer->endElement();
}
$writer->endElement();
$writer->endDocument();
echo SITEURL.'sitemap.xml created<br>';
}
}
https://stackoverflow.com/questions/18605837
复制相似问题