ホーム > Wordpress > WordPress + vicuna CMSで実施するSEO対策スニペット

WordPress + vicuna CMSで実施するSEO対策スニペット

seo_snippets.png

皆さんは自身のサイトでSEO対策はしていますか?
せっかく良い記事を書いても、お客様がいないのであれば、寂しいですよね。

寂しいばかりでなく、そんな良い記事を書いたのであれば、あなたの記事を私自身読んでみたい。

ブログを書いたのであれば、出来るだけ人の目に触れさせてください。
それが自分自身のためにも、そして見てくれているユーザのためになると私は思っています。

そう、今日のテーマはWordPressのSEOです。
それもニッチなテーマ。
vicuna CMSでのSEO対策を取り上げます。

vicuna CMSとは

vicuna.png

この1-byte.jpに使用しているテーマです。
私自身、このシンプルなデザインが気に入っています。
vicuna CMSを使う利点は次の4点だと思っています。

  1. Web標準のHTMLで構成されている
  2. CSSのカスタマイズがしやすい
  3. シングル/ツー/スリーカラムを管理画面で簡単に変更出来る
  4. 日本製のテンプレートであるため、すぐに利用出来る

この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 Packvicuna CMS相性が悪いのです。

問題になるのは以下の2点です。

  • All in One SEO Packのプラグイン設定でタイトルを変更出来ない
  • SEO対策用のタイトルをAll in One SEO Packで設定出来るのですが、これを設定しても一切反映されません。vicunaで出しているタイトルが優先して表示されてしまいます。

  • descriptionのメタタグが重複する
  • 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は以下のページを見ればほぼわかると思います。

この中から自分のブログで対策すべきことをピックアップし、タスク化しました。
それが次です。

  1. 記事タイトルの最適化
  2. descriptionとkeywordsのメタタグの挿入
  3. アーカイブページのインデックス禁止
  4. canonicalメタタグの挿入

お待たせしました。
これから先がSEO対策スニペットです。
上記、3点をAll in One SEO Packに頼らず、自分でSEO対策していきます。

タイトルの最適化

seo_title.jpg

タイトルは先ほど紹介した記事の通りに方針を決めました。
つまり、

  • トップページ : 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設定画面から修正出来ます。

title_setting_vicuna.png

これだけでタイトルを修正出来ます。
簡単ですよね。

descriptionとkeywordsのメタタグの挿入

seo_keywords_description.jpg

次は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

これを保存して、投稿画面を見ると次の画面が現れます。

seo_description.png

これで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プラグインを入れた時点で完了しています。
一応、設定を確認しましょう。

seo_keywords.png

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

アーカイブページのインデックス禁止

seo_noindex.jpg

サイトのリンクジュースを記事に集中させるために、アーカイブページを検索エンジンにインデックスされないようにします。
これは簡単で、ヘッダーのテンプレート(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の勉強が始められませんね...。
ブログを書くのでいっぱいいっぱいな感じです。
まぁ、一つ一つやりたいことをやっていきましょう!

  • 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

    [...] 参考記事 『WordPress + vicuna CMSで実施するSEO対策スニペット』 [...]

  • 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

    [...] 参考記事 『WordPress + vicuna CMSで実施するSEO対策スニペット』 [...]

  • http://chacha.yu-yake.org/2011/06/2403 wp Vicuna Ext Custom で初心者のSEO対策日記 | ちゃちゃまる放浪記

    [...]  1-byte.jp さんの WordPress + vicuna CMSで実施するSEO対策スニペット [...]

blog comments powered by Disqus

ホーム > Wordpress > WordPress + vicuna CMSで実施するSEO対策スニペット

スポンサードリンク
書いている人
つぶやき
  • setup.pyのinstall_requiresにgitのリポジトリを指定したい。どうすればいいかな。 1 day ago
  • ツイッタークライアントを久々に開いたけど、なんか違和感。 3 days ago
  • 最近、イベント参加出来てないな(_ _) 3 days ago
  • More updates...
RSS 気になるニュース
過去の記事

ページの上部に戻る