Este es un post de invitado. Las opiniones y recomendaciones son del autor y no necesariamente de WP Rocket.
¿Qué pasaría si te dijera que puedes duplicar la velocidad de la página de tu sitio WordPress en sólo 10 minutos? Suena increíble, ¿verdad?
Bueno, puedes – todo lo que necesitas hacer es actualizar a la última versión de PHP.
Y pronto, no tendrás elección de todos modos, ya que PHP 5.6 se convertirá en el requisito mínimo para WordPress en abril de 2019, para ser reemplazado por PHP 7.0 tan pronto como en diciembre de 2019.
PHP es uno de los lenguajes de scripting más populares en la web. De hecho, el 70% de todos los sitios web que utilizan la programación del lado del servidor utilizan PHP. Eso es 8 de cada 10 sitios.
PHP también impulsa los sitios web de WordPress. Pero un gran problema al que nos enfrentamos en la comunidad de WordPress es que muchos sitios, empresas, proveedores de alojamiento y desarrolladores no son compatibles con las últimas versiones de PHP. Es especialmente frustrante teniendo en cuenta lo fácil que es actualizarlo.
En MailPoet, creemos firmemente que todos los usuarios de WordPress deberían actualizar a la última versión de PHP lo antes posible. La actualización no sólo mejorará instantáneamente la velocidad y el rendimiento de su sitio, sino que también proporciona beneficios de seguridad y compatibilidad.
Hoy, quiero convencerle de que tome los 10 minutos de su día que se requieren para actualizar su sitio a la última versión de PHP.
WordPress y su problema con PHP
Ocho de cada 10 sitios web de WordPress pronto se ejecutarán en una versión de PHP que ya no es compatible-si los propietarios de sitios no actúan rápido.
Según las estadísticas de WordPress.org, el 36,4% de los sitios de WordPress están en PHP 5.6. ¿El problema? El soporte activo para PHP 5.6 terminó el 19 de enero de 2017, y llegará oficialmente a su fin de vida el 31 de diciembre. Esto significa que ya no tendrá soporte de seguridad y los sitios web que continúen usándolo podrían estar expuestos a vulnerabilidades no parcheadas.
Luego está PHP 7.0, que alcanzó su fin de vida el 3 de diciembre de 2018. También deja de ser una versión soportada de PHP. Aun así, casi el 20% de los sitios de WordPress están en PHP 7.0.
Si estás pensando, «¡¿no acababa de salir PHP 7.0?!» Lo fue… hace dos años y 11 meses. Como cualquier software, PHP tiene un ciclo de vida de lanzamientos al que debe ceñirse para avanzar en las mejoras y nuevas funcionalidades (al igual que WordPress). Cada versión principal de PHP suele estar totalmente soportada con parches de errores y correcciones de seguridad durante dos años después de su lanzamiento.
Y luego está el otro 25,2% de los sitios que ya se ejecutan en versiones antiguas de PHP sin soporte, incluyendo 5.2, 5.3, 5.4 y 5.5.
Así que en total, en el momento de escribir este artículo, la friolera del 81,3% de los sitios de WordPress están ejecutando, o están a punto de ejecutar, una versión no soportada de PHP.
Sólo el 18,6% de los sitios de WordPress están ejecutando las últimas versiones soportadas-PHP 7.1 y PHP 7.2.
¿Por qué hay tantos sitios de WordPress que siguen funcionando con versiones antiguas de PHP?
Hay muchas y variadas razones por las que los sitios web siguen funcionando con versiones obsoletas y no soportadas de PHP, pero estos son los factores más comunes.
Los propietarios de sitios web no saben o no les importa
Para muchos propietarios de sitios, en particular los que no tienen conocimientos técnicos, lo único que les importa es que su sitio esté en funcionamiento, y que funcione bien y tenga buen aspecto. Si no tienen que actualizar su versión de PHP, ¿por qué querrían hacerlo?
En muchos casos, depende de los desarrolladores y anfitriones web el empujar a estos propietarios de sitios para que se actualicen (¡por su propio bien!).
Lleva mucho tiempo a los desarrolladores de plugins y temas
Para los desarrolladores con plugins y temas antiguos, la actualización a las últimas versiones de PHP implica la actualización de su código, junto con extensas pruebas para asegurar la compatibilidad. Al fin y al cabo, no quieren romper los sitios de sus usuarios.
Los alojamientos web no quieren romper los sitios
En esencia, lo que ocurre es que las empresas de alojamiento web no quieren romper los sitios web de sus clientes. A pesar de que PHP 5.6 fue lanzado en 2014 y PHP 7.0 está a punto de llegar al final de su vida útil, los hosts web han pospuesto la actualización de sus servidores a las últimas versiones de PHP (7.1 o 7.2) debido a la posibilidad de romper plugins y temas.
Con el 32,4% de todos los sitios web que utilizan WordPress, eso es un montón de tickets de soporte si los hosts web empujan las actualizaciones y las cosas van mal.
Esto significa que si quiere que su sitio funcione con la última versión de PHP, tendrá que tomar la iniciativa y actualizarlo usted mismo, o presionar a su proveedor de alojamiento para que le ayude.
¿Por qué WordPress no requiere versiones más nuevas de PHP?
El proyecto WordPress no ha obligado a los usuarios a utilizar las últimas versiones de PHP porque… Bueno, es complicado. Es una mezcla de todo lo que cubrí en la sección anterior, y también tener la responsabilidad de administrar el sistema de gestión de contenidos más popular del mundo.
Pero las cosas están listas para cambiar en 2019.
En WordCamp US en diciembre de 2018, se anunció que PHP 5.6 se convertirá en la versión mínima soportada en la primera mitad de 2019, y la versión mínima se elevará de nuevo a PHP 7.0 en la segunda mitad de 2019-si todo va según el plan.
Estos cambios han sido un largo tiempo de espera, y podemos agradecer a Yoast por jugar una gran parte en empujar a los usuarios a actualizar. A principios de 2017, con el lanzamiento de Yoast SEO 4.5, se añadió una notificación en el tablero de WordPress para los usuarios de Yoast. En ella se instaba a los propietarios de sitios web que estuvieran en un servidor con una versión obsoleta de PHP a que se actualizaran a una nueva versión.
Los propietarios de sitios web solo podían desactivar el aviso actualizando PHP.
Esta iniciativa, llamada proyecto Yoast WHIP, demostró que pedir a los usuarios (o «molestarlos», como dice Yoast, en el ticket Trac original que escribieron sobre la fusión del WHIP en el núcleo de WordPress) que se actualizaran podía realmente hacer un cambio de forma significativa.
Remkus de Vries, Gerente de Asociaciones y Enlace con la Comunidad de WordPress en Yoast, me dijo que durante mucho tiempo, su equipo vio el número de instalaciones a versiones más nuevas de PHP doble como un porcentaje del total.
Como resultado de WHIP, junto con el repunte positivo en el número de actualizaciones de PHP, se lanzó el proyecto Servehappy a mediados de 2017.
Más recientemente, a principios de diciembre, el colaborador del núcleo de WordPress Gary Pendergast propuso actualizar las versiones mínimas de PHP. El plan, que Matt Mullenweg confirmó en su State of the Word en WordCamp US, hará que PHP 5.6 sea la versión mínima requerida para WordPress en abril de 2019, y que PHP 7.0 se convierta en el mínimo «tan pronto como» en diciembre de 2019.
Después de que Matt anunciara la propuesta en WCUS, recibió un enorme aplauso -mucho más aplauso que la mayoría de las noticias sobre Gutenberg. Para la comunidad de WordPress, avanzar con las últimas versiones de PHP es una buena noticia.
Si bien el aumento de las versiones mínimas de PHP no cambiará necesariamente la apatía, la conciencia o el apoyo de los desarrolladores a las nuevas versiones de PHP de la noche a la mañana, los plazos ciertamente ayudarán a garantizar que WordPress se mantenga al día con PHP en los próximos años a medida que se desarrolle.
Según el sitio web de WordPress.org:
«El objetivo inmediato es poner en marcha la estructura de apoyo y la educación/recursos del propietario del sitio, etc., para que podamos reducir más activamente el número de sitios de WordPress activos existentes en versiones antiguas de PHP EOL y así mejorar la seguridad y el rendimiento de la web».
Por qué debería actualizar a PHP 7+
Si lo anterior no ha convencido, hay más. No sólo es PHP 7.2 ahora oficialmente listado como un requisito recomendado para ejecutar WordPress, la actualización viene con un montón de beneficios de velocidad, rendimiento y seguridad.
Velocidad y Rendimiento
Si su sitio se ejecuta en una versión anterior de PHP, la actualización a la última versión le dará ganancias inmediatas de rendimiento-más de lo que cualquier ajuste alrededor de los bordes de su sitio de WordPress le proporcionará.
Cuando PHP 7.0 fue lanzado, fue ampliamente elogiado por la entrega de ganancias sustanciales de rendimiento. De hecho, la evaluación comparativa oficial de PHP utilizando WordPress 4.1.1 muestra que PHP 7.0 permite a los servidores ejecutar el doble de peticiones por segundo que PHP 5.6 con menos de la mitad de latencia.
El proveedor de alojamiento web Kinsta también ha publicado recientemente evaluaciones comparativas de rendimiento, comparando PHP 5.6, PHP 7.0, PHP 7.1, PHP 7.2 y PHP 7.3. Sus hallazgos muestran que PHP 7.3 ejecuta 3 veces más peticiones por segundo en comparación con PHP 5.6.
Si necesita más pruebas de las ganancias de rendimiento que obtendrá cuando se actualice, los primeros puntos de referencia del sitio de noticias y revisiones de código abierto Phoronix han mostrado que PHP 7.3, que fue lanzado a finales de 2018, es aproximadamente un 5% más rápido que PHP 7.2.
Soporte y compatibilidad
La compatibilidad es otra gran razón por la que querrías estar en la última versión de PHP. Como cualquier pieza de software, los desarrolladores sólo darán soporte a las versiones más antiguas durante un cierto tiempo. Por ejemplo, las versiones más antiguas de los iPhones no son compatibles con la última versión de iOS, haciéndolos prácticamente inútiles.
Esto se reduce al hecho de que apoyar activamente el software antiguo y garantizar la compatibilidad con versiones anteriores es costoso, sobre todo en términos de tiempo para los desarrolladores de plugins y temas. Quieren avanzar añadiendo nuevas características y mejoras de seguridad y rendimiento a sus productos, y dar soporte a versiones antiguas de PHP les frena.
En MailPoet, necesitábamos avanzar por nuestro propio beneficio y hemos dejado de dar soporte a PHP 5.2, 5.3, 5.4 y 5.5 por completo. Esto redujo nuestro alcance a muchos usuarios, pero incrementó la felicidad de nuestro equipo significativamente – ¡significó que podíamos concentrarnos en hacer un producto más grande y mejor!
De hecho, los problemas con versiones antiguas de PHP surgen regularmente en los foros de soporte de WordPress.org. Si buscas «T_Function», hay más de 2.700 resultados.
Como explica Predrag Dubajic, de WPMU DEV, en este hilo de soporte para el plugin Hustle, los errores T_Function suelen aparecer cuando un usuario está ejecutando una versión de PHP obsoleta:
Seguridad
Otra razón fundamental por la que deberías actualizar es por la seguridad de tu sitio de WordPress. Ejecutar la última versión de PHP garantiza que tu sitio esté protegido contra las vulnerabilidades identificadas en versiones anteriores de PHP.
Por ejemplo, aquí tienes un dato revelador: según la fuente de datos de vulnerabilidad de seguridad CVE Details, este año se han encontrado 18 vulnerabilidades conocidas en PHP. En 2017, se descubrieron 43 exploits de seguridad, y en 2016 se encontraron la enorme cantidad de 107 vulnerabilidades.
Estas vulnerabilidades incluyen DoS, ejecución de código, inyección SQL, XSS y muchos otros tipos de exploits.
Es una buena práctica de WordPress mantener actualizadas las versiones del núcleo, los plugins y los temas de WordPress. Del mismo modo, para evitar vulnerabilidades de seguridad, debe mantener su versión de PHP actualizada, también.
Comprobando la compatibilidad de PHP
Esperemos que a estas alturas te haya convencido de las ventajas de actualizar a la última versión de PHP. Pero antes de seguir adelante y actualizar, hay un par de cosas que necesita hacer primero: comprobar qué versión de PHP está en y también comprobar la compatibilidad de su sitio con la última versión.
¿No está seguro de qué versión de PHP su sitio se está ejecutando en? Así es como puedes comprobarlo.
Instala el plugin gratuito Display PHP Version, que puedes descargar desde el repositorio de plugins de WordPress. Cuando actives este plugin, mostrará tu versión de PHP en el widget «At a Glance» del panel de control de WordPress.
También deberías comprobar que tus plugins y temas son compatibles con la última versión de PHP antes de actualizar. El plugin PHP Compatibility Checker de WP Engine es la mejor herramienta para este trabajo. Este plugin le permite escanear su sitio y comprobar qué plugins son compatibles con las tres últimas versiones de PHP.
Una vez hecho el escaneo, mostrará una lista de sus plugins y destacará cualquiera que incluya código de versiones anteriores de PHP que ahora es incompatible con la versión que acaba de probar.
Es importante cambiar los detalles de cualquier plugin que se muestre con la etiqueta «Desconocido», como Caldera Form arriba. Los plugins como este se omiten porque son demasiado grandes para escanearlos.
Si encuentras que algún plugin que utilizas no es compatible con la última versión de PHP, o te da resultados desconocidos o advertencias, ponte en contacto con el autor del plugin y pide soporte.
Cómo actualizar a la última versión de PHP
Una vez que haya comprobado la compatibilidad de su sitio de WordPress -y haya realizado una copia de seguridad, para estar seguro- estará listo para actualizar su versión de PHP.
Es mejor actualizar su sitio de ensayo primero antes de actualizar su sitio de producción, sólo para estar en el sitio seguro y asegurarse de que no hay problemas con su sitio en vivo.
Actualización de PHP con cPanel
Si usted está con un anfitrión que proporciona acceso a cPanel a su sitio, simplemente puede iniciar sesión en cPanel y cambiar su versión de PHP allí.
Todo lo que tiene que hacer es desplazarse hasta la sección de Software y elegir «Seleccionar la versión de PHP»
En la siguiente página, elija la versión de PHP que desea utilizar y haga clic en «Establecer como actual»
Eso es todo lo que tiene que hacer. Refresca tu sitio para comprobar que funciona bien, pero si has comprobado la compatibilidad tu sitio debería estar bien.
Actualización de PHP en tu propio servidor
Si administras tu propio servidor, puedes actualizar a PHP 7.2 tú mismo utilizando las guías de migración que se proporcionan en la documentación de php.net. Es importante que preste mucha atención a las nuevas características y funciones, así como a las características obsoletas que puedan afectar a su sitio.
Migrar de PHP 5.6.x a PHP 7.0.x
Migrar de PHP 7.0.x a PHP 7.1.x
Migrar de PHP 7.1.x a PHP 7.2.x
Solicitar a su proveedor de alojamiento web que actualice PHP
Si no tiene acceso a cPanel o a otra forma relativamente sencilla de actualizar PHP, póngase en contacto con su proveedor de alojamiento web. El proceso de actualización debería ser fácil por su parte sin afectar a su sitio.
WooCommerce recomienda enviar este correo electrónico a su proveedor de alojamiento, pero aquí tiene una versión modificada y actualizada:
Estimado anfitrión,
Estoy ejecutando un sitio de WordPress en uno de sus servidores y WordPress.org recomienda PHP 7.2 como la versión requerida de PHP en su página de requisitos: https://wordpress.org/about/requirements/
¿Podría decirme si mi alojamiento soporta PHP 7.2 y cómo puedo actualizarlo?
Espero su respuesta.
Si su anfitrión hace que sea difícil de actualizar, o incluso se niega a hacerlo por usted, es el momento de encontrar un nuevo anfitrión.
Es hora de hacer el cambio a PHP 7+
Con suerte, he proporcionado un argumento lo suficientemente convincente aquí para convencerlo de actualizar a la última versión de PHP. La actualización no sólo le dará ganancias inmediatas de rendimiento, sino que su sitio también estará mejor protegido contra las vulnerabilidades de seguridad encontradas en versiones anteriores de PHP.
Antes de actualizar su sitio, asegúrese de comprobar la compatibilidad de su sitio con la versión de PHP a la que desea cambiar y ejecute una copia de seguridad. Incluso mejor, cree una versión de prueba de su sitio y pruébela allí antes de actualizar su sitio en vivo.
Por último, si se encuentra con algún alojamiento web o desarrollador de plugins o temas que le dificulten la actualización de PHP, cambie a un alojamiento u otro producto que sea compatible. De esta manera, usted está haciendo una posición, y asegurar que los anfitriones y los desarrolladores que no están utilizando las últimas versiones se sienten la presión para actualizar.