Trackback 失效后的解决方案

一切从搬到Wordpress那天说起……

事情经过:

海豚在第一时间将本站搬到Wordpress的消息发布BloggingPro China,但奇怪的是Yee's Blog一直没有收到他发过来的Trackback,后来经过测试,发现凡是国内Blog发过来的Trackback都不能显示出来,问题出在哪里呢?

在确认后台设置正确的前提下,Yee分别询问了哈啰波波海豚两位资深用户,但是他们同样对这种情况感到非常陌生。

寻求中文Blogger支持未果,转而到Wordpress Support Forums 搜索,发现Wordpress 的 Trackback问题十分普遍。然而这些问题绝大多集中在 2.02以前版本,也就是说本站目前使用的Wordpress 2.02版本应该不存在bug,后来Yee用国外的一个Blog发送Trackback并成功接收也证实了这点。

联想到海豚曾说过"国内有些服务器会禁止外面的ping",所以Yee将目光集中到虚拟主机提供商-Dreamhost身上。果然,在Wordpress Support Forums找到了一篇题为 Dreamhost and Receiving Pingbacks 的帖子,上面说到

Dreamhost 的某些服务器上关闭了allow_url_fopen(),导致无法接收其他服务器ping过来的信息。

不过Yee's Blog并不完全是这种情况,因为通过国外Blog发出的Trackback还是可以照常收到。所以,不得不考虑另外一种极不愿意出现的可能 - Dreamhost不能接收来自中国大陆的Trackback !

可喜的是,并不是所有的Dreamhost主机都不能接收大陆的Trackback(Herock的可以);糟糕的是,Yee's Blog 没被分配到那些主机中。

初步结论:

经过简单分析,我们可以推断Dreamhost之所以不能接收中国大陆的Trackback,很可能是因为两地的无理距离较大而导致Ping的时间过长,再加上Dreamhost对ping的响应时间要求比较苛刻结果导致无法接收。

解决方法:

这个问题并不是源于程序本身的bug,所以我们无法通过修改Wordpress或添加插件来解决,而只能用一些看似不起眼的旁门左道

A方案

用Comment 补充 -Wordpress的Trackback跟Comment是混在一起的,所以直接把Trackback以comment的形式发送出来。操作很简单,写篇公告贴在显要位置叫大家以这种方式发送Trackback即可。

B方案:

用haloscan 替代 -haloscan是免费的Blog评论和TrackBack服务网站,详细介绍见这里。修改方法:先关闭Wordpress的Pingback和Trackback,然后修改模版 Single Post,在其开头处添加以下代码(将hiloyee改为你的用户名,代码可从此处获取

再往下找到"Trackbacks are closed"几个字(不同模版可能不一样)替换成

这样在文章中同样会显示Trackback字样,点击后弹出窗口,里面有该篇文章的真实Trackback地址和已接收到的Trackback。不过对中文支持不良。

C方案:

将Wordpress搬回国内或其他可以ping到的地方,事前可以到各大BSP申请账号,然后一个一个测试……

后话:

目前 Yee's Blog 采用 AB 两个并行方案,如果是你以 B 方案向本站发Trackback 请加上Trackback字样以免误删。

最后想说一句话:Dreamhost之所以这么便宜,并不是没有道理的……


Rand Posts:

9 Responses to “Trackback 失效后的解决方案”

  1. kevin Says:

    我当时的情况是这样的
    把算术题的插件去掉以后
    TB就好了,你可以尝试一下吗?

    [ 引用 ]
  2. kevin Says:

    见这页倒数第四个插件
    http://blog.okevin.net/16.html

    2006.04.18 删除Did You Pass Math?,因为它除了增加了读者留言的麻烦,还把TB也阻止了。这怎么可以呢?于是以Bad Behavior替换之。

    [ 引用 ]
  3. Yee Says:

    to kevin,

    海豚在我安装 算术题的插件 之前就发TB过来了,没收到。

    在安装完 算术题的插件 之后,我又从国外的一个Blog发送TB,结果收到了,这基本可以断定问题并不是出在 插件上。

    此外,为了做进一步确认,我找到了另一个和我处在同一主机的Blog,他的情况也一样。

    [ 引用 ]
  4. zhangyu Says:

    你关闭了ping的哦,我测试了下,ping没通!

    [ 引用 ]
  5. Yee Says:

    to zhangyu,

    我采取了 B方案 ,所以已经关了ping,因为开着只会增加误会,让国内朋友多做无用功而已。

    现在本站关于Trackback的按钮都用haloscan的取代了。

    [ 引用 ]
  6. fisker Says:

    开下来让我们来找原因呢,呵呵

    我想应该不是你说的问题

    [ 引用 ]
  7. kevin Says:

    赞同楼上的说法

    [ 引用 ]
  8. 哈啰波波 Says:

    很是奇怪,我的DH上也有一个blog,TB却是正常的~~

    [ 引用 ]
  9. page Says:

    我也是呢,我写的文章,都写了引用地址了,别人的blog依然没有收到trackback,亦或是pingback,相当的郁闷,而且它的还是国内服务器,难道也是?

    [ 引用 ]

发表评论


闽ICP备08010573号 | |