WordPress网站无法访问排查是指通过检查服务器状态、域名解析、数据库连接、文件权限、插件主题、SSL证书及安全拦截等环节,定位并修复网站无法打开、白屏、超时或错误返回码等问题的过程。

基础网络与域名解析检查
使用手机热点或不同浏览器访问,排除本地网络、DNS缓存和代理导致的问题。
在命令行执行
ping example.com,检查域名是否解析到服务器IP。执行
nslookup example.com或dig example.com,查看A记录、CNAME记录是否正确。检查域名是否过期、实名认证是否通过、DNS解析是否被注册商或解析服务商暂停。
若域名解析到CDN,核对CNAME记录与CDN控制台中提供的地址是否一致。
服务器运行状态与资源检查
登录服务器SSH或云主机控制面板,确认实例处于运行状态。
执行
top、htop或free -m,查看CPU使用率、内存剩余量和系统负载。执行
df -h,检查磁盘空间是否已满,磁盘写满会导致数据库停止写入或服务异常。执行
systemctl status nginx apache2 php-fpm mysql mariadb,查看Web服务、PHP进程和数据库服务是否启动。执行
ss -tlnp | grep -E ':80|:443',确认Web端口是否处于监听状态。检查主机商控制台是否存在欠费、流量超标、安全隔离或分布攻破提示。
Web服务器与PHP错误日志
Nginx错误日志默认位于
/var/log/nginx/error.log。Apache错误日志默认位于
/var/log/apache2/error.log,具体路径以服务器配置为准。PHP错误日志可能位于
/var/log/php*-fpm.log或通过phpinfo()查看实际路径。在WordPress的
wp-config.php中加入以下代码开启调试日志:
define('WP_DEBUG',true);
define('WP_DEBUG_LOG',true);
define('WP_DEBUG_DISPLAY',false);访问网站后查看
wp-content/debug.log,根据PHP Fatal error定位异常插件、主题或核心文件。
数据库连接与数据表检查
打开
wp-config.php,核对DB_NAME、DB_USER、DB_PASSWORD、DB_HOST是否与数据库实际信息一致。使用命令行或数据库管理工具连接数据库,确认数据库服务可正常登录。
前台或后台显示“建立数据库连接时出错”时,优先检查MySQL服务是否运行、数据库用户权限是否正常。
使用数据库管理工具或
mysqlcheck命令检查并修复损坏的数据表。检查
wp_options表中的siteurl和home选项值是否与当前域名一致。检查数据库主机地址,如果使用远程数据库,确认防火墙和数据库用户远程登录权限是否开启。
WordPress文件权限与核心文件完整性
WordPress目录建议权限为755,文件建议权限为644,
wp-config.php可设为600或440。使用以下命令恢复基础权限:
find.-typed-execchmod755{}\;
find.-typef-execchmod644{}\;
chmod600wp-config.php下载与当前版本相同的WordPress安装包,解压后覆盖
wp-admin和wp-includes目录,保留wp-content和wp-config.php。将根目录的
.htaccess临时重命名为.htaccess_bak,重新访问网站,排除错误重写规则。检查文件所有者和用户组是否与Web服务器运行用户一致,例如Nginx或Apache运行用户通常为
www-data。
插件与主题冲突排查
进入
wp-content目录,将plugins文件夹重命名为plugins_off,刷新网站。如果网站恢复,说明问题来自插件,逐个将插件目录恢复原名,每恢复一个刷新测试一次,直至找到冲突插件。
将当前主题目录重命名为其他名称,使WordPress自动切换到默认主题,检查是否为主题代码错误。
检查
wp-content/mu-plugins目录,该目录中的插件会强制启用,若存在异常同样重命名处理。查看最近安装或更新的插件,删除或替换问题版本,避免直接恢复已知存在安全问题的插件。
SSL与HTTPS问题排查
浏览器提示证书错误时,检查证书是否过期、域名是否与证书匹配。
使用以下命令查看证书有效期:
openssls_client-connectexample.com:443-servernameexample.com|opensslx509-noout-dates
证书链不完整会导致部分浏览器或接口访问异常,通过在线SSL检测工具检查中间证书是否安装完整。
检查强制HTTPS的重定向规则是否形成循环,临时删除
.htaccess或Nginx配置中的重定向规则后测试。浏览器控制台出现mixed content警告时,将数据库中的
http://批量替换为https://,并更新静态资源地址。若使用CDN或反向代理,检查CDN侧证书是否有效、SSL模式是否设置为Full或Strict。
CDN、缓存与安全服务检查
清除CDN边缘缓存,或将域名解析临时指向源站服务器,判断问题是否来自CDN。
删除WordPress缓存插件生成的静态缓存目录,
wp-content/cache。若使用Redis或Memcached对象缓存,检查服务运行状态并执行清理命令。
查看WAF、防火墙或安全插件的拦截日志,将服务器IP、管理员路径或正常访问特征加入白名单。
使用Cloudflare等服务时,检查源站IP、端口、SSL模式以及防火墙规则是否匹配。
检查HTTP响应头中的缓存控制字段,确认浏览器是否加载了过期的错误页面。
恶意代码与安全排查
检查近7天内被修改的文件:
find.-typef-mtime-7
搜索常见的恶意代码特征:
grep-Rl"eval(base64_decode"wp-content/ grep-Rl"base64_decode"wp-content/
检查主机商是否因检测到恶意文件而暂停站点,或域名是否被搜索引擎标记为危险站点。
使用Wordfence、Sucuri等安全插件或在线扫描工具检查文件变更和后们。
发现恶意代码后,清理异常文件、重置所有管理员密码、更新核心程序和插件,并删除未知管理员账户。
常见HTTP状态码处理
500 Internal Server Error:优先检查
.htaccess规则、PHP内存限制、插件主题冲突和文件权限。502 Bad Gateway:检查PHP-FPM是否监听正确端口或套接字,确认PHP进程未超时或崩溃。
503 Service Unavailable:检查服务器资源是否耗尽、主机商是否限制请求量或站点是否处于维护模式。
504 Gateway Timeout:检查数据库查询是否阻塞、外部接口请求是否超时、PHP执行时间是否过短。
数据库连接错误:检查MySQL服务状态、数据库凭据、数据库主机名和端口配置。
白屏无输出:开启WP_DEBUG和WP_DEBUG_LOG,查看PHP错误日志,通常为语法错误、内存不足或编码问题。
重定向循环:清除浏览器Cookie,检查站点URL设置、HTTPS强制规则和代理层重定向是否冲突。