Как я могу легко проверить, что обновление ядра или плагина ничего не нарушило?
Я ищу способы сделать обновление WordPress менее пугающим для меня. За свою карьеру я создал около 30 веб-сайтов компаний, базирующихся в WP, и я чувствую некоторую ответственность за них в плане безопасности. Даже если клиенты не платят мне за обслуживание - нажатие кнопки "обновить" каждые несколько месяцев не должно быть большой проблемой, верно?
Я всегда сопротивляюсь обновлению по нескольким причинам
Если что-то сломается на веб-сайте во время обновления клиенты часто не готовы платить за время, необходимое для исправления всех плагинов. "Это действительно сработало, зачем тебе понадобилось его менять?!" Тогда единственным вариантом является откат и блокировка сайта.
Если что-то сломает сайт, а я этого не замечу, мне крышка. Объяснять , почему контактная форма не будет работать в течение нескольких недель после обновления, - это то, что я не хочу делать снова.
- обновления для веб-сайтов компаний часто не являются обязательными. Большинство проблем с безопасностью возникают вокруг пользовательского контента, API ajax и xml-rpc - вещей, с которыми мне не нужно беспокоиться при создании статических страниц, которые посещают всего несколько сотен человек в месяц. Эти веб-сайты, как правило, простаивают, что, конечно , увеличивает риск обновления. У меня нет проблем с обновлением веб-сайта , которому всего 2 месяца, но я чувствую себя устойчивым к обновлению 2 -летнего веб-сайта, работающего до версии 3.0 или даже до версии 2.7.
Это превращает игру в игру, в которой мне нечего выигрывать, и я могу только проиграть.
Что есть ли у вас способы справиться с этим? Любые предложения высоко ценятся и полезны для более безопасных установок WP?:)
(для ясности: я в основном говорю о веб-сайтах небольших компаний или частных блогах здесь, где автоматические тесты не являются реалистичным вариантом)
3 answers
В вашем конкретном случае я не думаю, что ответ является техническим (подробнее см. Мой комментарий к вопросу).
Для всех остальных ответ на "Как я могу легко проверить, что обновление ядра или плагина ничего не нарушило?" является автоматизированным тестированием. В этом вся цель автоматизированного тестирования, потому что неразумно думать, что вы можете протестировать все неавтоматизированным способом.
Вот отличное руководство по началу работы по автоматизированному тестированию с WordPress: http://make.wordpress.org/core/handbook/automated-testing/
Если вы не готовы идти по этому пути, по крайней мере, я бы предложил, чтобы ваши клиенты перечислили 3 наиболее важных элемента на своем сайте и включили в контракт, что вы будете проверять эти 3 элемента при каждом обновлении. Это не гарантирует, что что-то не сломается, но, по крайней мере, вы спокойно отдыхаете, зная, что для них важнее всего (по их собственному признанию), например, контакт формы, не сломались.
Я понимаю беспокойство, но нет реалистичного способа предсказать, какие изменения будут внесены в Ядро в будущем или что из-за этого сломается, и у сайта нет разумного способа проверить себя на наличие ошибок, если вы не являетесь желающий и способный запустить какой-то комплексный набор тестов на сайте при обновлении. Я сомневаюсь, что это практично на производственном сайте и, вероятно, даже более опасно, чем играть в азартные игры на обновлении.
Лучшее, что вы можете сделать, это :
- используйте основные функции везде, где это возможно,
- избегайте устаревших функций,
- избегайте тенденции писать свои собственные запросы и другие подобные вещи с более высокой, чем обычно, вероятностью разрыва с обновлением,
- конечно, избегайте взлома ядра,
- и сообщите клиенту, что вы закончили, когда сайт заработает, если только он не захочет платить за обслуживание.
- Если им действительно нужна копия для обслуживания, протестируйте обновление на сервере разработки прежде чем нажать на нее в прямом эфире. Это то, что я делаю с сайтами, которые я поддерживаю.
Я бы также предположил, что частые обновления менее опасны, чем ожидание нескольких выпусков, а затем попытка обновления. У меня редко возникали проблемы с инкрементными обновлениями, кроме WordPress.форумы oorg полны тем о проблемах, возникших, когда кто-то попытался перепрыгнуть через несколько релизов.
Помимо деловых аспектов, рассмотрите возможность размещения ваших клиентских веб-сайтов на управляемых хостинговых сервисах, таких как WPEngine, где хостинговая компания позаботится об обновлениях и будет следить за вредоносными программами.
В качестве бонуса такие компании предоставят вам создание промежуточного сайта в один клик с живого сайта, чтобы вы могли обновлять плагины и смотреть, что произойдет.
Цена того стоит, потому что клиент заплатит более высокую цену, чтобы нанять кого-то для исправления своего веб-сайта, зараженного вирусы...