Este sábado actualicé mi WordPress a la versión WordPress 4.4.2 y al no hacer las comprobaciones necesarias de compatibilidad de plugins no me cargaba las entradas del blog, en esta publicación voy a hablar de como busqué soluciones y como resolví mi problemas por si a alguien le ayuda, y que he llamado: Resolviendo problemas en WordPress en 8 pasos.

Así se veía una entrada en mi blog:

Codigo Xules - Entrada Blog - No se carga la publicación

Codigo Xules – Entrada Blog – No se carga la publicación

Notas de la actualización a WordPress 4.4.2

  • WordPress 4.4.2 Security and Maintenance Release: aquí puedes encontrar información de lo que aporta esta actualización, lo más importante:
    • WordPress versions 4.4.1 and earlier are affected by two security issues: a possible SSRF for certain local URIs, reported by Ronni Skansing; and an open redirection attack, reported by Shailesh Suthar.

En primer lugar tengo que decir que no soy un experto en WordPress, aunque si llevo y mantengo todo el desarrollo de mi blog Código Xules, y algún otro.

Aún sabiendo que hay que ir cuidado con las actualizaciones, en una decisión personal y debido a que solo llevó 4 meses con el blog, mi apuesta es hacer todas las actualizaciones directamente y aprender a solucionar los problemas que puedan surgir lo más rápido posible, ¿te preguntarás por qué? la razón es simple, mi objetivo es tener mi blog a pleno rendimiento al año de funcionamiento y por eso prefiero encontrarme con problemas ahora que el blog no tiene todavía un número muy alto de seguidores.

Resolviendo problemas en WordPress

Antes de cualquier actualización importante de WordPress realiza una copia de seguridad y analiza la compatibilidad de tus Plugins que tienes instalados.Xule

Estos son los pasos que yo he seguido para solucionar mi problema y que he llamado Resolviendo problemas en WordPress en 8 pasos :

  1. Identificar el problema
  2. Buscando soluciones con PHP
  3. Buscando soluciones con WordPress
  4. Buscando soluciones en foros 1
  5. Asistente Virtual Stephan 0.4 Revisión de tu cuenta
  6. Buscando soluciones en foros 2
  7. SOLUCIÓN DEL PROBLEMA
  8. Finalmente notifico en el foro de WordPress el error encontrado en el plugin


 

1. Identificar el problema

Esta es la parte más difícil, identificar qué pasa y desde cuando, soy programador y no experto en administración por eso mi primera idea es buscar el log de WordPress y analizar que errores me está dando, el log lo puedes encontrar en tu acceso a los ficheros del servidor en /home/TU-LOCALIZACIÓN/public_html/error_log :

Error (aviso) 1


[20-Feb-2016 08:44:42 UTC] PHP Warning: ini_set() has been disabled for security reasons in /home/——/public_html/wp-content/plugins/download-manager/download-manager.php on line 43

Este es el primer error (aviso) que me encontré, entonces pensé que las solución era fácil, desactivo el plugin Download Manager y listo.

Error (aviso) 2


[20-Feb-2016 08:44:43 UTC] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2097152 bytes) in /home/—–/public_html/wp-includes/functions.php on line 429

A decir verdad, no sabía bien por qué se generaba este error, así que a buscar en Google, foros y el foro de mi proveedor de host Webempresa.

De estas búsquedas doy cuenta a continuación, en resumen, se identificaban como un problema de PHP o un problema de limitación de memoria en WordPress.


 

2. Buscando soluciones con PHP

Las soluciones que encontraba relacionadas con PHP van en el sentido de incrementar el límite máximo de utilización de memoria, a continuación las publicaciones consultadas.

«Warning: ini_set() has been disabled for security reasons …

Steps on how to resolve: «Warning: ini_set() has been disabled for security reasons» Error. For full …

En resumen, creamos un fichero php.ini y añadimos información para modificar el tamaño de la memoria y habilitar las funciones desactivadas (init_set()), este es el código:

safe_mode = Off
display_errors = Off
memory_limit = 64M
disable_functions =

En este caso no se solucionó mi problema, pero me sirvió como aprendizaje, me podrá ser útil en un futuro.

[resolved] Warning: ini_set() has been disabled for security reasons (3 posts)


Edit autoloader.php and put an @ in it before the ini_set. Your host has ini_set disabled in their php configuration so it’s throwing that error. I’ll add this in the next version so that it’s not an issue on updates.

@ini_set(‘unserialize_callback_func’, ‘spl_autoload_call’);

Coloqué este código en mi archivo de configuración del plugin Download Manager, realmente lo hize por probar ya que lo que soluciones este código entendía que no era mi problema, pero a veces suena la flauta y probé: no se solucionó mi problema el plugin sigue fallando.


 

3. Buscando soluciones con WordPress

Estas soluciones para los problemas de memoria, en estas entradas se indica como modificarlo en WordPressIncreasing memory allocated to PHP

Also released with Version 2.5, the WP_MEMORY_LIMIT option allows you to specify the maximum amount of memory that can be consumed by PHP. This setting may be necessary in the event you receive a message such as «Allowed memory size of xxxxxx bytes exhausted».
Increase PHP Memory to 64MB

define( 'WP_MEMORY_LIMIT', '64M' );

Al igual que antes, con esto puedes aprender algo que a lo mejor no sabías, pero no se solucionó mi problema.

Como arreglar el error: “Fatal error: Allowed memory size of 67108864/33554432 bytes exhausted” en WordPress


– Añade la siguiente línea de código en tu archivo: “wp-config.php”: define(‘WP_MEMORY_LIMIT’, ’64M’);


– Añade la siguiente línea de código en tu archivo: “.htaccess” (este archivo esta escondido en la raíz de tu hosting) php_value memory_limit 64M


– Si tienes acceso al archivo “php.ini”, incluye esta línea de código: memory_limit = 64M;

En está entrada se resumen las 3 formas de modificar las restricciones de memoria.


 

4. Buscando soluciones en foros 1

Encontré múltiples entradas en foros por a señalar aquí solo una de las más relevantes en el foro de WordPress y que me llevó a buscar mi problema por otro lado.

[resolved] Fatal error: Allowed memory size of 33554432 bytes exhausted (24 posts)

Esta es la mejor aportación que puedes encontrar en esta publicación:

Foro WordPress - Fatal Error  Allowed memory Size

Foro WordPress – Fatal Error Allowed memory Size

Va en la misma dirección que las anteriores soluciones, aquí ya me enfocaban un poco a hablar con el proveedor y así descubrí al Asistente Virtual Stephan 0.4 de mi proveedor de host Webempresa.


 

5. Asistente Virtual Stephan 0.4 Revisión de tu cuenta

En mi caso mi proveedor de host Webempresa tiene disponible este asistente que proporciona por una parte búsquedas relacionadas con tus problemas, y también, realiza un análisis del estado de tu web.

Estos son los resultados que podían influir en mis problemas:

Revisión Espacio que ocupan las imágenes de su cuenta:

Optimización de imágenes

Tiene un total de 2722 imágenes, ocupando un total de 118MB.
——————————————————————————————————-

Optimizando las imágenes su web cargará a una velocidad mayor, además reducirá el espacio ocupado en disco por las imágenes y el ancho de banda que consume, lo que puede suponer un ahorro importante
y una mejora considerable para su poscionamiento.

Ejecute el proceso para ver si era parte de mi problema, no fue la solución, pero si pude comprobar cuando solucioné el problema una mejora del rendimiento.

Para iniciar el proceso de optimización de imágenes de toda su cuenta de cPanel pulse aqui (un enlace a la optimización directa de mis imágenes, reduciendo el espacio en disco y optimizando la carga de la web muy importante para SEO.

Revisión de ficheros que ocupan más espacio en su cuenta:

Hemos encontrado los siguientes ficheros que ocupan más de 10 MB, si tiene problemas de espacio es posible que quiera bajarlos a su equipo y eliminarlos del servidor:

13 MB en el fichero …

Revisión Error fatal:

Vemos que hay logs de errores que podrian generar un error 500 en el servidor

[20-Feb-2016 14:09:44 UTC] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 3318447 bytes) in /home/codigoxu/public_html/wp-includes/wp-db.php on line 1209


 

6. Buscando soluciones en foros 2

Con el problema sin solucionar tocaba seguir buscando, al hacer pruebas de carga en una publicación que seguía sin visualizarse me apareció el mensaje: Resource Limit is Reached, y tocó volver a buscar en los foros, aquí la entrada que dió lugar a mi solución final:

Resource Limit is Reached

A ver si alguien me puede ayudar, recibo constantemente el mensaje Resource Limit is Reached, y consultando con los asesores de webempresa, me indican que hay algo en el sitio que está consumiendo mucho ancho de banda y satura las bases de datos, ya me han incrementado los límites, sin embargo, me sigue saliendo.

Me indican que debe ser algún plugin
Respuestas importantes:


 

7. SOLUCIÓN DEL PROBLEMA

En la publicación de Plugins WordPress que debes evitar para que tu Web vuele por Luis Méndez Alejo nos indica que tenemos que instalar solo los plugins que necesitemos, utilizar plugins como WP Super Cache para corregir el problema de velocidad y carga de la web, y finalmente, utilizar el plugin P3 (Plugin Performance Profiler) para analizar como están influyendo los plugins que tenemos instalados en nuestro WordPress y que nos pueden afectar a la carga. En la página tienes toda la información y un vídeo fenomenal ( Plugins WordPress que debes evitar para que tu Web vuele – Youtube) donde te explica paso a paso como instalar y como analizar los plugins que están funcionando mal.

¿Que podemos extraer de Performance Profiler? por Luis Méndez Alejo

  • La carga general e individual de los plugins activos.
  • Cantidad de segundos dedicados por determinado plugin por visita.
  • Cantidad de memoria consumida por la web en el servidor.
  • El impacto total de carga generado por los plugins.
  • Las consultas a MySQL generadas por los plugins a la base de datos.
  • Comparativa de tiempos de carga del Tema, core de WordPress y Plugins activos.

Analizando mi problema

El plugin lo encontrarás en Herramientas > P3 Plugin Profiler lo cargamos y ejecutamos el SCAN, ahora toca buscar y analizar los resultados buscando cual es el que nos da problemas:

P3 - Hacemos un Scan

P3 – Hacemos un Scan

Ahora tocas analizar los resultados de los análisis:

P3 -  Results Summary timeline

P3 – Results Summary timeline

Mis conclusiones fueron:

  • Identifico en la pestaña de Summary Timeline que el problema está en los plugins porque son los que más carga generan.
  • Hay un plugin que está consumiendo muchos recursos de la base de datos.
  • Descarto los plugins que tengo instalados en otras partes de la web y que si funcionan.

Empecé probando con Qtranslate X y con SyntaxHighlighter Evolved ya que eran los que me ofrecían unos resultados de consumo más alto, estos los descarto después de que al desactivarlos no soluciono el problema.

Finalmente, y después de varias pruebas encontré que el plugin WordPress Related Posts que ya se notifica que no ha sido verificado con mi versión de WordPress 4.4.2 instalada, lo que me lleva a la conclusión con la ayuda de P3, de que aunque no es de los que más tarda en cargar si está solicitando o haciendo demasiadas solicitudes a la base de datos generando el problema de:

[20-Feb-2016 08:44:43 UTC] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2097152 bytes) in /home/—–/public_html/wp-includes/functions.php on line 429

Así que desactivado el plugin SOLUCIONADO MI PROBLEMA.

CONCLUSIONES

  • Revisa la compatibilidad de tus plugins instalados antes de actualizar tu versión de WordPress.
  • Utiliza programas del estilo P3 (Plugin Performance Profiler) para analizar como están influyendo los plugins que tenemos instalados en nuestro WordPress.
  • También, aprendí a que una optimización de las imágenes de todas la web puede influir y mucho en la carga mejorando los resultados en Google Page Speed, por ejemplo, en mi caso:
    • codigoxules.org: su dominio, cuya IP apunta a nuestros servidores, ahora tiene una puntuación de Google PageSpeed de 78, antes de 72, ha mejorado 6 puntos sobre 100.
    • Se ha reducido el peso de codigoxules.org un total de 228.22KB en la página principal de su web.
    • También, he conseguido más espacio en mi disco duro del hosting, lo cual es muy importante para mí ya que estaba cerca de mi límite, y esto me da más tiempo para mejorar mi hosting.
  • Ya lo sabía, pero todavía no tengo instalado ni WP Super Cache ni W3 Total Caché, hoy mismo después de solucionados los problemas voy a instalar WP Super Cache
  • Y finalmente, lo que he hecho en este blog, analizar, buscar, optimizar hasta conseguir el objetivo ya sea solucionar un problema o mejorar el rendimiento.


 

8. Finalmente notifico en el foro de WordPress el error encontrado en el plugin

Creo que es importante avisar a otros usuarios que se pueden encontrar con el mismo error con este plugin WordPress Related Posts, y por eso escribo una entrada en el blog de WordPress, esta es mi entrada Finalmente notifico en el plugin el error encontrado:

Código Xules - Crear entrada en el foro de WordPress

Código Xules – Crear entrada en el foro de WordPress

Resolviendo problemas en WordPress en 8 pasos después de actualización de versión

Espero que te resulte útil y que te ayude en un futuro a resolver más rápido los problemas que puedas encontrar Xules