存在 Element ‘url’: Missing child element(s). Expected is ( data ). 错误
当时也没在意,最近使用百度推出 sitemap 插件时,再次看了下百度适配说明以及百度适配的参考格式,终于知道原来不是提交我们所常见 sitemap.xml,而是一种手机—PC 的 url 对应关系!
参考格式:
<?xml version="1.0" encoding="UTF-8"?> <urlset> <!-- urlset 用来标记整个文档的开头 --> <url> <!-- url 标记每条信息的开始和结束 --> <loc>http://www.example.com.cn/</loc> <!-- 该条数据的存放地址 --> <lastmod>2010-11-20</lastmod> <!-- 指该条数据的最新一次更新时间 --> <changefreq>always</changefreq> <!-- 指该条数据的更新频率 --> <priority>1.0</priority> <!-- 用来指定此链接相对于其他链接的优先权比值,此值定于 0.0-1.0 之间 --> <data> <display> <html5_url>http://html5.example.com.cn/</html5_url> <!-- 可选,表示该 PC 页对应的 html5 版式的手机页的 url 地址,需要符合 url 规范 --> <wml_url>http://wml.example.com.cn/</wml_url> <!-- 可选,表示该 PC 页对应的 wml 版式的手机页的 url 地址,需要符合 url 规范 --> <xhtml_url>http://3g.example.com.cn/</xhtml_url> <!-- 可选,表示该 PC 页对应的 xhtml 版式的手机页的 url 地址,需要符合 url 规范 --> </display> </data> </url> </urlset>
16~20 行表示手机站的实际版式,如有多种版式多选,如有只有一种,请删除其他 2 种,如,张戈博客的手机版是 XHTML 版式,所以只需要保留 XHTML 那一行即可!
Ps:如何查看网站版式?
版式都在网站的<head>前面有相应的申明,如下所示:
XHTML 版式申明: <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"> WML 版式申明: <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> HTML5 版式申明: <!DOCTYPE HTML>
如果,你的手机站有多种版式,那么上面百度适配代码也请选择多个,总之以实际为准。
参考以上格式,很容易就知道如何制作这个专用的 sitemap 文件了! 比如:
玛思阁首页的 PC 地址是:https://zhang.ge
而对应的 xhtml 手机地址就是:https://zhang.ge/?am_force_theme_layout=mobile
那么正确的百度适配 sitemap 应该如下所示:
<?xml version="1.0" encoding="UTF-8"?> <urlset> <!--第一个地址对应关系--> <url> <loc>http://https://zhang.ge/</loc> <lastmod>2014-03-27T20:40:08+08:00</lastmod> <changefreq>always</changefreq> <priority>1.0</priority> <data> <display> <xhtml_url>https://zhang.ge?am_force_theme_layout=mobile</xhtml_url> </display> </data> </url> <!--第二个地址对应关系--> <url> <loc>http://https://zhang.ge/2533.html/</loc> <lastmod>2014-03-27T16:07:28+08:00</lastmod> <changefreq>always</changefreq> <priority>0.7</priority> <data> <display> <xhtml_url>https://zhang.ge/2533.html?am_force_theme_layout=mobile</xhtml_url> </display> </data> </url> </urlset>
上面 sitemap.xml 代码展示了 2 个链接的对应关系,相信聪明的你,一看就知道如何手动写一个了吧?有的人还专门弄了个二级域名来作为手机端的访问,比如 http://www.domain.com/wap 同样的道理,将每个对应关系的 wml_rul 和 xhtml_url 换成你的网站对应的手机主题地址即可!现在再去提交,我保证不会再报错!
也许有人会问,提交这个有什么好处?其实除了起到变相提交网站地图的作用之外,更重要的可以杜绝手机百度对你的网站的转码,大家肯定都知道,手机百度进入的网站上方或下方一般会有一句话:原页面已由百度转码。。。
既然我们已制作了手机主题,那就应该在移动端秀出来,并不需要百度来强行转码!所以,有必要提交此文件!
目前,张戈博客已推出自动生成适配专用 sitemap 的 php 脚本,请移步查看….
最后,来张我提交成功的截图,喜欢的童鞋赶紧去下载试试吧!