【问题标题】:How to no index specific URLS?如何不索引特定的 URL?
【发布时间】:2015-01-07 18:17:46
【问题描述】:

我正在搜索如何不为特定 URL 编制索引,但我没有找到关于以下内容的任何特定信息。

通过添加以下内容

<?php if(is_single(X)): ?>
<meta name="robots" content="noindex,nofollow">
<?php endif; ?>

我将无法索引 (X),其中 X 可以是帖子 ID,例如“Hello World”的帖子标题或“hello-world”的帖子标签。

如果可以指定 所有 URL,例如,以相同的 post slug 或标题开头,如下例所示?

www.test.com/REF-123-mytest.html
www.test.com/REF-123-yourtest.html
www.test.com/REF-123-histest.html

我可以省略所有个以 REF-123 开头的 URL 吗?

【问题讨论】:

  • 你知道抓取和索引的区别吗? Robots.txt 可以帮助禁止抓取您的网页,而不是编入索引。

标签: php robots.txt noindex


【解决方案1】:

您可以在 robots.txt 文件中添加此规则:

Disallow: www.test.com/REF-123*

【讨论】:

  • 这行不通。 1.) 它会阻止http://example.com/www.test.com/REF-123*,而不是http://www.test.com/REF-123*。 2.) 此外,* 在原始 robots.txt 规范中没有特殊含义,因此将按字面意思解释,即只有路径在该位置包含 * 字符的 URL 才会被阻止。 3.) 使用 robots.txt,您可以禁止抓取,而不是索引(但是,尚不清楚 OP 的真正目的是什么)。
【解决方案2】:

通过使用robots.txt,您可以禁止抓取

通过使用meta-robots(或HTTP 标头X-Robots-Tag),您可以禁止索引

如果您打算禁止索引,you shouldn’t 不允许 robots.txt 中的 URL,否则机器人永远不会知道您不希望这些 URL 被索引。

如果您想禁止抓取,可以使用此 robots.txt:

User-agent: *
Disallow: /REF-123

这将适用于路径以 REF-123 开头的所有 URL(区分大小写!)。

如果您想禁止索引,您可以在所有这些页面中添加这个meta 元素

<meta name="robots" content="noindex">

或发送相应的HTTP头X-Robots-Tag

X-Robots-Tag: noindex

【讨论】:

  • 谢谢你。我专门尝试不对 URL 编制索引,但我想避免一一添加“noindex”标签。有什么解决办法吗?
  • @jiko:不,您必须通过 HTML(使用 meta 元素)或通过 HTTP(使用 HTTP 标头)对每个页面/URL 执行此操作。当然,您可以使用像 PHP 这样的服务器端编程语言,仅在某些页面上包含这个 meta/header。
  • 如果我想禁止 www.example.com/test.html 我可以写 Disallow: /test.html ?如果我想禁止 www.example.com/category/pen 那么我可以写 Disallow: /category/pen ??请解释
  • @abilasher:是的。
猜你喜欢
  • 2019-01-11
  • 2012-08-18
  • 1970-01-01
  • 2016-04-11
  • 1970-01-01
  • 2017-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多