| 开发者 | dpknauss |
|---|---|
| 更新时间 | 2026年10月28日 06:27 |
| 捐献地址: | 去捐款 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPL-2.0-or-later |
| 版权网址: | 版权信息 |
wp-content/plugins/.Keel applies its starting choices and gives you one screen to review them. Comments, trackbacks, and pingbacks are turned off; public author archives are hidden; other sites cannot put yours inside a frame; and new uploads get lowercase filenames. Settings that could affect another service you rely on are left off until you enable them. Nothing is deleted. Keel does not edit or remove your posts, pages, media, users, or comments. Disabling comments hides them and closes the forms; turning the setting off brings them back. Uninstalling removes only Keel's own settings. Everything Keel does is visible and reversible, and each setting explains its practical effect before you change it. The default most likely to surprise you is frame protection: if another site or service is meant to display yours in a frame, that frame will usually show as a blank box. Set Frame options to "Leave unchanged" to allow it. Also review the settings after activation if a service publishes to your site through XML-RPC or depends on a feature you intend to turn off.
Read the message in Site Health. Keel tells you whether a secure fix is available for the version of WordPress you are on, whether WordPress is offering it, and whether something is preventing automatic updates. If the install button is offered, an authorized administrator can use it to install that fix. If there is no secure fix, Keel says so clearly; plan an upgrade to a newer version rather than assuming one exists.
Keel blocks outgoing email outside production by default. This protects real customers and clients when a live database is copied to staging or a local machine. It does not block email on your live site. Turn Non-Production Email off in Settings → Site Defaults when your test site needs to send email.
Yes. Keel is built for independent sites, agencies, freelancers, and multisite networks. On a network, a Super Admin uses Network Admin → Settings → Network Policy to choose which defaults apply everywhere. The policy is visible and locked on each site, but it does not destroy the local choices underneath it; remove a policy later and each site returns to its own saved choice. Passwords are the one setting that works differently on a network. The setting is stored per site, but WordPress keeps one list of users for the whole network, so a password set on any site becomes that person's password everywhere. For one rule across the network, set the password policy in Network Policy.
Usually, yes, but choose one plugin to own any particular setting. Keel helps by showing likely overlaps in Site Health, so you can compare the two instead of discovering a disagreement later.
Yes. Separate plugin and theme controls offer Enabled, Disabled, and Leave unchanged. Both default to Leave unchanged, preserving WordPress's per-item choices and other filters. Explicit choices do not rewrite those per-item settings; later filters and global update restrictions still apply. There is no minor-only channel for plugin or theme releases. On multisite, network policy wins, otherwise the main site's Keel setting decides for the shared files. Site Health → Status, under Update diagnostics, reports the cached filter decisions, not installation guarantees.
WordPress's strength meter advises the person typing but cannot refuse a password, and passwords set through the REST API, WP-CLI, or a form without scripts never meet it. Keel instead checks length, known breaches, a blocklist, and personal details such as your own name on the server, where the checks cannot be bypassed.
Yes. Go to Settings → Site Defaults and use Download JSON under Export Settings and Diagnostics. The authenticated download includes validated policy choices and cached diagnostic summaries, with unknown evidence marked explicitly. It excludes site/user identifiers, raw option records, callback paths and full plugin/theme inventories. On multisite, network-management authority is required. Review the file before sharing it; downloading does not refresh diagnostics or run update checks.
Yes. Many defaults can be set with a wp-config.php constant or a filter, for example KEEL_DISABLE_HIBP or KEEL_ALLOW_NONPRODUCTION_MAIL. A constant wins over the settings screen, and the screen shows when a setting is being overridden. The full list is in the plugin's documentation on GitHub.
keel_password_rescreen_skip_roles filter can leave subscribers out.changelog.txt in the plugin's repository: https://github.com/dknauss/keel/blob/main/changelog.txt.get_core_updates(), which discards every offer flagged for automatic installation — and a same-line security patch is only ever offered that way. So the screen has always listed the newest release and never mentioned the patch. Keel adds it back, directly below the automatic-update settings that decide which release the site would take.null from WordPress's upgrader was reported as a successful install. Core documents a version string on success, so null establishes nothing./?author=N still disclosed the author nicename, and attachment pages still rendered, on sites with those defaults enabled. Both redirects registered on template_redirect at the default priority, where core has already registered redirect_canonical during load — so they lost the tie on registration order every time. Both now run at priority 9./wp/v2/comments/123. The filter covering every comment listing does not cover the single-item REST route, which reads its row without building a query.tests/hook-precedence.php and tests/route-coverage.php, which check that a registration wins its hook and covers its routes rather than merely existing. The first two fixes above were invisible to the previous suite.get_core_updates() omits those offers, so following that button installed the newest release instead. Keel now asks core what that screen is showing, and distinguishes listed, hidden behind Show hidden updates, absent, and not yet known.WP_ENVIRONMENT_TYPE constant and wp_get_environment_type() reports the result, not the other way round.