投稿した記事に関連した記事を自動的に追加してくれるプラグインを入れておきましょう。

 

設置は通常のプラグインのインストールと同様に「WordPress Related Posts」で検索してインストールします。
赤丸のところだけ変更しておきましょう。

 

投稿した記事を 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もあるのは気になる。
今日はこれをつぶしていこう。

  1. PHP Easter Egg
    URLの最後に「?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000」これを付けると、phpinfo()が表示されてしまうという、ちょっとしたTips。設定ファイルとか、なんのLIBが有効かなどがわかると侵入者に手がかりを与えかねないのでこれはふさいでおこう。
    「/etc/php5/apache2/php.ini」に「expose_php = On」があるので、これを Offにして完了。

    ※参考> [PHP]phpinfo()に関する小ネタHack

  2. Operating System Disclosure
    ApacheのレスポンスにOSが出ているよという警告。これも隠しておこう。
    「/etc/apache2/conf.d/security」の「ServerTokens Prod」と「ServerSignature Off」で Serverは「Apache」だけになる。

    ※参考> 【Apache】HTTPヘッダの確認方法とセキュリティ対策(レスポンスヘッダの変更方法)

  3. Directory Listing
    ディレクトリ一覧(ファイル一覧)が見えてるところがあるよという警告。これはつぶしておく。
    「/etc/apache2/conf.d/security」に「Options Includes ExecCGI FollowSymLinks」を追加。
    これ自体は、CGIとシンボリックリンクの許可だが、明示的に Optionsを指定することで「Indexes」(ファイル一覧)を禁止することになる。

    ※参考> 第2回 ディレクトリ非表示の意味をもう一度見つめ直す

  4. Cookie not HttpOnly
    HttpOnlyクッキーにしないと、javascript等から読みだされてしまうよということなんですが、変更したときの影響がよくわからないので、ペンディング。
  5. Input AutoComplete
    オートコンプリートが Onになっていると危ないよという指摘だが、これは使い勝手とのトレードオフになるので、このまま放置。

    ※参考> HTML でオートコンプリートをオフにする方法

  6. Unencrypted Login
    WordPressのログイン画面が httpなので、これをSSL(https)にしなさいという指示。
    wp-config.phpに「define(‘FORCE_SSL_LOGIN’, true);」を追加するだけでできるのだが、SSL証明書を用意したり、他のお客様(マルチドメインで運用しているので)への影響を考えてペンディング。

    ※参考> Administration Over 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 です。

似てるでしょうか?