【Wordpress】ページごとにnoindexを自動指定できるコードを入れてみる
も・く・じ
ブログが重くなってきたのでプラグインの整理をしたんです。
そこで思い切って外したのが「All In One SEO Pack」。
でもちょっとした弊害が。
それがnoindex指定が外れてしまったページが出てしまったことでした。
プラグインのお掃除が手っ取り早い
ブログが重くなる原因っていろいろありますね。たとえば
- サーバーのポテンシャルの問題
- 画像の容量が大きすぎる
- スクリプトやCSSなどのコードが多すぎたり複雑過ぎたり
- プラグインを入れ過ぎてる
などなど。
最近、ロリポップを利用してるサイトの反応速度がことごとく遅いんですよ。
だからといってサーバーの問題かと言えば、そこは素人なのでなんとも言えないのが素人の悲しいところ。
画像に関してはほぼすべての画像を何らかの加工を施してからアップするので、画質を落とす工夫はしてもどうしても他よりは容量過多になる傾向があるみたいです。
コードに関してはHTMLやCSSについてはほぼ理解してるので軽量化の工夫はだいぶできてると思います。
ただスクリプトやphpに関しては素人の域をでないため、ここがネックと言えばネックですね。
どうやったらもっと簡単なコードになるんだろう、どうやったらサーバーへの負荷を減らせるんだろうっていつも考えてはいるんですが、こればっかりはなるようにしかならんという姿勢ですわ。
とこんな感じなもんだから、手を付けやすいのはプラグインってことになるんですよね。
SEOプラグインを外したれ!
プラグインってホントに便利です。
インストールするだけでいろんなことを代行してくれるんですから、そう簡単には外せませんよ。
特にSEO関連プラグインはなんとか残しておきたい…たとえば「All In One SEO Pack」はかなり重宝してるし。
でも重いんだな、コレが。
そこでよくよく調べてみたら、ありあまる機能をほとんど使ってなかったという事実が判明!
その機能を他のプラグインに任せていたり、functions.phpに書き込んでたり、テーマ自体が備えてる設定とダブっていたり…とか。
そんなわけで何年間もお世話になっていた「All In One SEO Pack」は潔く外すことにしたんです。
ここで新たに1点問題が。
記事の中には検索にひっかかってほしくないページもあったりします。
このブログではないんですが、たとえば商品の画像とアフィリリンクだけが記された”低品質”なページとかですね。
そのページには「All In One SEO Pack」の機能を使ってnoindexとnofollowを個別に付けていたんです。
<meta name="robots" content="noindex nofollow" />
しかし「All In One SEO Pack」を外したことでこれが機能しなくなっちゃった。
さあ、これはまずいぞと言うことで例によってググってみたら、それらしきものを発見しましたよ。
やり方はいろいろあるんですが、以下のコードが現時点では一番使いやすいかと思った次第です。
heade.phpの上の方、具体的には「<meta name=…」という行の下にでも加筆しておきます。
0 1 2 3 4 5 6 7 |
<?php //特定の投稿でnoindex if (is_tag() || is_date() || is_paged() || is_search() || get_post_meta($post->ID, "noindex", true)) { echo '<meta name="robots" content="noindex" />'; }; ?> |
上のコードの意味は
- (カテゴリーページは除いて)タグページ・日付アーカイブページ・ページャーの2ページ目以降・検索結果ページには最初からnoindexを付与する
- 「noindex」という名称のカスタムフィールドに何らかの入力があれば(たとえば数字の1とかでもOK)そのページには個別にnoindexを付与する
これだと特定のページは最初から<meta name="robots" content="noindex" />をつけてくれるだけでなく、投稿によってはカスタムフィールド「noindex」に数字の0でも1でもいいので何かを記入すればそのページだけに<meta name="robots" content="noindex" />をつけることができるようになります。
※さらに詳しく書いた記事を新たにアップしました。
参考サイト
記事はお役にたてましたか?
記事に興味をもっていただけたらソーシャルボタンでの共有お願いします^^
↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓