Solucionar error 500 en PrestaShop con WordPress y cPanel
¡Hola! Soy tu técnico de soporte amigable. Entiendo lo frustrante que es encontrarse con un error 500 en tu tienda PrestaShop, especialmente cuando está integrada con WordPress y gestionas todo desde cPanel. No te preocupes, es un problema común y, sobre todo, tiene solución. Vamos a desglosarlo paso a paso para que puedas recuperar tu tienda en pocos minutos.
Este artÃculo está diseñado para que, incluso si no eres un experto en programación, puedas seguir las instrucciones sin miedo. Usaremos un lenguaje claro, muchos ejemplos y, sobre todo, un enfoque práctico. ¡Manos a la obra!
¿Qué es el error 500 y por qué aparece en mi tienda?
El error 500, también conocido como "Error interno del servidor", es un mensaje genérico que indica que algo salió mal en el servidor, pero el sistema no puede especificar exactamente qué. Es como cuando tu coche enciende el testigo de "check engine": sabes que hay un problema, pero necesitas un escáner para saber si es la bujÃa o el sensor de oxÃgeno.
En el contexto de PrestaShop con WordPress y cPanel, las causas más frecuentes son:
- Archivos .htaccess corruptos o mal configurados. (Tanto el de PrestaShop como el de WordPress).
- LÃmites de memoria PHP o tiempo de ejecución insuficientes.
- Módulos o plugins incompatibles (un plugin de WordPress puede chocar con un módulo de PrestaShop).
- Permisos de archivos incorrectos (por ejemplo, archivos que deberÃan ser 644 y están en 777).
- Base de datos corrupta o con tablas dañadas.
- Actualizaciones incompletas (de PrestaShop, WordPress, o de algún tema/plugin).
Primeros pasos: diagnóstico rápido desde cPanel
Antes de tocar nada, vamos a activar el modo debug de PrestaShop para obtener un mensaje de error más especÃfico. Esto es clave para no andar a ciegas.
1. Activar el modo debug de PrestaShop
Accede a tu panel de control cPanel (o Syspanel si usas HestiaCP, recuerda que el puerto es el 2106). Una vez dentro:
- Ve a Administrador de archivos (File Manager).
- Navega a la carpeta raÃz de tu PrestaShop (normalmente
public_htmlo una subcarpeta comotienda). - Busca el archivo config/defines.inc.php.
- Haz clic derecho y selecciona Editar.
- Busca esta lÃnea:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda los cambios. Importante: después de solucionar el error, vuelve a ponerla en
falsepara no mostrar información sensible a tus clientes.
Ahora, recarga tu tienda. En lugar del error 500 genérico, verás un mensaje detallado como "Fatal error: Allowed memory size of bytes exhausted..." o "Class not found...". Ese es tu nuevo mejor amigo.
[TIP] Anota el mensaje de error exacto. Nos servirá más adelante para aplicar la solución definitiva.
2. Revisar los logs de error del servidor
Si el modo debug no te da suficiente información, o si prefieres un enfoque más técnico, revisa los logs de cPanel:
- En cPanel, busca la sección Errores o Registros de errores (Error Log).
- Busca la pestaña Últimos errores (Latest Visitors) o Registro de errores (Error Log).
- Filtra por fecha y hora del error. Busca lÃneas que contengan
500oInternal Server Error. - Copia la ruta del archivo y la lÃnea exacta donde ocurre el problema. Por ejemplo:
/home/usuario/public_html/modules/xyz/xyz.php on line 45
Soluciones paso a paso según la causa del error
Ahora que tienes una pista (el mensaje de error o el log), aplica la solución correspondiente.
Si el error menciona "Allowed memory size" o "Maximum execution time"
Esto indica que tu servidor no tiene suficiente memoria PHP o tiempo para ejecutar un script. Es muy común al instalar módulos grandes o al migrar la tienda.
Solución desde cPanel:
- Ve a Seleccionar versión de PHP (o MultiPHP Manager).
- Haz clic en Opciones (o Switch to PHP Options).
- Aumenta los siguientes valores:
memory_limit: de 128M a 256M o 512M.max_execution_time: de 30 a 120 o 300.upload_max_filesize: a 64M (por si acaso).post_max_size: a 64M.
- Guarda los cambios y espera 1-2 minutos. Luego recarga tu tienda.
[WARNING] Si no ves la opción de PHP, contacta a tu proveedor de hosting. Algunos planes limitados no permiten modificar estos valores.
Si el error menciona ".htaccess" o "RewriteRule"
El archivo .htaccess de PrestaShop o WordPress puede estar corrupto. Vamos a regenerarlo.
Para PrestaShop:
- En el Administrador de archivos, renombra el archivo
.htaccessde la raÃz de PrestaShop a.htaccess_old(por si acaso). - Ve a tu back office de PrestaShop (si puedes acceder) o, si no, hazlo manualmente:
- Crea un archivo nuevo llamado
.htaccesscon el siguiente contenido básico:# START PRESTASHOP <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [L] </IfModule> # END PRESTASHOP - Guarda el archivo.
- Crea un archivo nuevo llamado
- Desde el back office de PrestaShop (si logras entrar), ve a Configuración > Tráfico y SEO > SEO y URLs y haz clic en Guardar (sin cambiar nada). Esto regenera el
.htaccesscorrectamente.
Para WordPress (si tu tienda usa WordPress como CMS principal):
- En la raÃz de WordPress, renombra el
.htaccessa.htaccess_backup. - Ve a Ajustes > Enlaces permanentes en el panel de WordPress.
- Simplemente haz clic en Guardar cambios. Esto regenera el archivo.
Si el error menciona un módulo o plugin especÃfico
El mensaje de error suele incluir la ruta del módulo conflictivo. Por ejemplo: /modules/facebookps/facebookps.php. La solución más rápida es deshabilitarlo.
Desde cPanel (sin acceso al back office):
- Ve a la carpeta
modulesde PrestaShop (dentro de tu instalación). - Busca la carpeta del módulo problemático (por ejemplo,
facebookps). - Renómbrala a
facebookps_desactivado(o algo similar). Esto evita que PrestaShop lo cargue. - Recarga tu tienda. Si el error desaparece, ya sabes quién es el culpable.
Desde el back office de PrestaShop (si puedes acceder):
- Ve a Módulos > Gestor de módulos.
- Busca el módulo problemático y haz clic en Desinstalar.
- Si no puedes acceder al back office, usa el método anterior (renombrar carpeta).
[INFO] Si el conflicto es con un plugin de WordPress (por ejemplo, un plugin de SEO que interfiere con las URLs de PrestaShop), desactÃvalo desde el panel de WordPress en Plugins. Si no tienes acceso, renombra la carpeta del plugin en
/wp-content/plugins/.
Si el error persiste: permisos de archivos
Los permisos incorrectos pueden causar errores 500. La configuración segura es:
- Carpetas: 755
- Archivos: 644
Cómo corregirlo desde cPanel:
- En el Administrador de archivos, selecciona toda la carpeta de tu instalación (por ejemplo,
public_html). - Haz clic en Permisos (o Change Permissions).
- Marca la opción Recursivo (aplicar a subcarpetas y archivos).
- Establece:
- Carpetas: 755
- Archivos: 644
- Haz clic en Aceptar. Esto puede tardar unos segundos.
[WARNING] No uses permisos 777 a menos que sea estrictamente necesario (por ejemplo, para que un módulo escriba archivos). Es un riesgo de seguridad.
Si todo falla: restaurar una copia de seguridad
Si has probado todo y el error persiste, probablemente la base de datos o algún archivo central está dañado. La opción más rápida es restaurar una copia de seguridad reciente.
Desde cPanel:
- Ve a Copias de seguridad (Backup).
- Selecciona Restaurar una copia de seguridad completa (o solo la base de datos si prefieres).
- Sube el archivo de backup (normalmente
.tar.gzo.zip). - Sigue las instrucciones. Esto sobrescribirá tu instalación actual con la versión guardada.
[TIP] Si no tienes backup, contacta a tu hosting. Algunos proveedores tienen copias automáticas de los últimos 7 dÃas.
Preguntas frecuentes (FAQ)
P: ¿El error 500 puede deberse a que tengo PrestaShop y WordPress en la misma carpeta?
R: SÃ, si ambos usan el mismo .htaccess y no están bien separados (por ejemplo, WordPress en /blog y PrestaShop en /tienda), pueden generarse conflictos de reglas de reescritura. Recomiendo tenerlos en subcarpetas independientes.
P: ¿Cómo sé si el problema es de PrestaShop o de WordPress?
R: Temporalmente, desactiva WordPress renombrando la carpeta wp-content a wp-content_old. Si la tienda funciona, el problema está en WordPress. Si no, es de PrestaShop.
P: ¿Puedo usar Syspanel (HestiaCP) para hacer lo mismo?
R: SÃ, absolutamente. Syspanel (puerto 2106) tiene un Administrador de archivos, gestor de PHP y copias de seguridad similares a cPanel. Solo cambia la interfaz, pero los pasos son los mismos.
P: ¿El error 500 afecta mi SEO?
R: SÃ, si el error dura mucho tiempo, Google puede penalizar tu sitio porque no está disponible. Solucionarlo rápido es clave para mantener tu posicionamiento.
P: ¿Debo contratar a un desarrollador?
R: No necesariamente. Con esta guÃa, el 90% de los errores 500 se resuelven. Si después de todo sigues sin poder acceder, entonces sÃ, busca ayuda profesional.
Resumen final
El error 500 en PrestaShop con WordPress y cPanel es un dolor de cabeza, pero no es el fin del mundo. Recuerda el proceso:
- Activa el modo debug para obtener un mensaje claro.
- Revisa los logs de cPanel.
- Aumenta la memoria PHP si es necesario.
- Regenera el .htaccess de PrestaShop y WordPress.
- Desactiva módulos/plugins sospechosos.
- Corrige permisos de archivos.
- Restaura un backup si todo falla.
Y sobre todo, no pierdas la calma. Tómate un café, respira hondo y sigue los pasos uno a uno. Si te atascas, busca en Google el mensaje de error exacto o pregunta en foros especializados. ¡Esto se soluciona!
[INFO] ¿Usas Syspanel? Recuerda: puerto 2106, mismas funciones que cPanel. No te asustes por el nombre.
Espero que este artÃculo te haya sido de gran ayuda. Si tienes alguna duda, déjala en los comentarios (si los hay) o contacta con tu soporte técnico. ¡Buena suerte con tu tienda!
