Stackwise documentation

What Stackwise is and is not

Stackwise is a WordPress plugin that audits the plugins on your site. It reads each plugin and checks it against the others, your PHP version and your WordPress version.

It looks for duplicate functions and classes, bundled libraries used more than once, competing script and style handles, hidden plugin dependencies, abandoned scheduled jobs and plugins that have not been updated for years. It also checks what each plugin costs on your front page.

Stackwise reads. It never edits another plugin’s files. Its findings, measurements and explanations remain available without a trial expiry or a subscription.

The free plugin provides the audit and the guidance. Writing fixes, switching off plugin features and written reports require the relevant paid service and, for fixes, the separate Applier download.

Install and first scan

Install Stackwise

You can install Stackwise from the WordPress.org plugin directory. You can also download the zip from creaholik.com/stackwise and install it from Plugins in your WordPress admin area.

After activation, open Stackwise from the top-level menu in the WordPress admin area. You need the WordPress manage_options capability to use the audit.

Run the first scan

On a new installation, choose Scan this site. Stackwise reads the installed plugins in stages. It checks their files, registrations, dependencies, scheduled jobs and update information. It also checks compatibility with the PHP and WordPress versions running on the site.

The scan does not change plugin files or deactivate plugins. Its results are shown on the Stackwise screen and are retained until a later scan changes them.

Timing your site

When you measure plugin cost, Stackwise loads your own front page once for each plugin, with that plugin excluded. It compares the result with a baseline. This is a measurement of your site, rather than an estimate based on file size.

The timing request is a loopback request to your own site over HTTP. It is not sent to Creaholik or another external service. A page cache, object cache, server load or another request running at the same time can affect the result. Stackwise reports a noise floor and marks results that cannot be compared reliably.

Timing results are cached on the site until you measure again. A new measurement replaces the previous one.

Reading the Overview

The Overview starts with what to do next. It puts updates first, followed by findings that need attention. This helps you avoid treating every result as an emergency.

Urgent, worth doing and fine

  • Urgent findings can stop a site working or cause a serious conflict.
  • Worth doing findings are useful improvements or risks that need a decision.
  • Fine findings do not need action at present.

The Overview also shows counts for critical, high, medium and low findings, plugins that other plugins depend on, and the slowest measured plugin. A count is not a prediction of damage. Read the explanation beside the finding.

Updates tab

The Updates tab puts available plugin and WordPress updates first. Stackwise checks an update where it can and gives each one a verdict.

Update verdicts

  • Safe means Stackwise found nothing this site calls that the new version removes.
  • Check means the update changes something worth reviewing. It is not a claim that the update will fail. Read the details and test the site where appropriate.
  • Breaking means the update appears to remove code that another plugin calls.
  • Unknown means the plugin is not from the WordPress.org directory, so Stackwise cannot read the new version before it is installed.

Guided updates

You can check an individual update or use the guided update controls. Stackwise shows which plugins depend on the plugin being updated and records whether an update was taken or held back.

Guided updates are free. They are not restricted to a paid plan. Updating a plugin may still require a backup and your normal testing process.

If WordPress itself has an update, Stackwise shows it at the top. It also warns when the new WordPress version requires a newer PHP version than the server is running.

Fixes tab

The Fixes tab lists conflicts that can sometimes be settled from outside the plugins involved.

What Stackwise checks

  • Duplicate functions and classes. Stackwise indicates whether loading both could cause a fatal error or make one plugin stop working.
  • The same bundled library included by more than one plugin, including which copy is likely to run.
  • Script and style handles registered by more than one plugin. These conflicts can affect controls such as colour pickers and date fields.
  • Plugin dependencies that have not been declared clearly.

Generated fixes

A generated fix is a small PHP file placed in its own plugin-child folder. It loads before the plugin it corrects and changes the relevant registration or behaviour without changing the original plugin’s files.

The Applier is a separate download from creaholik.com/stackwise. It is required to write generated fixes. Writing fixes is available on a paid plan and uses that plan’s monthly file allowance.

Before a generated file counts, Stackwise tries it in a sandbox copy. If it fails a safety check, the file is discarded and does not count. You can switch a generated file on or off, or delete it, from the Stackwise screen.

The WordPress.org build can identify and explain possible fixes, but it does not write them.

Trim tab

The Trim tab breaks down a selected plugin into features that Stackwise can identify. It may show hooks, shortcodes, scripts, styles, content types, taxonomies, scheduled jobs and API routes.

On a paid plan with the Applier installed, you can switch off some features from outside the plugin. A switched-off feature can be turned back on. Warnings explain when switching off a feature will stop scheduled jobs, API routes or shortcodes.

Features that are not offered as safe to switch off

  • Features that own post types or taxonomies. Switching them off could hide entries.
  • Features whose code another plugin uses.
  • The foundation of a plugin on which the rest of that plugin is built.
  • Features that Stackwise cannot identify as something WordPress can switch off.

Orphaned scheduled jobs

Stackwise identifies scheduled jobs left behind by plugins that have been deleted. You can clean up orphaned jobs from the admin screen. This cleanup is free in every build and is recorded in History.

Dormant jobs are different. They belong to an installed plugin that is not currently listening for them. Stackwise reports these for information and does not offer to remove them.

Optimize tab

The Optimize tab collects practical improvements in one place. Each item is marked as something to do or optional, with the reason and suggested steps. You can dismiss an item until the next scan.

Per-plugin speed measurement

Stackwise measures plugin cost by loading your own front page once with each plugin excluded. It compares those requests with a baseline and shows the difference in milliseconds where the difference is large enough to be meaningful.

The noise floor is the amount by which normal requests vary without a plugin being responsible. Results below that level are labelled accordingly. A plugin may also be marked as not measured or unknown when there is not enough information for a fair comparison.

What the measurement cannot tell you

It does not measure every page, every visitor or every hosting condition. It measures the front page during the requests made by Stackwise. Caches, network delays, server load and conditional plugin behaviour can affect the result. Treat it as evidence about this site at that time, not as a permanent ranking.

The deactivation guard

Before you deactivate a plugin, Stackwise checks whether other installed plugins depend on it. If it finds a dependency, it names the plugin and explains what may stop working.

This guard is free. It does not deactivate or edit anything for you. It gives you the information before you make the change.

History

History is the journal of changes made through Stackwise. It records events such as plugin and WordPress updates, generated files, feature changes, child plugin changes, cron cleanup and dismissed findings.

Where an action can be reversed, History shows Undo. For example, you can undo an orphaned cron cleanup or turn a generated child file back on. A plugin update cannot be undone by Stackwise because it does not keep the previous plugin package. When undo is not possible, the journal gives the reason.

Licence tab: accounts, plans and allowances

An account is optional. The audit, measurements and explanations work without one. If you connect an account, the Licence tab shows the site, plan, allowance and connection status.

Plans are managed on Creaholik Control. Payment, plan changes and cancellation take place on Stripe’s own pages. Card details are not entered on your site or in Stackwise.

PlanSitesGenerated files per monthReports per monthPrice
Free102$0
Pro3306$19 per month or $190 per year
Enterprise2525050$99 per month or $990 per year

Site counts are a standing cap for the account. File and report allowances belong to the account and reset each month. A report beyond the monthly report allowance is counted as one generated file. A generated file that fails a safety check is discarded and does not count.

There is no Agency plan. Larger requirements are quoted rather than listed as another plan.

The Enterprise portfolio screen is not currently available. It is not part of this documentation.

Privacy and data

Stackwise uses one external service, Stackwise Control at creaholik.com, and only after you connect an account.

When an account is created or used

  • Your email address and password are sent to creaholik.com over an encrypted connection. Your password is not stored on your site.
  • If you sign in with Google or GitHub, the provider handles the sign-in in your browser. Your password is not sent to your site or to Creaholik.
  • When you connect the site, its address and the Stackwise version are sent so the site can claim a seat. The site receives its own revocable token.
  • Plan checks send the site address and plugin version at most once an hour, and when you open the Licence tab.
  • When you request a generated fix or written report, Stackwise sends the finding, the involved plugin names and a bounded section of source code around the relevant lines. The source is from publicly distributed plugins.

Optional reporting

Reporting is off by default. If you switch it on in the Licence tab, Stackwise reports installed plugin names and versions, conflicts found, and actions taken, such as fixes written, features switched off, updates taken or updates held back. You can switch it off again at any time.

A site that has not connected an account sends no reporting data, including no version, count or usage ping.

What is never sent

Stackwise does not send your posts, users, settings, uploads, database, visitors’ data, wp-config.php, theme code or your own plugin code.

WordPress.org may receive the normal update requests made through WordPress’s own update APIs. Timing requests go to your own site. Read the terms and privacy policy for more information.

Troubleshooting

The speed result looks wrong

Check whether a page cache, object cache or hosting process affected the requests. The timing request loads your own front page over HTTP. Run the measurement again when the site is quiet and compare the result with the stated noise floor. Results below the noise floor are not a reliable difference.

The timing request cannot complete

Your site must be able to load its own front page from the server. Check loopback requests, firewall rules, basic authentication, maintenance mode and server restrictions. Stackwise cannot measure a plugin when the site cannot complete the required request.

The account is disconnected

Open the Licence tab and choose Test the connection or Refresh. Check that the site can reach creaholik.com and that the account still has an available site seat. The site has its own token, so reconnecting or revoking one site does not require a shared licence key.

A generated fix was discarded

A generated file is discarded when it fails one of Stackwise’s safety checks. It does not count against the file allowance. Read the finding again and check whether the involved plugins have changed. If the issue remains, update the relevant plugins first or review the finding manually.

Questions people ask

Does Stackwise change my plugins?

No. Stackwise never edits another plugin’s files. The separate Applier can write a new plugin-child file outside the original plugin.

Do I need an account to scan my site?

No. Scans, findings, measurements and explanations work without an account.

Why does Stackwise ask to load my front page?

It uses your own front page to measure the difference made by excluding each plugin. The request goes to your site and nowhere else.

Is a “check” update unsafe?

Not necessarily. “Check” means the update changes something worth reviewing. It is different from “breaking”, which means Stackwise found code another plugin calls that the new version appears to remove.

Can Stackwise fix every conflict?

No. Some conflicts can be settled from outside the plugins, but others need an update, a plugin setting or a decision by a developer. Stackwise explains the finding and says when it cannot write a fix.

Can I switch off any plugin feature?

No. Stackwise does not offer features for switching off when they own content, are needed by another plugin, form the plugin’s foundation or cannot be safely controlled.

What happens when I exceed my allowance?

Stackwise shows the allowance before an action that uses it. A generated file cannot be written after the file allowance is reached. After the report allowance is reached, a report counts as one generated file instead.

Can I remove Stackwise after the scan?

Yes. The audit is not required for your plugins to run. Any generated child files or feature changes made through the separate Applier should be reviewed before removing the component that manages them.