Как я могу легко проверить, что обновление ядра или плагина ничего не нарушило?


Я ищу способы сделать обновление WordPress менее пугающим для меня. За свою карьеру я создал около 30 веб-сайтов компаний, базирующихся в WP, и я чувствую некоторую ответственность за них в плане безопасности. Даже если клиенты не платят мне за обслуживание - нажатие кнопки "обновить" каждые несколько месяцев не должно быть большой проблемой, верно?

Я всегда сопротивляюсь обновлению по нескольким причинам

  1. Если что-то сломается на веб-сайте во время обновления клиенты часто не готовы платить за время, необходимое для исправления всех плагинов. "Это действительно сработало, зачем тебе понадобилось его менять?!" Тогда единственным вариантом является откат и блокировка сайта.

  2. Если что-то сломает сайт, а я этого не замечу, мне крышка. Объяснять , почему контактная форма не будет работать в течение нескольких недель после обновления, - это то, что я не хочу делать снова.

  3. обновления для веб-сайтов компаний часто не являются обязательными. Большинство проблем с безопасностью возникают вокруг пользовательского контента, API ajax и xml-rpc - вещей, с которыми мне не нужно беспокоиться при создании статических страниц, которые посещают всего несколько сотен человек в месяц. Эти веб-сайты, как правило, простаивают, что, конечно , увеличивает риск обновления. У меня нет проблем с обновлением веб-сайта , которому всего 2 месяца, но я чувствую себя устойчивым к обновлению 2 -летнего веб-сайта, работающего до версии 3.0 или даже до версии 2.7.

Это превращает игру в игру, в которой мне нечего выигрывать, и я могу только проиграть.

Что есть ли у вас способы справиться с этим? Любые предложения высоко ценятся и полезны для более безопасных установок WP?:)

(для ясности: я в основном говорю о веб-сайтах небольших компаний или частных блогах здесь, где автоматические тесты не являются реалистичным вариантом)

Author: Jan Beck, 2013-05-24

3 answers

В вашем конкретном случае я не думаю, что ответ является техническим (подробнее см. Мой комментарий к вопросу).

Для всех остальных ответ на "Как я могу легко проверить, что обновление ядра или плагина ничего не нарушило?" является автоматизированным тестированием. В этом вся цель автоматизированного тестирования, потому что неразумно думать, что вы можете протестировать все неавтоматизированным способом.

Вот отличное руководство по началу работы по автоматизированному тестированию с WordPress: http://make.wordpress.org/core/handbook/automated-testing/

Если вы не готовы идти по этому пути, по крайней мере, я бы предложил, чтобы ваши клиенты перечислили 3 наиболее важных элемента на своем сайте и включили в контракт, что вы будете проверять эти 3 элемента при каждом обновлении. Это не гарантирует, что что-то не сломается, но, по крайней мере, вы спокойно отдыхаете, зная, что для них важнее всего (по их собственному признанию), например, контакт формы, не сломались.

 3
Author: Matthew Boynes, 2013-05-24 17:10:54

Я понимаю беспокойство, но нет реалистичного способа предсказать, какие изменения будут внесены в Ядро в будущем или что из-за этого сломается, и у сайта нет разумного способа проверить себя на наличие ошибок, если вы не являетесь желающий и способный запустить какой-то комплексный набор тестов на сайте при обновлении. Я сомневаюсь, что это практично на производственном сайте и, вероятно, даже более опасно, чем играть в азартные игры на обновлении.

Лучшее, что вы можете сделать, это :

  • используйте основные функции везде, где это возможно,
  • избегайте устаревших функций,
  • избегайте тенденции писать свои собственные запросы и другие подобные вещи с более высокой, чем обычно, вероятностью разрыва с обновлением,
  • конечно, избегайте взлома ядра,
  • и сообщите клиенту, что вы закончили, когда сайт заработает, если только он не захочет платить за обслуживание.
  • Если им действительно нужна копия для обслуживания, протестируйте обновление на сервере разработки прежде чем нажать на нее в прямом эфире. Это то, что я делаю с сайтами, которые я поддерживаю.

Я бы также предположил, что частые обновления менее опасны, чем ожидание нескольких выпусков, а затем попытка обновления. У меня редко возникали проблемы с инкрементными обновлениями, кроме WordPress.форумы oorg полны тем о проблемах, возникших, когда кто-то попытался перепрыгнуть через несколько релизов.

 3
Author: s_ha_dum, 2013-05-24 17:19:43

Помимо деловых аспектов, рассмотрите возможность размещения ваших клиентских веб-сайтов на управляемых хостинговых сервисах, таких как WPEngine, где хостинговая компания позаботится об обновлениях и будет следить за вредоносными программами.

В качестве бонуса такие компании предоставят вам создание промежуточного сайта в один клик с живого сайта, чтобы вы могли обновлять плагины и смотреть, что произойдет.

Цена того стоит, потому что клиент заплатит более высокую цену, чтобы нанять кого-то для исправления своего веб-сайта, зараженного вирусы...

 2
Author: Elisha Terada, 2013-05-25 02:20:09