开放适配工具帮助

敖游
2016-03-05
来源:遨游建站

如何制作对应关系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&amp;pos=102&vt=4虽然是对应的,但是从url本身很难找到联系,就不属于简单对应关系。

· 正则匹配符号只支持(\d+)和(\w+),且不可嵌套使用,如(d+(\w+))这种形式不合法。域名中不可出现正则匹配符号。

· pattern中,站长无需对特殊字符进行转义,例如不需要用\.代替. ,不需要用&amp;代替&。

· pattern级别对应关系和url级别对应关系的sitemap格式不一样,请分别制作不同的文件并分开提交。


2  /  2
阅读121
分享
写评论...