Dec 14

一般输出的Feed,像抓虾,鲜果,或者Google Reader在线阅读器阅读的时候,都会有一个原文链接,指向这篇文章原来所在的地址,搜索引擎对Feed抓取的时候,就知道这是来自哪里的文章,这样就不会因为多处出现你的文章而有可能把你原来的“发源地”判断为非原创。但是像FeedSky本身烧制的页面,比如http://feed.minidx.com (目前电信/国外IP无法访问问题依然未解决)或者http://feed.feedsky.com/minidx,Title的链接却是像这样的http://item.feedsky.com/~feedsky/minidx/~6075588/35898622/4183404/1/item.html,这个搜索引擎就会认为文章的地址是上面这个item.feedsky.com,对于SEO是非常不利的,像这样的情况,我们可以让自己输出的Feed都加上自己的原文URL,修改的文件和《Wordpress的首页摘要显示而Feed全文输出的简单解决方案》是同一个,都是wp-includes/post-template.php:


1),找到get_the_content函数

2),在get_the_content函数中找到

  1. if ( count($content) > 1 ) {
  2. if ( $more ) {
  3. $output .= '<span id="more-'.$id.'"></span>'.$content[1];
  4. } else {
  5. $output = balanceTags($output);
  6. if ( ! empty($more_link_text) )
  7. $output .= ' <a href="http://blog.minidx.com/wp-admin/%27.%20get_permalink%28%29%20." class="\"more-link\"">$more_link_text</a>";
  8. }
  9. }
  10. ?>

这一段,增加是Feed输出时的Permalink输出,代码如下(增加部分为 begin—end部分):

  1. if ( count($content) &gt; 1 ) {
  2. if ( $more ) {
  3. $output .= '<span id="more-'.$id.'"></span>'.$content[1];
  4. } else {
  5. $output = balanceTags($output);
  6. if ( ! empty($more_link_text) )
  7. $output .= ' <a href="http://blog.minidx.com/wp-admin/%27.%20get_permalink%28%29%20." class="\"more-link\"">$more_link_text</a>";
  8. }
  9.  
  10. /*  2007/12/14 DingZhiGang add ---- Begin */
  11. if( is_feed() )
  12. $output .= '
  13. Permalink:<a href="http://blog.minidx.com/wp-admin/%27.%20get_permalink%28%29%20.">" . get_permalink() . "</a>";
  14. /*  2007/12/14 DingZhiGang add ---- Begin */
  15. }
  16. ?>

注意:第7,8应该是一行,第13,14也应该是一样,这里太长了显示不下所以切成两行了。
这样在Feed输出的时候,就会在本文后面加上自己的链接了。当然,同样的方法你也可以在Feed中添加任何你想添加的东西。
修改后的版本在这里下载(只在Feed中输出,如果需要WEB文章中也输出,查找DingZhiGang,把后面部分的注释去掉就可以了。):post-template.zip

written by Minidxer  |  tags: , , , , , , , , ,

Related Post

One Response to “如何在Feed中自动输出原文链接(Permalink)”

Trackbacks

Leave a Reply