PR

WordPressへプラグインを使わずnoindex、nofollowを実装する方法function使用(黙示録)

WordPress

運営しているほかのサイトで今までnoindex、nofollowを付加するのにAll in One SEO Packを使用していたのですが

All in One SEO Packを使用しなくなって一番困ったのが内容の薄いページへGoogleがindexしないよう指定するnoindex

そこで探し回った結果カスタムフィールドとfunctionに記述する2つの方法が見つかり後々の設定の利便性からfunctionに記述する方法を黙示録として置いておきます

スポンサーリンク

私の環境ではしっかり動きタグもしっかり付与していることを確認していますがすべて同じとは限らないのでやってみる方は十分テストを行った上で実装してください。

実装するとメニューにプルダウンが追加されて選択できるようになります

方法

参考にさせていただいたのが有名なテーマであるAffingerのページ

「自分のWordPressテーマの投稿に「index、noindex」の設定をサクっと追加する方法(ページが削除されていました)」

コピペでOKかと思いきやサイトが真っ白になってしまったのでいろいろやったらいつの間にかできてました・・・

スペースなどをとりあえず消しまくったのが効いたのかもしれませんが何が原因だったのかはわかりません。

エラーチェックなどでも問題はなかったので何が原因かは不明です(^^;

コード

今動いているコードです自己責任で使用してください

add_action( ‘admin_menu’, ‘st_stmeta_robots_add_metaboxr’ );
add_action( ‘save_post’, ‘st_stmeta_robots_save_stmeta_robots’ );
function st_stmeta_robots_add_metaboxr() {
add_meta_box( ‘stmeta’, ‘index変更’, ‘st_stmeta_robots_stmeta_robots_dropdown_box’, ‘page’, ‘side’, ‘low’ );
add_meta_box( ‘stmeta’, ‘index変更’, ‘st_stmeta_robots_stmeta_robots_dropdown_box’, ‘post’, ‘side’, ‘low’ );
}function st_stmeta_robots_stmeta_robots_dropdown_box() {
global $post;
wp_nonce_field( wp_create_nonce( __FILE__ ), ‘st_stmeta_robots’ );
$stmeta_robots = $post->stmeta_robots;
?>
<label for=”stmeta_robots”></label>
<select name=”stmeta_robots” id=”stmeta_robots”>
<option <?php if ( $stmeta_robots === “index, follow” ) {
echo ‘selected=”selected”‘;
} ?>>index, follow
</option>
<option <?php if ( $stmeta_robots === “index, nofollow” ) {
echo ‘selected=”selected”‘;
} ?>>index, nofollow
</option>
<option <?php if ( $stmeta_robots === “noindex, follow” ) {
echo ‘selected=”selected”‘;
} ?>>noindex, follow
</option>
<option <?php if ( $stmeta_robots === “noindex, nofollow” ) {
echo ‘selected=”selected”‘;
} ?>>noindex, nofollow
</option>
</select>
<?php
}

 

function st_stmeta_robots_save_stmeta_robots( $post_id ) {
$my_nonce = isset( $_POST[‘st_stmeta_robots’] ) ? $_POST[‘st_stmeta_robots’] : null;
if ( !wp_verify_nonce( $my_nonce, wp_create_nonce( __FILE__ ) ) ) {
return $post_id;
}
if ( defined( ‘DOING_AUTOSAVE’ ) && DOING_AUTOSAVE ) {
return $post_id;
}
if ( !current_user_can( ‘edit_post’, $post_id ) ) {
return $post_id;
}
$data = $_POST[‘stmeta_robots’];
if ( get_post_meta( $post_id, ‘stmeta_robots’ ) === “” ) {
add_post_meta( $post_id, ‘stmeta_robots’, $data, true );
} elseif ( $data !== get_post_meta( $post_id, ‘stmeta_robots’, true ) ) {
update_post_meta( $post_id, ‘stmeta_robots’, $data );
} elseif ( $data === “” ) {
delete_post_meta( $post_id, ‘stmeta_robots’, get_post_meta( $post_id, ‘stmeta_robots’, true ) );
}
}

function st_stmeta_robots_add_stmeta_robots_tag() {
global $post;
if ( is_single() || is_page() ) {
if ( ( $GLOBALS[“stdata9″] ) !== ” && ( $GLOBALS[“stdata9”] ) != $post->ID ) {
$stmeta_robots = ( empty( $post->stmeta_robots ) ) ? ‘index, follow’ : $post->stmeta_robots;
echo ‘<meta name=”robots” content=”‘ . $stmeta_robots . ‘” />’ . “\n”;
}
} elseif ( !is_category() && is_archive() ) {
echo ‘<meta name=”robots” content=”noindex, follow” />’ . “\n”;
} else {
}
}
add_action( ‘wp_head’, ‘st_stmeta_robots_add_stmeta_robots_tag’ );

やってみて

内容が薄いページやお知らせなどで意味があるけどGoogleにインデックスしてほしくないページへ簡単付与できるので便利になります!

注意点:Google XML SITEMAPプラグインを使用している場合プラグイン側にも指定を行わない場合indexガバレッジのエラーが出ます(サーチコンソル)

コメント

【DaVinci Resolve】Speed Editorが「DaVinci Control Panels」には認識されるけどダヴィンチリゾルブ側で認識されない場合の対処方法!
アドセンスのお支払い情報画面に「お支払いが遅れることなく、税金の源泉徴収も適切に行われるようにするために、できる限り早急にシンガポールの税務情報をご提出ください。」と表示された?!(対処方法)
auスマホ・タブレットのSIMロックを無料で解除する方法(auスマホで格安MVMO SIMが使えるようになる!)
Windows11で高速スタートアップを無効にする方法(稀にハードウエア不具合を招くことも!?)
DaVinci Resolveの課金有料版「DaVinci Resolve Studio」をポイントも合わせてなるべくお得に購入する方法(実際に買ってみた)
【ライティング】キーボードなどのライティング設定を邪魔してくるWindws機能「動的ライティング」の切り方(無効にする方法)
【100均】ペン型セラミックカッターが便利すぎるのに100円で買える!?
【AI】初めてChatGPTに登録して聞いてみた(AI初体験)
入院時の暇つぶし最強アイテムは家でも使っているアレ!
容量は増えていくけどたまに必要になる中容量のSDカード(32GB)を購入したのでベンチマークしてみた
2024年10月
 123456
78910111213
14151617181920
21222324252627
28293031  
タイトルとURLをコピーしました