关于 troubleshoot-website
帮助 Hostinger 网站运维人员排查故障的技能,涵盖 Shared、Cloud 和 Agency 站点。它要求先只读收集证据,说明原因并取得用户同意后再修复,最后复查症状。
主要功能
- 01检查站点状态与外部响应
- 02按站点类型定位故障分支
- 03排查 WordPress、Node.js 与 PHP
- 04诊断 SSL、缓存及性能问题
- 05修复后重新验证结果
适用场景
- 01调查网站返回 5xx 或空白页面
- 02排查 SSL 证书或 DNS 指向问题
- 03分析 WordPress 插件变更引起的故障
- 04诊断 Node.js 构建失败或运行错误
MCP 相关
说明如何使用 Hostinger Connector 的 hosting、wordpress、agency-hosting、domains 和 dns MCP 服务读取状态并执行经同意的修复。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ hostinger/ api-mcp-server --skill troubleshoot-website安装后在 Claude Code 中输入/troubleshoot-website确认已加载。
详细介绍
排查网站问题
输入一个网站和一种症状,输出一个明确的原因、支持该原因的证据和解决方案。在说明原因且用户同意解决方案之前,只进行只读操作。
调用操作
- 在首次调用每项操作之前,先读取
search返回的inputSchema。如果下面的名称被拒绝并提示未知,请通过search搜索该步骤的功能(例如“ssl status”)。 - 使用
multi-execute批量读取,并通过$steps.<i>.<path>在步骤间传递值,例如"$steps.0.data.0.username"。批处理会在首次失败时停止。 - Hostinger Connector 将每个产品作为独立的 MCP 服务运行(
hosting、wordpress、agency-hosting、domains、dns),因此批处理只能串联来自同一服务的操作。如果search找不到某项操作,说明 Connector 中该产品组已关闭——请让用户启用它。
1. 查找网站
运行这两项查询,并在之后的每次调用中保留其结果:
- 使用
domain调用hosting_websites_list— 适用于 Shared 和 Cloud 套餐。筛选条件是子字符串匹配,因此要选择domain与用户询问的域名完全一致的条目。保留username、order_id和website_type;每项hosting_*和wordpress_*调用都以username+domain为键。 - 使用
domain调用agency-hosting_websites_list-plan— 适用于 Agency 套餐。保留details.uid(每项agency-hosting_*调用的website_uid)、details.type、details.ipv4和details.domains。
两项查询都找不到:该域名不是此账户中的网站 — 说明这一点,并展示它指向的位置(步骤 2)。
2. 从外部查看
与步骤 1 同时运行:
curl -sS -o /dev/null -w "%{http_code} ttfb=%{time_starttransfer}s %{redirect_url}\n" https://DOMAIN/
curl -sSI https://DOMAIN/
dig +short NS DOMAIN; dig +short A DOMAIN; dig +short CAA DOMAIN
- Hostinger 响应包含
platform: hostinger和panel: hpanel。如果缺少这些字段,或 DNS 指向其他位置,则流量没有到达此托管服务 — 转交给connect-domain技能。 - 证书或 TLS 错误 → SSL。
5xx、空白页面或错误页面 → 按网站类型。200但内容过时 → 缓存:hosting_cache_clear-website(也会清除 Hostinger CDN;如果 WordPress 位于子文件夹中,请传入directory),WordPress 还需调用wordpress_litespeed-cache_purge-lite-speed;Agency:agency-hosting_cache_clear-website。- 首字节响应慢 → 网站速度慢。如果位于 Hostinger CDN 后面,
x-hcdn-upstream-rt是源站自身的响应时间(秒);该值较小表示服务器不是瓶颈。
3. 按网站类型
website_type(Shared/Cloud)或 details.type(Agency)用于选择分支。builder 和 horizons 网站不受这些操作管理 — 请引导用户前往 hPanel。
Node.js (nodejs)
批量调用 hosting_get-deployment(包含最新构建及其日志、失败分析和已存储设置)、hosting_nodejs_runtime-logs(period: "1h",levels: ["ERROR", "WARN"])和 hosting_nodejs_list-environment-variables(仅列出键;值始终会被屏蔽)。在没有 hosting_get-deployment 的托管服务上,改用 hosting_nodejs_list-builds(per_page: 3)。
- 最新构建状态为
failed:hosting_get-deployment已包含analysis(每个构建只获取一次——API 每次调用都会重新运行分析,并且每分钟最多允许调用 5 次)。通常是因为检测到错误的框架、输出目录或缺少entry_file:将返回的buildSettings与项目进行比较,然后使用修正后的appType、outputDirectory、buildScript或entryFile重新部署;Git 部署会存储这些设置,因此后续推送也能正确构建。在托管服务上:针对该构建调用一次hosting_nodejs_analyse-failed-build,然后调用hosting_nodejs_build-logs;比较hosting_nodejs_build-settings,通过hosting_nodejs_start-build重新构建,并使用hosting_nodejs_update-build-settings存储这些值。 - 构建状态为
completed,但应用报错:查看运行时日志;早于last_deployed_at的条目属于上一次部署。如果代码读取的变量不在键列表中,使用deploy-to-hosting技能中的环境配置步骤修复。Access denied for user '…'@'::1'表示应用连接到了localhost——DB_HOST必须为127.0.0.1。 - 进程卡住:调用
hosting_nodejs_restart-application(重启但不重新构建)。
WordPress (wordpress)
调用带有 username 和 domain 的 wordpress_installations_list,获取安装的 id——所有 wordpress_* 调用中的 software 参数都使用此 ID。批量调用 wordpress_installations_check-if-are-valid(software_ids: [id],force: true)、wordpress_plugins_list-installed 和 wordpress_maintenance_show-status。
- 安装无效:
validation_error会指出问题。 - 更改插件或主题后出现故障:逐个使用
wordpress_plugins_deactivate停用可疑项(任务会排队——等待几秒),每次操作后重新执行步骤 2 中的检查,并重新激活未导致问题的插件或主题。 - 维护页面卡住:调用
wordpress_maintenance_toggle,并设置enabled: false。 - “Error establishing a database connection”:使用
domain调用hosting_databases_list;使用hosting_databases_repair修复损坏的表(在后台运行)。由于含有密钥的文件会被拒绝,无法通过 API 读取wp-config.php——如需检查凭据,请向用户提供hosting_databases_phpmyadmin-link。 - 内存或上传大小错误 → PHP。
静态网站或 PHP (other)
/返回403或404:调用hosting_files_list-website-and-directories,并设置max_depth: 1。index.html或index.php必须位于文档根目录;如果它们在下一级文件夹中,说明压缩包的目录层级多了一层——使用deploy-to-hosting技能将文件平铺后重新部署。- 使用
hosting_files_website-content读取.htaccess或其他配置文件。 - PHP 错误 → PHP。
PHP
hosting_php_get 会返回所有扩展和选项(约 25 KB),因此仅在遇到 PHP 问题时调用。hosting_php_update-version 用于切换版本。hosting_php_update-options 会静默地将值限制为套餐上限(hosting_php_get 中的 max),因此请读取已应用的值进行确认。Agency:调用 agency-hosting_php_list-options-for-website,然后调用 agency-hosting_php_replace-website-options——这是完整替换,因此请发送所有需要保留的自定义选项。
Agency 套餐网站
agency-hosting_websites_get 显示状态和配额,agency-hosting_websites_list-processes 显示失败的任务(SSL 设置、备份),agency-hosting_wordpress_settings 显示核心版本、LiteSpeed、对象缓存和维护模式。当 wordpress_installations_list 未返回该网站时,请从 wp-admin 管理插件。
SSL
Shared 和 Cloud,hosting_ssl_status:
not_installed或failed(last_error会说明原因):在hosting_ssl_install成功前,域名必须解析到 Hostinger,且任何 CAA 记录都必须允许letsencrypt.org。轮询状态,直到变为active或failed。installing或waiting_for_retry:请等待——再次发送安装请求会返回 422。- 免费的
*.hostingersite.com子域名使用平台证书;按设计,安装请求会返回 422。 - 证书状态为
active时,浏览器仍显示警告:如果is_https_redirect_enabled为 false,请使用hosting_ssl_toggle-https-redirect开启重定向;否则,页面会加载http://资源(混合内容),需要由应用进行更改。
Agency,每个域名都使用 agency-hosting_ssl_website-status:每个域名每七天最多可进行三次证书设置,每分钟最多可发起一次请求。调用 agency-hosting_ssl_install-website 或 agency-hosting_ssl_reinstall-website 前,请检查 agency-hosting_websites_list-processes,且绝不要循环重试。
网站速度慢
- WordPress:使用
wordpress_litespeed-cache_show-lite-speed-status和wordpress_object-cache_show-memcached-status。启用 Memcached(使用wordpress_object-cache_toggle-memcached)通常能快速见效。 - 其他网站:服务器缓存可能已关闭,也可能仍处于开发模式;这两种状态都无法通过读取操作查询。缓存已开启时,
hosting_cache_toggle-website设置enabled: true不会产生任何作用;hosting_cache_toggle-cacheless设置enabled: false会关闭开发模式。 - PHP 7.x 的运行速度明显慢于 8.x;如果应用支持,请通过
hosting_php_get提出使用受支持的 8.x 版本。 - Agency:使用
agency-hosting_metrics_list-order-resource-usage并设置time_frame_hours: 24,查看各网站的 CPU、内存和进程用量与套餐配额的对比。 - Shared 和 Cloud 的 API 不提供 CPU 或内存指标。如果证据表明问题与资源限制有关,请引导用户前往 hPanel 的资源使用量页面。
应用修复
说明原因、证据和建议进行的唯一一项更改,并且只有在用户同意后才进行更改。然后重新执行第 2 步的检查;如果有排队中的任务,先轮询其状态,以确认问题现象已消失。如果所需修复无法通过 API 完成,请明确说明,并指出对应的 hPanel 页面。
API 不支持的功能
- 网站备份和还原——请前往 hPanel 的备份页面。
- Shared 和 Cloud 套餐的 CPU、内存及进程用量。
- PHP 错误日志和访问日志。