作者WFU (天玑)
看板Blog
标题Re: [Blogger] 最近有没有发现网址有异?
时间Mon Jun 4 18:40:49 2012
※ 引述《WFU (天玑)》之铭言:
: ※ 引述《nikolu (Niko)》之铭言:
: : 今天才突然发现到 网址的最後面多了一些诡异的字串
: : 像我的是在後面多了#.T8epkdUtiKI 有人有遇到一样的情况吗?
: 是的,从今天开始,我们的 blogger 被无预警转址了,从 blogspot.com -->
: blogspot.tw
: 看起来没什麽,其实影响层面很大,以下为个人观察:
: 1. blogger 如果有使用 json 抓取後台资料的 hack,某些会产生影响,以前会去
: 抓 xxxx.blogspot.com 的资料,现在必须抓 xxxxx.blogspot.tw 才抓得到。不过
: 并不是每个 hack 都会有影响。
: 2. 赞按钮全部归零,因为网址变了,再也读不到旧网址 .com 的赞按钮统计,
: 只能从新网址 .tw 全部重来。
网页好读版:
http://www.wfublog.com/2012/06/blogger.html
因为自己的 blog 很多部分受到影响,所以找了一些资料统整一下所有的问题及因应方
案,以下内容为整理一些国外网站的重点:
一、受影响、不受影响的人
只要是自订网址的网页,就不会被 Google 自动转址;只要非自订网址,就会被自动转
址。
二、自动转址产生的问题及对策
会造成的问题,全部都是从真实网址(Canonical URLs)被转换成区域网址 country
code Top Level Domain(ccTLD)所引起:
1. 搜寻引擎问题:
这个网页「
http://ppt.cc/3nFq」建议所有 blogger 第一个要做的动作,是到後台
检查范本中有没有下面这一行:
<b:include data='blog' name='all-head-content'/>
这一行的作用是定位出网站的真实网址。如果没有这一行,搜寻引擎机器人将来会定位
到错误的网址,并且 Facebook 赞、Google +1 都无法找到真实网址来储存统计数据。
2. Facebook 外挂工具问题:
其实 Facebook 外挂工具的数据、资料,都是依据真实网址 ABCD.blogspot.com 来储
存(前提是范本中有第 1 点的程式码),并不会储存到 ABCD.blogspot.tw 这样的转址。
但是目前的页面被转址到 ABCD.blogspot.tw 这个网址後,Facebook 会去资料库搜寻
ABCD.blogspot.tw 这个网址有几个赞,结果发现没有资料(也就是数目为0),所以我们
会发现 "赞" 统计资料被归零了。
解决方法:根据「
http://ppt.cc/3nFq」,将 Facebook 外挂工具中的程式码
data:post.url 都置换成 data:post.canonicalUrl,那麽不管访客在
ABCD.blogspot.tw 或是 ABCD.blogspot.fr,Facebook 都会去找真实网址
ABCD.blogspot.com 的统计资料,就能让 "赞" 统计、其他 Facebook 外挂工具的
数据正常了。
3. Google +1 外挂:
不用任何更改,自家产品当然会把後台资料改好。
4. 其他社交外挂工具问题:
「
http://ppt.cc/3nFq」表示,大部分的其他社交外挂工具储存数据时,并不会根据
真实网址,所以多半会出错(会存到转址去)。
解决方法:所以只能找找看安装的程式码有没有 data:post.url 这样的字串,有的话
置换成 data:post.canonicalUrl;另外也要寻找有没有 data:blog.url 这样的字串,
有的话置换成 data:blog.canonicalUrl。
5. 其他外挂问题:
如果有用任何外挂需要读取资料库的,或是把 Google 试算表当资料库,以前储存的
资料都是用 ABCD.blogspot.com 来当索引,现在就会面临转址後,在
ABCD.blogspot.tw 的页面读不到真实网址 ABCD.blogspot.com 的索引资料。
解决方法:同上面第 4 点,修改 js 程式码的诀窍为,原本在储存的时候如果用
top.location.href 来当索引网址,现在必须修改为 "<data:post.canonicalUrl/>"
或 "<data:blog.canonicalUrl/>";同时读取资料库时,也要做同样的动作,把
top.location.href 改为 "<post.canonicalUrl/>" 或 "<data:blog.canonicalUrl/>"
,这样就没问题了。
五、不让 Blogger 转址的方法
1. 方法:根据「
http://ppt.cc/oePi」,Google 提供了 "暂时" 强制 blogger 不要转
址的功能,例如:
首页:ABCD.blogspot.com/ncr
单篇文章:ABCD.blogspot.com/ncr/EFGH.html
如同以上两个范例,在网址加上 ncr(/) 以後,就可以不被转址。请注意,这是"暂时"
的,表示过一阵子 Google 就会取消这个功能,所以这阵子该做的动作要赶快完成。
2. 实际应用:自己手动改网址,并无法让访客的网址不被转址,因此必须改范本中的程
式码,让访客的网址也不被转址。根据这个网页「
http://ppt.cc/iTYG」,用正规表示
式四行程式码就搞定了(URL = URL.replace这一行跟下一行要合并为一行),请在范本
中的 <head> 之後加入以下程式码:
<script type='text/javascript'>
(function(){
if( document.URL.match(/\.blogspot\.(com\...\/|..\/)/) ){
var URL = document.URL;
URL = URL.replace(URL.match(/\.blogspot\.(com\...\/|..\/)/)[0],".blogspot.com\/ncr\/");
document.location = URL;
}
})()
</script>
存档後即可看到效果,使用以上语法後,就可让网站恢复正常状态,先正常运作避免让
访客看到异常现象,再来一个一个解决其他自动转址产生的问题。由於本篇内容很长,
更多其他个人感想请参考:
http://ppt.cc/ArCh。
----
Blogger 调校资料库
http://www.wfublog.com/
----
※ 发信站: 批踢踢实业坊(ptt.cc)
1F:推 nikolu:结果 自订网域 多出赘字的问题 还是没人遇到 -.-? 06/04 20:32
2F:→ Roystu:我有4个网域挂blogger 没有任何改变~ 06/04 21:30
3F:推 jlhc:推一下 很详细的介绍 提醒一下如果fb留言外挂的也可能要改 :) 06/05 01:54
4F:推 clickjhan:第一点家的那行是要放在後台范本里的最後面吗? 06/10 16:33
5F:推 marychen1:你那一行没有吗?通常范本开头 <head> 头几行就会找到了 06/10 17:07
6F:→ marychen1:没有的话一样放在 <head> 开头几行就行了 06/10 17:08
7F:推 clickjhan:有看到了 谢谢楼上 06/10 21:26
※ 编辑: WFU (118.165.24.181), 05/21/2014 08:53:25