STINGER8にmeta robotsタグ設定を追加する方法

WordPress

STINGER8では「meta robots タグ設定」の機能が無くなってるんですね。

「meta robotsタグ設定」は、noindex/nofollowなどの指定ができる「index設定」のことです。投稿の編集ページの右下の方に表示されていました。

STINGER7とかSTINGER Plus+など最近のSTINGERにはずっと付いていた機能ですが、どうやらSTINGER8で削られたようです。

STINGERでは記事毎にmetaタグ設定ができるのですが、自動的に個別ページと固定ページにmetaタグを設定してくれたりもしています。

正直なところ、どれくらい効果のあるものかわかりませんが、検索の質を高めるのに重要な要素の一つということなので機能を追加してみました。

STINGER8にindex設定を追加する方法

index設定の機能を追加する方法は、STINGERの製作者EIJIさんが昔書いた記事が参考になります。

自分のWordPressテーマの投稿に「index、noindex」の設定をサクっと追加する方法 – アフィリエイトのAFFINGER

ウェブサイトにはコードが記載してあるのでこれを参考にすればいいのですが、コピペすると動かなかったり、動作がおかしかったりするので修正が必要です。

自分なりに修正したコードを載せておくので、よかったら参考にしてください。function.phpに追加するだけです。

※ functions.phpに問題があると最悪サイトが見えなくなる可能性があるので、作業前にはバックアップを必ずしましょう。

//////////////////////////////////
// index操作
//////////////////////////////////

add_action( 'admin_menu', 'st_meta_robots_add_metaboxr' );
add_action( 'save_post', 'st_meta_robots_save_meta_robots' );

function st_meta_robots_add_metaboxr() {
  add_meta_box( 'stmeta', 'index変更', 'st_meta_robots_meta_robots_dropdown_box', 'page', 'side', 'low' );
  add_meta_box( 'stmeta', 'index変更', 'st_meta_robots_meta_robots_dropdown_box', 'post', 'side', 'low' );
}

// 挿入ページ

function st_meta_robots_meta_robots_dropdown_box() {
	global $post;
	wp_nonce_field( wp_create_nonce( __FILE__ ), 'st_meta_robots' );
	$meta_robots = $post->meta_robots;
  
	?>
	
	meta_robots ) ) ? 'index, follow' : $post->meta_robots;
		echo '' . "\n";
	} elseif ( is_category() ) {
		echo '' . "\n";
	} else {
    
	}
}

add_action( 'wp_head', 'st_meta_robots_add_meta_robots_tag' );

STINGER8では、カテゴリページ以外のアーカイブページには自動でmeta robotsタグが付与されるので、カテゴリページだけに付与するよう変更しています。STINGERのバージョンにより分岐具合が異なるかもしれません。

※ コードを少し修正しました(2017/02/01)

まとめ

メモみたいな記事や短期間だけ載せている記事なんかには、インデックスは不要かもしれないと思い追加してみました。

この機能がSTINGER8から削除されたのは残念ですが、簡単に追加できるものなのでよかった使ってみてください。

コメント

タイトルとURLをコピーしました