为WordPress的RSS添加Adsense广告
Google收购Feedburner以后,向RSS中添加Adsense更加容易了。本文介绍如何向Wordpress的RSS输出中添加Adsense广告。
(This post is also available in English: Link)
创建Feed单元
这里我们以新版Adsense界面为例。登录到你的Adsense以后,点击标签”My ads”,在左侧导航栏中可以看到有”More products”这一项。下面选择”Feeds”这个链接,右侧界面会弹出Google的提示,按照提示点击”+New feed unit”按钮。接下来就可以在转到的页面上选择广告的样式、频率等信息了。
如果你还没有在Feedburner烧制过自己的Feed,接下来就可以在Adsense账户里添加一个。自从Google将Feedburner整合到Adsense,我们在Adsense界面就可以直接烧制自己的Feed了。只需点击链接”Burn new feed”,按照弹出的提示向导一步一步完成即可。最后我们可以得到一个唯一的Feed地址,例如我的Feed地址是http://feeds.feedburner.com/gnailuy,如果你觉得我的文章还不错,欢迎点击这个地址订阅我的本站内容哈,o(∩∩)o…
默认Feed地址修改到Feedburner
接下来我们要把默认的RSS Feed重定向到刚刚生成的Feedburner URL上去。这里必须保证我们的修改不会影响到站点的老用户。同样地,这个功能可以由许多插件来实现,不怕麻烦的话也可以直接修改Wordpress的源代码。Wordpress Codex上的这篇文章中提供了很详细的信息。
我在我的网站上启用了永久链接,也因此我倾向于使用.htaccess文件中的重写规则来实现这个功能。启用永久链接后,Wordpress本身就会自动在.htaccess文件中生成一些用于永久链接重定向的重写规则。查看了网上很多资料以后,我在已有规则的前面添加了下面的规则:
- # BEGIN RSS Rewrite
- <IfModule mod_rewrite.c>
- RewriteEngine on
- RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC]
- RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
- RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/gnailuy [R,NC,L]
- </IfModule>
- # END RSS Rewrite
然后就完成了,Google会自动在我们的Feed中加入刚刚制订的广告。
大陆地区特殊问题
由于某些显而易见的原因,我们大陆用户无法直接访问Feedburner的链接。所以上述重定向会导致大陆用户无法直接订阅网站文章。为了解决这个问题,我们可以利用一些小技巧,在我们自己的服务器上复制Feedburner的服务。
首先,在网站根目录下创建一个新目录。这个目录的名字必须和Wordpress原来的Feed链接不冲突,这里我使用了”googlefeed”。接下来,在这个目录下创建一个PHP文件index.php,内容为:
- <?php
- header("Content-Type: application/xml; charset=utf-8") ;
- @readfile("http://feeds.feedburner.com/gnailuy");
- ?>
这样用户就可以使用类似这样http://gnailuy.com/googlefeed/的链接来订阅我们的网站了。如果你希望所有用户都使用这个订阅源,可以像上面一样使用重写规则,只有一点点不同,就是需要将这一行:
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/gnailuy [R,NC,L]替换为:
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ googlefeed [R,NC,L]这样所有的RSS用户都会被自动重定向到http://gnailuy.com/googlefeed/了。我没有使用这个规则进行强制重定向,而是直接使用的Feedburner的地址,所以网站左下角的订阅链接还是需要到长城之外来访问的。不过如果您爬长城实在困难,也欢迎使用googlefeed这个地址订阅我的文章。最后,推荐使用Google Reader哦亲~
© 2011, Yuliang Jin. All rights reserved.
This post is under a Creative Commons Attribution-ShareAlike 3.0 Unported License.



August 1st, 2011 at 2:21 PM
我的Adsense申请被被驳回了!!无限悲痛中……
[Reply]
Yuliang Reply:
August 2nd, 2011 at 11:11 AM
哈哈,按照他们回复的邮件完善不足的地方就行了……
[Reply]
August 6th, 2011 at 2:55 AM
不错。。说得很详细。。
受用了。。。
[Reply]
Yuliang Reply:
August 6th, 2011 at 3:08 AM
@cutebt, 谢谢哈~o(∩∩)o…
[Reply]