使用しているプラグイン

WordPress はプラグインが豊富だし作るのも簡単だからいいよね。

便利なプラグイン

AddQuicktag

エディタに定型文入力機能を追加できるプラグイン。

デフォルトのビジュアルエディタにしろTinyMCE Advancedにしろ、ビジュアルエディタのスタイルドロップダウンに自由に項目を追加するのがどうも面倒そうなのでそれ目的に導入。PloneのTinyMCEなら設定画面から簡単に追加できたんだけどなぁ。このくらいは標準で対応してほしい。

いざ入れてみればかなり汎用的に使えるプラグインであることがわかり大満足。特に HTML モードで使えるのがすばらしい。

Markdown on Save Improved 導入に伴いめっきり使わなくなってしまったため、削除。

…しかし、Markdown を Jetpack に切り替えたところそちらとの相性は悪くなかったので見事復活を果たした。

Akismet

デフォルトで入っている対スパム用プラグイン。一応有効にしているけどそもそもこのサイトはあまり人が来ないうえブログ以外のコメント欄を開けていないので書き込まれるコメント自体が少なくほとんど引っかからない。

精度はかなり高い様子。

BackWPup

wordpressのバックアップを取ってくれる。DBだけでなく画像やプラグインなんかも含めてディレクトリ丸ごとバックアップしてくれる。そのうえDBの最適化も指示できる。さらに定期的にバックアップしてくれたり、さらにはバックアップをクラウド上(dropbox等)に取ってくれたりして、かなりすごい。入れて損はないどころか絶対に入れておきたいプラグイン。

定期実行に関しては擬似cronとかいうやつを使っているため、実質的にはサイトへのアクセスがトリガとなっているらしい。そこだけ注意すればこの上なく便利なプラグイン。というより、仮に定期実行機能がなくてもたぶん使ってたに違いない。

Broken Link Checker

リンク切れチェックを行ってくれるプラグイン。リンク切れを見つけてくれるだけでなく、勝手に取り消し線を引いてくれたりリンク切れ一覧画面上でリンクの修正が行えたりする。

便利なんだけど、リンク切れ一覧画面上でリンクの修正をすると Markdown on Save Improved で書いた記事が普通の HTML に直されちゃったりしてちょっと相性が悪い。

Markdown on Save Improved を使っている場合は、該当記事の編集画面に行ってから自分でリンクを探して直す必要がある。

Child Pages Shortcode

Ploneにはフォルダの概念があったため、フォルダ内のアイテムの一覧を表示する機能が最初から備わっていた。ところがWordPressではフォルダというものがなくアイテム間の親子関係しかないため、似たようなことをやるには工夫が必要になってしまった。

なのでそれに似たような機能のプラグインを自分で作ろうかとも思ってたんだけど、ものすごく出来がよく、細かいカスタマイズにも対応していて懐の広いこのプラグインを発見。おすすめ。

フォーマットの指定方法はいろいろあるけど、手間などを考えるとフィルターフックを使うのが一番簡単なんじゃないかな。(ページごとにテンプレートを変えたい場合は別)

Cimy Swift SMTP

SMTPサーバの変更ができる。つまり自前でメールサーバを立てずとも、よそのメールサービスを使ってメールを送れるようになる。

必須プラグイン。というよりなんで標準で用意されていないのか不思議でならないくらいの機能。ちなみにPloneでは標準でできた。

Crayon Syntax Highlighter

シンタックスハイライト用プラグイン。つまりソースコードの色分けをやってくれる。preタグを書くと勝手にこのプラグインが色付けなどをしてくれるようになる(設定でpreタグに反応しないようにもできる)。ショートコードにも対応しているらしいけど使ってない。

設定次第では既にpreタグで書いたソースコードも勝手にシンタックスハイライトしてくれるため便利だが、文字列に色を付けようと span タグなどでマークアップした部分までソースコードとして表示してしまう。

たとえば、以下のコードで「void」の部分だけ色を付けようとしても…

このようにタグが表示されてしまうため、場合によっては過去記事の修正が必要な場合がある。

Crayon を使わずに素の pre タグを表示したい場合は、属性 crayon="false" を追加する。

File Gallery

めんどくせえ画像挿入がこれを導入するだけでグッと楽になる。かなり効率が上がるので、人にもよるけど基本的にはあって困らないプラグイン。

日本語化ファイル

Hierarchical Pages Widget

ページの階層表示をしてくれる。似たようなプラグインが多くある中でなぜこれにしたかというとPloneのナビゲーションポートレットで設定していた動きといちばん近いのがこのプラグインだったから。

  • 最上位ページは非表示
  • 最上位の直下のページは表示
  • カレントと同階層は表示
  • カレントの子は表示
  • それ以外は非表示

具体的な例を挙げると、固定ページ「X」を親とするページの階層が以下のような場合

  • 親1
    • 子1-1
      • 孫1-1-1
      • 孫1-1-2
    • 子1-2
      • 孫1-2-1
      • 孫1-2-2
  • 親2
    • 子2-1
      • 孫2-1-1
      • 孫2-1-2
    • 子2-2
      • 孫2-2-1
      • 孫2-2-2

子1-1を表示すると、このようになる。

  • 親1
    • 子1-1 (現在位置)
      • 孫1-1-1
      • 孫1-1-2
    • 子1-2
  • 親2

こんな感じで表示できるものが意外となく、もしくはあったのかもしれないけど設定方法がわかりにくく手元の環境ではうまく実現できなかった。一番簡単に設定できたのがこのプラグイン。

Insert Estimated Reading Time

「この記事を読むのに必要な時間は約何分」みたいなのを記事の先頭に追加するプラグイン。さらっと検索してみたところ似たようなプラグインはいっぱいあったんだけど、表示・非表示の切り替えや自由なフォーマットを指定できるものがパッと見では見つからなかったので勉強を兼ねて自作した。

Jetpack by WordPress.com

アクセス解析ほか、いろんな機能がごっそり入ったプラグイン。WordPress.com との連携が前提だけど、連携しなくても使える機能もある。

とにかく多機能なので、これを入れたら別のプラグインが要らなくなるというケースは多い。しかも、各機能ごとに個別に有効/無効を切り替えることができるので「Jetpackにも似たような機能があるけど、使い慣れている従来のプラグインを生かしたい」なんて場合にも対応できる。

ソーシャルメディア対応コメント欄については Disqus と迷ったんだけど、Disqus はカッコイイのはいいものの微妙に不親切なUIで、そこそこ詳しい人でないとどこ押したらコメントできるかもわからず戸惑うんじゃないかなという感じ。さらに設置までの手順が多くてめんどくさかった。その点 Jetpack はデフォルトのコメント欄と見た目もそこまで違わないから混乱しにくいだろうし、なにより設置が楽。これはいい。

Markdown に対応しているのもありがたい。しかも拡張記法も使えるんだよね。

Page List Widget

「最近の投稿」の、固定ページ版。意外とこの手のプラグインが見つからなくて結構探したんだけど、しっくりくるものがなく結局自作した。

Ploneはコレクションさえ作ればどの種類のコンテンツでも自在にポートレットが設定できたんだけどなぁ。

WordPressはブログシステムから発展したという経緯があるせいか、固定ページが冷遇されている感がある。「投稿記事にはあって固定ページにはない」みたいなのが結構あるんだよね。テーマもいくつか見てみたけど固定ページは重視されていないことが多い。

PS Auto Sitemap

サイトマップを作ってくれるプラグイン。Ploneには標準で用意以下略。なんで標準で用意されてないのか以下略。

Quick Drafts Access

ダッシュボードの「最近の下書き」には投稿しか表示されないっぽく、固定ページの場合下書きの記事へのアクセスが「固定ページ一覧を表示」→「下書きを表示」→「記事を選択」となりめんどくさい。このプラグインを入れると左側のメニューから直接「下書き」を選択できるようになるため多少楽になる。あれば楽だけど別になくても困らないプラグイン。

Redirection

ページを移動したり記事名を変更したりしてURLが変わった時に、旧URLから新URLにリダイレクトを設定できる。それ以外にも、親記事表示時にデフォルトで任意の子ページに飛ばすなどの使い方も(Ploneでいうフォルダのデフォルトページ設定)。正規表現が使えるので柔軟に設定できて便利。

さらに、パーマリンク変更時に勝手にリダイレクトの設定を追加してくれるという親切機能までついている。

パーマリンクがデフォルト状態の人には意味ないけど、そうでない人の場合は必須かもしれない。

RSS Includes Pages

デフォルトではRSSフィードには固定ページが含まれず、投稿しか表示されない。しかしこのプラグインを入れることにより固定ページもフィードに含まれるようになる。

だからこれくらい最初からできるようにしてくれって…。

Table of Contents Plus

目次を作ってくれる。 [toc]を記述すると出るけど、設定で「○個以上の見出しがあった時は自動で目次を出す」設定などにもできる。目次を出したくない場合は [no_toc]を記述。

Ploneには以下略。なんで標準で用意されて以下略。

日本語化ファイル

W3 Total Cache

Quick Cache が金に目がくらんでひどいことになった(公式ディレクトリのレビューより抜粋)ので乗り換え。

Quick Cache では有料版のみの機能となってしまったキャッシュ除外設定や管理バーからのキャッシュクリアができて、サイトマップを使用した自動キャッシュ作成もOK。CloudFlare(無料CDN)との連携もできるらしい。

ブラウザキャッシュは .htaccess を書き換えてしまうため、安易に使うとディレクティブが制限されているサーバで Internal Server Error が発生する可能性があるので注意。というかデフォルトでONになっているのはいかがなものか。

困ったときは .htaccess を修正後パーミッションを444あたりに変更して書き換えられない状態にしてからプラグインの設定画面を開き、ブラウザキャッシュを OFF にしたりしてからパーミッションを元に戻すようにしよう。

あと CloudFlare との連携で正しい情報を入力しているにもかかわらず Unable to make CloudFlare API request. と表示される場合は、少し間を開けてからもう一度試してみよう。

WordPress Ping Optimizer

Update Ping の最適化を行う。更新時の送信を抑制したり、送信ログを保存してくれたりする。まぁ Update Ping 自体が廃れてる感あるけどね。

WP External Links

外部ページを別ウィンドウで開くようにしてくれ、さらに外部リンクを示すアイコンもつけてくれる。アイコンを選べるのもいいよね。

Ploneには以下略。なんで標準で以下略。

日本語化ファイル

WP Multibyte Patch

元から入ってるけど無効になっているので有効に変える。特に何がどうなったのかはわからないけど無効にしておくとまずいことが起こるという話。

WP Total Hacks

細かい部分のカスタマイズができるようになる。どれも、最初からできるようにしておいてくれよと言いたくなるくらいのものばかり。ソースをいじるのは面倒なのでこれでやってしまいたい。

Yoast SEO

SEO対策。効果のほどは不明。

パンくずリストは、「高度な設定」→「パンくずリスト」で機能を有効化&各種設定を行い、テーマの表示させたい部分に以下を記述。フィルターフックを使って差し込んでもいい。

(例)

入れようと思ってた、もしくは一時期入れてたけどやめたもの

Add From Server

FTPやなんかでサーバに直接アップロードした画像を、メディアライブラリに取り込んでくれる。

基本的に移行時に一度使えば済むプラグイン。お世話にはなったけど、今後使うことはなさそう。

Advanced Code Editor

テーマ編集画面やプラグイン編集画面のエディタを強化してくれる。色付けしてくれるし検索もできるのでデフォルトの状態よりはずっと良いけど、多少重かったりタブレット端末からの編集が行えなかったりといろいろ問題もあったので使わなくなった。

ファイルがロックされていて実際は書き込めないにもかかわらずツールバーの下あたりに「File last Saved at: (現在時刻)」と表示され、さも更新できたかのように表示されることがあるのも難。

ビジュアルエディタ系

TinyMCE Advanced、Ultimate TinyMCE、CKEditor など。

ビジュアルエディタにボタンやスタイルなんかを自在に追加しようと思って入れてはみたものの、どれもカスタマイズ性に乏しいかもしくはめんどくさく、AddQuicktag や Crayon Syntax Highlighter を入れたらそれで事が足りたため、結局すべて削除しデフォルトのエディタに戻してしまった。

結局少し凝ったことをやりたければHTML入力にした方が早いし、それ以前に今は Markdown を使って書くことの方が多いためビジュアルモード自体もう使ってない。

Lightbox Plus ColorBox

jQuery Colorbox の方がリンクrelを設定しなくてもよく使いやすかったため削除。

またLightbox Plus ColorBoxはフェードなどの効果が自分の環境ではいまいちキレイに動いていなかった(jQuery Colorboxの方は問題なし)。

2016/04/20 追記: リンク先(http://wordpress.org/plugins/lightbox-plus/)が見つからなくなっていた。

jQuery Colorbox

lightbox的なやつ。

最初は Lightbox Plus ColorBox を入れてたんだけど、jQuery Colorbox はいちいちリンクrelの設定をしなくても勝手に有効になって便利だったので乗り換えた。

今使っているテーマ「Basic」に lightbox が組み込まれていたのでわざわざ別にプラグインを入れる必要がないのに気づき削除。

Recently Updated Pages

似たようなもの(で、もう少し設定が柔軟にできるもの)を自作したため。

Contact Form 7

問い合わせフォーム用プラグイン。Ploneにも似たようなプロダクトはあったけど、こっちの方が断然使いやすい(ただしPloneの場合は簡単な問い合わせフォームだけなら標準でついていた)。

Jetpack のフォーム作成機能が比較的優秀だったため、お役御免となった。

SI CAPTCHA Anti-Spam

コメント欄用の CAPTCHA として導入していたが、Jetpack のソーシャルメディア対応コメント欄を使用するようにしたところ、そこにはCAPTCHAをつけられないことがわかった。Akismetを使えよということらしい。お役御免。

Really Simple CAPTCHA

すごいシンプルな CAPTCHA(そのまんま)。Contact Form 7 で CAPTCHA を使うためだけに半ばしぶしぶ入れていた。Contact Form 7 の削除に伴いいっしょに削除。

WP-Markdown

Markdown で記述ができるようになるプラグイン。

有効後、[設定]→[投稿設定] で設定をしないといけないので注意。最初これが見つけられなくて「なんだよ何も変わんねーじゃん設定画面もねーしバグってんのか?」とか思ってごめんなさい。

投稿時は「Markdown を HTML に変換して保存」、編集時は「HTML を Markdown に変換して読込」という動きらしく、プラグインを停止・削除しても入力したデータは HTML のまま残り続けるため安心だし、既存の記事を編集するときも勝手に Markdown に変換してくれるという便利さがある。

しかしよく考えると複数の書き方が存在する記法について正しく復元してくれなさそうだ。例えばリスト表示は「*」「-」「+」など複数の書き方があるけど、これらの記号を正確に戻せるとは思えない。実際に試したところ全て「*」に再変換された。

また、編集画面を開くたびに HTML → Markdown の再変換を行っているようなのでそれもマイナス点か。

ちなみに、これを使うとビジュアルエディタがOFFにされてしまう。カスタマイズすれば直ると思うけど。

「Markdown on Save Improved」の方が総合的に便利そうなのでそちらを使用し、こちらは削除。

WP-Cirrus

タグクラウドが3D上にくるくる回る WP-Cumulus の Flash 使わない版。正直不便だけど面白いので入れた。HTML5 で書かれているとのことでスマホからでもちゃんと見える。ただし見た目だけでいえば WP-Cumulus の方が滑らかで綺麗。

最初は面白かったけど、押したいタグを押しにくくて不便だなと感じてきたので削除。

Related Posts for WordPress

手動で任意の記事を選んで関連記事として表示できる。Plone にはついてた。

ちなみにインストールすると「Microkid’s Related Posts」という名前で表示される。

入れてはみたもののあまり使うことがなかったので削除。このプラグインに特に問題があったわけではない。

WP to Twitter

投稿するとTwitterにその旨をつぶやいてくれるプラグイン。

同様のプラグインは他にもあるけど、新規投稿・投稿の更新・固定ページの新規投稿・固定ページの更新のそれぞれでON/OFFの設定ができたり、個別の記事ごとにツイートするかどうか選べたり、ツイート内容を記事ごとに自由に変更できたりとかなり柔軟に使えるのがよかった。

このプラグインに不満があったわけじゃないけど、他のSNSなんかと柔軟に連携できる ifttt を使うようになったので不要になり、削除。もし ifttt がサービスを終了してしまったらまた使おうと思う。

日本語化ファイル

Quick Cache

プラグインが多いせいなのかどうかかはわからないけど、比較的重いといわれているPloneよりWordPressの方がよっぽど重く感じたので導入。

設定項目がわかりやすいし、実際に表示スピードは格段に速くなってるのでとても助かる。導入後は確かにサクサク。ちなみに今の Plone は plone.app.caching というプロダクトが同梱されているらしいのでそれを使えば同じようなことができるのかもしれない。使う前に WordPress に移行してしまったので詳しくは知らないけど。

いわば古い状態のページを出し続けるという作り上、サーバ側で取得した最新のツイートを出力するタイプのプラグインなんかとは相性が悪い。jTweetsAnywhere みたいに jQuery 等を使用してクライアント側でツイートを取りに行くタイプだと問題なかったんだけど、APIの変更によって使えなくなっちゃったから Twitter 公式のウィジェットを使うしかないかもね。

131121 以降のバージョンでは有料版と無料版に分かれてしまい、無料版は大幅に機能が制限されちゃったから、それが嫌でかつ金も払いたくない場合は 111203 以前のものを落として使おう。詳細

ちなみに俺はこのプラグインを使うのをやめた。

2016/04/20 追記: 今は「ZenCache」というものになったらしい。

Adminバーのボタンの見た目の変更(ver 111203)

Quick Cache の Admin バーのボタンだけボタン然としていて浮いているので、他のメニューと同様の見た目に変える。

quick_cache_01quick_cache_02

以下をCSSファイルに追加する。

DB Cache Reloaded Fix

プラグインが多いせいなのかどうかかはわからないけど、比較的重いといわれているPloneよりWordPressの方がよっぽど重く感じたので導入。

計測サイトで計ったら確かに速くなってた。変な動作しないか様子を見ながら使用することに。

自鯖からレン鯖に移行する際に削除。安いプランのせいでディスクスペース限られてるし。

WP Social Bookmarking Light

最近どこ行ってもくっついてる「いいねボタン」とかそういった類のものを簡単につけられるプラグイン。設定も簡単で、結構な数のサイトに対応しているのでとても便利。

別になきゃないで何とかなるけど、いろいろ親切設計で使いやすい。

Themify ビルダーと相性が悪い(優先順の問題)のと、自分でソーシャルボタンを設置することにしたので不要になり削除。

BJ Lazy Load

画像の遅延読み込みを行ってくれるプラグイン。

閾値を変更できたり、無限スクロール(画面下まで行くと自動で次ページの内容を読み込みスクロールが継続する)にも対応していたりと便利。

しかし動作が不安定な場合があるので、結局外してしまった。

日本語化ファイル

CMS Tree Page View

固定ページをツリー表示できたり、ドラッグで記事の移動ができるようになる。普通の固定ページ一覧画面はすこぶる使いづらいのでそれなりに便利だけど、これはこれでアイテムが小さすぎたりして使いづらい。

あとドラッグで記事を移動すると当然「順序」が書き換えられるので、番号がずれることになる記事は更新扱いになってしまう。記事を更新日順にソートして表示している場合は最新の記事がそれで埋まってしまうし、プラグインなどで Twitter と連携している場合は更新ツイートが大量に流れたりもしてしまうので注意が必要。

ちなみに固定ページだけでなく投稿もツリー表示できるけどあまり意味がない。

アイコンやら何やらがやたら小さくかえってイライラが募るため、削除してしまった。

日本語化ファイル

Dynamic Widgets

ページによってウィジェットを出したり消したりしてくれる。ブログページのみカレンダーを出し、固定ページでは隠す、などの運用ができる。ないと困るレベルの機能。

Jetpack で同様の機能が追加されたのでお役御免。このプラグインに特に問題があったわけではない。

Ploneでは標準でできた。というか、プラグイン入れないと実現できないとは思わなかった。

Markdown on Save Improved

Markdown で記述ができるようになるプラグイン。もちろん慣れの問題もあるけど、記述スピードや編集時の効率なんかがhtmlで書くより比べ物にならないくらい上がるのでもはや無きゃ困るレベルの存在。

WP-Markdown との違いは、投稿時は「Markdown を HTML に変換して保存」+「Markdown 情報を post_content_filtered に保存」、編集時は「post_content_filtered を読込」となっているっぽいこと。プラグインを停止・削除しても入力したデータは HTML のまま残り続けるのは一緒だけど、既存の記事を Markdown 形式に変換して表示してはくれない(「Convert HTML to Markdown」を使えばいけるのかも)。そのかわり、post_content_filtered にオリジナルの Markdown 情報が格納されているため再変換自体行っておらず、WP-Markdown で起こっていた「Markdown の再変換」問題が解消されている。

それ以外には、投稿画面にメタボックスで Markdown の ON/OFF を切り替えられるのも違う。しかし新規投稿画面を開いてみると WP-Markdown と同じくビジュアルエディタが無効で、しかも「Disable Markdown formatting」を ON にしてもビジュアルエディタや HTML 入力ができるようにならない。…が、チェックをONにしてから下書き保存なり何なりして画面をリロードさせることでいつも通りのエディタが表示されるようになる。

一度この状態にしてから再度チェックをOFFにすることで「ツールバーを出しながら Markdown 記法で入力できる」状態に。これなら AddQuicktag も使えるし Crayon Syntax Highlighter の入力画面も生きる、という理想的な状態になる。でもわざわざ新規記事作るたびに無駄な一時保存するのもなー。この状態がデフォルトなら最高なんだけどなぁ…。

という場合、以下の部分をコメントアウトすることでツールバーONのまま Markdown での入力ができるようになる。

さらに、新規投稿時にデフォルトで「Disable Markdown formatting」を ON にしておくには以下を追加。

初期選択タブを「テキスト」にして自動整形を起こさないようにするため、functions.php(Themify のテーマを使っているなら custom-functions.php)に以下のコードを追加しておくとより便利。

WP-Markdown もそうなんだけど、Markdown はHTMLタグの入力を認めてるんだから、ビジュアルエディタを強制的にOFFにすることはないと思うんだけどなぁ。ビジュアルタブ選択しても入力が反映されてないじゃないか!とお門違いの文句言う人がいたり、一度ビジュアルタブ押してからテキストタブに戻すと勝手に整形されちゃってグチャグチャになったりというのを考慮してるのかな。というかあの整形機能は何のためにあるんだろう。

日本語化ファイル

…とこのように愛用していたが、Jetpack に Markdown 機能が追加されたためお役御免となった。

001 Prime Strategy Translate Accelerator

翻訳ファイルをキャッシュしてページの表示時間を短縮する。翻訳ファイルなんてそう頻繁に変わるもんでもないしキャッシュ化は有効にしておいて損はなさそう。

設定画面からいつでもキャッシュのクリアが可能。プラグイン更新時に翻訳ファイルも変更されている場合などは一度キャッシュをクリアしないと反映されないので注意。

しかしこれを入れてると Jetpack の統計情報がなぜか日本語化されずうっとおしかったので使わなくなってしまった。(これ消したらちゃんと日本語で統計が出るようになった)

Yet Another Related Posts Plugin

関連する記事を探し出して表示してくれる。フォーマットも変更できて便利。

…だったんだけど、やたらDBの容量を食うので削除した。

Jetpack に関連記事を出す機能が付いたので、現在はそっちを使っている。カスタマイズ性が弱くてこれはこれでアレだけどね。

Google XML Sitemaps

サーチエンジン用XMLサイトマップを作成。イントラで使うとか検索エンジンにかけたくないとかいうのでなければ、ほぼ必須。

Yoast 入れたら同じような機能があったので、こっちは削除することにした。

Breadcrumb NavXT

パンくずリストを表示してくれる。似たようなのはいくつかあったけど設定画面でいろいろ細かく設定できそうだったので、これを選択。

インストール・設定後、テンプレートのどこかに以下のコードを埋め込む。

テンプレートは「外観」→「テーマ編集」と進み編集するか、マシン上の実ファイルを直にいじるかする。フィルターフックを使って差し込んでもいい。

これも Yoast 入れたら同じような機能があったので、こっちは削除することにした。