web-dev-qa-db-ja.com

コアまたはプラグインのアップデートが何も壊れていないことを簡単に確認するにはどうすればよいですか?

私はWordPressのアップデートをそれほど恐ろしくないものにする方法を探しています。私は私のキャリアの中でWPに基づいて約30の会社のウェブサイトを作りました、そして、私はセキュリティに関してそれらに多少責任があると感じます。クライアントがメンテナンスのために私にお金を払わなくても - 数ヶ月ごとに "更新"ボタンをクリックすることは大したことではないでしょうね?

私は常に2つの理由でアップグレードに抵抗します

  1. クライアントの更新中にWebサイトで何かが壊れたとしても、それがすべてのプラグインを修正するのにかかる時間の代金を払う気がない場合がよくあります。 「それはうまくいった、なぜあなたはそれを変えなければならなかったのか?」その場合の唯一の選択肢は、ロールバックしてサイトをロックすることです。

  2. 何かがウェブサイトを壊しても気が付かないと私は気が狂います。更新後数週間連絡先フォームが機能しない理由を説明することは、もうやりたくありません。

  3. 企業のWebサイトの更新は、必ずしも必須ではありません。セキュリティ上の問題のほとんどは、ユーザーが投稿したコンテンツ、ajax、およびxml-rpc APIを中心に発生します。静的ページを作成するときに、月に数百回アクセスするだけで済みます。これらのWebサイトはアイドル状態にある傾向があり、もちろん更新のリスクが高まります。私はたった2ヶ月前のウェブサイトを更新するのに問題はありません - しかし私は3.0以前、さらには2.7以前のバージョンを実行している2年前のウェブサイトを更新することに抵抗を感じます。

これは私が勝つために何も持っていないと失うことができるだけのゲームになります。

これをどう扱うか?何らかの提案が高く評価されていて、より安全なWPインストールに恩恵を受けますか? :)

(明確にするために、ここでは自動テストが現実的な選択肢ではない小規模な会社のWebサイトや個人ブログについて主に話しています)

4
Jan Beck

あなたの特定のケースでは、私は答えが技術的なものであるとは思わない(詳細については質問に対する私のコメントを見てください)。

他の誰にとっても、「コアまたはプラグインのアップデートが壊れていないことを簡単に確認するにはどうすればよいですか?」に対する答えは自動テストです。これが自動テストの目的のすべてです。すべてを自動ではない方法でテストできると考えるのは無理があるためです。

これがWordPressによる自動テストの入門ガイドです。 http://make.wordpress.org/core/handbook/automated-testing/

あなたがその道を進んで進んでいないのであれば、少なくとも私の提案はあなたのクライアントに彼らのサイトに関して3つの最も重要なことをリストさせ、あなたが更新ごとにそれら3つのことをテストするという契約に含めることです。それは、何かが壊れないことを保証するものではありませんが、少なくとも連絡フォームのように、彼らにとって最も重要なこと(彼ら自身の承認によって)が壊れなかったことを知っているので安心しています。

3
Matthew Boynes

私は心配を理解していますが、将来Coreでどのような変更が行われるか、またはそれにより何が壊れるのかを予測する現実的な方法はありません。また、updateのサイトで何らかの包括的なテストスイートを実行し、実行することができます。プロダクションサイトでは実用的であるとは思わず、アップデートでギャンブルをするよりもおそらく危険です。

できる最善の方法は次のとおりです。

  • 可能な限りコア機能を使用し、
  • 非推奨の機能を回避し、
  • 更新で中断する可能性が通常よりも高い独自のクエリやその他のものを書く傾向を避けます。
  • コアをハッキングすることは絶対に避けてください。
  • また、メンテナンス費用を支払う必要がない限り、サイトが公開されると完了したことをクライアントに知らせます。
  • メンテナンスコピーが必要な場合は、ライブでプッシュする前に、開発サーバーで更新をテストします。それは私が維持しているサイトで私がしていることです。

また、頻繁な更新は、いくつかのリリースを待ってから更新を試みるよりも危険性が少ないことをお勧めします。増分更新で問題が発生することはほとんどありませんでしたが、WordPress.oorgフォーラムには、誰かが複数のリリースを飛び越えようとしたときに引き起こされる問題に関するスレッドがいっぱいです。

3
s_ha_dum

ビジネス部は別にして、ホスティング会社がアップグレードの面倒を見てマルウェアに気をつけるであろう WPEngine のようなマネージドホスティングサービスであなたのクライアントウェブサイトをホスティングすることを考えてください。

そのようなボーナス会社としてあなたがプラグインの更新を行い、何が起こるかを見るためにあなたがあなたのためにライブサイトからあなたにワンクリックのステージングサイト生成を与えるでしょう。

クライアントは、ウイルスに感染したWebサイトを修復するために誰かを雇うためにより高い価格を支払うので、その価値はそれだけの価値があります。

2
Elisha Terada