短いメタデータ(descriptions)。All in One SEO Packの自動生成が原因でした。

公開: 更新:2016/10/16


wordpress

Googleのウェブマスターツールでこのブログの状況を確認していたら、いくつかの記事に「短いメタデータ(descriptions)」という警告が表示されていることに気が付きました。

確認してみると、たしかにmeta descriptionが短すぎます。10文字くらいしか表示されていません。

このブログでは、ワードプレスのプラグイン、All in One SEO Packでmeta descriptionを自動生成しているのですが、どうやら、いくつかの記事でそれが上手く機能していないようなんです。

今回は、その原因と対策をご紹介します。

スポンサーリンク

短いmeta descriptionが生じる原因は、半角空白

All in One SEO Packで各記事のmeta descriptionを自動生成すると、記事冒頭の160文字を抜き出して、記事抜粋として設定してくれます。
これはとても便利な機能なのですが、先ほどご説明したとおり、いつかの記事では正常に機能していませんでした。

それらの記事を比較したところ、ひとつ共通点がありました。

それは、記事の冒頭部分に半角スペースを含んでいるということ。
半角スペース以降の文字が見事に表示されていないんです。

プラグインのソースコードを確認したわけではありませんが、おそらく原因はこれだろうと思います。
実際、半角スペースを全角スペースに書き換えた場合、また、半角スペースを に書き換えた場合は、いずれも正常に記事の抜粋を取得出来ました。

ただ、よくわからない点がひとつあって、半角スペースを含んでいても抜粋を正しく取得できる場合もあるんですよね。
うーん。謎です。

対策

で、どうしたかというと、All in One SEO Packでmeta descriptionを自動生成するのをやめました。
その部分は、プラグインに頼らず、自力でどうにかすることにしました。

と言っても簡単で、次のコードをheader.phpに記入しただけです。
このコードは、【WordPress】プラグインを使わずに記事ごとに自動でkeywordsとdescriptionを設置する方法|ONZEを参考にさせてもらいました。ありがとうございます。

<?php  /*個別記事の抜粋を表示*/ ?>
<meta name="description" itemprop="description" content="<?php
if (is_single()){
$content_summary = strip_tags($post->post_content);
$content_summary = ereg_replace("(\r\n|\r|\n)", "", $content_summary);
$content_summary = mb_substr($content_summary, 0, 160);
echo $content_summary; } ?>" />
スポンサーリンク
スポンサーリンク
グローバルナビゲーションを、記事のカテゴリに応じて色付けする。wordpressのカスタムメニューが便利。

いろいろなブログで見かける「グローバルナビゲーション」。各カテゴリページへのリンクや、サイトマップなどの固定ページヘのリンクが、ずらっと横に...

有名ブロガーも愛用するレンタルサーバ「シックスコア」。WordPressサイトを引越すときには、ファイアーウォールの設定に要注意です。

これまで、さくらのレンタルサーバで運営してきたこのブログ。今日から心機一転、シックスコア(sixcore)に、WordPressを連れてお引...

ブログ記事のキーワードを抽出してアマゾンアソシエイトと連携。Yahoo!キーフレーズ抽出のレポ。

Yahoo!デベロッパーズネットワークが提供している、キーフレーズ抽出apiを試してみました。文章を解析してキーワードを抜き出してくれるこの...

WordPressプラグイン「Search Regex」。正規表現を使ってHTMLタグを置換する方法。

ブログ記事のHTMLタグを書き換える際には、WordPressプラグイン「Search Regex」が便利です。通常の置換はもちろん、正規表...

wordpress
WordPressをブルートフォースアタックから守るために、最低限やっておきたい.htaccessの設定

世界中で頻発する、WordPressを狙った不正なアタック。その手口の多くは、「ブルートフォースアタック」と呼ばれる、パスワードの総当たり攻...