エディタをGutenbergに変えてみたら

ここのWordPressのエディタをGutenbergに変えてみたら、「更新に失敗しました」とかエラーが出て記事が保存できなかった。

別のサイトで試してみるとGutenbergで書いて正常に保存できているので、ここのサイトの問題でしょうな。テーマとかサーバー設定とか、何かが問題なのでしょう。

エラー報告がされているGitHubを覗いてみたら、issuesが溢れていた。Gutenberg本体が安定するか障害の情報がまとまるかまで、Gutenbergは様子見。クラックエディタを有効にしておく。

BackWPupプラグインでエラーが出るので

BackWPupプラグインでエラーの通知が来た。BackWPupはWordPressの自動バックアッププラグイ。実はエラーを出ていても、しばらく放っておいたけど。

エラーが出ていると何か気持ち悪いので対応する。BackWPupの管理画面に入ると、「mysqliがどうしたこうしたと」警告が出ていた。これを手がかりに対応する。

BackWPupのジョブを直接実行すると

「エラー: ステップを中止: 回数が多すぎます」

とエラーメッセージが表示する。こちらを手がかりにしたほうが簡単に対応方法が見つかった。

要はPHPのバージョンが古くてmysqliのPHP拡張モジュールを対応していないからMySQLに接続しようとするとタイムアウトになっているとのことだった(だいぶ意訳)。

このWordPressのサイトはさくらインターネットのレンタルサーバーを使っているけど、最初にPHP7を入れたはずだけどと思ってphp -vを打ってみると5.6だった。つまりPHPのバージョンが古いのが原因だった。

さくらインターネットのサーバーコントロールでPHPのバージョンを7.2に切り替えてみる。実はこれは危険。思いつきで切り替えてはダメ。案の定WordPressのサイトにアクセスすると、画面が真っ白になってしまう。

「ああ、やってもうた・・・」と思ったけど気を取り直して、さくらインターネットのサーバーコントロールからPHPのバージョンを5.6に戻してみる。これは無事にアクセスできて元通り。この辺りはレンタルサーバーの気軽で簡単なところ。もし、専用サーバーだったら、PHPのバージョンを元に戻すは大変だろうな。

おそらくプラグインが悪さしているのだろうと思って、めぼしいプラグインを無効にしておく。PHPを7.2に切り替えると、今度は無事にアクセスできる。

一つづつプラグインを有効にしてみて、PHP7.2に対応していないプラグインを探してみる。インストールしていて対応していていないプラグインは、

  • Google+Blog
  • spam-byebye

の2つだった。

spam-byebyeは、もう古いしWordPressのJetPackでスパムコメントの対応はできていそうなのでもう必要ない。

痛いのはGoogle+Blogである。こいつはいくらかお金を払ってインストールしたもの。Google+(みなさん使っていないと思うが、実は自分が利用している唯一のSNS)から記事を自動的に取得して投稿してくれる連携プラグインである。このままではGoogle+Blogプラグインを有効にするとサイトにアクセスできなくなるので、したかないけど無効にしておく。Google+Blogプラグインのサポートサイトを見てみると、Error 502になるので、既にサポート終了になってしまっている。WordPressからG+へは自動投稿できているからよしとする。

以上でPHP7.2の対応完了。本件の始まりだったBackWPupプラグインのエラーはなくていた。ジョブを直接実行してみると正常にバックアップができていた。

「完全に保護されていません」と警告された

ずっと無償で面倒を見ているサイトがあって、そろそろSSLに対応してあげないといけないと思い立って実施する。もちろん無償。

さくらインターネットのレンタルサーバー上でWordPressを使って動かしているので設定は簡単。あっという間に設定は完了。しかしながら

「このサイトへの接続は完全には保護されていません

となる。テーマに埋め込んだSNSのリンクがHTTPになっていたので、面倒だからリンクを削除する。

Chromeでアクセスすると、相変わらず

「このサイトへの接続は完全には保護されていません

となる。EdgeやFirefoxでは問題なく暗号化されているなっている。

ChromeでF12を押して開発者ツールを動かすと、コンソールでHTTPでアクセスしているところがある。よく見てみるとCSSの背景画像の指定だった。相対アドレスで画像ファイルをしているのでおかしいと思って、もっとよく見ているとCSSファイルをキャッシュしていた。そういえば、CSSとかJavaScriptのファイルをキャッシュするWordPressのプラグインを入れていた。プラグインの機能でキャッシュを削除する。

今度はChromeで無事に

「この接続は保護されています。」

となった。これで作業完了。

WordPressのメディアライブラリで新規追加するとHTTP エラー

ここのWordPressのサイトでメディアライブラリから画像ファイルを新規追加するとHTTP エラーが出てしまいました。心当たりは全くありません。

さて、Googleさんに聞くといろいろでてきます。

WordPress の「HTTPエラー。」でメディアアップロードができない、

「HTTPエラー」WordPressでメディアをアップロードできない現象

などなど。

Webサーバーのエラーログを見ましたが、エラーは出ていませんでした。何かfunction.phpが怪しいとのことでしたが、WordPressのテーマのままでした。

とりあえず、別のテーマにしてみると、今度はうまくファイルをアップロードできるようになりました。テーマを元に戻してみると、これも成功しました。

以上、原因不明で解決できてしまいました。結局テーマを一度別のテーマにしたら解決でした。

WordPressサイトのSSL化できた

さくらインターネットのレンタルサーバーで動いている本ブログサイトをSSL化にしてみる。VPSからレンタルサーバーにした大きな目的。以前さくらインターネットのVPSでLet’s Encryptをインストールしようと思ったけどスクリプトが動かなくて諦めたことがある。今は大丈夫かもしれないけど、インストールトラブルにはなるべく会いたくないので簡単に済ませておく。

参考にしたサイトは以下の通り。

費用もかけずにLet’s EncryptでSSLに対応する。念のためにDNSをお名前.comからさくらインターネットに切り替える。

https:// でアクセスしたらリダイレクトループでアクセスできなくなった。そこで参考にしたのは以下のサイト。

無事にSSLでアクセスできることを確認して、さくらインターネットの常時SSL化プラグインを有効にして(これを有効にする必要があるか?)完了と思ったら、MicrosoftのEdgeでアクセスするとこのサイトは危険だと怒られる。まだページ内からhttpでアクセスしているところがあるそうだ。

F12の開発者ツールで調べると、Jetpackの共有で貼り付けられている画像がhttpのままだった。面倒なのでEvernoteとはてなブックマークの共有を削除する。

以上で無事にSSL化が完了。Chromeのアドレスバーでも「保護された通信」と表示される。これでとりあえず暗号化された通信になっている。信頼されたサイトではないけどね。

まだhttpの通信が残っているみたいなので、徐々に対応して行く。

WordPressサイトのサーバー移行

この記事が見えれば新しいサーバーを参照している。リンク切れならば、もうしばらく待ってね。

さくらインターネットのVPSで動かしていたこのWordpressサイトを、同じくさくらインターネットのレンタルサーバーに移行してみた。ほとんど思いつきの行動。httpsのこれからの対応と、ちょっとVPSのサーバーでブログサイトを面倒見るのが心配だから外部に任せようと思っただけ。

移行と言っても、Wordpressのファイルとデータベースをコピーして持って来ただけ。後はデータベースを作ったり、マルチドメインの設定したり、Wordpressの設定ファイルを書き換えたりしただけ。実質1時間位の作業。hostsファイルにIPアドレスとドメインを直接書いてテストしておく。消すことを忘れずに。

トラブルと言えば、今までサクラのメールボックスでメールを受信したいたため、さくらインターネットでドメインがDNSに登録されていたので、メールボックスからドメインを削除しないとマルチドメインで登録できなかったくらい。

それとWP Super Cacheでキャッシュのクリアができないようで、再インストールした。

DNSのレコードをレンタルサーバーのほうに書き換えたので、後は待つだけ。

#WordPress のトラブルで丁度よいタイミングのさくらインター…

#Wordpress のトラブルで丁度よいタイミングのさくらインターネットからニュースが出た

WordPress で更新ボタンがグレーになって押せなくなるトラブルで原因はWAFかもなという記事のリンクを載せたが、丁度よいタイミングでさくらインターネットからVPSでWAFが対応になったというニュースが出た。

「さくらのVPS「SiteGuard Lite(WAF)」提供開始のお知らせ」
https://www.sakura.ad.jp/news/sakurainfo/newsentry.php?id=1501

でも、WAFをインストール済みのCentOS 7を提供するようで、既にさくらインターネットのVPSを使っている人は関係ないみたい。

ということで、どうしてボタンがグレーになるかは不明のまま。とりあえず自動保存を無効にして様子を見てみる。

Reshared post from +Mune Ando

#Wordpress で更新ボタンがグレーになって押せなくなる

まさしく今添付記事と同じ現象が出ている。この記事ではWAFが原因と書かれているけど、使っているサーバーはさくらインターネットのVPSだし、WAFが原因ではなさそう。他に何かあるのかな?

押せないと記事をコピペしてなんて、今はとても面倒なありさま。自動保存をやめてみるか。根本的な解決になっていないな。

WordPressで投稿記事編集中、更新ボタンが押せなくなった時の対処法
現象 管理しているWordPressのサイトで、バージョンを4.5.2にアップしてから投稿記事作成時に「更新」…

#WordPress で更新ボタンがグレーになって押せなくなる

#Wordpress で更新ボタンがグレーになって押せなくなる

まさしく今添付記事と同じ現象が出ている。この記事ではWAFが原因と書かれているけど、使っているサーバーはさくらインターネットのVPSだし、WAFが原因ではなさそう。他に何かあるのかな?

押せないと記事をコピペしてなんて、今はとても面倒なありさま。自動保存をやめてみるか。根本的な解決になっていないな。


WordPressで投稿記事編集中、更新ボタンが押せなくなった時の対処法
現象 管理しているWordPressのサイトで、バージョンを4.5.2にアップしてから投稿記事作成時に「更新」…

WordPressのいらないプラグインは無効ではなくて削除するのです

借りているサーバーに負荷が高かったの原因を調べてみたら、postfixのバウンズメールが原因だった。ほとんど使っていないドメインからのアドレスから送信していた。しかも、メールアドレスも知らないアドレスだった。スパムメールの踏み台にされていた。

postfixを停止させても、メッセージキューにどんどん溜まっていく。postfixは送信専用にしているから受信はしていない。リレーされている訳ではないようだ。何かやられて不正なプログラムを起動しているかと思っても、cronの設定も変なところがない。

送信しているアドレスのドメインが設定されているApacheのログを見てみると、外部からプラグインの下にあるプログラムを実行しようとアクセスしていた。IPアドレスを調べると中南米からだった。

実行されているプラグインは、WordPress Automatic Upgradeという今はメンテナンスもしていないプラグインの中からだった。こちらは無効にしてただけど仕込まれたプログラムが実行されていた。

WordPress Automatic Upgradeプラグインを削除しておく。すると今度はメッセージキューが溜まらなくなった。念のため、そのWordPressのサイトはメンテナンスにしてmod_writeでエラーページを出すようにしておく。Apacheのアクセスログを見ていると、いまだにしつこくアクセスをしている。今度はTinyMCSのプラグインを不正にアクセスしている。

今回は更新もしていない、ほぼ休止中のWordPressのサイトだったけど、WordPress本体とプラグインは定期的にはアップデートをかけていた。しかし、WordPressのプラグインは、必要なくなったら無効にではなくて削除すること。インストールするプラグインも何かあったらアップデートしてくれるような新鮮なプラグインで、必要最低限をインストールしないと危ない。ただでさえもWordPressのサイトは狙われやすいですから。

 

WordPressの固定ページの中に投稿最新一覧を表示する

お客さんのWordPressサイトでカテゴリごとに投稿の最新一覧を表示している固定ページがあります。いい加減手作業で更新するのも面倒になってきましたので、プログラムで対応します。

Googleさんに聞いてみるとショートコードを登録して呼び出すようなことをみなさん書いています。何と皆さん出しているPHPのコードはすべて同じです。所謂コピペ記事です。何か気持ち悪い状態になっています。さて、誰がオリジナルなんでしょうか?

しかしながら、WordPressって固定ページ内にPHPのプログラムを書けないのでしたね。今ごろ気が付きました。

そのコードをコピペしてもいいのですが、2つのカテゴリの記事一覧を表示したいので、2つコピペしなければいけませんし、第一コピペコピペで気持ち悪いです。パラメーターを渡して切り替えなんて改造すればいいのですが、それも面倒ということで、何か別の方法を探します。

What’s New Generator というよさげなプラグインが見つかりました。早速インストールして試してみます。しかし、カテゴリのフィルターが1つで固定されてしまうので、2つのカテゴリの最新一覧を並べることができません。惜しいですがこれでありません。

次に当たったのは、Shortcodes Ultimateです。基本的にショートコードでWordPressのいろいろな部分にアクセスできるのですが、今回は投稿のカテゴリ別にタイトルだけを最新3件の記事を一覧に表示します。具体的には、

[su_posts template="templates/teaser-loop.php" posts_per_page="3" tax_term="8"]

なんて書いてしまいます。出力されるタイトルがHTMLのコードのh2タグで吐き出してしまいますので、この辺りは本当なら修正しないといけないのでしょう。CSSで指定してデザインを合わせて作業完了です。