Rank math插件批量设置noindex和nofollow

rankmath SEO插件可以在文章里面设置noindex和nofollow,不过如果想在文章外面批量查看index和follow状态的话就需要购买它们的pro插件,其实插件也很多贵,就是多装一个插件觉得麻烦,而且我就要一个能一眼查看文章index和follow,然后能一键设置index和follow就行啦。

说完立马开干,本文会涉及几个主要的wordpress自带function,不想了解的直接无脑粘贴代码即可。

⚠️ 以下所有代码请放到主题的functions.php最后一栏,特别建议放到子主题的functions.php最后一栏

在“所有文章”界面显示index栏

<pre class="wp-block-code">
add_filter( 'manage_posts_columns', 'keen_index_follow_column' );
function keen_index_follow_column( $column_array ) {
    $column_array[ 'index_follow' ] = 'Index and Follow';
    return $column_array;
}

粘贴完上面这段代码,在xxxx.com/wp-admin/edit.php界面,点一下右上角的screen options就能看到一个 Index and Follow选项,打勾之后,文章日期旁边就多了这个选项,不过下面是空的,接下来就开始赋值。

标出目前文章index状态

<pre class="wp-block-code">
add_action( 'manage_posts_custom_column', 'keen_value_columns', 10, 2 );
function keen_value_columns( $column_name, $post_id ) {
    switch( $column_name ) {
        case 'index_follow': {
            $index_follows = get_post_meta( $post_id, 'rank_math_robots', true );
            if($index_follows){
                foreach ($index_follows as $index_follow){
                    echo $index_follow.'<br/>';
                }
            }else{
                echo 'index<br>follow';
            }
            break;
        }
    }
}

粘贴完成,你就看到Index会出现值,如果之前都没设置过的话,会默认显示index follow,如果设置过noindex,也会显示对应的值。

展示批量编辑按钮

<pre class="wp-block-code">
add_action( 'bulk_edit_custom_box',  'keen_quick_edit_fields', 10, 2 );
function keen_quick_edit_fields( $column_name, $post_type ) {
    switch( $column_name ) {
        case 'index_follow': {
            ?>  
                <fieldset class=inline-edit-col-left>
                    <div class=inline-edit-col>
                        <span class=title inline-edit-categories-label>Rank math robots</span>
                        <ul style=height: 14em;border: 1px solid #ddd;margin: 0 0 5px;padding: .2em 5px;overflow-y: scroll;>
                            <li><label><input type=radio id=index value=0 name=index/><span class=title>index</span></label></li>
                            <li><label><input type=radio id=noindex value=1 name=index/><span class=title>noindex</span></label></li>
                        </ul>
                    </div>
                <?php
            break;
        }
    }
}

选择几篇文章,点击bulk edit就能看到展示的index和noindex按钮了

保存批量设置

<pre class="wp-block-code">
add_action( 'save_post', 'keen_bulk_edit_save' );
function keen_bulk_edit_save( $post_id ){
    if ( ! wp_verify_nonce( $_REQUEST[ '_wpnonce' ], 'bulk-posts' ) ) {
        return;
    }
    $index = ! empty( $_REQUEST[ 'index' ] ) ? absint( $_REQUEST[ 'index' ] ) : 0;
    if($index==1){
        $robot_array = array('noindex','nofollow');
        update_post_meta( $post_id, 'rank_math_robots', $robot_array );
    }elseif($index==0){
        //$robot_array = array('index');
        update_post_meta( $post_id, 'rank_math_robots', '' );
    }
}

这里是把选择index还是noindex告诉数据库,然后保存起来,我这里做了一个小偷懒,点击noindex之后会启动noindex和nofollow,如果你想单独设置,可以在第三段代码中增加一个radio按钮,命名为nofollow,value为3,在第四段代码中增加一个判断value等于3的时候设置一个array值为nofollow即可,前提是有一点代码基础。

好了,粘贴完四段代码,就可以愉快的切换index和noindex了,效果截图如下:

给看到文章后面的一个福利,我做成了插件,下载安装激活就能用了

rank-math-bulk-noindex下载

Keen

Keen

分享英文建站和SEO技巧.

按ESC退出