WordPressサイトがモバイルフレンドリーに認められない 続き

レスポンシブ

昨日は起きてられなかったので、続きです。

Googleに対してはウェブページを表示するために必要なファイルは全てrobots.txtで許可してやらないといけない。
ただし、従来とおりクロールさせてはいけないURLは不許可のままとする。

WordPressの場合は実在するディレクトリではwp-adminとwp-includesが基本的に不許可だが、wp-includesにはJavascriptのディレクトリがあり、多くのテーマではjQueryとかだけどここのを使うのでwp-includes/jsは許可にする。管理画面表示用のJavascriptやCSSはクロールさせる必要が無いのでこれだけ。
wp-contentは本来はクロール対象にする必要はないのだが、画像などを放り込むuploadsは既に許可にしているかもしれない。画像検索なんてクソ食らえなら不許可のままに。
ページ表示に重要なテーマ関連ファイルはwp-content/themesディレクトリ。
プラグインによってはページページ表示に使用するCSS, Javascriptなどを含む場合があるので必要に応じてwp-content/pluginsディレクトリも許可にしてやる。管理画面用CSS/JSしか含まないなら不許可のままで。

次にWordpressのURLとして使用されるものでクロール対象から外すものはauthor別、カテゴリ別、日付別、タグ別などの重複URLになるもの。/archives/author/など。ここはURLの出し方の設定が違う場合があるのでサイトによっては違うかも。
また、Wordpressでは設定にもよるがURLに?を含む場合は条件検索などに限られるというサイトもある筈(管理画面を除く)。そういう場合はそのURLをクロール許可すると重複URLになるのでこれもクロールさせない。

以上からrobots.txtはこんな感じになった。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
User-agent: *
Disallow: /archives/author/
Disallow: /archives/category/
Disallow: /archives/date/
Disallow: /archives/tag/
Disallow: /wp-admin/
Disallow: /wp-content/
Disallow: /wp-includes/
Disallow: /*?
Allow: /wp-content/plugins/
Allow: /wp-content/themes/
Allow: /wp-content/uploads/
Allow: /wp-includes/js/

Sitemap: http://example.com/sitemap.xml

ちなみにAllow:はGoogleは読んでくれるが他のクローラーでは利かない命令かもしれません。でも、他のクローラーは今のところJavascriptやCSSを読んでページのレイアウトまで見て検索順位決めたりしていないのでGoogle以外には今回Allowにしたところは読ませなくて良い筈。

Googleのモバイルフレンドリー判定も重要ですが、一番重要なのは実際にモバイル端末から正しく見えるかです。
オススメの確認サイトがResponsinator

スマートフォンやタブレットなどいろんな端末の縦画面・横画面でもサイトの見え方が判ります。表示されている画面に横方向のスクロールバーが出ないことがおそらく重要です。端末っぽく表示されている画面を縦スクロールしてページの上から下まで確認できるのがGoogleのモバイルフレンドリーテストの結果画面よりありがたいところ。

追記: Google XML Sitemapsプラグインを使用している場合は上の Disallow: /*? が影響して /sitemap.xml がGoogleに受付拒否されます。
Google XML Sitemapsの実体URLが /index.php?xml_sitemap (続きオプション有り) なので Allow: /*xml_sitemap* のような行を追加してやる必要があります。ただし、このやり方の場合は Allow: を理解できないクローラーはSitemapを読めない可能性があるので注意。

簡単なのは/wp-content/と/wp-includes/はDisallowにしないことかも

関連記事: