我想以编程方式阻止搜索引擎使用PHP抓取WordPress帖子。
场景是,我正在创建一个虚拟帖子以及用户注册,我希望它不可搜索,否则用户已经编辑并保存它。有什么办法可以做到这一点吗?
在主题的functions.php
文件或自定义插件文件中使用以下代码片段。
function ar456_header_metadata() {
// Seperate Conditional Tag for Pages & single page in other post type
if( is_page( array( 'page-slug', 'post_id' ) ) or is_single( array( 'page-slug', 'post_id' ) ) ) { ?>
<meta name="robots" content="noindex,follow">
<?php }
}
add_action( 'wp_head', 'ar456_header_metadata' );
在代码中,您可以看到两个条件标签is_page()
和is_single()
。is_page()
适用于主页帖子类型,is_single()
适用于所有其他帖子类型。
更新您的页面ID,条件标记中的标题或辅助信息域,元标记将在这些页面中可用。
下面给出的例子。
if( is_page( array( 'sample-page', '3' ) ) or is_single( array( 'hello-world', '6' ) ) ) { ?>
https://developer.wordpress.org/reference/functions/is_page/https://developer.wordpress.org/reference/functions/is_single/
如果您希望排除所有帖子,只需将以下内容添加到主题的<head>
块中:
<meta name="robots" content="noindex">
如果您希望排除某些帖子,则必须根据所需的任何规则有条件地包含该元标记。
Ceejayoz 有完美的答案,但我没有直接评论的声誉。您必须创建一个专门阻止机器人的模板,然后为要省略的帖子和页面调用该模板。