カテゴリー別アーカイブ: Wordpress関連

key1

WordPressでセキュリティを強化する設定

最近はWordpressサイトが攻撃される事例が増えていますね。
[無料で使える]、[導入数も多い]、[簡単に使える]というサービスなだけに標的にされやすいのがWordpressの特徴であります。
この記事では最低限施しておくと良いセキュリティ関連の情報をまとめます。

以下目次

基本的にはこの記事にある内容に沿っています。
WordPressのセキュリティを徹底強化 | CSSPRO

まずはFTPなどパスワード変更

レンタルサーバーへのログインパスワードとFTPの接続用パスワードを変更します。
こちらのようなランダムな文字列を生成するサービスもあるので活用しましょう。
http://www.cityjp.com/javascript/etc/password.html

覚えやすいパスワードはいろんな端末からアクセスがしやすいというメリットがありますが、
サーバーの設定やFTPを使ったファイル操作は、よほど重要な作業をする時にしか使わないと思いますので
基本的に覚えられないぐらいの文字列にしておいて、メモしてあるものから”コピペ”して使うものと決めておいて良いと思います。

また、Wordpressのログイン用パスワードについては、記事の更新頻度や内容によります。
基本的に一つのPCからログインして記事を書くのであれば、上記のようなランダムな文字での管理で良いと思います。
スマートフォンを使うなど外出先でも気軽にログインして使いたいのであれば、自分で覚えられるものにしておいた方が良いと思います。
重要なパスワードをいろんな端末のメモ帳に残しておくのもかえって危険ですしね。
そのような短いパスワードを使うログイン時のセキュリティ強化については後述します。

セキュリティ強化用のプラグインをインストール

追加したプラグインは以下の3つです。

  • Acunetix WP Security
  • Akismet
  • Login LockDown

Acunetix WP Security(旧:WP Security Scan)

セキュリティ強化全般をアシストしてくれます。
詳しい特徴などはこちらを参照ください。

まず簡単にやれることとしては、DBのベンダープリフィックスを変更すること。
[ダッシュボード]>[WP Security]>[Database]と画面を移動すると[Change Database Prefix]という項目があります。
この中のテキストボックスに変更するベンダープリフィックスを入力します。
ここは一度設定した後は特にユーザー側で使う事はないので、上記で使ったようなランダムな文字列を使うと良いです。

なお、この設定を反映するにはwp-config.phpを書き換える事になりますが
このファイルの書き換え権限(パーミッション)を一時的に書き換え可能な状態に設定する事にご注意ください。

Akismet

スパムコメントを除外するプラグインです。
これはWordpressインストール時に最初から入っているものなので、有効にしておきます。
こちらを使うには有効にしたあと、APIキーの設定が必要になります。

Login LockDown

ログイン試行制限をするプラグインです。
これはログインに3回失敗すると、そのIPアドレスからのログイン操作を1時間無効にさせるというものです。
また、その失敗したIPからのアクセスをブロックする事ができます。
※この3回/1時間という設定も変更できます。

SALTの設定

SALTはWordPressのパスワードのセキュリティを強化するシークレットキー認証方式です。
これも設定は簡単なので、入れておきます。

こちらがwp-config.phpに元々書かれているシークレットキーです。

それをこちらで生成された以下のようなコードに書き換えます。

wp-config.phpの保護

wp-config.phpはWordPressのデータベースへアクセスするためのとても重要な情報が含まれたファイルです。
.htaccessファイルに以下のコードを加えて外部からの書き換えを防ぐように設定します。

なお、私の場合はこちらのようなWordpressのルートディレクトリの変更も行ったため、別途htaccessへ追記をしています。
http://suirakukai.com/wordpress/22/wordpress-change-in-directory/

ルートに置いてあるhtaccessファイルは最終的に以下のようになっています。

データベースのバックアップ

万が一の事も考えてWordpressのデータベースも定期的にバックアップをとっておきます。
WP-DB-Backupというプラグインを使えば簡単にバックアップを取れますので、これを使います。

私の場合は定期バックアップでgmailにメールでバックアップデータを送るようにしています。
更新頻度はそれほど高くないので、週1回としています。

サイト立ち上げ時でテスト投稿ができる状態であれば、是非バックアップデータの復元テストもやっておくと良いと思います。
参照

これで一通り復元の手順をまとめておけば、いざと言う時にスムーズに復元できます。

その他心がけ

その他気を付けることとして、いろんなブログでも紹介されていますが以下を挙げておきます。
サイト運用のルールとして事前にルール化しておくと良いですね。

  • adminというログイン名は使わない。
  • WordPressを常に最新にしておく。
  • 使用していないプラグインは削除(停止ではなく)
  • プラグインを使わずに済むものは極力functon.phpに記載する

参照

最後に

これだけの設定を入れても万全とは言えません。
常に新しい情報に目を向けアップデートしていく事が大事ですね。

my_wordpress_plugins_title

WordPress初期設定まとめ

WordPressインストール時にやっておくと良い設定やオススメのプラグインを紹介します。

管理画面・テーマファイルの設定

URLをルートディレクトリに設定

WordPress本体を管理しやすいようにサーバーのルート直下に置かず、/wp/などのフォルダに入れるという事はよくあると思います。
その際、サイトのトップページをhttp://example.com/wp/とせずにhttp://example.com/とする方法です。
Wordpressの公式オンラインマニュアルサイトに記載されています。
参考:WordPress を専用ディレクトリに配置する – WordPress Codex 日本語版

パーマリンク設定

WordPressデフォルトの設定だとパーマリンクがhttp://example.com/?p=123となっているため、URLを見ただけだと何のページかわかりにくいです。
これをスタティックなサイトのようなURL(http://example.com/about/等)に見せるため、カスタム構造の設定を以下のようにします。
[ /%category%/%postname% ]
参考:[WordPress]パーマリンクの設定について | ワードプレステーマTCD
こちらも最初のうちに設定をしておきましょう。

Favicon,iOS用ホーム画面用アイコンの設定

Favicon,iOS用ホーム画面用アイコンは管理画面では設定ができないので、各テーマファイルに設定しオリジナルのアイコンを設定します。
テーマ内のheader.phpの内に以下を書き込みます。画像のパスは適宜調整のこと。

<link rel="shortcut icon" href="/img/favicon.ico" />
<link rel="apple-touch-icon-precomposed" href="/img/apple-touch-icon.png" />

Facebookのコメント表示/レスポンシブ対応

WordPressデフォルトのコメントをそのまま使用しても良いですが、より拡散性を高くするためにFacebook用のコメント欄を入れてみます。
なお、wp-facebook-commentというプラグインを使って設定する事もできますが、FacebookのIDをオリジナルのもので管理するためにテーマファイルを直接編集する形にしました。

以下のサイトを参考に、レスポンシブデザインのテーマに合わせたFacebookのコメント欄の設定を行います。
【WordPress】ブログにレスポンシブ対応したFacebookコメントを設置する方法 | 4歩目のニワトリ
【Wordpress】Facebookコメント欄をブログに設置する方法 | アプリアン!

▼header.php内、(一番あたま)に以下を追加
※ xxxxxxxxxxxxxxxは固有のID

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/ja_JP/all.js#xfbml=1&appId=xxxxxxxxxxxxxxx";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

header.php内、以下のメタ設定は後述するAll in One SEOとのfb:admin設定とバッティングするので追加しない。

<meta property="fb:admins" content="xxxxxxxxxxxxxxx" />

▼single.phpのコメントの箇所に以下追加

<div class="fb-comments" data-href="<?php the_permalink();?>" data-width="470" data-num-posts="10"></div>

▼style.css(一番最後)に以下を追加

.fb-comments,
.fb_iframe_widget,
.fb_iframe_widget[style],
.fb-comments iframe[style],
.fb-social-plugin span,
.fb-comments span {
    width: 100% !important;
    display: block !important;
}

追加したプラグイン

Simple Tweet:Twitterへ自動的につぶやく

http://wordpress.org/plugins/simple-tweet/
記事を追加すると指定したアカウントが自動的に記事タイトルとリンクをつぶやきます。

Wordbooker:Facebookへ自動的に投稿

http://wordpress.org/plugins/wordbooker/
Facebookにログインして認証すれば登録してあるFacebookページの一覧が表示されます。
ダッシュボードの設定画面ではデフォルトの投稿Facebookページを設定できますが、記事投稿画面でも個別に投稿Facebookページを設定する事もできます。

WP Social Bookmarking Light:各種SNSボタン設置

http://wordpress.org/plugins/wp-social-bookmarking-light/
ブログ系のサイトによくあるSNSボタンを簡単に設置できるプラグイン

All in One SEO Pack:統合的なSEO対策管理

http://wordpress.org/plugins/all-in-one-seo-pack/
・タイトル/メタ情報の設定(サイト全体/記事/ページの個別設定)
・Google アナリティクス
・ソーシャルメディアのOGP設定
などをまとめて設定する事ができます。テーマファイルに書き込む必要がなく手軽です。

SyntaxHighlighter Evolved:ソースのカラーリング

http://wordpress.org/plugins/syntaxhighlighter/
HTMLなどのソースコードを記事で紹介する際に、タグ毎にカラーリングしてみやすい形にしてくれます。

その他セキュリティ系プラグイン

・Acunetix WP Security
・Akismet
・WordPress Database Backup

こちらについては別記事にて紹介していますので以下を参照ください。
WordPressでセキュリティを強化する設定 | Trunkast

まとめ

最近はWebサイト制作とソーシャル対応はセットになっている事が多いため、Facebookページの設置やTwitterアカウント作成など別途作業が必要になる事も多くなっていますよね。
プラグインについては極力使いたくないという方には、特にソーシャル系のプラグインについてはテーマファイルに直接書いて行く形がベターかと思います。
今回はなるべくテーマを触らずに手軽に設定できる方法として紹介してみました。