我正在生成 sitemap.xml,它生成了 17 个在网站上有链接的文件,这意味着页面在页眉或页脚或相互链接中,但我有 50 个未生成的 SEO 页面。
我们在站点上没有任何链接(页眉、页脚和链接),它位于 View/Pages 文件夹中,方法位于 PagesController 中。我想在 sitemap.xml 中动态生成 50 个 SEO 页面。它将如何运作?
我正在通过 Generator.zip 文件夹进行操作。
我正在生成 sitemap.xml,它生成了 17 个在网站上有链接的文件,这意味着页面在页眉或页脚或相互链接中,但我有 50 个未生成的 SEO 页面。
我们在站点上没有任何链接(页眉、页脚和链接),它位于 View/Pages 文件夹中,方法位于 PagesController 中。我想在 sitemap.xml 中动态生成 50 个 SEO 页面。它将如何运作?
我正在通过 Generator.zip 文件夹进行操作。
尝试这个
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>';
}
}