向Google隐藏自定义帖子类型?

时间:2017-09-28 作者:paper_robots

我有一个插件,它使用自定义的帖子类型来保存我通过其他地方的快捷码提取的内容。然而,在一个新网站上,我注意到CPT中的一条帖子开始出现在谷歌的搜索结果中。这篇文章没有直接链接到任何地方。那怎么会出现在那里?我怎样才能在谷歌上隐藏它呢?

我将public设置为false,现在这只是将页面转换为主页。我不知道这是否能完全解决我的问题。我还能做什么?

register_post_type(\'mycpt\', array(
    \'labels\' => $labels,
    \'public\' => false,
    \'show_ui\' => true,
    \'menu_icon\' => $icon_svg,
    \'_builtin\' => false,
    \'capability_type\' => \'page\',
    \'hierarchical\' => true,
    \'rewrite\' => false,
    \'query_var\' => \'mycpt\',
    \'exclude_from_search\' => true,
    \'supports\' => array(
        \'title\', \'editor\', \'revisions\',
    ),
    \'show_in_menu\' => true,
));

2 个回复
最合适的回答,由SO网友:FluffyKitten 整理而成

如果您正在使用SEO插件,如Yoast, 它会自动将所有自定义帖子类型(和分类法)添加到Google使用的网站地图中;其他搜索引擎。

您需要明确地将它们从网站地图中排除,例如在Yoast中,这在“XML网站地图”设置页面的“帖子类型”/“Taxomonies”选项卡下。

也别忘了通过删除Google的链接Webmaster Tools - 否则,你必须等待谷歌重新索引你的网站。

SO网友:paper_robots

有一种方法可以在默认情况下从Yoast隐藏帖子类型。然而,你的milage可能会因你对你的职位类型所做的工作而有所不同。如果您直接在前端使用它,那么这将不适用于您。在我的例子中,我是通过短代码提取内容的。

因此,注册post类型时的“public”参数可以同时启用/禁用几个参数。请参见此处的说明:https://codex.wordpress.org/Function_Reference/register_post_type

您可以手动设置这些参数,以获得更好的控制级别。我发现有助于解决我的问题的论点是可以公开质疑的。通过将此设置为false,它禁用了我的自定义帖子类型的前端页面。这是我不需要的。这对Yoast隐藏了帖子类型。所有的管理工作都在继续,帖子类型仍然以我所需要的方式发挥作用。

结束

相关推荐