需要があるかどうかは別として。少なくともうちのブログでは必要な処理だったので方法をシェア。
要は「アクセス少ない記事が大量にあるんで 全部No Indexしちゃいたいぜ!」って人のための記事です。
今回はSWELL&SEO SIMPLE PACKでの方法を書いていきますが 応用すれば他のテーマやプラグインでも使える手法かと思いますので 参考にしていただければ幸いです
一括でNo Indexしたい理由とは?
具体的な方法は後述するとして まずは「なぜ 大量な記事をNo Index化したいのか?」ってあたりからお話していきましょう。
うちのブログの場合 始めたのが2015年なので かれこれ8年くらい。その間には紆余曲折もたくさんあったので ぶっちゃけうんこみたいな記事とかGoogleさんに相手されない記事とかが大量にあるんですよね。
もちろんそういう「品質の低い記事」なんてぇやつは ブログにとってなんの得にもならないんで 消しちゃえばいいんですけれども!!!
せっかく書いたんだし消すのはもったいないじゃん?
でちゃいましたね貧乏性(笑)
とはいえ うちみたいな「収益に全振りして楽しめないのはいや!」みたいな 趣味ブログの延長で運営してる場合だと 過去記事を読みながら思い出に耽るみたいな機会って結構多いんですよ。
過去の旅行記とかさ~。グルメ記事とかさぁ~。
絶対 検索的に需要ない記事とかも 本人にとっては大事な思い出!
でも そんな「需要がない記事」がブログの足を引っ張ってる。
消さなきゃなの? 消したくない!
って事でその解決策が…
「自分には見えてるけどgoogleさんには無視していただこう!」
ってことなんですね
アクセスない記事どんだけあんの?
そんなこんなで まずはNo Index候補の記事を見つけていかないといけません。
幸いなことにSWELLの場合は「PV」という指標が投稿一覧画面にあり、おまけに昇順降順に並べ替える事も可能。
つまり「少ない順」に並べ替えれば 需要のないPV極小の記事も一目瞭然と言うわけです。
では当ブログを見てみましょう。
700記事近くの記事をPV少ない順に並べかえて1ページあたり100記事を表示する設定。それの4ページ目…つまり少ない方から400記事目のPVが2です(涙
当日のPVじゃなくて累計ですからほぼアクセスないってことですね(号泣
つまり700記事中でGoogleさん的に価値がある記事は200~300程度しかないと…
ということで 現在は「200個くらいは価値のある記事もあるけど 他に400個以上の無価値な記事がある」状態。
んで!この400記事をNo Index化することによって
「Googleさん。うちには200個の高品質な記事しかありませんよ えっへん!」というフリをしようということです。
もちろん400記事を一個一個編集してすべてNo Index化していくのも手ではありますが、かなり根気のいる作業でして 50記事くらいで心が折れました(経験者w
そんななか色々な手段を検討した結果 実際に試して無事に成功した方法があるので以下に説明していきます
大量No Index準備編
まず知識として頭の片隅に置いてもらえば良い程度のお話ですが SEO SIMPLE PACKにおける No Indexの設定はカスタムフィールドという欄に保存されています。
簡単に言えば「記事ごとに設定用の箱を用意しておいて その中に値をいれておく」ってことです。
あくまでも「設定」なので 普段はこのカスタムフィールドは表に表示されておらずカスタムフィールドの名前なども目にする機会はないかと思います。
ただ今回はこのNoIndexが格納されているカスタムフィールドをいじっていくので 名前を確認しないければなりません。
で…調べてみると カスタムフィールド名は ssp_meta_robotsとなっております。覚えておいてください。
他のテーマやプラグインを使っていて ご自身の設定欄のカスタムフィールド名が知りたい様な場合は 以下の方のページを参考にカスタムフィールドを表示して確認してみてください。カスタムフィールド名さえわかれば 当記事のカスタムフィールド名を読み替えて実行していただければ同じ作業が可能かと思われます。
それでは作業を円滑にすすめたり 結果の確認がし易いように いくつか準備が必要ですので順を追って説明します
投稿一覧にrobotsタグを表示する
一気にNo Index化をするので「実際に各記事にNo Indexが記載されているのか?」を確認しなければいけません。
しかし 一個一個記事を開いて SEO SIMPLE PACKの設定欄を確認していくなんていう地道な作業をする気はありません。
ということで 「投稿一覧」画面に robotsタグの設定値を表示する改造をします。
完成イメージはこんな感じ
方法はいたって簡単。function.phpに以下のコードを追加するだけです
function manage_posts_columns($columns) {
$columns['ssp_meta_robots'] = "robotsタグ";
return $columns;
}
function add_column($column_name, $post_id) {
if( $column_name == 'ssp_meta_robots' ) {
$stitle = get_post_meta($post_id, 'ssp_meta_robots', true);
}
if ( isset($stitle) && $stitle ) {
echo attribute_escape($stitle);
}
}
add_filter( 'manage_posts_columns', 'manage_posts_columns' );
add_action( 'manage_posts_custom_column', 'add_column', 10, 2 );
fuction.phpを直接いじるのに抵抗がある人は Code Snipetなどのプラグインを使用してももちろん構いません。
プラグイン「Custom Field Bulk Editor」を導入する
続いては 複数記事のカスタムフィールドを一括編集するためのプラグインであるCustom Field Bulk Editorを導入します。
ちょっと古めのプラグインなので 管理画面のプラグイン検索からではヒットしないため 自力でサイトからダウンロードしてもらって自力でアップロード・インストールしてもらう必要があります。以下のサイトからダウンロードしてインストールしてください。
(なお古めのプラグインなので今後のWPのバージョンによっては正常に動かない可能性もあります。ご使用は自己責任で&使用前にバックアップは忘れずに)
インストールに成功すると 投稿タブの下にBulk Editorが追加されます
作業用仮カテゴリを用意する
前章で導入した「Custom Field Bulk Editor」というプラグイン。複数記事のカスタムフィールドを一括で編集できるというすぐれたプラグインなのですが、ちょっと不便な部分もあります。
複数記事のカスタムフィールドを編集する場合「投稿一覧画面でチェックマークをつけた投稿のカスタムフィールドを一括で編集する」というのが理想的な動作なのですが このプラグインの場合「特定のカテゴリの記事にまとめてカスタムフィールドを設定する」という方法しかありません。
ですので 「アクセスが少ない記事を一括でNo Indexに設定する」 ためには「アクセスが少ない記事をまとめて同じカテゴリに登録する」という作業が必要になってくるわけです。
ということで 名前はなんでも良いのですが ここでは仮に
- noindex1
- noindex2
- noindex3
といった感じで 3個ほどのカテゴリを用意しておくことにします。
複数用意している理由なのですが、どうやらこのプラグイン(Custom Field Bulk Editor) あまり多くの記事を一気に処理使用すると抜けが生じるっぽいんですよね。 なので 一個のカテゴリに300記事とかツッコんで一気に処理しようとしても100個くらいしか反映されない…みたいなことが起こる可能性もあるので 複数カテゴリに分けて登録しておいたほうが無難ということです。
とは言え うちみたいに300個も一気にNo Index化するような方は稀有でしょうし、100個前後であればカテゴリは1個で処理できると思いますので ご自身の環境に合わせて 適当に個数を決めてください。
No Index化 実践編
それではいよいよNo Index化の作業を行っていきます。万が一手順などを間違えておかしなことになってしまう可能性もありますので 作業前にバックアップは忘れずに
投稿一覧をPV順に並べる
今回は「PVの少ない記事」をNo Index化するのが目的ですので まずは投稿一覧に表示されている記事をPV順に順に並べ替えてあげる必要があります。
と大げさに言ってますが 一箇所クリックするだけです。投稿一覧右上の「PV」をクリックして降順に並べ替えましょう。
1ページの表示数を設定する
この作業は100個を超えるような大量な記事をNoIndex化するための設定なので 記事数が少ない人は読み飛ばしてください。
先ほども説明した通りCustom Field Bulk Editorはどうやら 一度に100~150程度の記事しか処理できないようなので 大量の記事を処理する場合 複数カテゴリに分けてあげる必要があります。
なので 作業としては
- 少ない方から100個はnoindex1
- 少ない方から101~200個はnoindex2
といった感じで 1ページごとにカテゴリをわけていく方法をとりたいと思います。
1ページに表示する数を100個程度におさえたいので投稿一覧の「表示オプション」から 1ページあたりの表示数を100個程度にしておいてください
一括編集でカテゴリを追加
では次にページごとにカテゴリを追加していきます。
- 左上のチェックマークでページ内の記事を全選択(100件)
- 一括操作→編集
- カテゴリ(1ページ目ならnoindex1 2ページ目ならnoindex2)をチェック
- 更新ボタン
これを100記事ごとに繰り返していきます。
最終的には PVが少ない方から順番に 1~100番目はnoindex1 101~200番目は noindex2 (以下略
みたいな感じになればOKです。
うちの場合PV少ない記事を抜粋してたら…600記事中400記事くらい ほぼPVなかったけどな(号泣
カスタムフィールドをまとめて編集
それではいよいよカスタムフィールドの一括編集です。
サイドバーの投稿部分から Bulk edit Fieldsを選びます
するとカスタムフィールドの編集記事を選ぶ画面が出てきますので そこから先ほど作った「noindex1」カテゴリを選択します。そして「Apply」で表示
すると noindex1カテゴリの記事100個が表示されるので
- 左上または右下の全チェック枠をチェック
- カスタムフィールド名に「ssp_meta_robors」 値に「noindex」を設定
- 「Save Custom Fields」ボタンを押して保存
といった感じで設定を更新していきます。
同じ作業をカテゴリの数だけ繰り返していきましょう(300記事なら3回とか)
投稿一覧で確認
一通りの作業が終わったら 投稿一覧画面で たしかにNo Index設定されているか確認します。もう一度PV少ない順で評して確認してみると…
はい 無事に成功です♪
無事に作業が終わりましたら さきほど設定した仮カテゴリ(noindex1他)を削除して作業は完了です。お疲れ様でした
まとめ
そんな感じで まぁ…いらん記事は削除するなり下書きに戻すなりすれば作業は一瞬で終わるんですけれども…
内部リンクのリンク切れとかチェックするのめんどくさいですし 下書き間違えて消しちゃったりすると過去の思い出消えちゃうのもいやですし…
結局面倒を回避するためにさらに面倒な作業をするというこんな無駄な時間が実は楽しい とまじぃでありましたとさ(笑
ってことで 数百個 まとめてNoIndex化したいような奇特な方は参考にしてくださいませ♪