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

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

Я всегда устойчив к модернизации по нескольким причинам

  1. если что-то ломается на веб-сайте во время обновления, клиенты часто не хотят платить за время, необходимое для исправления всех плагинов. «Это сработало, почему ты должен его изменить ?!» Только вариант – это откат и блокировка сайта.

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

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

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

Каковы ваши способы решения этой проблемы? Любые предложения высоко ценятся и приносят пользу более безопасным установкам WP там? 🙂

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

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

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

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

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

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

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

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

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

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

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

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