- 2010年9月10日 1:00 AM
- Wordpress

皆さんは自身のサイトでSEO対策はしていますか?
せっかく良い記事を書いても、お客様がいないのであれば、寂しいですよね。
寂しいばかりでなく、そんな良い記事を書いたのであれば、あなたの記事を私自身読んでみたい。
ブログを書いたのであれば、出来るだけ人の目に触れさせてください。
それが自分自身のためにも、そして見てくれているユーザのためになると私は思っています。
そう、今日のテーマはWordPressのSEOです。
それもニッチなテーマ。
vicuna CMSでのSEO対策を取り上げます。
vicuna CMSとは

この1-byte.jpに使用しているテーマです。
私自身、このシンプルなデザインが気に入っています。
vicuna CMSを使う利点は次の4点だと思っています。
- Web標準のHTMLで構成されている
- CSSのカスタマイズがしやすい
- シングル/ツー/スリーカラムを管理画面で簡単に変更出来る
- 日本製のテンプレートであるため、すぐに利用出来る
この1-byte.jpではほぼカスタマイズせずに使っています。
徐々にカスタマイズを加えて行こうと思っていますが、現状でもかなり気に入っています。
また、公式サイトにあるように、SEO対策を考えてHTMLが構成されています。
これもポイントが高いですね。
私のようにこのvicuna CMSを気にいった方も多いようで、調べ物をしているとよくこのテーマを使ったブログに出くわします。
欲しい方は以下のページからダウンロードしてください。
All in One SEO Packとvicuna CMS
SEOの話に戻ります。
WordPressのSEO対策、といえば”All in One SEO Pack“が一番に上がると思います。
その名の通り、プラグインをインストールするだけで、SEO対策が出来てしまうという優れもの。
SEOに必要なメタタグの設定や、リンクジュースを逃さないためのnoindexの設定も可能です。
しかし、残念ながらこのAll in One SEO Pack、vicuna CMSと相性が悪いのです。
問題になるのは以下の2点です。
- All in One SEO Packのプラグイン設定でタイトルを変更出来ない
- descriptionのメタタグが重複する
SEO対策用のタイトルをAll in One SEO Packで設定出来るのですが、これを設定しても一切反映されません。vicunaで出しているタイトルが優先して表示されてしまいます。
vicunaが吐き出しているdescriptionとAll in One SEO Packが吐き出しているメタタグが重複します。別の内容を吐き出しているため、SEO的によろしくないと思います。
この2つの機能が効かないとなると、All in One SEO Packの半分の機能が使えないも同然です。
そのため、All in One SEO Packに頼らずにSEO対策をしていくことに決めました。
ちなみに、これは余談ですが、All in One SEO Packが気に入らなかった点として次の2点もあります。
- 記事投稿画面のメタタグ入力フォーム
- ソースコードが汚い
デザインがちょっと微妙です。投稿画面にいくつもフォームがあるのが個人的に気に入りません。
少しコードを読んだだけですが、基本的に汚いです。Wordpressがヘッダの書き出しをするときに、それをAll in One SEO Packで受け取り、書き換えているため、プラグインのソースを書き直すのも大変です。
上記は、この辺りの個人的主観を入れて考えた結果でもあります。
SEO対策の基本方針
SEO対策をするために指針が必要です。
WordpressのSEOは以下のページを見ればほぼわかると思います。
この中から自分のブログで対策すべきことをピックアップし、タスク化しました。
それが次です。
- 記事タイトルの最適化
- descriptionとkeywordsのメタタグの挿入
- アーカイブページのインデックス禁止
- canonicalメタタグの挿入
お待たせしました。
これから先がSEO対策スニペットです。
上記、3点をAll in One SEO Packに頼らず、自分でSEO対策していきます。
タイトルの最適化

タイトルは先ほど紹介した記事の通りに方針を決めました。
つまり、
- トップページ : 1-byte.jp
- 単一記事ページ : [記事タイトル]
- アーカイブページ : [アーカイブ名] | 1-byte.jp
単一記事ページは見た目が良いのと、記事にも書かれていた通り、下記の点から”記事タイトル“だけを出す形式に決めました。
- 検索エンジンはトップページをサイトの入り口としている
- サイトの各ページはトップページにひも付けられた形でインデックスされる
つまり、トップページにひも付けられるのであれば、各ページにブログタイトルを出してもあまり意味をなさない(だろう)ということです。
ユーザにとっても、タイトルだけが検索ページに表示される方が、自分の欲しい情報を見つけやすいでしょう。
アーカイブページは、アーカイブ名だけだとユーザがアーカイブページだとわかりにくいと思ったので、ブログタイトルを出しています。
実際にvicunaで修正する場合は、classes.phpの873行目あたりのVicunaPager::page_head_titleを修正します。
/* ----- 省略 ----- */
if (is_404()) {
$page_title = __('Error 404', 'vicuna');
} elseif (is_single()) {
$page_title = get_the_title();
/* ----- 修正 ここから ----- */
// シングルページだけタイトルのみ表示する。
print $page_title;
return;
/* ----- 修正 ここまで ----- */ } elseif (is_category()) {
$page_title = sprintf(__('%s Archive', 'vicuna'), single_cat_title('', false));
} elseif (is_tag()) {
$page_title = single_cat_title(null, false);
} elseif (is_search()) {
global $s;
$page_title = wp_specialchars($s, ENT_QUOTES, get_bloginfo('charset'));
} elseif (is_archive()) {
$page_title = $this -> archive_title(false);
}
/* ----- 省略 ----- */
is_singleのif内部のロジックを少し書き換えたぐらいです。
アーカイブページのセパレータ(|)は次のvicuna設定画面から修正出来ます。

これだけでタイトルを修正出来ます。
簡単ですよね。
descriptionとkeywordsのメタタグの挿入

次はdescriptionとkeywordsのメタタグです。
プラグインに頼らず行きたいところなのですが、手間を省くために以下の2つのプラグインを使います。
Custom Field GUI Utilityは管理画面を使いやすくするためのプラグインです。
カスタムフィールドを入力するフォームを綺麗に、そして投稿する際に入力チェックをしてくれます。
Custom Field GUI Utilityをインストールした後、wp-content/plugins/custom-field-gui-utility/conf.iniに次の設定コードを加えます。
[description] fieldname = 記事の説明 type = textarea class = post page rows = 4 cols = 40 default = sample = メタタグに記事の説明を設定する。 must = 1
これを保存して、投稿画面を見ると次の画面が現れます。

これでdescriptionのメタタグを入力する準備ができました。
さらに、ヘッダーのテンプレート(header.php)に次のコードを加えます。
<?php if(is_single()): ?> <!-- start of description tag --> <?php global $wp_query; $description = get_post_meta($wp_query->post->ID, 'description', true); if(!empty($description)): ?> <meta name="description" content="<?= $description ?>" /> <?php endif; wp_reset_query(); ?> <!-- end of description tag --> <?php endif; ?>
これで先ほどのフォームに入力したdescriptionがのメタタグとして、”各記事にだけ“表示されるようになります。
これだけではdescriptionのメタタグが重複して表示されるはずなので、vicunaのdescription出力を停止しましょう。
classes.phpの1249行目あたりのVicunaPager::action_wp_headを以下のようにコメントアウトします。
function action_wp_head()
{
/* ----- コメントアウト ここから ----- */
/*if ($description = get_bloginfo('description')) {
printf("\t<meta name=\"description\" content=\"%s\" />\n", $description);
}*/
/* ----- コメントアウト ここまで ----- */
if (!is_home()) {
printf("\t<link rel=\"start\" href=\"%s\" title=\"%s Home\" />\n",
get_bloginfo('home'), get_bloginfo('name'));
}
/* ----- 省略 ----- */
これでdescriptionのメタタグは大丈夫です。
次はkeywordsのメタタグの設定です。がSimple Tagsプラグインを入れた時点で完了しています。
一応、設定を確認しましょう。

このチェックボックスにチェックがついていればkeywordsのメタタグが表示されているはずです。
ちなみに、keywordsのメタタグに入るキーワードは記事につけたタグです。
自分でいちいち設定するのも面倒なので、これで十分でしょう。
アーカイブページのインデックス禁止

サイトのリンクジュースを記事に集中させるために、アーカイブページを検索エンジンにインデックスされないようにします。
これは簡単で、ヘッダーのテンプレート(header.php)にアーカイブページの判断とタグを出力する以下のスニペットを記述するだけです。
<?php if(is_archive() | is_search()): ?> <!-- start of noindex tag for the archive and search page --> <meta name="robots" content="noindex,follow" /> <!-- start of noindex tag for the archive and search page --> <?php endif; ?>
これでアーカイブページが検索エンジンにインデックスされません。
ifの記述を間違えないでください。
大事な記事がインデックス対象から外れてしまいますから。
canonicalメタタグの挿入
最後に、トップページにだけcanonicalタグを追加しておきましょう。
各記事のcanonicalタグはWordpress v2.3以上であれば自動で付与されます。
ヘッダーのテンプレート(header.php)に以下のスニペットを加えます。
<?php if(is_home()): ?>
<!-- start of canonical tag for the top page -->
<link rel="canonical" href="<?= get_bloginfo('home') ?>"/>
<!-- end of canonical tag for the top page -->
<?php endif; ?>
このようにheader.phpに少しのスニペットを記述するだけでSEO対策出来ます。
All in One SEO Packも便利ですが、PHPが書ける人は自分でカスタマイズしてみてはどうでしょうか?
この他にこんな対策もしているよ!という方がいれば教えてください。
この記事に載せたいと思います。
ちょっと一言
なかなかPythonの勉強が始められませんね...。
ブログを書くのでいっぱいいっぱいな感じです。
まぁ、一つ一つやりたいことをやっていきましょう!
- 新しい: このブログの存在意義を考えてみた
- 古い: MySQLをコマンドで管理するメモ
-
http://tell-meets.com/blog/web/%e3%80%8cvicna%e3%80%8d%e3%81%a8%e3%80%8call-in-one-seo%e3%80%8d%e3%81%ae%e7%9b%b8%e6%80%a7%e3%80%82%e4%ba%8c%e9%87%8d%e3%81%ae%e3%83%a1%e3%82%bf%e6%83%85%e5%a0%b1%e3%82 WordPress、「Vicna」と「All in One SEO」の相性。二重のメタ情報を防ぐ – お豆さんのbrain
-
http://tell-meets.com/blog/web/%e3%80%8cvicuna%e3%80%8d%e3%81%a8%e3%80%8call-in-one-seo%e3%80%8d%e3%81%ae%e7%9b%b8%e6%80%a7%e3%80%82%e4%ba%8c%e9%87%8d%e3%81%ae%e3%83%a1%e3%82%bf%e6%83%85%e5%a0%b1%e3%8 WordPress、「Vicuna」と「All in One SEO」の相性。二重のメタ情報を防ぐ – お豆さんのbrain
-
http://chacha.yu-yake.org/2011/06/2403 wp Vicuna Ext Custom で初心者のSEO対策日記 | ちゃちゃまる放浪記

