SenMapic过滤Url关键字表达式是一种可以被SenMapic(Senparc Google Sitemap机器人)识别的,将包含特殊关键字的Url排除在Sitemap列表之外的表达式。
比如,很多网站都有登陆(Login)页面,很多时候,我们都会在Login页面后面加上类似returnUrl这样的参数(QueryString),以使用户在登陆后能够返回来源页面。如下列三个页面实际上是同一个页面:
http://www.senparc.com/Home.xhtml/Login
http://www.senparc.com/Home.xhtml/Login?returnUrl=/About.xhtml
http://www.senparc.com/Home.xhtml/Login?returnUrl=/SZD.xhtml
由于搜索引擎很多时候并不会有意判断所有带参数的页面是否是完全内容相同的页面(或只有极少的、无关精要的内容的差别),这时候,您就可以手动指定一些关键字,使这些本质上相同的页面从sitemap列表中过滤掉,从而生成更“干净”的sitemap.xml,这也非常有利于SEO,以及搜索引擎爬行sitemap.xml时对网站的青睐程度。同时,也能在有限的页面数量范围内,尽可能多的收集不同的页面。
SenMapic过滤Url关键字表达式语法十分简单,格式如下:
[操作符]关键字
其中[操作符]是可选参数,关键字是必选参数(某些情况下可为空)。
操作符和关键字的使用方法如下表:
| 操作符/关键字 |
说明 |
表达式举例 |
结果 |
| 任意关键字 |
关键字只要出现在Url中的任意位置,即被视为符合表达式,被过滤。
关键字单独使用时不能为空。
关键字不区分大小写(不管是否使用操作符)。
|
returnUrl |
Url:http://www.senparc.com/?RETURNURL=abc
结果:符合表达式,过滤
Url:http://www.senparc.com/?returnurl=abc
结果:符合表达式,过滤
Url:http://www.senparc.com/?kw=123&returnUrl=abc
结果:符合表达式,过滤
Url:http://www.senparc.com/returnUrl
结果:符合表达式,过滤
Url:http://www.returnUrl_ABC.com
结果:符合表达式,过滤
Url:http://www.senparc.com/returnurl_ABC
结果:符合表达式,过滤
Url:http://www.senparc.com
结果:不符合表达式,不过滤。
原因:Url中没有出现关键字。
|
| /Home.xhtml |
Url:http://www.senparc.com/Home.xhtml
记过:符合表达式,过滤
|
| ? |
过滤掉Url参数中(第一个?后面)出现的关键字。与Url中的关键字可以出现在?后面的任意位置。
当使用?作为第一个字符时,关键字可为空,并且关键字为空时,将过滤所有带参数的Url(只要Url中包含?)。
|
?returnUrl= |
Url:http://www.senparc.com/?returnUrl=abc
结果:符合表达式,过滤
Url:http://www.senparc.com/?kw=123&returnUrl=abc
结果:符合表达式,过滤
Url:http://www.senparc.com/returnUrl=
结果:不符合表达式,不过滤。
原因:"returnUrl="并不算Url参数
|
| ^ |
以关键字开头。
注意:使用^作为操作符,关键字将从URL最左边开始匹配,所以需要包含完整的域名。
|
http://www.senparc
.com/Home.xhml/ |
Url:http://www.senparc.com/Home.xhml/Products
结果:符合表达式,过滤
Url:http://www.senparc.com/About.xhml/Contact?testurl=Url:http://www.senparc.com/Home.xhml
结果:不符合表达式,不过滤。
原因:未以关键字开头
|
| $ |
以关键字结尾。 |
omit |
Url:http://www.senparc.com/abc.html?test=omit
结果:符合表达式,过滤
Url:http://www.senparc.com/omit
结果:符合表达式,过滤
|
| = |
URL完全等于关键字 |
http://www.senparc
.com/Home.xhml/ |
Url:http://www.senparc.com/Home.xhml/
结果:符合表达式,过滤
Url:http://www.senparc.com/Home.xhml/?p=1
结果:不符合表达式,不过滤。
原因:URL和字符串不相等。
|
说明:SenMapic可以多条表达式一起使用,每条占一行(编辑区域内自动换行不算)。多条表达式之间为“或”的逻辑关系,即只要符合其中一条,该Url即被排除。