通过XML文件描述url级别的PC页与手机页的对应关系,网站当前有对应关系的所有PC页面url均需要给出。(xml格式sitemap的基础制作方法可点击了解)
具体的对应关系sitemap(url级别)格式如下:
<?xml version="1.0"encoding="UTF-8"?>
<urlset>
<url>
<!--必填标签,表示PC页的url地址 -->
<loc><![CDATA[http://www.yoursite.html/yoursite.html]]></loc>
<data>
<display>
<!—可选标签,表示该PC页对应的html5版式的手机页的url地址 -->
<html5_url><![CDATA[http://html5.yoursite.html/yoursite.html]]></html5_url>
<!—可选标签,表示该PC页对应的wml版式的手机页的url地址 -->
<wml_url><![CDATA[http://wml.yoursite.html/yoursite.html]]></wml_url>
<!—可选标签,表示该PC页对应的xhtml版式的手机页的url地址 -->
<xhtml_url><![CDATA[http://xhtml.yoursite.html/yoursite.html]]></xhtml_url>
</display>
</data>
</url>
</urlset>
例如:
<?xmlversion="1.0" encoding="UTF-8"?>
<urlset>
<url>
<loc><![CDATA[http://www.sina.com.cn/]]></loc>
<data>
<display>
<html5_url><![CDATA[http://html5.sina.com.cn/]]></html5_url>
<wml_url><![CDATA[http://wml.sina.com.cn/]]></wml_url>
<xhtml_url><![CDATA[http://3g.sina.com.cn/]]></xhtml_url>
</display>
</data>
</url>
<url>
<loc><![CDATA[http://www.sohu.com/]]></loc>
<data>
<display>
<html5_url><![CDATA[http://html5.sohu.com/]]></html5_url>
<wml_url><![CDATA[http://wml.sohu.com/]]></wml_url>
<xhtml_url><![CDATA[http://3g.sohu.com/]]></xhtml_url>
</display>
</data>
</url>
</urlset>
如何制作对应关系sitemap文件(pattern级别)?
1、格式
Pattern级别对应关系提交支持XML sitemap的形式,每个xml sitemap文件可包含1组或者多组pattern对应关系。格式说明如下:
示例: 各URL字段可以被CDATA标记包含,如<![CDATA[url]]> 。
<?xml version="1.0"encoding="UTF-8"?>
<urlset>
<!-- 表示news.163.com下的一组pattern对应关系-->
<url>
<loc><![CDATA[http://news.163.com/]]></loc>
<data>
<display>
<pc_url_pattern><![CDATA[http://news.163.com/(\d+)/(\d+)/(\d+)/(\w+).html]]></pc_url_pattern>
<xhtml_url_pattern ><![CDATA[http://3g.163.com/news/${1}/${2}/${3}/${4}.html]]></xhtml_url_pattern>
<wml_url_pattern ><![CDATA[http://wap.163.com/wml/page/ntes/${1}/${2}/${3}/${4}.wml]]></wml_url_pattern>
</display>
</data>
</url>
2、字段详细说明
pc_url_pattern: 表示PC页pattern,在PC页url的基础上,首先确定url中哪些路径或参数是可替换的。然后根据其类型,使用正则匹配符号(\d+)或者(\w+)表示该路径或参数。(\d+)表示纯数字字符串,(\w+)表示数字或字母组成的字符串。
xhtml_url_pattern / html5_url_pattern/ wml_url_pattern:表示xhtml/html5/wml版式的手机页pattern,在手机页url的基础上,根据可替换参数在对应的PC页pattern中出现的顺序,依次用${1},${2},……表示该参数。
3、举例
以网易的新闻页“漫游接电话移动也不要钱了”为例,其PC页url地址为http://news.163.com/09/1001/07/5KH8DE1F000120GR.html, 其对应的xhtml格式的手机页url地址为http://3g.163.com/news/09/1001/07/5KH8DE1F000120GR.html。
步骤一:确定PC页中的可替换参数或者路径,得到其位置序号和类型。
根据网站自身url的层次结构,其中09,1001,07和5KH8DE1F000120GR为动态可替换的路径。除5KH8DE1F000120GR为字母和数字混合外,其余均为纯数字。
步骤二:根据可替换参数或路径的类型,得到PC页pattern (即sitemap中的pc_url_pattern)。
使用正则匹配符号(\d+)或者(\w+)表示该路径或参数。(\d+)表示纯数字字符串,(\w+)表示数字或字母组成的字符串。
步骤三:根据手机页url,以及可替换参数在步骤一中的位置序号,依次用${1},${2},……表示替换掉手机页url中的可替换参数或路径,得到手机页pattern。
例子中,依次用${1},${2},${3}和${4}替换掉09,1001,07和5KH8DE1F000120GR,得到手机页pattern为http://3g.163.com/news/${1}/${2}/${3}/${4}.html。
步骤四:根据手机页的页面类型,将手机页pattern写入对应的字段。各字段可以用CDATA标记包含,如<![CDATA[url]]> 。
如示例中该pattern的手机页面为xhtml版式,将pattern http://3g.163.com/news/${1}/${2}/${3}/${4}.html 写入到xhtml_url_pattern字段中。
最终得到sitemap文件如下:
<?xml version="1.0"encoding="UTF-8"?>
<urlset>
<!—表示news.163.com下的一组pattern对应关系-->
<url>
<loc><![CDATA[http://news.163.com/]]></loc>
<data>
<display>
<pc_url_pattern><![CDATA[http://news.163.com/(\d+)/(\d+)/(\d+)/(\w+).html]]></pc_url_pattern>
<xhtml_url_pattern ><![CDATA[http://3g.163.com/news/${1}/${2}/${3}/${4}.html]]></xhtml_url_pattern>
<!-- 一组PC pattern可能含有多个版式的手机页pattern -->
</display>
</data>
</url>
<!-- 下一组pattern放在一个新的url节点内 -->
</urlset>
备注
· 通过sitemap只能提交具有简单对应关系的pattern,也即,在PC页url与手机页路径或参数之间存在直接的对应关系,使得机器能根据PC页url按照一定的正则pattern自动计算出与其对应的手机页的url。如http://news.sina.com.cn/c/2012-05-27/235824487992.shtml和http://news.sina.cn/?sa=t124v71d6155414&pos=102&vt=4虽然是对应的,但是从url本身很难找到联系,就不属于简单对应关系。
· 正则匹配符号只支持(\d+)和(\w+),且不可嵌套使用,如(d+(\w+))这种形式不合法。域名中不可出现正则匹配符号。
· pattern中,站长无需对特殊字符进行转义,例如不需要用\.代替. ,不需要用&代替&。
· pattern级别对应关系和url级别对应关系的sitemap格式不一样,请分别制作不同的文件并分开提交。