您如何告诉搜索引擎暂时不要在此页面建立索引,但是将来呢?


8

我工作的公司有一个内容管理系统,该系统自动为某些内容构建页面。

例如,我们系统中的一个页面能够根据输入参数以及我们对它们的了解,向您显示有关数据库中任何作曲家的信息。但是,不时有一个作曲家没有任何信息,因此该页面呈现空白页面。我们如何才能告诉Google不在那一刻,但也许在将来的某个时候,将页面编入索引?

由于内容是自动生成的,因此我们不能仅仅阻止页面可见,因为有关该作曲者的信息随时可能弹出。

编辑

请注意,我们进行提取的CMS系统非常复杂且深入。页面的内容部分将返回某种数据,因此,运行empty($content) ? xx : yy建议的不是快速解决方案。如果没有作曲家,则系统将没有该作曲家的页面;如果有作曲家,则系统将没有页面。呈现该作曲家的页面时,系统会搜索涉及作曲家的每种类型(例如作品)以创建动态页面。


2
“空白页”到底是什么意思?您是说没有发送HTML吗?还是您拥有基本的“外壳”设计却没有内容?
不满的山羊

Answers:


13

如果没有特定作曲家的内容,请使用meta标记:

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

一旦添加了内容并删除了meta标签,Google就会对其进行索引。

例:

<?php if(empty($composerInfoArray)): ?>
    <meta name="robots" content="noindex, follow">
<?php endif; ?>

1
FWIW“跟随”是默认行为,您可以根据需要将其删除(这不会引起任何问题,也许对人类来说意味着更多,因此您也可以保留它)。
约翰·穆勒

4

如果“缺失”页面确实不包含任何实际信息,而只是“将来可能在此处存在页面”的占位符,那么我建议您配置Web服务器以为其返回404 Not Found状态代码。

浏览器仍然会向用户显示此类页面,就像它们显示正常的404错误页面(至少只要它们足够长)一样,但是搜索引擎只会将页面视为根本不存在。

这是Wikipedia例如用于不存在的此类页面的方法。它的优点之一(除了可以说在语义上是正确的),还可以保证搜索引擎将以与对待返回404状态码的丢失页面完全相同的方式对待这些页面。

一个潜在的缺点是,如果您具有指向返回404状态代码的页面的链接,则这些页面将显示为“ 404错误”,例如在Google的网站站长工具中。但是,这完全正常现象,无需担心


为了进一步帮助搜索引擎发现新页面,当它们确实获得了一些实际内容并停止返回404时,您还应该维护一个定期更新的XML网站地图,列出您网站上所有包含内容的页面。这样一来,Google和其他搜索引擎便可以直接通过站点地图发现新页面,而不必在重新爬网时随机遇到它们。

附言 另请参阅:不是没有相关内容的索引页?


Karenon,返回404等同于不执行任何操作,这就是常规Web服务器的行为。Wikipedia的示例只是一个自定义404页面。
Binarysurf 2014年

1
@Binarysurf:据OP称,他们正在使用自定义脚本来为“虚拟页面”提供动态内容,这些内容是根据数据库中存储的信息构建的(就像如今的Wikipedia,SE和大多数主要网站一样)。这确实意味着“常规网络服务器行为”不适用-就网络服务器(Apache,IIS,nginx等)而言,内容生成脚本存在并运行,因此默认情况下为“ 200 OK”响应,除非脚本另有说明。我只是建议OP 如果没有实际内容要显示,则应让其脚本发送404响应。
Ilmari Karonen 2014年

有一个自定义脚本可以从数据库中检索作曲家的数据,如果那里没有人的名字怎么办?使用逻辑,脚本将不会从数据库获取任何记录,该怎么办?也许它将发送404未找到。如果脚本找到了一些东西,也许只是元数据(他的名字)而没有其他数据,它将发送200和一个包含空内容的页面。即使他具有自定义脚本,他也将遵循默认Web服务器的行为吗?或者它会为每个请求响应200?它看起来是垃圾邮件,没有特定的内容重点。
Binarysurf 2014年

一旦你运行一个脚本,该脚本负责发送的状态代码,以及正确的代码当查询没有结果发送是404
Wossname

1

我将亲自在系统中构建一条消息,该消息将使用户知道,在他们的请求完成时,找不到给定参数的编写器。这将使用户避免认为页面/链接已“损坏”。


1

如果页面没有内容,则您的CMS系统不应链接到该页面。链接到空白页对用户和搜索引擎都不利。

我喜欢Wayne Whitty关于如何将meta标签放置在作曲家页面本身上的建议。您应该在列出所有作曲家并链接到它们的地方找到一种类似的方法:

<?php foreach ($composers as $composer) {
    if ($composer->countCount > 0)
         print "<li><a href=\"$composer->url\">$composer->name</a></li>";
    } 
} ?>

如果这样做,搜索引擎将不再找到空白页面。


1
...也就是说,除非有一些有意义的内容,即使页面“空白”,用户也可以做,例如为其提供信息。(不过,即使这样,也最好不要直接链接到空白页,而要链接到指示(可能)缺少数据的其他URL。请注意,您需要处理用户关注的情况页面最近创建的此类链接;例如,请参阅Wikipedia的操作。)
Ilmari Karonen 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.