WordPressで作ったサイトをSEOチェックしたとき、「URLの正規化」ワーニングがでることがあります。
ワーニングの原因は、index.php、index.htmlが別ものとして扱われるためです。
対策する理由
index.html(index.php)のあるURLとないURLが混在していると、重複コンテンツとみなされ、SEOの評価を著しく下げる可能性があります。検索エンジンは重複したコンテンツを登録を行うことは基本的にありません。この理由は、同じコンテンツを重複してインデックスしていくと、ある検索クエリに対する検索結果として同一内容を持つ異なるURLを複数表示することになり、検索ユーザーの検索体験の質低下を招くからです。
SEOスカウターβ版より
WordPressをインストールすると、インストールディレクトリにこんな感じの .htaccessができます。
# .htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
これだと、index.htmlが入ってきたとき、index.phpとは別扱いされて、404エラーになってしまいます。
これを以下のように書き換えます。
# .htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
Options +FollowSymLinks
RewriteBase /
#RewriteRule ^index\.php$ - [L]
RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ http://%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
これで、example.com/ と example.com/index.php と example.com/index.html がすべて同一になります。
Google XML Sitemapsプラグインはいいよ!
WP Tipsマルチサイト対応ができていなかったので使っていなかったのですが、β版でサポートを開始したので使ってみることに。
β版はこちらからダウンロードできます。
http://www.arnebrachhold.de/redir/sitemap-dl-beta/
Google ウェブマスターツールにサイトマップを追加します。
bingウェブマスターにもサイトマップを追加します。
しばらく使ってみて、またレポートします。
WordPressのthe_post_thumbnail()、すごくない?!
WP Tipsthe_post_thumbnail()って、アイキャッチ画像を表示させたりするのに超絶便利な関数なんだけど、altや titleに余計なものをセットして面倒くさいなぁと思ってました。
で、get_the_post_thumbnail()で変数に受けてから、それを preg_replaceとかしてたわけなんですけど、なんとなんと、そんなことしなくてもいいんです。
この用例をみてわかるように、なんでもセットできるんです。
array(‘title’ => get_the_title(), ‘alt’ => get_the_title()) みたいなことでOKなんです。
よくできてますね!
WordPressに関連投稿を追加する「WordPress Related Posts」プラグインを導入する
WP Tips投稿した記事に関連した記事を自動的に追加してくれるプラグインを入れておきましょう。
設置は通常のプラグインのインストールと同様に「WordPress Related Posts」で検索してインストールします。
赤丸のところだけ変更しておきましょう。
WordPressにSNSボタンを追加する「Sharebar」プラグインを導入する
WP Tips投稿した記事を Twitterや Facebookで取り上げていただくのは SEO対策の基本ですね。
できるだけ簡単に取り上げていただけるよう、ハードルを下げておきましょう。
WordPressでサイトを作っている場合、一番簡単な対処法は、「Sharebar」というプラグインを入れることです。
設置の方法や、Facebookの幅調整などは、こちら「ソーシャルボタンSharebar(シェアバー)の使い方と設置方法。WordPressプラグイン。」が詳しいです。
WordPressで作ったサイトをSEOチェックしたとき、「URLの正規化」ワーニングがでたときにとる対処法
WP TipsWordPressで作ったサイトをSEOチェックしたとき、「URLの正規化」ワーニングがでることがあります。
ワーニングの原因は、index.php、index.htmlが別ものとして扱われるためです。
WordPressをインストールすると、インストールディレクトリにこんな感じの .htaccessができます。
これだと、index.htmlが入ってきたとき、index.phpとは別扱いされて、404エラーになってしまいます。
これを以下のように書き換えます。
これで、example.com/ と example.com/index.php と example.com/index.html がすべて同一になります。
Detectify でサイトの脆弱性をチェックしてもらったら Warningがたくさん
TipsDetectifyというサイトがあって、無料で脆弱性のチェックをしてくれる。
登録の仕方等の使い方は、こちら「あなたのWebサイトの脆弱性を調査してくれるサービス『Detectify』」が詳しい。
Scan Startして3日ほどで結果を返してくれる。
試しにうちで管理しているサイトのひとつを調べて見たら、以下のような結果に。
0 Exploits Found / 24 Warnings Found / 222 Notices Found
危ない(Exploits)はゼロでよかったが、注意(Warnings)が24もあるのは気になる。
今日はこれをつぶしていこう。
URLの最後に「?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000」これを付けると、phpinfo()が表示されてしまうという、ちょっとしたTips。設定ファイルとか、なんのLIBが有効かなどがわかると侵入者に手がかりを与えかねないのでこれはふさいでおこう。
「/etc/php5/apache2/php.ini」に「expose_php = On」があるので、これを Offにして完了。
※参考> [PHP]phpinfo()に関する小ネタHack
ApacheのレスポンスにOSが出ているよという警告。これも隠しておこう。
「/etc/apache2/conf.d/security」の「ServerTokens Prod」と「ServerSignature Off」で Serverは「Apache」だけになる。
※参考> 【Apache】HTTPヘッダの確認方法とセキュリティ対策(レスポンスヘッダの変更方法)
ディレクトリ一覧(ファイル一覧)が見えてるところがあるよという警告。これはつぶしておく。
「/etc/apache2/conf.d/security」に「Options Includes ExecCGI FollowSymLinks」を追加。
これ自体は、CGIとシンボリックリンクの許可だが、明示的に Optionsを指定することで「Indexes」(ファイル一覧)を禁止することになる。
※参考> 第2回 ディレクトリ非表示の意味をもう一度見つめ直す
HttpOnlyクッキーにしないと、javascript等から読みだされてしまうよということなんですが、変更したときの影響がよくわからないので、ペンディング。
オートコンプリートが Onになっていると危ないよという指摘だが、これは使い勝手とのトレードオフになるので、このまま放置。
※参考> HTML でオートコンプリートをオフにする方法
WordPressのログイン画面が httpなので、これをSSL(https)にしなさいという指示。
wp-config.phpに「define(‘FORCE_SSL_LOGIN’, true);」を追加するだけでできるのだが、SSL証明書を用意したり、他のお客様(マルチドメインで運用しているので)への影響を考えてペンディング。
※参考> Administration Over SSL