2014
1
21
all in one seoのmetaキーワードやディスクリプションが反映されない原因は?

all in one seoはワードプレスで簡単にSEO対策が出来るプラグインですが、
実は設定が正しく反映されていないまま使用している人が多いのが事実です。

例えば個別ページで下記のようにmetaキーワード等を入力して、
そのページのSEOがどうなっているかSEOチェキで見てみると…

■記事投稿画面のall in one seo


■SEOチェキ

不思議な事にall in one seoの設定が全く反映されていません。

metaキーワードは「キーワード、キーワード、キーワード」となっているし、
metaディスクリプションに至っては表示すらされていない始末です。

なぜこのような現象が起きてしまうのか?
all in one seoが上手く反映されない原因と、
正しい使用方法を解説していきます。



反映されない原因はmetaの重複に有った!


この問題の解決策を見つける上で非常に重要なことは、
実際に当該ページのソースコードを見てみること。

例えば先ほど僕がSEOチェキで調べたページのソースコードはこちらですが、
よく見るとmetaが重複してしまっている部分があると思います。

■ページのソースコード


上側の方には見覚えのある「キーワード、キーワード、キーワード」という表示と、・・・としか表示されないディスクリプションがありますね。

そして下側の方にはall in one seoで設定した
「SEO、説明、記事」などの表示がされています。


つまり本来ならば下側のmetaが表示されなければいけないにも関わらず、
上側のmetaが表示されてしまっているからおかしくなっているのです。

それであれば重複している上側のmetaを削除してしまえば、
all in one seoの設定は正常に反映される
ことになりますよね。



重複するmetaの削除方法


これはテンプレートによって対応が変わるので難しいところですが、
基本的にはheader.phpあたりにタグが有る可能性が高いです。

今回は「エフィシエントアフィリエイト」というテンプレートを
利用していることを想定して記事を書いていきますが、
header.phpにおいて下記の部分を全て削除します。

<meta name="keywords" content="<?php
   $metaKeywords = 'キーワード,キーワード,キーワード';   // 「' '」の中に、「,」区切りでキーワードを1つずつ記入します。

   if( is_single() )
      echo ( $tmp = shins_get_taglist() ) ? $tmp
                                          : $metaKeywords;
   else
      echo $metaKeywords;

   unset( $tmp, $metaKeywords );

   /* 使用方法 shins_get_taglist()
   ---------------------------------------------------------------------
        引数 :
              sep - 各タグ間の区切り文字 (デフォルト : ,)

        返り値 :
              各タグ間が区切り文字で区切られた全タグ

        使用例 :
              shins_get_taglist('sep= | ');

        表示例 :
              タグ1 | タグ2 | タグ3
   */

   /* 使用方法 shins_get_catlist()
   ---------------------------------------------------------------------
        引数 :
              sep - 各タグ間の区切り文字 (デフォルト : ,)

        返り値 :
              各カテゴリ間が区切り文字で区切られた全カテゴリ

        使用例 :
              shins_get_catlist('sep= | ');

        表示例 :
              カテゴリ1 | カテゴリ2 | カテゴリ3
   */
?>" />

<meta name="description" content="<?php
   if( is_single() )
      echo ( has_excerpt() ) ? get_the_excerpt()
                             : mb_substr( strip_tags($post->post_content), 0, 50 ) ."...";

   elseif( is_category() )
      echo ( category_description() ) ? strip_tags( category_description() )
                                      : '「'. trim( wp_title('', false) ) .'」のページです。';

   elseif( is_page() || is_archive() )
      echo '「'. trim( wp_title('', false) ) .'」のページです。';

   else
      echo get_bloginfo('description');
?>" />

このタグを削除した上で記事ページをSEOチェキでチェックしてみると、
下記のようにall in one seoが正常に反映されるようになります。

■重複削除後のSEOチェキ



ちなみにこの時all in one seoの設定でトップページの
metaキーワードやディスクリプションを入力していないと、
トップページをSEOチェキで調べた時正常な結果になりません。

その場合トップページのmetaを入力すれば直るので、
慌てずに対処してもらえれば問題無いですね。


以上が、all in one seoのmetaが
正しく反映されない場合の原因と対策なります。


世界を自由に飛び回りながら生きてみませんか?

サブコンテンツ
特商法

このページの先頭へ