The festival of WordPress
January 22, 2021

This is an archive of the January 2021 event

Updating WordPress the Hard Way

In this talk, I will be sharing the real grease on updating a WordPress site – the before and the after.

Merely clicking Update All is like setting yourself up for failure. There is a 99% chance of something breaking. There are multiple factors to consider beforehand and it’s important to plan your updates properly.
The workflow I will be following is to:
1) Note the updates
2) Check logs to understand when to update
3) Backup your site
4) Check the update itself – test it on a staging site
5) Use Visual Regression testing to check the after effects
6) Troubleshooting
7) Best Practices while running an update
8) What to check after you have run the update

I also include what can cause a site to break after an update, how to choose the time slot for updating, how to create a staging site and test the update, and what to do if you find that the update would break your site.

Time: 7:00am UTC
Region: Asia
Stage: Global Stage

Hi I am akshat

and today i will be talking about

something which which we as WordPress

users

would have done very very

so many times i’m going to be talking

about updating WordPress sites

i’m the founder of blog vault we are a

WordPress backup service

and i’ve been using WordPress for

over 10 years now

uh

you know we are all familiar with

seeing

this update counter whenever we log into

our WordPress admin

and it reminds me it reminds me of

this

you know this counter whenever we open

our phone it shows the unread messages

how much ever you try and address it

that number just keeps piling up

and yeah WordPress updates i bring a

very similar feeling

so why don’t we just click updates

click update and be like okay that’s

done it’s solved it’s not like going

through

hundreds of emails or messages this this

this is pretty simple right and

[Music]

i’ll tell you what if this is the only

thing you can do if you

have to do a if this is the only way you

can run the updates

i would suggest just go ahead and do it

something is better than nothing

but in case you want to really do this

well

and reduce the the chances of things

going wrong

then it’s good to have a plan

now you know there’s actually in this

plan

even before we get get started to do

anything

it’s there’s actually a step zero and

this step zero is where

it starts even before you actually see

an update notification it determines

whether you will get that update

notification

or not now

step zero depends on how you build your

site what plugins you use what themes

you use

and depending on depending on those

decisions

you will the number of updates you

see or whether your sites get any update

will be determined

so we all know that WordPress gets

updates you know the core WordPress

that gets updates regularly

it gets three major updates a year it

has been following that

cycle for such a that

cadence for a long time it gets

three major updates a bunch of minor

updates throughout the year

and we get notified around about those

updates

at regular intervals

but this is not true for the plugins and

themes that you

use now whether your plugin or theme

gets updates at all

the frequency of updates all of that is

dependent on how you go ahead

go about selecting that plugin or theme

do you download the plugin or so one of

the things that

determines this is whether where you

download the plugin or theme from if you

download it from a

good resource like if you download it

from the WordPress repository there’s a

higher chance of things

of you getting an update or if you

download it from a reputed

website there’s a good chance but if

you get it from

null you know people those websites

which

which distribute premium plugins for

free or low price

then there’s a high good chance that you

might end up with

plugin or update which never gets

updated

this is the second one is a slightly

controversial part

this is where

you know we record like we think you

should get a

popular plugin or add-on something

which is used by

tens of thousands or hundreds of

thousands and even millions of

users or WordPress sites now

the more popular

plugin or theme is the more likely

it is for it to receive an update and

there are

multiple factors behind it but it’s just

that people want

when you see something getting popular

the developers get encouraged

based on that feedback we have also

obviously seen popular plugins or themes

getting not getting updates

but if you look at look into it you

will see that

that happens

not that often you know so it’s a rare

rare thing

you want to download a plug a user

plugin or theme which is

frequently updated on WordPress

repository you can see the last state on

which

a plugin or theme was released if it is

a if it was updated recently

then you know that okay yes there

this plugin or theme is getting

getting work done and you will get an

update the next one

is getting it from a reputed developer

again

you know we have developers or we have

companies which are very very large and

popular

and if you just if everyone just opted

to buy a buy the plugin or theme from

them obviously

the smaller smaller fish or the

smaller companies would

would find it difficult to survive

but nonetheless we still think that

or the reputation of a developer plays a

role when it comes to

how often a plugin or theme gets updated

finally free or paid

you would you think that if a developer

is getting paid

to for the software then there’s a high

chance

that they would keep releasing updates

because it

becomes a continuous revenue stream

and that’s true but there are a couple

of things to keep in mind when it comes

to paid

plugins or themes one

a paid plugin is

is might not will often not be part of

the WordPress repository

in this case they might not have the

infrastructure to

do an auto update and manually updating

it by

going to that website and downloading it

is non-trivial

and it just becomes a friction point the

second thing with paid

plugins or themes is that many of them

have a

[Music]

as a yearly license so in case you don’t

purchase or renew the license then

you

won’t get the updates

okay so we have got this this

basic step out of the way and now we are

all set up hopefully with

plugins or themes which get regular

updates

okay now we are busy with our work

and it’s it often happens that we

[Music]

we forget to do the updates we are not

able to make time for

for doing updates we have lot more

important things to do

sometimes even just creating content and

working on our websites

uh

but given the importance of your website

it is

it is very useful to set up a regular

schedule it reminds you to

this schedule or a reminder on your

calendar

will ensure that you have a process in

place to get your website updated

now the frequency how frequently you

update

your website

can be we have seen companies do it or

websites do it on a weekly basis we have

also seen websites do it

with lower frequency maybe once in a

month

and you know there are disadvantages of

doing it once in a month

but i would be like

even if you can if you only have

resources to do it once in a month

go ahead and do it it is still better

than not doing it

the other thing when it comes to

scheduling

when to do an update is what time you

should do

the update the obvious thing to be is

like okay fine we’ll do it at

when there is no traffic or low traffic

and this is the case with

almost a you know any software

life cycle you will see that people do

updates when

there are when the traffic

is low or when nobody’s using that

software

but here again there’s one more thing

you should keep in mind and that is

support availability

so the your team members or the the

people who

can help you

solve this the problem when

if something goes wrong might not

coincide with

a low traffic

time slot so in this case you might want

to balance both the things out

and make sure that you have someone to

help you troubleshoot

in case things go wrong

okay so now we go on to the next step

which i think is a very very important

step and

almost a critical step and that is

to take a backup before doing the update

this is

this is your insurance policy this is

this is going to really

save you in the tricky difficult

situation

things will go wrong and in fact if

you

look at the data you will see that more

sites break because of an update

than any other for any other reason

and in this case if you have a backup

you can just roll back from the backup

and you’ll be good to go so having a

good backup

before an update can really help you in

a difficult or sticky situation

it is your fail-safe

before i go ahead i will take a slight

detour

okay you know what i’m talking about

it all might represent the ideal case

but this is not necessarily

what you want to use for

all websites or it might not be

applicable everywhere

okay there are i we have seen there are

simple sites you know there are brochure

sites which i don’t use any complex

we don’t which don’t use complex

plugins or things which barely use any

plugins which use stable plugins

or you have other websites such as you

know they’re not that important

even if they were to go down for a day

hardly anyone will notice

and for all these cases i often see

myself just

hitting the update all button

you’re like okay fine let’s just update

everything

the chances of it failing is very low

i don’t want to go through the entire

process which can be time consuming

and sometimes you know in for these

websites i don’t even go back and check

if the site’s our site is running fine

after the process so

so yeah the what what we are what we

are going to cover ahead

does not apply to every in every

situation

and it’s good to be good to have that

understanding

for these websites you can also these

might be the perfect candidates to set

up auto updates

you know with WordPress 5.5 there was

an auto update which got

which was released for plugins and

themes so now you can just set it up on

these websites and you know

you have much less to fear

okay now we get back to our our

updating

doing updates in case you want to

follow a better plan

okay and the first step

so once you have got your backups in

place the next step is to go through the

change log every update every plugin or

theme when it gets updated they release

a change log

and you know reading the changelog is a

daunting process let’s be clear

it’s not easy but in fact

it can be tedious and many of the

changelog does

barely contains any useful information

but it’s still good to look into it

because it helps with two situations the

first situation it really helps with

is security updates so you when

whenever there is a security patch

to fix a vulnerability

the change log covers this

well and they will have this

mentioned in that change log so when you

see this

it it it almost is like a

reminder to you to do that update at the

earliest

at other times the plugin or team might

have a major update something

it might have a new feature release or

it

might do some major

changes to the way it functions and in

this case the chances of it

breaking your website goes up

significantly

okay so

there can be updates which involve like

data migrations

and

these things are complex processes and

time consuming

too so it is good to be well prepared to

handle such situations

you know around this there’s also so if

there is a major update happening

then it’s good to you know

to delay the update like whenever on my

phone or

like android or ios phone whenever it

receives a major update

a new version is released i i will

delay the update by a few days

because it it helps the early bugs get

fixed

there are people who who who update

their phones more often and they will

identify these issues and they get fixed

before

it before my

before i do the update so then the

risk is reduced at my end the same logic

can apply to your WordPress site too

okay going ahead we have to the next

step

and this is this is actually

the most important step if you ask me

and that is to use a staging site

now a staging site is an exact replica

of your website it’s just in a different

location

when you make us make any changes to

your staging site

it does not affect your live site

so staging site plays a very important

role when it

comes to doing updates and for all our

critical

sites we make sure that we use staging

sites to do updates

it is the ideal environment to test

updates on

uh

here’s in on a staging site you can

run an update without the fear that it

will break

anything and worst case if it breaks

something

you can discard the staging site and try

the updates again at a later time

the other thing is

on the staging site you can also debug

what has really gone wrong

and you don’t need to do it with with a

gun on your head

because you don’t have a production or

live site which is down

so you don’t have to worry about the

the implications of a site being down

now so is is using a staging site all

unicorns and rainbows

actually not there are there are a few

challenges with stating side

the first one is that there are there is

no easy way to

make staging sites there are few

managed WordPress hosts who

come with stating with staging site

functionality

and this those

hosting companies of definitely make

it much much easier

to create a staging site

there are few staging site plugins which

have come out

which makes dating sites easy so you can

use those too

but

the process is still complex

so in in the so that’s one number

that’s one of the

first problems you will come across

the second thing is that the environment

it’s never a perfect replica

so you’ll you’re changing the urls you

are in a different environment all

together

you might not even be receiving

traffic so a stating site is never a

perfect

replica and so whatever tests you run

here whatever updates you do here

there’s a

small chance that it might not

apply perfectly to the live site

this is an another one so we spoke about

how the premium plugins

the good and the bad of it one of the

challenges of premium plugins is that

suppose you are doing it on a staging

site and you’re trying to update a

premium plugin

as in a few premium plugins throw

errors there because they need you to

have an additional license

to update on the staging site

and yeah so this comes with

additional cost sometimes it

comes with overhead of fix doing or

doing a fix

finally doing this process you can

imagine

is one additional step to the to the to

to your

to your process and it makes it more

time consuming

so you need to create a staging site you

need to do updates here then you go back

to your live site and do another update

it you can imagine it can become

it can take up quite a bit of time but

you have reduced risk

for sure and this is something which we

recommend doing for all

all your websites which are important

where you don’t want to take a risk

so this this is again something which

is quite common in this

in among people who

deploy software and that is to set up a

maintenance page

so during the process

of doing the update things can break

and or

that transition period of the update

things can become unstable so your while

your website

might be perfectly okay at the end of

the

update process during the transition

phase

things can become

become unstable and

it becomes even more you know it can

become even more pronounced if you are

running an ecommerce store people might

have things in their check

checkout page they might be about to

go to the payment page and or they

might have completed payment some of

those

callbacks and it

can fail if it was if it’s

if the site is undergoing

this maintenance so it’s good to put up

a page which tells your

visitors that

your site is getting updated

and it just allows them to have

to have appropriate expectations they

will come back later which

we all and

complete whatever they were they

wanted to accomplish

it also gives you leeway in case things

go south

you know then having a maintenance page

means that you can work in the

background

while and resolve the issue and then

once only once everything is proper

you can remove the page and things

will be okay

so so we have this is again something

which

we think is a very good practice to

follow

this takes me to the next step which is

visual regression testing

now

through visual regression testing we

check

so the basic idea is to check if a site

is broken

you know we spoke about what

updates being one of the biggest reasons

why a site breaks

now how do you know that a site has

broken

right and us

you need to check so after doing the

update you need a mechanism to go ahead

and go about checking whether the site

has broken is broken or not

and the site can break in many ways

the whole site can break with the

white screen of death maybe a couple of

pages or

a few of the pages break

after the update maybe only a part of

the page breaks after the update

and finally

maybe the pages look fine but some

workflow breaks after the update maybe

the checkout process stops working or

you’re you’re not able to log into your

wp admin or

the form to collect leads maybe that

breaks

after the update

so this brings us to this so how do

you solve for this you solve

this obviously by testing after you do

an update

now testing is difficult and time

consuming

and yeah you know anything that is

difficult and time consuming

and manual we tend to avoid so

we often see that we’ll do an update and

will not go ahead and actually

test whether your site is functioning

correctly after the update

because of this the nature of

the problem

and this is where in such problems are

best solved

through automation and the automation

when it comes to

testing websites is one of the ways of

testing it is

visual regression testing so the basic

idea is that you take a screenshot

before

before doing the update and you take

another screenshot after you have

completed all the updates

once the both are are

done then you compare the two

screenshots

if there is any difference then the

software will

alarm you okay so

and you can do this for

as for as many pages that you have

okay so here you can see that this is an

example of

a visual regression test being run where

you have

[Music]

image before of of the site before

and after and you can see that that font

size has changed

and the visual regression test is able

to catch that

so there are many many advantages of

running a visual regression test

it is it can be fast so you don’t need

to do it there’s no manual work involved

also it can cover multiple pages

something which you might not

do otherwise and can also cover multiple

devices

so you know sometimes you might test it

on only on your desktop

but you might also want to some things

might break on a

on a mobile device so

which through visual regression test

because it happens in an automated

manner

you can also test on multiple devices

there are a few disadvantages of running

a visual regression test

if your site has animation sliders we

see that we have often seen that

running a visual regression test on it

breaks

because there’s the screenshots are

never not easy to capture

in those situations

also these tests you can imagine are

actually fairly difficult to run while

there are

quite a few software out there there’s

still parts you need to build and create

so it’s not easy to run

a visual regression test

so this brings me to slightly some more

advanced topics

so things which apply

to more complex websites

you know websites which might have lead

forms

websites which might have which might be

a woocommerce store

so for this a visual regression test

might not be sufficient

you will need to go beyond this you will

need to set up automated testing of the

important workflows there are tools

out there

but as part of this presentation we

i’m not going to go

any further into this you there are

other way other

important things to test when you do an

update for example you might need to

check the seo

of the website if that is fine there are

updates based on

people now do updates you through git

and i think

that’s a fantastic way of doing it but

again

we have seen that that git based updates

are used only by a very small fraction

of WordPress site owners and

there are other other other topics

around updates

which can be discussed but maybe i’ll

leave that to question and answer

all right so that’s it from me thank

you

i’m here to answer any questions

you

Share this session

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on email