¿Tu sitio WordPress carga lentamente? Es frustrante ver a los visitantes abandonar tu web antes de que termine de pintarse la primera pantalla. La velocidad es crucial para la experiencia de usuario y para el SEO, y aunque solemos culpar a los plugins o a las imágenes, uno de los cuellos de botella más habituales está un nivel por debajo: la configuración de PHP del servidor. En esta guía vamos a 91. 通过 PHP 设置加速 WordPress en 3 pasos: actualizar la versión de PHP, ajustar las directivas clave (memory_limit, max_execution_time, upload_max_filesize) y activar OPcache. Todo con fragmentos de código reales y una forma objetiva de medir la mejora.
Antes de tocar nada: mide tu punto de partida
Para saber si un cambio funciona hay que medir antes y después, no fiarse de la sensación. Dos herramientas gratuitas bastan:
- PageSpeed Insights (pagespeed.web.dev): apunta el valor de TTFB (tiempo hasta el primer byte) y de LCP. El TTFB es el que mejor refleja el trabajo de PHP: es lo que tarda el servidor en generar la página.
- Query Monitor (plugin gratuito): en la barra de administración te muestra el tiempo de generación de página en segundos y el pico de memoria consumida en cada carga.
Anota esos números. Al final de la guía repetirás la medición en las mismas páginas y sabrás exactamente cuánto has ganado.
Paso 1: comprueba y actualiza tu versión de PHP
Si solo pudieras hacer una cosa para acelerar WordPress vía PHP, sería esta. Cada versión mayor de PHP es notablemente más rápida que la anterior: el salto de PHP 7.4 a PHP 8.x trajo el compilador JIT y mejoras de rendimiento reales en WordPress, además de años extra de soporte de seguridad. Un WordPress sobre PHP 8.2 u 8.3 sirve más peticiones por segundo que el mismo sitio sobre 7.4, sin cambiar nada más.
Primero, averigua qué versión usas. En tu WordPress, ve a Herramientas > Salud del sitio > Información > Servidor: ahí verás “Versión de PHP”. Si estás por debajo de 8.1, toca actualizar.
La actualización se hace desde el panel de tu hosting, no desde WordPress:
- Haz copia de seguridad completa (archivos y base de datos). Es un cambio reversible, pero mejor con red.
- Entra en tu panel de hosting. En cPanel busca “Select PHP Version” o “MultiPHP Manager”; en Plesk, “Configuración de PHP” dentro del dominio; en IONOS, SiteGround o Webempresa hay un selector equivalente en los ajustes del sitio.
- Selecciona la última versión estable soportada por tu hosting (idealmente PHP 8.2 o 8.3) y guarda.
- Navega por tu web y tu escritorio de WordPress durante unos minutos. Si aparece un error fatal, casi siempre es un plugin o tema antiguo incompatible: vuelve a la versión anterior de PHP desde el mismo selector, actualiza o sustituye el componente conflictivo y reintenta.
Qué mejora: todo el tiempo de proceso del servidor. Es el ajuste con mayor impacto de los tres, y además cierra vulnerabilidades de versiones sin soporte.
Paso 2: ajusta las directivas clave de PHP
PHP funciona con límites configurables. Si se quedan cortos, WordPress se arrastra o directamente falla; si están bien dimensionados, el sitio respira. Las tres directivas que importan:
memory_limit: memoria máxima por proceso PHP. Con temas visuales, WooCommerce o muchos plugins, 128M se queda corto; 256M es el valor recomendado hoy.max_execution_time: segundos que puede ejecutarse un script antes de ser cortado. Afecta a importaciones, copias de seguridad y actualizaciones grandes. 60-120 segundos es razonable.upload_max_filesize(y su parejapost_max_size): tamaño máximo de subida. Si no puedes subir un tema o un vídeo, es esto.
Puedes fijarlas en tres sitios, según el acceso que te dé tu hosting. Elige uno solo, no los tres a la vez.
选项 A:php.ini(首选方式)
许多共享主机允许你编辑一个 php.ini 从控制面板中(或者 PHP 选择器将这些选项作为可编辑字段提供)。值将如下所示:
memory_limit = 256M
max_execution_time = 120
upload_max_filesize = 64M
post_max_size = 64M
选项 B:wp-config.php(用于 WordPress 内存)
WordPress 在 PHP 之上定义了自己的内存上限。编辑 wp-config.php 通过 FTP 或文件管理器,并在 /* That's all, stop editing! Happy publishing. */:
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
第一个设置公共站点的内存;第二个设置管理后台的内存,后者通常需要更多。下面我们专门用一节来讨论内存限制,包括典型错误及其解决方案。
选项 C:.htaccess(仅适用于带有 mod_php 的 Apache)
如果你的服务器是 Apache 并将 PHP 作为模块运行,你可以在 .htaccess 的根目录:
php_value memory_limit 256M
php_value max_execution_time 120
php_value upload_max_filesize 64M
php_value post_max_size 64M
注意:在带有 PHP-FPM 的服务器(大多数现代主机)上,这些行会导致 500 错误。如果你的网站在保存它们时崩溃,请删除它们并使用选项 A 或 B。
Qué mejora: elimina errores de memoria agotada, timeouts en actualizaciones e importaciones, y fallos al subir archivos grandes. No hace la web “más rápida” en cada visita, pero sí más estable bajo carga.
第 3 步:激活 OPcache,静默的加速器
每当有人访问你的网站时,PHP 都需要读取和编译数十个 WordPress 文件。 OPcache 将已编译的代码保存在内存中,这样后续请求就可以直接提供,无需重新编译。这是最便宜的性能提升方法:它包含在 PHP 中,只需激活即可。
检查你是否在 Herramientas > Salud del sitio > Información > Servidor (o pregunta a tu hosting). En la mayoría de paneles se activa con una casilla en el selector de PHP (“opcache”). Si tu hosting te permite ajustar su configuración, estos valores funcionan bien para WordPress:
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
Qué mejora: 整个网站中每个 PHP 请求的处理时间。结合更新的 PHP 版本,这是降低 TTFB 最有效的方法。
OPcache 加速 PHP 执行,但它并不能避免每次访问都执行 PHP:那是页面缓存的作用。它们是互补的层,我们将在对 WP Rocket,WordPress 中首选的缓存插件.
再次测量并比较
现在,在相同的页面上重复最初的测量:使用 PageSpeed Insights 测量 TTFB 和 LCP,使用 Query Monitor 测量生成时间和内存。通过 PHP 设置加速 WordPress 不是魔法,而是服务器物理学:完成这三个步骤后,通常会看到 TTFB 明显下降(通常仅通过 PHP 版本升级和 OPcache 就能下降 20-40%),并且内存和超时错误消失。如果之后你的网站仍然很慢,问题将出在其他层面:笨重的插件、未优化的图片或性能不足的服务器。在这种情况下,请检查 WordPress 需要什么样的主机 在继续堆积优化插件之前。
深入探讨:PHP 内存限制及其典型错误
在上述三条指令中, memory_limit 是日常中最常出现问题的,因此值得单独讨论。WordPress 是用 PHP 编写的,每次有人加载页面时,服务器都会执行一个消耗 RAM 内存的 PHP 进程。内存限制定义了该进程最多可以使用多少内存:如果一个脚本超出此限制,PHP 会立即终止它,页面会在加载中途崩溃或出现可怕的白屏。
明确的症状是屏幕上或服务器错误日志中的此消息:
Fatal error: Allowed memory size of 134217728 bytes exhausted
(tried to allocate 2348617 bytes) in /home/usuario/public_html/wp-includes/...
Ese número gigante son bytes: 134217728 equivale a 128M, que sería tu límite actual. Otras señales del mismo problema: la pantalla blanca de la muerte (WSOD) sin mensaje alguno, errores 500 intermitentes al guardar entradas o editar con el constructor, imágenes que se suben pero no generan miniaturas, y actualizaciones de plugins que se quedan a medias. WordPress también puede avisarte con un genérico “Ha habido un error crítico en esta web” mientras el detalle real queda en el log del servidor.
使用站点健康识别你当前的限制
在更改任何内容之前,请检查你的起始值。在你的仪表盘中,前往 工具 > 站点健康 > 信息 并打开两个部分:
- WordPress (o “Constantes de WordPress”): ahí aparece el valor de
WP_MEMORY_LIMIT,WordPress 自行设定的上限。 - 服务器: ahí verás el “Límite de memoria de PHP” real del servidor (
memory_limit)。
这一点很重要:有两个层面。WordPress 在公共站点默认使用 40M(多站点为 64M),即使服务器允许更多,服务器本身也有自己的上限。要使增加生效,WordPress 的值必须在服务器值之内。提高这两个值的方法正是第 2 步中的选项 A、B 和 C: php.ini 对于服务器的上限和 wp-config.php 对于 WordPress 的。
当主机设置限制时(以及如何处理)
在共享主机中,提供商会设置一个 memory_limit 服务器级别的最大值,你的任何指令都无法超越:你可以在 wp-config.php,但如果套餐只提供 256M,你就会停留在 256M。你处于这种情况的线索是:编辑文件后,站点健康值没有变化,或者主机服务商恢复了你的 php.ini。实际有三种选择:提交工单请求增加(许多主机商免费提供),升级到更高级的套餐,或迁移到资源更丰富的提供商。在决定之前,请查看我们的指南 WordPress 需要什么样的主机.
也要记住,更多内存并非万能药:如果一个插件存在内存泄漏,提高限制只会延迟错误发生。将内存限制视为优化的一部分,而非完整的解决方案。
常见问题
更新我的 WordPress 的 PHP 版本安全吗?
是的,只要你事先进行完整的备份。更改可以从主机控制面板中撤销:如果出现问题,你可以一键恢复到以前的版本。WordPress 以及绝大多数维护良好的主题和插件都兼容 PHP 8.1、8.2 和 8.3。真正的风险在于废弃的插件;如果某个插件在 PHP 8 下崩溃,这表明它无论如何都需要被替换。
如果我的网站在更新PHP后无法运行怎么办?
Casi siempre es un plugin o tema incompatible. Revierte la versión de PHP desde el selector del hosting para recuperar la web, activa el registro de errores o revisa el “error log” del panel para identificar el archivo que provoca el fallo, y actualiza o reemplaza ese componente. Después vuelve a subir la versión de PHP. Desactivar plugins por bloques (la mitad cada vez) también localiza al culpable rápidamente.
通过这些 PHP 设置加速 WordPress 可以获得多少速度提升?
这取决于起点。从 PHP 7.4 升级到 8.2/8.3 并启用 OPcache 通常可以将页面生成时间减少 20% 到 40%,这在 TTFB 和管理后台中尤为明显。内存和执行时间设置并不能加速每次访问,但它们可以消除工作高峰期的错误和崩溃。为了进一步缩短加载时间,下一步是使用整页缓存。
WordPress 推荐的 PHP 内存限制是多少?
对于简单的博客或企业网站,128M 就足够了。对于大多数使用可视化页面构建器和十几个插件的网站,256M 是最佳选择。拥有大量商品目录的 WooCommerce 商店,或需要频繁导入的网站,可能需要 512M。再往上增加通常没什么用:如果 512M 仍然耗尽内存,问题通常是插件有缺陷,而不是内存限制。
如果我的主机不允许我增加 PHP 内存限制怎么办?
首先联系客服:在许多主机服务中,将内存增加到 256M 只需要提出请求。如果所选套餐有硬性上限,请考虑升级套餐或迁移到资源更丰富的提供商,特别是如果您的网站能产生收入。同时,减少消耗:禁用不使用的插件,避免使用笨重的页面构建器,并保持主题更新。