在 WordPress 中,有没有办法排除单个目录被元机器人标签而不是单个页面或帖子索引?

问题描述 投票:0回答:2
php wordpress web-crawler meta
2个回答
1
投票

元机器人标签仅在网页上使用。这些网页可以是帖子,也可以是 WordPress 中的页面。现在,要隐藏目录以使其不被索引,您需要使用不同的方法。

首先,确保您没有通过 robots.txt 文件禁止该目录。然后,在您的目录中创建一个 htaccess 文件并添加以下行以防止索引。

Header set X-Robots-Tag "noindex, nofollow"

现在看看,如果 Google 已经对其中的文件建立了索引,那么您应该转到网站管理员工具并从 Google 索引中删除这些网址。上述解决方案适用于您使用此解决方案后创建的文件。但是,我希望您在回答中澄清的一件事是目录中的文件类型?如果您可以让我知道您目录中文件的扩展名,那么我可以为您提供自定义解决方案。例如,假设您有 60 个 pdf 文件和 10 个 html 文件,并且您只想隐藏 pdf 文件,那么也有一个解决方案。

否则,如果您的疑问得到解决,那就太好了。


0
投票

机器人.txt 添加以下行:

Disallow: /your/path/to/the/folder/that/should/not/be/indexed/

我不确定你有什么类型的页面,wordpress还是自定义的 php 方法也是可能的,创建一个带有

array()
的文件,其中包含不应索引的所有页面,并在 if 和 else 语句中对其执行某些操作,例如,如果页面在数组中,则写入元标记如果页面不在数组中,则执行其他操作或不执行任何操作。该文件应包含在您的页面中,如果您使用同一文件在所有页面上加载元标记,则可以将其包含在那里..

<?php
$nofollow = array('name1', 'name2', 'name3', 'name4');
$curr_ID = 'get the current page ID'; // write something that is able to put the current page ID here..
if (in_array($curr_ID, $nofollow))
  {
  echo '<meta name="robots" content="noindex,follow">'; // the page ID is in the array 
  }
else
  {
  echo '<!--// Do nothing or do something else //-->'; // The page ID is not in your array, do what you'd like to do here..
  }
?>

这是您一直在寻找的吗?

编辑

500 个索引页面是很多页面和不需要的结果,但您可以将它们从 Google 索引中完全删除这里,如果文档包含个人信息,您也可以请求删除,在 Google 上搜索有关此法律的信息:european法律:你有被遗忘的权利

关于 noindex、nofollow、noarchive:

noindex 是:禁止为您的页面建立索引

nofollow 是:禁止关注..

noarchive 是:禁止在搜索引擎中为您的页面现金

下面的 .htaccess 答案也是可能的,但正如 Aman Kapoor 在他的答案中所说,不要同时使用 robots.txt 和 .htaccess 来完成您想做的同一件事。您只能使用 1 种方法。

.htaccess 示例代码1:

<IfModule mod_headers.c>
#   Header set X-Robots-Tag "noindex, nofollow, noarchive"
# this can be used to exclude the html extension, change html 
# to an other extension if you need an other to exclude..
# Remove your-folder in the code below and use the htaccss file in the same folder,
# your-folder was added to explaine if there is something you would like to exclude in a folder inside the folder where you would like to exclude something, this is how you can do that...
<FilesMatch "^your-folder\.html$">
Header set X-Robots-Tag: "noindex, nofollow, noarchive"
</FilesMatch>
</IfModule>

下面使用

.htaccess
的示例确实排除了与您添加的扩展名匹配的所有文件,示例 2:

<IfModule mod_headers.c>
# Add more extensions if needed or remove the extensions you do not want to exclude! (jpe?g is both jpeg and jpg)
<FilesMatch "\.(php|htm?l|html|doc|pdf|png|jpe?g|gif)$">
     Header set X-Robots-Tag "noindex, noarchive, nosnippet"
</FilesMatch>
# </IfModule>

我用正确的

.htaccess
代码更新了我的答案,以使用
.htaccess
执行此操作,它正在工作,但您也可以使用服务器配置文件或 robots.txt 方法来停止索引文件夹。

我想说,只需尝试您最喜欢的内容,然后添加您的选择(robots.txt 或 .htaccess 或服务器配置):不要忘记转到 google 网站管理员工具并从索引,之后您需要在网站管理员工具中请求为您的网站建立完整的网站索引..

最好做什么?

  1. 如果可能的话,服务器配置是最好的,大多数网站所有者无法这样做,因为他们无权访问文件...
  2. 第二个
    .htaccess
    示例,如果有多个扩展名应从搜索索引中排除,如果您无权访问配置文件,这是执行您想要的操作的最佳选择。
  3. robots.txt 在文档根目录中,您始终需要一个 robots.txt 文件,因为这是蜘蛛下载以检查要索引的内容的第一件事,但是如果您使用服务器配置或.htaccess

我相信您能做的最好的事情就是添加第二个 htaccess 示例(编辑扩展名以满足您的需求),转到 webmastertools 并从其索引中删除 500 个文档,然后请求完整的网站爬行/在网站管理员中再次添加网站以进行索引工具

© www.soinside.com 2019 - 2024. All rights reserved.