在创建新网页时,我使用PHP和XML DOM动态地将新子项添加到我的站点地图。代码使用XML DOM和addchild();更新文件。
我正在开发我的移动兼容版本的网站,并希望机器人正确看到规范页面。
例如,谷歌推荐这种格式(来自google-webmaster dev): <url>
<loc>http://www.example.com/page-1/</loc>
<xhtml:link
rel="alternate"
media="only screen and (max-width: 640px)"
href="http://m.example.com/page-1" />
</url>
标签
<xhtml:link BuNcH oF StUfFD HeRe />
看起来不对我?这是一个格式正确的XML子元素?
下面的语法是否可以接受?:
<url>
<loc>http://www.example.com/page-1/</loc>
<xhtml:link>
rel="alternate"
media="only screen and (max-width: 640px)"
href="http://m.example.com/page-1"
</xhtml:link>
</url>
为什么这对我来说是一个问题,就是我在XML DOM中开发站点地图的方式。据我所知,你只能在XML中添加格式正确的子项。这是我用来生成站点地图的PHP:
$dom = new DOMDocument;
$dom->preserveWhiteSpace = FALSE;
$imagechild = 'image:image';
$imageloc = 'image:loc';
$xml=simplexml_load_file("../sitemap.xml");
$map = $xml->addChild('url');
$map->addChild('loc', "http://mywebsite/".$page_pathloc);
$img = $map->addChild($imagechild, '', 'http://www.google.com/schemas/sitemap-image/1.1');
$img->addChild($imageloc, $img_link);
$dom->formatOutput = TRUE;
$xml->saveXML('../sitemap.xml');