WordPress.org

Make WordPress Core

Opened 3 months ago

Last modified 4 weeks ago

#41191 new enhancement

Create browse happy type notice for PHP versions

Reported by: joostdevalk Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: General Keywords:
Focuses: Cc:

Description (last modified by joostdevalk)

For tons of reasons we want people to upgrade their PHP versions, preferably to PHP7. While historically we've never bothered users with this, the Yoast WHIP project has proven that doing so can actually change the statistics in a meaningful way, both because users act and because hosts become more active when pushed harder.

There's prior art for notices about PHP, both in Joomla and Drupal:

https://www.drupal.org/node/2670966
https://image.ibb.co/gFa8MQ/wwww.png

I would argue we should take a more positive approach than they do and focus on the speed benefits of PHP7.

To do this, we would:

  1. Introduce notices that would tell people to upgrade their PHP.
  2. Link those to explanatory page that tell people what PHP is and why they should care.
  3. Link to pages that show them how to upgrade (preferably host specific if we can).
  4. Give them email examples of emails they can send their host if it didn't work out.
  5. Send them to the WordPress hosting page if all else fails.

Let's start by fleshing out # 1, I've already got my content team working on # 2 as well. @hedgefield already had some ideas, I'll ask him to add them here :)

Attachments (2)

WHIP core2.png (208.3 KB) - added by hedgefield 3 months ago.
Here's an idea for how we could present this notice. I've adapted the text from the Yoast WHIP notice for the Wordpress audience, and styled it like the Welcome widget on the WP dashboard. This could be the 'worst version' of the notice for people on 5.2, and it could get progressively more benign the closer to PHP7 someone is.
WHIP core3.png (177.3 KB) - added by hedgefield 3 months ago.
Here's another (smaller) take where most background information is deferred to the page with the instructions. We should also make a page that explains exactly what PHP is and why it is important, for people who have no idea what we mean. I added a link to that in the copy of this mockup too.

Download all attachments as: .zip

Change History (17)

#1 @joostdevalk
3 months ago

  • Description modified (diff)

This ticket was mentioned in Slack in #core-php by joostdevalk. View the logs.


3 months ago

@hedgefield
3 months ago

Here's an idea for how we could present this notice. I've adapted the text from the Yoast WHIP notice for the Wordpress audience, and styled it like the Welcome widget on the WP dashboard. This could be the 'worst version' of the notice for people on 5.2, and it could get progressively more benign the closer to PHP7 someone is.

@hedgefield
3 months ago

Here's another (smaller) take where most background information is deferred to the page with the instructions. We should also make a page that explains exactly what PHP is and why it is important, for people who have no idea what we mean. I added a link to that in the copy of this mockup too.

This ticket was mentioned in Slack in #core-php by swissspidy. View the logs.


3 months ago

This ticket was mentioned in Slack in #core-php by desrosj. View the logs.


3 months ago

#5 @psykro
2 months ago

I'm very keen on informing and pushing users to upgrade (or get their hosts to upgrade) their PHP versions. A few thoughts on this

  1. How would we go about creating host specific links. Are we able to determine what host a WordPress site is installed on?
  2. The notifications @hedgefield has posted look good, but I wonder if they will clutter up the admin notices, perhaps just the 'Your site could run faster' message with link that opens the content below it?

This ticket was mentioned in Slack in #core-php by flixos90. View the logs.


2 months ago

#7 @psykro
2 months ago

The following came out of the discussion of this ticket in the #core-php Slack channel

  • We'd like to show a notice to recommend jump to PHP >= 5.6 (even better >= 7.0).
  • We'd like to show that notice first for only 5.2 users, but then iterate over time to show it, up until we reach 5.5.
  • Once number of 5.2 users is low enough, we bump WP core's minimum requirement to 5.3. Then over time, we do that further until we reach 5.6.

#8 follow-up: @chesio
2 months ago

Once number of 5.2 users is low enough

I'm curious whether there's any actual number behind "low enough"... :)

#9 in reply to: ↑ 8 @jdgrimes
2 months ago

Replying to chesio:

Once number of 5.2 users is low enough

I'm curious whether there's any actual number behind "low enough"... :)

No. That will likely be discussed at a future meeting in the #core-php channel in Slack. (Meetings each Monday at 18:00 UTC.)

#10 @casiepa
2 months ago

It seems currently 4.6% of WP installs is still using 5.2, it would indeed be nice to set a target % when to tackle the higher version(s).
I must say to be very surprised that only 52.5% is on PHP 5.6 or higher. I would have expect that one to be much higher seeing the performance gains.

Following closely!

This ticket was mentioned in Slack in #core-php by flixos90. View the logs.


2 months ago

#12 @chesio
2 months ago

It seems currently 4.6% of WP installs is still using 5.2

Coincidentally, ~4.3% of WP installs run WordPress 3.6 or older (ie. 4+ years old and without automatic background updates option that has been introduced in 3.7 as far as I know).

The 4.6% is still too big number to ignore, but I think more reasonable way to make decisions based on these stats is to apply them only to WordPress installs that are "actively maintained". We can argue what "actively maintained" means, but I don't believe that someone suddenly decides to hit the "Update WordPress" button after not doing so in 4+ years...

#13 @flixos90
2 months ago

While I certainly like this idea, I think showing a very prominent notice to users should be the last step though on our way to making users upgrade their PHP version.

For example I consider #40934 more important as it is a more organic way to push users to a higher version. When they see a plugin won't work any longer, they know for fact they have a problem and are more likely to make efforts. Performance and security are both rather abstract arguments to users.

This notice considered here will likely make more people upgrade, but it will also be possibly annoying, not give a user a reason they can fully grasp. I think less aggressive solutions should be the first step.

#14 @rklrkl
7 weeks ago

I'll mention here that the Yoast notice about PHP being "out of date" was poorly done on several levels:

  • Far too large a notice (15 or so lines!) - should have been a 1 or 2 line banner with a link to read more about the issue.
  • It was undismissable, which was frankly appalling. If it must re-appear at some point, have it appear once a month or when the Yoast plugin is updated again.
  • The text made some highly dubious statements like "your version of PHP no longer receives security updates" (not true - CentOS backports security updates and that's what we are running) and "they [hosters] don't dare to do that [upgrade] because they're afraid they'll break your site" (we went through a PHP 5.3.3 -> 5.6.31 upgrade recently and it completely broke a site in such a manner we had to move that site back to an earlier PHP - it was literally unfixable with 5.6.31. So it's not being "afraid" that's the issue - we jumped right in there - it's the fact that sites *do* break on PHP upgrades).

I think my main concern here is that no-one's discussing LTS releases here like RHEL/CentOS that backport PHP fixes from later releases, but keep the base version the same. They'll get hit with messages telling them their 5.3.3 (RHEL/Centos 6) PHP is out of date when in fact it isn't. Yes, they can use the IUS repo (maybe WordPress should have docs on how to upgrade PHP on various platforms if they're going to push PHP upgrade notices? At least the notices can then link to the appropriate docs page for the platform), but the IUS repo is what broke one of our sites, so it's not a guarantee at all that things will work after an upgrade.

This ticket was mentioned in Slack in #core-php by nerrad. View the logs.


4 weeks ago

Note: See TracTickets for help on using tickets.