115月
HootSuiteからWordPressプラグインの「Simple Tweet」を使ったツイートに切り替えたばかりですが、立て続けに2つほど小さな問題がありました。
一つ目は「記事タイトルに&が入ってるとうまくツイートできない」という問題です。
&が入った記事をツイートすると&の前までで途切れ、その後ろにある項目(要約とかURLとか)はツイートに含まれない状態になってしまうんですよね。
おそらくTwitter API 1.1対応に伴う問題だと思うのですけど、さすがにこれは困りますので、とりあえず暫定的にプラグインのPHPを自前で修正しました。
具体的には_make_tweet_msg()という関数の処理の中で、タイトル中のアンパサンドを%26に置換する処理を追加しただけです。
本来は他にも問題が生じそうな文字列(<とか>など)があるでしょうけど、使用頻度からすればこれで良いかなと。
さらにその翌日、今度は過去記事をちょっと修正したのですが、それもツイートされてしまいました。
これは仕様と言えばそれまでなんですけど、私のニーズとしては、デッドリンクの修正くらいならこっそり直す程度でツイートまでする必要はないんですよねぇ。
本来はオプションで指定できたりすると良いのですが、ここもPHPを修正して現在時刻と比較して2時間以前の投稿の場合、ツイートしない処理を追加しました。
具体的には_do_tweet()に現在時刻との時間比較処理を追加しただけです。
PHP自体の修正は別にそれほど苦ではないのですけど、こうやって自前で修正しちゃうとプラグインそのものがバージョンアップした時に面倒なんですよねぇ。
双方とも一応サポートに書き込んでおきましたけど、場合によっては別のプラグインにしたほうが良いのかな?
ともあれ当面はこのまま様子見してみようと思っていますので、たまにこういう問題が生じた際はテストツイートするかもしれませんが、何卒ご容赦ください。
055月
ブログ更新時のツイートをこのところずっとHootSuiteに任せていましたが、やっぱり自前のプラグインでやりたいということで、「Simple Tweet」を導入してみました。
以前も似たようなプラグインを使っていたのですが、動かなくなってしまってたんですよね。
おそらくTwitterのAPI変更絡みだったと思うのですけど、今回のSimple Tweetはこまめにバージョンアップしてるようですし大丈夫かなと。
ただ、実際に設定しようとするとどうもうまくいかず、プラグインのヘルプもどうも内容が古くて実際の設定画面と一致しなかったので、別途、ネットで調べて設定しました。
さらにこの調べた内容でもどうしても最後のPINコードを取得する部分がうまくいかず、Webブラウザを普段のGoogle ChromeからSafariに替えて無事に完了しました。
Twitter側のセキュリティ上仕方ない仕様なんでしょうけど、ちょっと面倒臭いですねぇ。
そもそも設定を終えたものの、これでちゃんとツイートされるかテストするためには投稿してみないことには分からず、それもちょっと不便なところです。
ただHootSuiteを使うと記事が掲載されてからツイートまでに数十分くらいのタイムラグもありましたし、自前で管理できたほうが何かと便利ですから、しばらくこれを使ってみようと思います。
なお、HootSuiteのほうはオフにしましたので、二重投稿されることはないはずですが、もし2つツイートされたらご容赦くださいませ。
074月
WordPressで運営を始めてだいぶ経ちますが、プラグインでの機能追加など便利な面もあるものの、速度面では未だにやや不満が残っています。
レンタルサーバーなので対処するにしてもなんでも出来るというわけにはいきませんが、久しぶりにプラグインを中心にちょっと見直しをしてみました。
まずは現状把握ということで、GTmetrixを使って速度などを検証します。
以下のとおりの結果で、やっぱり結構遅いですねぇ。
Page Speed Grade: 59% E
YSlow Grade: 61% D
Page load time: 7.19s
Total page size: 1.16MB
Total number of requests: 138
キャッシュとGZip、mod_expiresあたりが減点ポイントでしょうか。
というわけでそれに関連する最近評判のプラグインを調べてみるとAutoptimizeやDB Cache Reloaded Fix、Lazy Loadが見つかりました。
ただ、キャッシュ系は相変わらずスマートフォン対応との相性が悪いですし、思ったように速くならなかったりで結局は採用せず。
次に今使ってるプラグインの廃止をということで、WP Hyper ResponseとGZippyを止めました。
特に後者は最近更新が止まってるので、セキュリティ的にも変えたいなぁと。
GZip系の新しいプラグインはちょっと少なめですが、「WP HTTP Compression」をチョイスしました。
設定等が全くなく、シンプルなのも良い感じです。
GZIP TESTで確認してみたところ、ちゃんと機能してくれているようです。
mod_expireですが、以前は今のレンタルサーバーでは使えなかったんですけど、去年から使えるようになっていたようです。
こちらはプラグインではなく、.htaccessの設定で使えるようにしました。
ここまで設定したところで再度計測してみると、以下のとおり、ほんの少し改善していました。
Page Speed Grade: 60% D
YSlow Grade: 62% D
Page load time: 5.77s
Total page size: 1.25MB
Total number of requests: 127
まだCSSの整理とか画像サイズの最適化なども必要そうですけど、安定動作も含めて考えると、とりあえずはこれで様子見のほうが良いかな。
まだまだ平均よりはだいぶ遅い感じですが、ほんの少し改善したと思うので、今後ともご贔屓のほど、よろしくお願いいたします。
262月
仕事がらみのお試しも兼ねて、WordPress用のセキュリティプラグインを探していたんですが、その名も「AntiVirus」というのが良さそうなので早速入れてみました。
仕組みはわりと単純で、現在使用中のテーマファイルの中に疑わしいコードがないかをチェックしてくれるというものです。
WordPressのコードは結構膨大で、テーマだけチェックしても完璧とはいえませんが、何もやらないよりはマシかなと。
また、シンプルなだけに予想外の挙動で悪さをしてしまう可能性も低そうなのが採用のポイントでした。
実際に動かしてみると、以前設定した「Google ウェブマスターツール」用の認証タグがアラートに引っかかりました。
これは認証の時だけ必要なものですから、この機会に削除しておきました。
ちなみにメールアドレスを設定しておけば、毎日のチェック時に怪しいところがあればメールで通知してくれます。
上のアラートでもちゃんとメールが届きましたから、はからずも動作チェックもできたという次第です。
ちなみにもう少し積極的な対策をしてくれるものとしては「Secure WordPress」というのが有名なようです。
こちらだとWordPressのバージョンを隠したり、ログイン失敗時のエラーメッセージをでなくしたりと、予防措置が取れるみたいです。
ただ、こうしたプラグインでの対策も重要ですが、まずはなによりWordPressのバージョンアップや、要らないプラグイン、テーマを削除したほうが良いわけですけどね。
今回はとりあえずAntiVirusだけにしてみますが、必要に応じて追加も考えておこうと思います。
261月
WordPressが3.5.1にアップデートしていたので、早速更新しておきました。
今回の主な修正内容は以下のとおりです。
・エディタ: まれに特定の HTML が意図せず除去または変更されてしまう問題を修正
・メディア: 新メディアマネジャーのワークフローおよび互換性に関する軽微な問題を修正
・サイトネットワーク: 新規ネットワークを作成する際に適切なリライトルールを指示
・予約済み投稿が公開される際に、動画埋め込みなど特定の HTML が除去される問題を解決
・管理画面まわりの JavaScript の一部がうまく動作しない原因の可能性となっていた設定の修正
・プラグインがデータベースまたはユーザー API を誤って利用していた際の警告の一部を非表示
3.5で問題になったiframeなどのタグが予約投稿で欠けてしまう問題が修正されたようです。
予約投稿が多いうちでは結構困りものでして、これはうれしい修正です。
ただ、私は待ちきれなかったので、テンプレートのほうにコードを追加して対処したんですけどね。
念のため、そちらの対処もそのままにしておこうかと思います。
また、上記の機能面の修正だけでなく、セキュリティ上の修正もされています。
結構、WordPressは攻撃の標的にもされやすい印象ですし、プラグインの更新とともに実施しておくのが賢明かと。
あと、意外な盲点ですけど、使っていないプラグインやテーマはできれば完全に削除しておいたほうが安心です。
もちろん、更新前のバックアップもお忘れなく。
081月
WordPress 3.5にしてから予約投稿しておいた記事中のiframeやscriptタグなどが公開時に消えてしまう問題が発生しているのですが、まだ3.5.1が出る気配がないので、暫定対処方法を調べてみました。
どうやら投稿者が管理者でない場合に起こるようで、そのケースでは一部のタグが制限されているみたいですね。
その対処方法を見つけたのがココでして、テーマのほうのfunctions.phpに関数を追加して対処されていました。
紹介された例ではiframeへの対処コードになってますが、ちょっとphpが分かる方なら簡単に他のタグへの対応も追加できるかと。
逆にその辺りが分からない方はやっぱり3.5.1を待ったほうが良いかもですね。
私の場合は今日から出張ということもあり、いつも以上に予約投稿に頼ることになるので、その前に暫定対処しておきたかったところでしたから、これは助かりました。
画像に関してはJavaScriptコードよりは埋め込んだほうが高速ではあるんですけど、スマートフォン表示の時に表示サイズをちょっと小さくしてる処理が走らなくなりますし…。
iframeのほうはAmazonのアソシエイトリンクが貼りやすくなったということで。
とは言え、できれば早めに正式な3.5.1のほうで解消してほしいところです。