Movable Type 7 r4703とGoogle reCAPTCHA

| コメント(0)

mtnews.jpgSix ApartからMovable Type 7のアップグレードの案内メールが届いたのは、新型コロナウイルス感染症(COVID-19)の「第3波」到来が次第に明らかになりつつあった先月下旬のことだった。マイナーバージョンアップということもあり、すぐにアップグレードする気にもなれず一箇月ほどが経過してしまった。ところが、さる理由から久しぶりにMTの設定変更を行う必要が生じたので、ついでにアップグレードも実施することにした。

その理由だが、以前にこのブログで紹介したコメント投稿時のGoogle reCAPTCHA認証がいつの間にか動作しなくなっていることに気付いたからである。長年「放置プレイ」状態となっている当ブログなので新たな記事を投稿することもなく、従ってコメントなどもほとんどない状態が続いていた。時折紛れ込んでくるスパムコメントを削除する程度のことしかやっていなかったのだが、ここ数週間は、それも全く無くなってしまった。

あまりの静けさにもしやと思って、コメント機能のテストをしてみると、投稿ボタンを押しても先に進まない。reCAPTCHAのチャレンジ画像が表示されないのだ。MTの設定に何の変更も加えていないのに突然このような不具合が発生した理由が全く思い当たらず、当初は、サーバー環境に何らかの変化があったのではないかと疑った。しかしレンタルサーバーのカスタマセンタに問い合わせても、そのようなことは無いとの回答だった。

そこで上記のアップグレードのついでにテンプレートを初期化して再カスタマイズを行うことにした。このブログを立ち上げたのはかれこれ12年も前で、当時のMT4のテンプレートをカスタマイズして今に至るまで利用し続けて来た。アップグレードのたびに昔のテンプレートに何らかの問題が発生するのではないかと気を揉んでいたのだが、MTはアッパーコンパチビリティが高いようで、今に至るまで、テンプレートの修正を求められたことはない。とは言え、MTもバージョン7となり、テンプレートの構造や書式もMT4の頃とはかなり異なっていることも事実だ。不具合の原因を確かめるついでに、最新の構造と書式を用いてカスタマイズをやり直してみることにする。

MTのアップグレード自体は、実にあっけなく終わってしまった。今まで何度も行っているので、さしたる感慨もない。再構築後、ブログが正常に動作していることを一通り確認した後、とりあえずDBとテンプレートのバックアップを作成する。テンプレートは、管理画面から「ツール」の「テーマのエクスポート」を選択すれば行うことができる。zipファイル形式でダウンロードして現在のテンプレートをローカルPCに保存することが可能だ。

その上で、「デザイン」の「テーマ」を選択し、このブログのカスタマイズのベースとなっている「クラシックブログ 1.4」を選択し、テンプレートの初期化をクリックする。表示されるポップアップウィンドウで、「デフォルトテーマのリセット」を選び、テンプレートを初期化する。

これで総てのテンプレートはMT7の構造と書式を用いたものに初期化されるので、あとは上記のテンプレートのバックアップを参照しながら、これまで行ったカスタマイズを初期化された新しいテンプレートに追加すれば良い。

不具合の原因を確かめるべく、カスタマイズ項目ごとに再構築をして動作確認をしたところ、どうやらメインウィジェットのカレンダーが、悪さをしていることが判明した。このカレンダーは、MT4 の頃から利用しているのだが、プラグインのA-Formのaform.jsと相性が悪いらしい。メインウィジェットにカレンダーを追加すると、reCAPTCHAの動作が不良となるのである。

数ヶ月前までは、カレンダーを表示していても問題なかったのに、なぜ不具合が発生したのかは判らないが、とりあえずカレンダーウィジェットを削除してソルブということにした。どのみち滅多に投稿をしないこのブログにカレンダーなど表示しても無意味なのである。

これで一件落着というところなのだが、実はもう一つ問題があった。以前の記事で紹介したコメントテンプレートの修正では、投稿時にエラーとなってしまうのである。この原因が判らず、あれこれと試行錯誤しなくてはならなかった。Webを検索した結果、小粋空間さんのブログに解決策が紹介されていた。コメントテンプレート内の以下の部分を削除すれば良い。

<input type="hidden" name="armor" value="1" />

コメントする

アーカイブ