「All in One SEO Pack」を使わずに別の方法でSEO対策
WordPressの魅力といえば様々なプラグインがあることです。
私に何の知識も無くてもプラグインがどうにかこうにかしてくれるわけです。一応多少のHTMLの知識はあるもののPHPとかJavaScriptとかよくわかんないし、何に使うのか、何が書いてあるのかもわからない程度です。そのためわからないことはGoogleに聞いてコピペで何とかサイトを作っています。
しかし、どうもサイトが重いんですよねー。
以前、サイトを軽くするためにキャッシュのプラグインを利用していました。
しかしそのプラグインが重さの原因となっていたのです。
そのため利用しなくなったのですが、サイトを色々いじり、そして新たなプラグインを入れると重くなってしまうのです。
「All in One SEO Pack」って重いらしいよ。
そんなことを言っている人がいました。このプラグインに関してはWordPressをやるんだったら最初に入れるプラグイン的な感じで、これさえあればSEO対策は万全!みたいなやつです。当然私も真っ先に入れたわけですが、どうもこれのせいで重くなっているのではないかと最近思いました。
だったらこれ、なくしちゃえばいいんじゃね?
ってことでプラグインを停止します。
「All in One SEO Pack」を使っていたっていっても、使っていたのは一部でした。
それを何とかすれば別にこれじゃなくてもいいんですよね。
使っていたのはmeta descriptionとタイトル、nofollowだけです。
googleSitemapは別のプラグインを使用してますし、アナリティクスに関しては直接打ち込んでいます。つまり三つのやつを別の形で対処すれば「All in One SEO Pack」は不要になるわけです。
すべてはfunctions.phpに書くことで何とかなりました。
まずタイトルについて。
//titleの設定
add_theme_support( 'title-tag' );
これだけで大丈夫です。
以前のワードプレスはヘッダーにタイトルタグを入れていましたがWordpress4.4以降はfunctions.phpに書き込むだけで出力できるみたいです。
区切り線は「‐」ではなく「|」を使用するため、
//区切り線の設定
function change_title_separator( $sep ){
$sep = '|';
return $sep;
}
add_filter( 'document_title_separator', 'change_title_separator' );
を入れます。
これでタイトルは問題ありません。細かな設定もできるようですが、とくに問題なさそうなのでそのままにしました。
続いてnofollowについてです。
function code_seo()
{
if ( is_tag() || is_date() || is_year() || is_author() || is_search() || is_404() ) {
echo '<meta name="robots" content="NOINDEX,FOLLOW">';
}
}
add_action('wp_head','code_seo');
タグページとか404ページとかをnoindex,followにするためのコードです。
こちらもfunctions.phpに。
最後にmeta descriptionに関してですが、以下の形で対応しております。
// get meta description from the content
function get_meta_description() {
global $post;
$description = "";
if ( is_category() ) {
// カテゴリーページはカテゴリーの説明文を取得
$description = category_description();
}
elseif (is_single()|| is_page() ) {
if ($post->post_excerpt) {
// 記事ページ、固定ページでは、記事本文から抜粋を取得
$description = $post->post_excerpt;
} else {
// post_excerpt で取れない時は、自力で記事の冒頭80文字を抜粋して取得
$description = strip_tags($post->post_content);
$description = str_replace("\n", "", $description);
$description = str_replace("\r", "", $description);
$description = mb_substr($description, 0, 80) . "...";
}
} else {
;
}
return $description;
}
当サイトのトップページは固定ページとなっております。そのため「is_page()」で対応。
基本的には記事本文の最初から80文字を抜粋してmeta descriptionに表示しています。
でも、最初の80文字をディスクリプションに乗せるだけだとSEO効果が低いって考える人もいますよね。
例えば当サイトの一例を挙げてみると、
最初の80文字
「テレビもねぇ、ラジオもねぇ、車もそれほど走ってねぇ、信号ねぇ、あるわけねぇ、おらの土地には電気がねぇ。と思っていたのですが「電気」ありました。」
これではなんのページなのか全くわかりません。そのため自分でディスクリプションは設定したい!となるわけですが、これに関しては表示オプションの「抜粋」を使えば対応できるようです。記事投稿画面右上の「表示オプション」をクリックするとメニューがドロップダウンします。その中から「抜粋」にチェックを入れるだけ。そうすると投稿画面下に抜粋の枠が表示されます。こちらにディスクリプションに入れたい文章を書けばよいだけです。
「オフグリッドな生活に憧れてソーラーパネルによる自家発電の構築を考えております。700w分のパネルで2Kwhを発電するための考察。」
まぁまぁましになったのではないでしょうか。
でも、この「抜粋」は記事投稿でしか使えません。そのため固定ページでも利用できるようにfunctions.phpに以下を記入。
add_post_type_support( 'page', 'excerpt' );
これで固定ページにも抜粋欄が登場するようになります。
ディスクリプションに問題なし。nofollowも問題なし。タイトルも問題なし。
「All in One SEO Pack」で利用していた部分は全て移管することが出来ました。
とりあえず「All in One SEO Pack」については削除しました。
消した結果、多少読み込みが早くなった気がします。気のせいかもしれませんが。。。
関連記事
ミラーカメラを買って以降、普段からカメラを持ち歩くことになりました。これまで“できる限り荷物は少なく”をモットーにしてきまし...