easy2hide插件、SEO改進與作者免回復

首先感謝本插件的原始作者(最近更新已經是兩年前)
其次感謝做了重要參考,貢獻了gbot識別參數的:
最后感謝在技術上給予鄙人莫大支持的:

癡人癡語:http://chiidea.com

如果是寫論文,后面才附上一票的引用通告,本人卻是把此引用通告先發在前頭,足見鄙人為人的厚道可靠。

此文目錄:

一、Wordpress easy2hide插件功能綜述

二、讓注冊用戶(或各級權限用戶)免回復可見

三、讓google爬蟲免回復可見

四、其余的seo優化處理

五、下載區

Easy2Hide–簡易隱藏內容插件

看過上一篇文章的朋友都會發現,我在重點部分(包含兩千多敏感詞)那個位置,設置了一個回復可見,這個功能在本部落格由來已久。我一直沒有介紹,這里援引一下作者的話:

环保+方便使用。

. 在需要隐藏的内容前面加上<!--easy2hide start--> ,后面加上<!--easy2hide end--> ,如下所示:

<!--easy2hide start-->这里的内容会在回复的时候可见<!--easy2hide end-->

看吧,这就是我所说的环保了,并且,并不难使用。即使你不再用这个插件了,也不用担心去掉插件对以前文章的影响。而且,iLorz小朋友,更把他放在TinyMCE上面(via):

easy2hide03.png

是的,全面,是很全面。外面一点点小不爽,就是这个插件好像也会失灵? 不,确切来说,不是失灵,而是,这个回复可见只对完全没有留言过,或者说,缓存里面没有信息的留言者有效而已(当然,RSS Feed中是隐藏的)。你能用这个插件来做什么呢?

  1. 骗取大家的留言;
  2. 让RSS读者来到你的页面;
  3. 保持神秘(做测试题的时候可用);
  4. 其他你自由发挥吧

由作者的使用建議,我們可以知道,作者他老人家是純良少男型人士。不知道這玩意到河蟹站長的手里,可以做出怎樣的妙用。

讓注冊用戶免回復可見文章內容

寫在前面,雖然我說的是注冊用戶,但是如果只想讓作者或管理員看也是這個辦法,會一并介紹。

在剛開始用這個插件的幾篇文章中,鄙人發現頗有點不方便的地方。最明顯的就是寫了此文的作者本人竟然也看不到文章的內容。

這點導致了非常多的不方便,諸如放了個回復可見的下載,而你自己要驗證下載鏈接是否有效,這時就竟然還要自沙一下,这也实在太让人无语了点。

代码解释

鄙人看了看作者的代碼,才發現原來由于我習慣使用的“回復本篇文章可見”對應代碼:

<!--easy2hide start{reply_to_this=true}-->some words <!--easy2hide end-->

而相比默 認的沒有{reply_to_this=true}的那個代碼,在判斷的重要依據上,這一段有所不同

if(isset($_COOKIE['comment_author_'.COOKIEHASH]) or current_user_can('level_0') ){
$stats = 'show';

鄙人無知,一開始還硬是沒發現那個level_0有什么意義。后來到wp代碼查詢站點一搜,才發現這個是用戶閱讀等級的標識

一般能開放用戶注冊的個人wordpress博客是相當的少,而一般注冊之后的等級是后臺所謂的“订阅者”【除非像本站长这样雅量高志,才有一注册就变成供稿的事】

在这个地方点此进入我找到了各个级别对应的权限。譬如撰写文章啦,免审核发表文章啦,修改自己的和别的文章,回复什么的。反正归根到底,0级别是权限最低最低的。而admin这个号是权限最高的,level是10;编辑为7;作者2;供稿1;而订阅者0。

Capability admin editor author contributor subscriber
install_themes Y
update_themes Y
switch_themes Y
edit_themes Y
install_plugins Y
activate_plugins Y
edit_plugins Y
update_plugins Y
delete_plugins Y
create_users Y
edit_users Y
delete_users Y
edit_files Y
manage_options Y
import Y
unfiltered_upload Y
edit_dashboard Y
moderate_comments Y Y
manage_categories Y Y
manage_links Y Y
unfiltered_html Y Y
edit_published_posts Y Y
edit_others_posts Y Y
edit_pages Y Y
edit_others_pages Y Y
edit_published_pages Y Y
publish_pages Y Y
delete_pages Y Y
delete_others_pages Y Y
delete_published_pages Y Y
delete_others_posts Y Y
delete_private_posts Y Y
edit_private_posts Y Y
read_private_posts Y Y
delete_private_pages Y Y
edit_private_pages Y Y
read_private_pages Y Y
upload_files Y Y Y
publish_posts Y Y Y
delete_published_posts Y Y Y
edit_posts Y Y Y Y
delete_posts Y Y Y Y
read Y Y Y Y Y
Level admin editor author contributor subscriber
level_10 Y
level_9 Y
level_8 Y
level_7 Y Y
level_6 Y Y
level_5 Y Y
level_4 Y Y
level_3 Y Y
level_2 Y Y Y
level_1 Y Y Y Y
level_0 Y Y Y Y Y

上面那长得让人呕吐,我放着让您看看就算了。那博主放着也是一种搜索引擎优化行为罢了。

言归正传,继续讨论这个隐藏内容的插件,我三言两语形容下它运作的机制,如果您不明白那么不要紧,后面会有下载。

首先,这个插件会把被用

<!--easy2hide start{?([sS]*?)}?-->

标记起来的东西进行个归类,其中内部的文字会放入

$hide_words[0], $hide_words[1]

这两个变量里面,再根据留言者的email是否在数据库中有留言而做出下一步的判断

如果判定这个email地址对任意一篇文章,或者本篇文章(当标记reply_to_this=true的时候)有留言,决定显示$hide_words[0], $hide_words[1]的值与否。

修改方法

最后一步的判定语句如下

$hide_notice='<span class="easy2hide_notice">'.$tips.'</span>';
if($stats == 'show' or current_user_can('level_0') or isgooglebot() == true){
$content = str_replace($hide_words[0], $hide_words[2], $content);
}else{
$content = str_replace($hide_words[0], $hide_notice, $content);
}
}

行了,方案很简单,把我红字标记的地方改成上面那个样子就行

意思是,如果这个浏览者它cookie中的email地址有回复过,或者说他登录了以至于浏览权限大于“level_0”的水平,再或者,他是Google的爬虫。那么我的隐藏内容对他都开放可见。这一步的修改非常的简单,level后面那个数字根据需要更改。改成10,就只有admin帐号可以有这个权限了。

让google爬虫”Googlebot”可见隐藏内容

按鄙人的方式修改过,仍然免不了有个问题——对SEO的扫描有严重弊病,譬如对某些你只是无奈而隐藏的关键内容从此无法检索。

这个问题也在一开始困扰我,毕竟我提供了一些下载,就是为了能多吸引些流量。

特别是上一篇日志的出现,让我更加坚定了要让Google爬虫探测全部内容的决心:

这一篇日志中,鄙人的一个div框内有2763个顶级敏感词。所以如果我不把那些内容加以“回复可见”。那么中国地区来的浏览都会被功夫网(GFW)把数据拦腰截断。(用了之后回复完显示还是会被功夫网处理,并没有免除GFW排查的功能,只是可以提醒下读者“这里要用代理”。这个在GFW的功能内被普遍称为”主干路由器关键字过滤阻断”)就像不用代理搜索.com的google常常被重置一样。但是如果google收录的这个页面仅仅一个“抱歉,该内容回复可见。”绝对是很损失流量的。毕竟,鄙人放那么多低俗词汇,从做博客的目标来看,就是为了下次CCAV陷害Google的时候,屏幕展现:“记者所见,用google搜索低俗关键字”××ד。我们看到,马上检索出了极度反动色情并且鼓吹闽越独立的的网站“闽越国”。内容不堪入目……“

这是多么大的荣誉啊,可惜如果google也被我隐藏,那么这个美梦不就破灭了??

我的解决方案

请教Google发现了顶层所罗列第二位兄台写的这段代码:

function isgooglebot(){
$ua=strtolower($_SERVER['HTTP_USER_AGENT']);
$ip=$_SERVER['REMOTE_ADDR'];
if(strpos($ua,"googlebot")!==false){
$hostname=gethostbyaddr($ip);
if(strpos($hostname,"googlebot.com") !==false ){
$ip_reversed=gethostbyname($hostname);
if($ip==$ip_reversed){
return true;
}else return false;
}else return false;
}else return false;
}

那个$googlebot完全是我自己加上去的。为了做判断,判断的语法前文给出过,是”$googlebot == true” 您可以在我做的这个简易网页测测看您是不是googlebot。链接在此点此测试您是否是Googlebot

绝对的,显示的是“您不是google机器人。”

即使你把底下这代码导入注册表或者火狐装User Agent Switcher也没有用

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionInternet Settings5.0User Agent]
@="Googlebot/2.1"
"Compatible"="+http://www.googlebot.com/bot.html"

上面那段代码可以简化,譬如鄙人自用的,就没那么麻烦,还要搞dns反查找什么的可没意思。方法一看就知道,删两个if项目就好

这一段加入easy2hide.php的第一个if项下面,如图:

image

OK,理论上不会妨害Google对你内容的检索了。

如果图简单,只要在上一个项目中,把”isgooglebot() == true”换成”strtolower($_SERVER[‘HTTP_USER_AGENT’])==”googlebot“”也可以直接有名字决定权限,只不过是这样一来,海量的spam就更加猖狂啦。

其余的SEO优化处理

罗列一下而已,我没写这些的代码,因为那些流量太有限。而且各个都是道德有问题的,不值得信赖。

声明:以下排名分先后——依据其控股人的人品。

搜索引擎名称 bot名称 网络来源 可否反dns查询

bing:bingbot *.bingbot.com 否

yahoo: Yahoo Slurp(yahoobot) 不知  可

百毒:baidubot 不知 可

下载以及其他

以下提供各個版本的sasy2hide插件下載:【精華部分自然是需要回復可見啦,ajax回復,請自行刷新一下】

原版easy2hide插件下载地址

wp给出的目录

http://wordpress.org/extend/plugins/easy2hide/

本站下载:(zip文件,自行上传启用)

范公不定期閱讀紀略【一】 (下载0)
本站修改版一

特性:注册用户免回复可见,英语、简体、正体中文语言包

本站下载:(zip文件,自行上传启用)

iTtunes 啟動錯誤修復萬全方法 (下载0)
本站修改版二

特性:自用版,改變了不大方便的插入標簽為簡單好記的

<!--fuck--><!--gfw-->

當然,原標簽照樣有效。但是0.1版的標簽無效。注冊用戶免回,googlebot verify功能正常。版本號為0.45,兼容性改成2.91

該標簽默認為“回復本文可見”而非“回復任意文章可見”

適合以前沒裝過這個插件的人。裝過也會覆蓋,但是以前的0.1版的標記會失效。

本站下載(這個做得最辛苦,當然要在這里讓各位看看實際效果嘛,哈哈,回復可見下載:

一篇不朽的反革命纲领性文献-571文件(zt) (下载0)

其他的隱藏內容方案

http://wanwp.com/tips-tricks/howto-use-wordpress-make-login-user-only-website/

上面那个网站给出一种更极端的注册用户可见方案,也pingback一下

17 条评论

  • Tweets that mention easy2hide插件、SEO改進與作者免回復 | 閩越國 — Topsy.com 一月 24, 2010 回复

    […] This post was mentioned on Twitter by heifenbrug, heifenbrug and heifenbrug, heifenbrug. heifenbrug said: 剛寫了新文章:: easy2hide插件、SEO改進與作者免回復 http://minyueguo.com/01/wordpress-easy2hide-verify-googlebot […]

  • Wordpress‘加精’和‘REBUZZ’的代码研究 | 閩越國 三月 28, 2010 回复

    […] 在一般的印象中,這是論壇(Diszue)的功能,但是由于鄙博有一位作者十分著迷此道,一定要我弄個出來,所以自“回帖可見”功能之后。本人又讓wordpress往論壇化(還是水區論壇化)的大方向大大的邁了一步。 […]

  • aishlai 六月 1, 2010 回复

    测试~~

  • J 六月 12, 2010 回复

    測試

  • 茶油米 七月 31, 2010 回复

    谢谢啊 想要你这个自用版的

  • 茶油米 七月 31, 2010 回复

    您好 报告一个不知道是不是bug的问题,您的自用版我用的时候显示的提示是英文,但是你的修改版和原版显示的都是简体中文,很喜欢你自用版的fuck gfw标签 可是显示的是英文就郁闷了啊

  • 茶油米 七月 31, 2010 回复

    呵呵 解决了 将lang文件夹里边的语言文件的前缀ah-去掉就好了 嘿嘿

  • A_H 七月 31, 2010 回复

    呵呵 謝謝報告 我去把下載文件改進一下

  • 亿品元素 十一月 27, 2010 回复

    要那个最强大的

  • 亿品元素 十一月 28, 2010 回复

    建议改进一下,增加一个只能登陆浏览的功能,这样就完全可以通过人工审核的方式来实现只有会员才能浏览部分内容的情况,比如设置一个只能投稿者以上权限才能浏览,那么我们正常情况下如果是想骗取用户评论,只要默认参数就ok,如果我们要只有会员才能看(没达到会员等级的,回复也不能看的情况),再原来代码后面能通过levle-2这样的代码来实现只有levle-2等级的会员才能看,那真是非常完美。

  • 亿品元素 十一月 28, 2010 回复

    建议改进一下,增加一个只能登陆浏览的功能,这样就完全可以通过人工审核的方式来实现只有会员才能浏览部分内容的情况,比如设置一个只能投稿者以上权限才能浏览,那么我们正常情况下如果是想骗取用户评论,只要默认参数就ok,如果我们要只有会员才能看(没达到会员等级的,回复也不能看的情况),在原来代码后面能通过{!–easy2hide start–}levle-2这样的代码来实现只有levle-2等级的会员才能看,设置{!–easy2hide start–}levle-1就只有levle-1才能看,那真是非常完美。

  • Attila 十一月 28, 2010 回复

    按照这个改,目前也是有办法的,由于我已经习惯于直接在文章(post)中插入php语句就能实现。
    如果要加入插件中的话,其实也就是另加一些语句和条件,难度并非很大。我是由于没有特别的需要,所以暂时没有搞。

  • 亿品元素 十一月 28, 2010 回复

    这样的好处就是可以控制是否出现水区,默认代码需要回复可见,非常容易出现水区,因为默认代码的那种情况任何人想看隐藏区,只要回复就ok了,而通过等级区分来实现只对某些等级用户登陆可见,就可以防止这样的情况,当我需要骗取评论时采用默认代码,当我只想对某等级用户显示内容时采用修改后的代码,这样会比较完美,能否有时间修改一下发布出来?

  • Attila 十一月 28, 2010 回复

    代码是
    < ?php if ?> current_user_can(‘level_0’)) { ?>
    内容×××××
    < ?php } ?>
    页面要有php支持就行。只要会编辑html都可以插入的

  • 亿品元素 十一月 29, 2010 回复

    不过这样的话,那不是无法实现隐藏状态的提示信息了?这样人家都不知道里面还有内容

  • Attila 十一月 30, 2010 回复

    寫幾個字說明一下不就得了

  • iiiii 八月 25, 2011 回复

    ddddddddddd顶一下。

发表评论

电子邮件地址不会被公开。 必填项已用*标注