如何在Drupal 7中NoIndex评论/回复 -- comments 领域 drupal 相关 的问题

How to noindex comment/reply in Drupal 7


9
vote

问题

中文

我使用drupal 7,我试图使用"noindex" 元标记来阻止 http ://example.com/comment/reply/43/738 从搜索引擎索引。

注释/回复页面正在索引,即使我在robots.txt中使用以下角色:

  Disallow: /comment/reply/   

我将在哪个模板文件中包含"noindex" 元标记/评论/回复/页面?

英文原文

I use Drupal 7, and I am trying to use the "noindex" meta tag to prevent http://example.com/comment/reply/43/738 from being indexed by search engines.

The comment/reply page is being indexed, even though I've used the following role in robots.txt:

Disallow: /comment/reply/ 

In which template file will I need to incorporate "noindex" meta tag for /comment/reply/ pages?

  
   
   

回答列表

7
 
vote
vote
最佳答案
 

您可以使用robots.txt中的任何此代码:

  field_delete_field()1  

这将忽略包含评论的每个URL。

您还可以使用以下内容,忽略包含 /评论的每个URL。

  field_delete_field()2  
  field_delete_field()3  

执行此操作后,请检查是否通过使用 Google Robots.txt Checker 。

 

You can use any of this code in robots.txt:

User-agent: * Disallow: /*comment 

This will neglect every URL that contains comment.

You can also use the following, to neglect every URL containing /comment.

User-agent: * Disallow: /comment/reply 
User-agent: * Disallow: /comment 

After you do this, check whether it is working or not by using the Google Robots.txt checker.

 
 
         
         
4
 
vote

在主题的template.php,或者在page.tpl.php中,您可以检查页面的URL以查看页面是否是注释页面,然后添加将插入元标记的代码。

您可以在template.php函数中执行此操作中的use_preprocess_html(),或将其插入到Page.tpl.php顶部附近的某处。 添加的代码将是这样的:

  field_delete_field()4  

看 drupal_add_html_head()。

 

In your theme's template.php, or in page.tpl.php, you can check the page's url to see if the page is a comment page, then add code that will insert the meta tag.

You can do this in the template.php function YOURTHEME_preprocess_html(), or insert it somewhere near the top of page.tpl.php. The code to add would be something like this:

    <?php       $element = array(         '#tag' => 'meta',          '#attributes' => array(           'property' => 'robots',           'content' => 'noindex',         ),       );     drupal_add_html_head($element, 'robots'); ?> 

See drupal_add_html_head().

 
 
     
     
1
 
vote

更新:以下作品,它在通过 comment 开始的路径访问的所有页面的头部中打印 <meta name="robots" content="noindex,follow" /> 。这是为了解决评论/ 3内部携带节点/ niD作为参数的页面,因为jmarkel指出。

  <?php function metarobots_comment_help() {   $url_components = explode('/', request_uri());   if ($url_components[1] == 'comment') {     $elements = array(       '#tag' => 'meta',       '#attributes' => array(         'name' => 'robots',         'content' => 'noindex,follow',       ),     );    drupal_add_html_head($elements, 'robots');   } }   

借助对arg函数的有用评论。

希望这最终将由Meta标签模块解决 - 有一个功能请求,但尚未清除模块作者想要支持这一点。


[我的上一条评论]我只想补充一下,使用robots.txt不是答案 - 正如您已经注意到的那样,尽管使用 Disallow: /comment ,链接仍然在搜索结果中出现。这是预期的,因为robots.txt告诉机器人不抓取这些页面,但它没有告诉谷歌不索引它。 如 seomoz robots.txt和元机器人的最佳实践:

在大多数情况下,具有参数"noindex,关注" 的元机器人应该是 雇用作为限制爬行或指数的方法。

块与robots.txt - 这告诉发动机不会爬网 URL但告诉他们他们可以将页面保留在索引中 在结果中显示它。

块与meta noindex - 这告诉了他们可以访问的发动机 不允许在结果中显示URL。 (这是 推荐方法) 所以你之后的noindex meta标签确实是你需要的。

 

Update: the following works, it prints <meta name="robots" content="noindex,follow" /> in the head section of all pages accessed via a path starting with comment. This is to work around the fact that a page like comment/3 internally carries node/nid as arguments, as jmarkel pointed out above.

<?php function metarobots_comment_help() {   $url_components = explode('/', request_uri());   if ($url_components[1] == 'comment') {     $elements = array(       '#tag' => 'meta',       '#attributes' => array(         'name' => 'robots',         'content' => 'noindex,follow',       ),     );    drupal_add_html_head($elements, 'robots');   } } 

With the aid of a helpful comment on the arg function.

Hopefully this will eventually be addressed by Meta Tags module - there's a feature request, but it's not yet clear if the module author wants to support this.


[My previous comment] I just wanted to add that using robots.txt is not the answer - as you already noticed, links keep appearing in the search results despite using Disallow: /comment. This is expected, since robots.txt tells the bot not to crawl those pages, but it doesn't tell Google not to index it. As explained on SEOmoz Robots.txt and Meta Robots Best Practices for Search Engine Optimization:

In most cases, meta robots with parameters "noindex, follow" should be employed as a way to to restrict crawling or indexation.

Block with Robots.txt - This tells the engines to not crawl the given URL but tells them that they may keep the page in the index and display it in in results.

Block with Meta NoIndex - This tells engines they can visit but they are not allowed to display the URL in results. (This is the recommended method) So the noindex meta tag you're after is indeed what you need.

 
 
     
     

相关问题

2  评论通知  ( Comments notification ) 
匿名用户发送评论时的评论通知在哪里? 我没有在仪表板或其他页面中找到任何通知,以批准评论。 ...

5  从评论表单中删除输入格式选项和说明  ( Removing input formatting options and description from comment form ) 
如何从评论表单中删除输入格式选项和描述? 我对基于CSS和/或jQuery的解决方案不感兴趣,我也不感兴趣地使用更好的格式模块,因为我使用Drupal 7,它专门说明它还没有准备好生产网站(除了安装模块的事实似乎是矫枉过正的事实)。我希望通过电线发送的HTML根本没有"输入格式" 相关文本。 drupal有时会驱动...

6  有没有办法在没有网页中以网址在网址中以编程方式设置寻呼机的页码?  ( Is there a way to set the pagers page number programmatically without the page ) 
我想要一个先前留下了节点的评论的用户,最初看到新的用户的最后一页,而新用户(该节点)最初会看到注释的第一页。 我知道该页面由寻呼机控制,并由URL中的"页面" 变量设置( 99887661 )。有没有办法可以以方便地设置这件事? (只是为了澄清,我不使用这个项目上的视图模块。) ...

2  将评论表单/呈现出node.tpl.php(进入单独的区域)  ( Move comment form render out of node tpl php into separate region ) 
我想呈现 99887668 在node.tpl.php文件之外的节点的一部分,并在主题的单独区域中呈现评论(表单和所有)。 我注意到了 commesblock 在这些行中做某事,但需要一个视图,而不是似乎太完了。 我可以做一些预处理,以将渲染数组中的整个评论变为page.tpl.php模板如果我在某个节点类型页面上,...

6  基于节点类型的评论自定义模板  ( Custom template for comment based on node type ) 
我正在尝试每个内容类型为我的评论添加自定义模板文件。 comment--[contenttype].tpl.php 默认未拾取。我读到这可能是D7错误或者设计。然后我也读到我可以向我的template.php添加预处理函数,但我仍然有点困惑。我已经将此添加到我的主题; function bartik_prep...

2  仅显示具有相同角色的用户的评论  ( Show only comments from users with the same role ) 
我目前正在分析一个项目,我遇到了以下情况,我想知道你的观点。 对于特定的内容类型,我们希望允许用户列入评论,但它们应该只能看到用户具有相同角色的评论。只有管​​理员才能允许查看它们。 任何人都遇到了类似的情况? ...

6  主题用户在Drupal 7中的评论中的图片  ( Theme user pictures in comments in drupal 7 ) 
我正在尝试在Drupal 7中的评论中为用户图片设置特定样式,但找不到如何执行此操作。 我知道这个模块(http://drupal.org/project/imageCache_profiles),但这真的是一个矫枉过正,因为我只是希望在评论中被主题的照片,根据我已经在image_cache配置中创建的样式。 在co...

4  限制基于用户角色的内容类型的节点的评论  ( Restrict comments on nodes of a content type based on user role ) 
我在drupal构建一个网站,其中有2种不同类型的注册用户。让我们调用它们基本用户和高级用户。这些可能是角色,或群组或其他东西。 授权用户将能够发布具有简单内容和下面的注释的页面。所有页面都可以公开查看,即使是非注册用户,也是评论。 只有注册用户应该能够发表评论。 我希望的是一些页面,只允许从 premium用户的评...

6  首先是旧的评论  ( Comments sorted by oldest first ) 
我设置了我的评论顺序首先是最古老的。当评论比每页允许的号码有更多的评论时,评论分布在2页上,并提供了一种寻呼机。 我的问题是,当你第一次来节点看评论时,你会看到旧的评论。然后,您必须单击到第2页以查看最新注释。 我从逻辑的角度看,为什么它以这种方式工作,但我不认为它是最好的可用性。默认情况下,我如何使您到达一个节...

2  如何自定义评论回复链接?  ( How do i customize the comment reply link ) 
我正在尝试自定义评论回复链接以将用户指向同一页面上的注释提交表单。我试过了: <?php $content['links']['#links']['comment-reply']['href'] = '#edit-comment-body-und-0-value'; ?> 在我的comment.tpl....

2  如何捕获重复的评论  ( How to catch duplicate comments ) 
在我的网站中,评论被审核所以(匿名)访客有时会困惑,并尝试重新提交它。 它只发生在5分钟内。 如何通过同一用户捕获和拒绝重复评论的最佳方法? 一种方式是从同一会话中寻找5分钟内的同一个正文文本并拒绝它。 ...

0  用于节点上的Disqus评论的电子邮件通知  ( Email notifications for disqus comments on a node ) 
我在drupal中设置博客,并使用DISQU模块与DISQU评论系统集成。没有使用Drupal评论系统。当有人发布对节点的Disqus评论时,我希望Drupal通过电子邮件发送给节点作者发出注释的通知。当发布新的注释但不是节点作者时,Disqus的系统是设置通知主管理帐户,因为该信息位于Drupal中。我该怎么办? ...

7  使用PHP打印评论表格  ( Print the comment form with php ) 
我正在尝试用以下代码打印评论表格。 <?php print drupal_get_form('comment_form', array('nid' => $row->nid), t('Post new comment')); ?> 所有我得到的是重复40次的错误: 警告:尝试在commend_...

1  D7评论表单不提交  ( D7 comment form doesnt submit ) 
我在使用php视图字段中成功打印了视图构建的页面上的评论表单(如这个问题)。表格不立即提交 - 而不是提交,注释"保存" 按钮重定向到空白值的"注释/ reply / [nid]" 页面。 评论表单打印代码: $comment = new stdClass; $comment->nid = $row->nid;...

0  即使他们未登录为会员,我需要提交我的网站访问者发布评论  ( I need to have my site visitors post comments even if they are not logged in as ) 
我需要让我的网站访问者发布评论,即使它们未作为我的Drupal 7站点中的成员身份登录。我怎么做?或者让他们注册更好,以便他们可以发表评论? ...

2  评论D7的分页?  ( Comment pagination for d7 ) 
我无法看到评论分页部分,即使我在 structure/content-type/name/comment-field下面的注释字段下面。我设置节点显示的注释数量的限制为10.但是当我在节点上有超过10个注释时,我仍然无法看到底部的分页栏。是否有用于评论的定制分页的模块? ...

0  渲染列表与相组合用户+内容类型的视图  ( Rendering a list with views combining user a content type ) 
hello有没有办法,我可以使用ade [有机组模块,最新版本] 的成员来创建一个用户的视图 视图还必须能够显示其他内容类型,如此内联的Ajax注释,即我能够在该模块内联ajax评论 在我创建内容类型的视图时,我面临的问题是该模块工作,但是当我创建用户类型的视图时,它不起作用.... 任何解决方案...... ...

2  评论没有显示  ( Comments not displaying ) 
这很奇怪。 注释只显示名为"问题" 的内容类型,用于具有评论权限"管理评论和注释设置" 的角色。我为所有角色设置了"查看注释" 权限。所有其他内容类型都显示所有角色的注释。以某种方式此内容类型已损坏。有人见过这样的行为吗?关于如何解决它的任何建议? ...

2  如何使用Profile 2显示用户配置文件页面,并启用注释?  ( How to use profile 2 to display user profile page with comments enabled ) 
我已下载,安装和启用的配置文件2,配置文件2页面&amp;配置文件2组访问(我有有机组) 然后转到权限查看任何配置文件(所有用户),查看自己的个人资料(authe。,admin),编辑自己的配置文件(authe。,admin。) 之后我去了config&gt;人民&gt;帐户设置&gt;管理显示&gt;自定义显示设置...

1  评论表单操作点指向不同的节点  ( Comments form action points to different node ) 
我对节点的注释有一个非常奇怪的问题。我最近升级到Drupal 7.12。 现在评论不起作用。当用户(已注册或匿名)进入节点页面时,将指向表单的操作调用指向页面URL。但是,当用户浏览到另一个页面时,新页面的评论形式的动作调用仍然指向上一页!发生这种情况,直到浏览器关闭,或者用户注销。 谁能揭示为什么会发生这种情况?...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.