手机版

WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看

时间:2021-09-19 来源:互联网 编辑:宝哥软件园 浏览:

对搜索引擎隐藏特定文章问题的来源如下:

众所周知,随着搜索引擎的完善,收藏和伪原创会越来越被拒绝。特别是百度还引入了原点算法,对采集站采取了K站等措施。如果贴上收集站的标签,一切努力都可能付之东流。

相信很多站长也是想要更多的原创内容,不想靠收集别人的文章。但是,一个新站的内容,尤其是个人站长,肯定很慢。我们不仅要取悦搜索引擎,还要取悦读者。如果读者在你的站内得不到丰富的信息,体验肯定不好。事实上,所有名站和老站都有相当比例的内容被收集或改编,这符合互联网的共享精神。各大电视台和报纸大部分都是转载和摘要,只要挑得好,符合特定需求的内容需求,都是有价值的。

关键是:不要用收集的文章来骗取你网站的搜索流量。这应该符合互联网伦理和共识。如果只允许原创内容参与搜索引擎的游戏规则,而不是原创部分屏蔽搜索引擎。这样,搜索引擎、网站所有者和用户的利益都可以得到平等的满足。

所以问题归结为一点:如何有效可靠地让“一些文章屏蔽了搜索引擎”?

不知道这是不是常见的问题。如果一个网站想要通过丰富的文章来满足受众,但又害怕被搜索引擎判定为收藏站,那么这就是一个真正需要面对的关键和核心问题,关系到网站的生存和发展。

最近一直在学习相关知识。依我拙见,屏蔽搜索引擎有几种方法:第一,使用robots.txt第二,WP站可以判断用户特征(看完你的博文后);第三,通过JS封装链接;第四,通过短链接重定向,PHP后台重定向等。

对比以上方法,第一种方法:robots.txt就像是在门上贴了一个封条:“嘿,蜘蛛,我不想让你在这里搜索一些内容”。这就是所谓的君子协定,搜索引擎必须有能力用印章查看你家门口的东西,但不包括在内。为了判断一个站是否有大量收集的内容,蜘蛛可能有窥探的动机。

这种方法成本最低,应该能满足大多数情况。看来百度在这方面的道德还是可以放心的,比如不索引淘宝的内容,也讨厌360索引百度的内容。

这种方法的进一步问题是:在WP搭建的站内,“一些文章如何高效屏蔽搜索引擎”?1.文章标题加特色:比如每篇文章标题加一个特殊字符,这个方法可行吗?robots.txt可以使用disallow3360 *特别说明*?2.文章的标签识别:这好像是操作上最方便的,但是标签好像是动态标记,不能在robotx.txt中过滤?3.把文章放在特定的目录下:这个robots.txt很好写,但是在管理WP文章的内容时如何轻松操作呢?

第二种方法:比如检查进门人的身份证。如果访问者是搜索引擎,那么不允许流量。这个方法是专门针对WP的,那么它的优点就是可以在很细节上区别对待。比如百度对收藏的态度比较紧,而Google就不一样,所以有些文章可以对百度关闭,对GOOGLE开放。另一个很大的优势是判断可以集成在WP环境中,比如通过插件或主题实现操作自动化。

第三种方法:就像换门上的门牌号一样,搜索引擎只知道机械地跟踪门牌号上的号码,而浏览器则通过JS将门牌号指向另一个正确的入口。但是,搜索引擎分析JS的能力可能越来越强,根据谷歌的一些说法,搜索引擎不喜欢你的内容因人而异,因搜索引擎而异。这种方法被广泛用于隐藏淘宝访客链接。这种方法的有效期不是太长,操作起来比较麻烦。更适合静态的单个页面,不适合WP等数据库组织文章的架构。

第四种方法:比如说门牌号是加密的,只有敲门(点击)的时候才会换成正确的门牌号。大多数访问者会点击,但搜索引擎不会模拟点击。这种方法相对彻底且“安全”,缺点如下:1。和第三种方法一样,操作有些复杂,适用于静态的单页或者页面中的局部链接,但不适合WP环境。2.太多的重定向会消耗服务器的计算资源,少则加总。如果大量文章需要重定向一次,服务器可能会不堪重负。

实现代码

WordPress如何对搜索引擎隐藏特定文章?不用说,只需转到PHP代码并将其放入当前主题的functions.php(将其保存为UTF-8编码):

//需要注意的是,如果你的WordPress网站开启了页面缓存,这个功能是无效的。function ludouse _ add _ custom _ box(){ if(function _ exists(' add _ meta _ box ')} { add _ meta _ box(' Lud ou _ allow _ se ','搜索引擎',' Lud ou ')。Add_meta_box('ludou_allow_se ','搜索引擎',' ludou_allow_se ',' page ',' side ',' low ');} } add _ action(' add _ meta _ box ',' Lud ouse _ add _ custom _ box ');函数ludou _ allow _ se(){ global $ post;//添加验证字段WP _ nonce _ field ('ludou _ allow _ se ',' ludou _ allow _ se _ nonce ');$ meta _ value=get _ post _ meta($ post-ID,' ludou_allow_se ',true);if($ meta _ value)echo ' input name=' ludou-allow-se ' type=' checkbox ' checking=' checked ' value=' 1 '/block search engine;Else echo '输入名称=' ludou-allow-se '类型=' checkbox '值=' 1 '/阻止搜索引擎;}//保存选项设置函数ludous _ save _ post data($ post _ id){//验证if(!isset($ _ POST[' ludou _ allow _ se _ nonce ']))返回$ post _ id$ nonce=$ _ POST[' ludou _ allow _ se _ nonce '];//验证该字段是否合法如果(!wp_verify_nonce($nonce,' ludou_allow_se ')返回$ post _ id//如果(已定义(' do _ auto save ')do _ auto save)返回$ post _ id,则确定是否自动保存;//验证用户权限if(' page '==$ _ post[' post _ type ']){ if(!current_user_can('edit_page ',$post_id))返回$ post _ id;} else { if(!current_user_can('edit_post ',$post_id))返回$ post _ id;}//更新设置if(!空($ _ POST[' ludou-allow-se ']))update _ POST _ meta($ POST _ id,' ludou_allow_se ',' 1 ');else update_post_meta($post_id,' ludou_allow_se ',' 0 ');}add_action('save_post ',' Lud ouse _ save _ post data ');//对于不允许抓取文章和页面的设置//禁止搜索引擎抓取,返回404函数do _ ludou _ allow _ se(){//此函数只对文章和页面有效,如果(is _ single()){ global $ post;$ is _ robots=0;$ ludou_allow_se=get _ post _ meta($ post-ID,' ludou _ allow _ se ',true);if(!Empty($ludou_allow_se)) {//以下是crawler Agent判断的关键字数组。//有点简单。为$ bots=array优化自己(' spider ',' bot ',' crawl ',' slump ',' Yahoo-blogs ',' Yandex ',' Yeti '。$ USER AGENT=$ _ SERVER[' HTTP _ USER _ AGENT '];if(!empty($ user agent)){ foreach($ bots as $lookfor){ if(stristr($ user agent,$ look for)!==false){ $ is _ robots=1;打破;} } }//如果当前文章/页面禁止搜索引擎抓取,返回404 //当然,如果($ is _ robots) {status _ header (404),可以改为403;退出;} } }}add_action('wp ',' do _ ludou _ allow _ se ');施用方式

在成功地将上述代码添加到当前主题的functions.php之后,我们就可以正常使用它了,完全愚蠢。在WordPress背景文章和页面的编辑页面上,我们可以在右栏底部看到这个复选框:

20151231152053845.png  (28782)

如果需要禁止当前文章/页面被搜索引擎抓取,只需勾选即可。勾选后,该文章/页面被搜索引擎访问时会返回404状态,没有任何内容。如果你不喜欢404回归搜索引擎,担心死链太多会影响SEO,可以放:

状态标题(404);退出;替换为:

echo ' meta name=\ ' robots ' content=\ ' no index,no archive \ '/\ n ';然后:

add_action('wp ',' do _ ludou _ allow _ se ');替换为:

add_action('wp_head ',' do _ ludou _ allow _ se ');这样,元声明被直接添加到网页的头部:

meta name=' robots ' content=' no index,no archive '/告诉搜索引擎不要索引此页面或显示快照。需要注意的是,主题目录下的header.php必须有以下代码:

WP _ head();将文章设置为仅允许搜索引擎查看。有些文章只为SEO发布。我想让这些文章只允许搜索引擎抓取,但普通访问者无法查看。如何在WordPress中做到这一点?

实现代码

如果你的WordPress网站没有打开页面缓存,这个要求并不难实现。我们可以参考上面搜索引擎隐藏的具体文章中的代码,稍微修改一下。将以下php代码添加到当前主题的functions.php中,并以UTF8编码保存:

//在文章和页面的编辑页面中添加选项函数ludouseo _ add _ custom _ box(){ add _ meta _ box(' ludou _ se _ only ','搜索引擎独占',' ludou _ se _ only ',' post ',' side ',' low ');Add_meta_box('ludou_se_only ','仅限搜索引擎',' ludou_se_only ',' page ',' side ',' low ');} add _ action(' add _ meta _ box ',' ludouseo _ add _ custom _ box ');函数ludou _ se _ only(){ global $ post;//添加验证字段WP _ nonce _ field ('ludou _ se _ only ',' ludou _ se _ only _ nonce ');$ meta _ value=get _ post _ meta($ post-ID,' ludou_se_only ',true);如果($ meta _ value) echo '输入名称=' ludou-se-only '类型=' checkbox '已选中=' checked '值=' 1 '/仅允许搜索引擎查看;Else echo '输入名称=' ludou-se-only '类型=' checkbox '值=' 1 '/仅搜索引擎允许;}//保存选项设置函数ludouseo _ save _ post data($ post _ id){//验证if(!isset($ _ POST[' ludou _ se _ only _ nonce ']))返回$ post _ id$ nonce=$ _ POST[' ludou _ se _ only _ nonce '];//验证该字段是否合法如果(!wp_verify_nonce($nonce,' ludou_se_only '))返回$ post _ id//如果(已定义(' do _ auto save ')do _ auto save)返回$ post _ id,则确定是否自动保存;//验证用户权限if(' page '==$ _ post[' post _ type ']){ if(!current_user_can('edit_page ',$post_id))返回$ post _ id;} else { if(!current_user_can('edit_post ',$post_id))返回$ post _ id;}//更新设置if(!空($ _ POST[' ludou-se-only ']))update _ POST _ meta($ POST _ id,' ludou_se_only ',' 1 ');else delete_post_meta($post_id,' ludou _ se _ only ');}add_action('save_post ',' ludouseo _ save _ post data ');函数do_ludou_se_only() {//如果(is _单数()){global $post,则此函数仅对文章和页面有效;$ is _ robots=0;$ ludou_se_only=get _ post _ meta($ post-ID,' ludou _ se _ only ',true);if(!Empty($ludou_se_only)) {//这里是搜索引擎Agent判断的关键字数组。//有点简单。为$ bots=array优化自己(' spider ',' bot ',' crawl ',' slump ',' Yahoo-blogs ',' Yandex ',' yeti '。$ USER AGENT=$ _ SERVER[' HTTP _ USER _ AGENT '];if(!empty($ user agent)){ foreach($ bots as $lookfor){ if(stristr($ user agent,$ look for)!==false){ $ is _ robots=1;打破;} } }//如果不是搜索引擎,会显示错误消息//如果(!$is_robots!is _ user _ log in()){ WP _ die('您无权查看此文章!');} } }}add_action('wp ',' do _ ludou _ se _ only ');施用方式

在成功地将上述代码添加到当前主题的functions.php之后,我们就可以正常使用它了,完全愚蠢。在WordPress背景文章和页面的编辑页面上,我们可以在右栏底部看到这个复选框:

20151231152211569.png  (29079)

如果需要禁止当前文章/页面被搜索引擎抓取,只需勾选即可。勾选后,当普通访问者访问此文章/页面时,会显示以下错误信息(搜索引擎和登录用户不受影响):

20151231152234095.png  (443260)

版权声明:WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。