WebMaster Tools を使って WordPress のダメな部分を直していきましょう

2014年2月17日

記事を書いていけば、 カテゴリ を分類する傾向も見えてくるだろうというような計画性の低かさが仇となっています。

去年の暮れの記事でトラックバックなる物を初めて使ってみて、 日本語URL 依存の壊れたトラックバックを送ってしまったりと、 WordPress の扱いに関しても、まだまだ未熟だと思い知る昨今です。

そんな訳で、現在のサイトの状態を Google の WebMaster Tools で分析してみました。

WebMaster Tools

Google Web Master Tools
Google Web Master Tools

Google 先生がダメ出ししてくれるという、物ぐさな人間には有りがたいツールです。

Web Master Tools にサイトを登録したのが去年の10月27日、それ以降の問題点と改善案をツール上で確認できます。筆者はウェブデザインに関して「ど素人」であるため、それを踏まえて読んで頂ければ幸いです。

 

ダッシュボードの確認

Web Master Tools Dashboard
Web Master Tools Dashboard

サイトの状態のあらましが確認できます。サイトのクロールエラーや、検索件数、サイトマップの状態など、サイトを気持ちよく見てもらうための指標となるデータが並んでいます。

………、重要なメッセージで「停止している可能性があります」なんて出ている時点でダメさが伝わってきます。まぁ、それほど公にしていないサイトなので、まだ何とかなると思っておくことにします。

そんな訳で左側にあるツールメニューを一つずつ見ていく事にします。

サイトのメッセージ

web master tools sitemessage
web master tools sitemessage

重要なメッセージはアラートアイコンが付き、アラートタブでリスト化して見ることが出来ます。また、スターを付けることによりスター付きのメッセージのみをリスト化して見ることも出来ます。

web master tools sitemessage detail
web master tools sitemessage detail

画像上にマーカーを付けましたが、参照されているアドレスに es ko en なるサフィックスのような物が付いています。これは Global Translator という翻訳プラグインによって作られたアドレスのようです。

このプラグインの動作は Google翻訳 で作成されたページを WordPress 内のデータとして蓄積していくのですが、そもそも存在しないページは一旦 Google翻訳 へリダイレクトされます。

WebMaster Tools 的には、これは 404エラー 扱いとなっているようで、仕方なく Global Translator は停止させる事にしました。

代替として Microsoft の Bing 翻訳ウィジェット を設置しました。サイト容量もスリム化出来るし、ウィジェットとして設置できるのでお手軽です。
ブラウザの言語を判断して、その国の言語に自動翻訳するオプションが付いているのも評価できます。

言語判定に関しては コントロールパネル 地域と言語形式を変更する事により確認できます。

bing translate on lab.planetleaf.com
bing translate on lab.planetleaf.com

なお、翻訳プラグインの停止により、これに付随するエラーメッセージを削除ボタンで削除しました。

検索デザイン

web master tools search design
web master tools search design

構造化データデータハイライターHTML の改善サイトリンク の項目があり、各項目で改善例を提示してくれます。

検索のデザインと言われてもピンと来ないのでインフォメーションを参照してみると…、

web master tools search design overview
web master tools search design overview

このような感じになっています。

初めて聞く単語もあるのでざっと纏めてみます。

  • タイトル
    HTML タイトル タグ で設定されている文字列。
    ウェブページに関連性のある役立つ説明を記述する。
     HTMLの改善 の機能を使って最適化が可能。
    Googleによる推奨様式
  • スニペット
    検索されたコンテンツの内容を表示するものです。 descriptions 属性のメタタグで設定可能なようです。未設定だと、恐らくページの本文が切り取られて表示されます。
     HTMLの改善 の機能を使って最適化が可能。
    Googleによる推奨様式
  • サイトリンク
    検索結果の下に出てくるサイトリンクで、Googleがユーザー役に立つと判断した検索結果についてのみ表示されるらしい。
    サイトリンク の機能で順位を下げるような対策をすると表示されないように出来るらしい。
    ちなみに当サイトだと、やはりRCXの跡地の順位が異様に高い。
  • サイト内検索
    実は見た事が無いのですが、検索結果にさらにサイト検索ボックスが付くような物があるようです。
  • URL
    WebページのURLですが、どやら[Google と相性の良い URL ]という物があるようです。また、このURLの部分に パンくずリスト を表示させるようにする事も出来るようです。
  • イベント – リッチ スニペット
    検索結果に付随されて来るイベントデータです。
    これは[ウェブマスターツールのヘルプ]に分かりやすく記述されています。
  • パンくずリスト
    「HOME » BLOG » ・・・・」こんな感じに表示されるやつです。各階層にハイパーリンクを備えている事により、アクセシビリティも上がります。
  • 商品 – リッチスニペット
    イベントと同様にマークアップで設定可能です。これもヘルプを見たほうが手っ取り早いでしょう。[リッチ スニペット – 商品]
  • 著者情報
    Googleの検索結果にアイコンが付いてくるアレです。Google+でバッチを作成し、そのタグを自サイトに貼る事で実現できるようです。個人的にソーシャルの敷居はここからクリアしていくべきですかね…。

構造化データ

web master tools structure data error
web master tools structure data error

さらに詳細を見てみると updated がありません というメッセージが大量に積まれていました。

web master tools structure data not found updated
web master tools structure data not found updated
not found updated tag select detail
not found updated tag select detail

ざっとソースを検索してみたところ、確かに entry-date はありますが updated のマークアップが存在しないようです。hatomのhentryについてはオフィシャルのドキュメントで触れられているように updated が必須となっています。

WordPress 内部では get_the_data() で投稿日、 get_the_modified_data() で更新日が表示できますが、普通は投稿日を表示しているだろうし、マークアップとしてデータを付加しているとすればテーマ次第になってしまうと思うので、対処方法に悩みます。最近は既存のテーマを着せ替え感覚で切り替えるようになったので、テーマには手を付けたくないのが正直なところです。

そして、現在使っているTwenty Fourteenのテーマのソースを眺めていた所、twentyfourteen_posted_on();に纏められてしまっていて、レイアウトを考えるとプラグイン形式でこれに介入するのは難しいと判断。結局ソースを弄る事にしました。

そんな訳で該当ソースを以下のように変更しました。

function twentyfourteen_posted_on() {
	if ( is_sticky() && is_home() && ! is_paged() ) {
		echo '<span class="featured-post">' . __( 'Sticky', 'twentyfourteen' ) . '</span>';
	}

	// Set up and print post meta information.
	printf( '<span class="entry-date"><a href="%1$s" rel="bookmark"><time class="entry-date" datetime="%2$s">%3$s</time></a></span>'
		   .' <span class="byline"><span class="author vcard"><a class="url fn n" href="%4$s" rel="author">%5$s</a></span></span>'
		   .'<br><span class="entry-date">latest modify <time class="entry-date updated" datetime="%6$s">%7$s</time></span>',
		esc_url( get_permalink() ),
		esc_attr( get_the_date( 'c' ) ),
		esc_html( get_the_date() ),
		esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
		get_the_author(),
		esc_attr( get_the_modified_date( 'c' ) ),
		esc_html( get_the_modified_date() )
	);
}
endif;
not found updated fix
not found updated fix

固定ページの方もautorとupdatedが無いと警告されているので、仕方なくcontent-page.phpに追記しました。

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
	<?php
		// Page thumbnail and title.
		twentyfourteen_post_thumbnail();
		the_title( '<header class="entry-header"><h1 class="entry-title">', '</h1></header><!-- .entry-header -->' );
	?>

	<div class="entry-content">
		<?php
			printf( '<div class="entry-meta"><span class="entry-date"><time class="entry-date updated" datetime="%1$s">%2$s</time></span>'
				   .'<span class="byline"><span class="author vcard"><a class="url fn n" href="%3$s" rel="author">%4$s</a></span></span></div>',
				esc_attr( get_the_modified_date( 'c' ) ),
				esc_html( get_the_modified_date() ),
				esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
				get_the_author()
			   );
			the_content();

WebMaster Tools の警告を黙らせるためですが、対処方法としては美しくなく微妙です。

これでGoogleのクロールが進めば構造化データのエラーは無くなっているはずです。

また、[リッチ スニペットと構造化データについて – ウェブマスター ツール ヘルプ]に書かれているように、Googleは マークアップ形式として microdata を推奨しています。よって、今後のためにもなるので Opengraph and Microdata Generator というプラグインを導入しました。まぁ、Facebookのアカウントを作るのが先なんですが…。

HTMLの改善

webmaster tools Improve html
webmaster tools Improve html

このサイトでは現状4つのタイトルタグの重複という問題があるようです。詳細を見てみますと…

web master tools Improve html detail
web master tools Improve html detail

一つ目はblogのカテゴリを外し忘れたため、記事が両方の階層にぶら下がっていました。これは修正可能です。

2番目はタグがだぶらない様にdev-envに接頭辞を付けたことでGoogle先生に重複していると判断されました。そもそもがカテゴリーをここまで細分化する事は無かったという事と、そもそも「development」は子階層にすべきだったという事で、 android>development> と windows>development-win で分ける事としました。

残るは データ ハイライター と サイトリンク ですが、データ ハイライター に関しては一先ず保留。 サイトリンクに関しては2個ほど調整してみた。

まずはここまでの修正でどうなるか後日確認してみようかと思います。

恐らく先は長いでしょう。