アーカイブ年: 2013
投稿した記事を Twitterや Facebookで取り上げていただくのは SEO対策の基本ですね。
できるだけ簡単に取り上げていただけるよう、ハードルを下げておきましょう。
WordPressでサイトを作っている場合、一番簡単な対処法は、「Sharebar」というプラグインを入れることです。
設置の方法や、Facebookの幅調整などは、こちら「ソーシャルボタンSharebar(シェアバー)の使い方と設置方法。WordPressプラグイン。」が詳しいです。
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 がすべて同一になります。
Detectifyというサイトがあって、無料で脆弱性のチェックをしてくれる。
登録の仕方等の使い方は、こちら「あなたのWebサイトの脆弱性を調査してくれるサービス『Detectify』」が詳しい。
Scan Startして3日ほどで結果を返してくれる。
試しにうちで管理しているサイトのひとつを調べて見たら、以下のような結果に。
0 Exploits Found / 24 Warnings Found / 222 Notices Found
危ない(Exploits)はゼロでよかったが、注意(Warnings)が24もあるのは気になる。
今日はこれをつぶしていこう。
- PHP Easter Egg
URLの最後に「?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000」これを付けると、phpinfo()が表示されてしまうという、ちょっとしたTips。設定ファイルとか、なんのLIBが有効かなどがわかると侵入者に手がかりを与えかねないのでこれはふさいでおこう。
「/etc/php5/apache2/php.ini」に「expose_php = On」があるので、これを Offにして完了。 - Operating System Disclosure
ApacheのレスポンスにOSが出ているよという警告。これも隠しておこう。
「/etc/apache2/conf.d/security」の「ServerTokens Prod」と「ServerSignature Off」で Serverは「Apache」だけになる。 - Directory Listing
ディレクトリ一覧(ファイル一覧)が見えてるところがあるよという警告。これはつぶしておく。
「/etc/apache2/conf.d/security」に「Options Includes ExecCGI FollowSymLinks」を追加。
これ自体は、CGIとシンボリックリンクの許可だが、明示的に Optionsを指定することで「Indexes」(ファイル一覧)を禁止することになる。 - Cookie not HttpOnly
HttpOnlyクッキーにしないと、javascript等から読みだされてしまうよということなんですが、変更したときの影響がよくわからないので、ペンディング。 - Input AutoComplete
オートコンプリートが Onになっていると危ないよという指摘だが、これは使い勝手とのトレードオフになるので、このまま放置。 - Unencrypted Login
WordPressのログイン画面が httpなので、これをSSL(https)にしなさいという指示。
wp-config.phpに「define(‘FORCE_SSL_LOGIN’, true);」を追加するだけでできるのだが、SSL証明書を用意したり、他のお客様(マルチドメインで運用しているので)への影響を考えてペンディング。
お客様のサイトのFacebook対策をしているときに遭遇した件。
レストランのFacebookページなので、素直にこうしたわけですが、Facebookデバッガーで確認するとエラーがでます。
「meta property=”og:type” content=”restaurant”」
食べログなども出るので、まだ一般的に対処していないのかも。
修正する必要があるエラー
Object Missing a Required Value: Object at URL ‘http://tabelog.com/kanagawa/A1404/A140402/14007431/’ of type ‘place’ is invalid because a required property ‘place:location’ of type ‘geo_point’ was not provided.
このエラーは、お店の緯度・経度を設定するとでなくなります。
緯度・経度はこちらで調べられます。
「meta property=”og:latitude” content=”35.320265″」
「meta property=”og:longitude” content=”139.550999″」
https://www.facebook.com/brandpermissions/logos.php
ここによると、Facebookのロゴは使ってはいけないそうです。
いいね!とか、Fだけのものを使ってねということ。
でもそれだとわかりづらいので、こちらを参考に自分で作ってみました。
Tahoma, Bold, シャープ、横106%、縦100%、→あ←100%、←AV→10 です。
似てるでしょうか?