wordpressの設定について

ブログを更新していくうちに「もっとこうだったらいいな」や「このままではまずい」がいろいろでてきたので、2日ほどかけてwordpressを改めて見直した。備忘録を兼ねて記録する。


【セキュリティ】

今までセキュリティなんてほぼ気にしたことはなかったが(ロリポップが自動で設置してくれた.htaccessくらい)、ふと「/?author=1」というページに複数のアクセスがあることに気がついた。なんだろう?
調べてみると「/?author=1」にアクセスするとwordpressのユーザ名が表示されてしまうということがわかった。つまり、あとはパスワードさえわかればログインできてしまう状態だということ。(乗っ取られて困るほどのブログではないが)せっかくアクセスがあったのだから対策することにした。
新しくauthor.phpを作成し、

<?php
wp_redirect(home_url());
exit();

と書くだけ。(すでにある場合は上記コードを追加すればよい。)
改めて「http://www.chihiroya.com/blog/?author=1」にアクセスすると、無事トップページに転送されるようになった。

参考サイト:ユーザー名が「/?author=xx」で知られるのを防ぐには(MT Systems)


【テーマ】

デザイン、汎用性、カスタマイズのお手軽さから「Sketch」を選択。
アイキャッチ画像なんて、写真を選ぶと自動でちょうどいいサイズに切り抜いてくれる。さらに複数枚アップロードするとランダム表示もしてくれる等、機能満載だ。

  1. style.cssの編集
  2. 本文フォントが心持ち大きかったので小さめに変更。(1.25em→0.9em)

    .entry-content {
      font-size: 0.9em;  ←←
      line-height: 1.36em;
      line-height: 1.7em;
      }

    Sketchはヘッダーのサイト説明が表示されない設定なので、表示できるよう変更。(ついでにフォントサイズも変更。)

    .site-description {
      /*  display: none;*/  ←←(コメントアウトで対応)
      }
    h2 {
      font-size: 12px;  ←←28px
      font-weight: normal;
      letter-spacing: 1px;
      margin: 0;    ←←27px 0
      text-transform: uppercase;
      }

  3. templets-tags.phpを編集
  4. 個別の記事ページから「作者」の表示を消す。(明らかに私ひとりしかいないのに名前が表示されるのは気恥ずかしい。)「sketch_posted_on」がどうやら日付と作者を表示させているようなので、作者を示しているらしい「 | %2$s」を下記のコード内から削除する。

    printf( __( '<span class="posted-on">%1$s</span><span class="byline
    "><span class="sep"> | </span>%2$s</span>', 'sketch' ), 
    
  5. functions.phpを編集
  6. プラグイン(WP to twitter)のタイムゾーンが、設定で+9時間にしてもなぜかUTCになってしまうため、以下のサイトを参考にタイムゾーンを無理矢理設定。

    date_default_timezone_set( 'Asia/Tokyo' );

    参考サイト:WordPressでTimezoneが9時間ずれる問題


【ローカル環境にサイトを複製する】

デザインや設定をいじっていると(何らかのミスにより)サイトが表示されなくなることが稀にある。今のところすぐ解決しているが、今後とんでもないうっかりが起こらないとも限らないので、ローカル環境にサイトを複製しこちらでテストすることにした。
(ローカルサーバの設置については(macなので)MAMPをダウンロードして、書いてあるとおりにするとできるはず。winであればXAMPPがきっとなんとかしてくれる。)
本サーバからデータベースをエクスポートし、ローカルのDBにインストール。wordpressフォルダをごっそりダウンロードし、ローカルのフォルダに格納。詳しいことはいろんなサイトに載っているので、手順としては簡単だった。しかしトップページが(サーバーの不具合により?)表示されず、管理画面が見つからないという謎の状態に陥った。おそらくセキュリティ用のプラグイン(SiteGuard WP)が原因だと思ったので、プラグインを切った状態でもう一度ダウンロードした結果管理画面にはアクセスできるようになった。トップページをはじめとするサイト本体はどうやっても表示されなかったのだが、最終的にはキャッシュをクリアしたら解決した。


【今日のまとめ】

困ったらキャッシュをクリアするといい。

プラグインについてはまた後日。