---
title: "Troubleshooting — Egenverk Lagom"
description: "Known problems in Lagom and what to do: modules that will not switch on, request watch warnings, order search, CSS and JS rules and the skin."
canonical: https://egenverk.se/en/plugins/lagom/docs/troubleshooting
lang: en
updated: 2026-10-14
alternate: https://egenverk.se/plugins/lagom/docs/felsokning.md
---
# Troubleshooting

Egenverk Lagom · v0.33.2 · WordPress 6.5+, PHP 7.4+ · Updated 2026-10-14

## The Advanced tab or a module is missing

Scheduler tables, Database, CSS and JS per page and the switches for Lagom's own search index sit on the Advanced tab, which each administrator turns on for themselves. Click **Show advanced tools** at the bottom of Lagom's page, or tick the box with the same name on your profile. Old addresses of the Database and CSS and JS tabs lead to Advanced.

## A module will not switch on

Scheduler tables and Heartbeat, transients and sessions save as on only after a count. Click **Show what would be removed**, read the counts and switch the module on within ten minutes. If the module stays off, Lagom says "Scheduler cleanup is still off" or "Housekeeping is still off".

For Scheduler tables the count must cover exactly the values in the form. If you changed them after the count, or lowered a retention while the module is on, count again. The fields show the counted values until you save the tab.

## The request watch warns

- **WP-Cron has not run; counts wait until it does.** The figures are summed by WP-Cron. Check that WP-Cron runs on the site, for example that a server cron calls `wp-cron.php` if `DISABLE_WP_CRON` is set.
- **The watch directory is not writable; nothing is counted.** The web server must be able to write to `uploads/egenverk-lagom/watch/`.
- **A minute reached the 2 MB cap; some calls were skipped.** The figure for that minute is lower than the real number.

The notice about an endpoint over the limit stays on every admin screen until someone clicks **Dismiss**.

## Expired transients stay

WordPress does not remove expired transients from the database when a persistent object cache is active. Switch on Heartbeat, transients and sessions under **Performance**. The nightly housekeeping at 03:00 asks WordPress to remove them from the database anyway.

## Failed jobs do not go away

- Failed jobs are always kept at least 30 days, and 90 days by default.
- Action Scheduler older than 4.0 never removes failed jobs. With Scheduler tables on, Lagom then adds one daily job that does. The count shows which Action Scheduler version runs and who cleans.

## The Optimize button is missing

The reason is shown where the button would have been:

| Reason | What it means |
| --- | --- |
| the shop writes to it on every visit or order | WordPress's own tables, WooCommerce's and Action Scheduler's are not rebuilt while the shop runs |
| not an InnoDB table | A rebuild would lock the table completely |
| tables share one tablespace here | With `innodb_file_per_table` off, a rebuild frees nothing |
| larger than 500 MB | Rebuild it in a maintenance window, outside Lagom |
| little free space inside | The table has less than 20 MB or 20 % free, so a rebuild returns little |
| free disk cannot be checked | The database is on another server, so Lagom cannot measure the disk |
| not enough free disk | Twice the table's size must be free |
| belongs to another site in the network | The table belongs to another site on multisite |

If Lagom says **Another rebuild is running**, a rebuild is already under way. Wait until it has finished.

## Order search finds nothing or is slow

- Read the notice on the order list: it says how the term was read and whether part of it has no fast lookup. If the reading was wrong, click **Search all fields (slow)**.
- If orders are stored as posts and no other plugin answers, only order numbers are found fast until Lagom's own search index is built. Its switch is on the card when the Advanced tab is on.
- With HPOS, names and postcodes are found only if the site has an index on those columns. The card shows which indexes are missing.
- The index is used only once it is complete. With **Build only at night (00–06)** it takes longer. If a batch dies, the next admin page load restarts the fill.
- Order search shows at most 500 results.

## A page broke after a CSS or JS rule

1. Open the page with `?egenverk_lagom_assets=off`. If it works then, a rule causes the fault.
2. Click **Back to preview** or **Delete** next to the rule. Lagom's own page is never affected by rules, so you can always reach it.
3. Empty the page cache if Lagom asked you to: "Rule is live. Empty your page cache so visitors get the change."

For a plugin rule, you stop them all at once by deactivating Lagom or adding `define( 'EGENVERK_LAGOM_RULES_OFF', true );` to `wp-config.php`.

## A rule is refused

Lagom says why. The most common reasons:

- the file was not seen on that page type in the last scan. Scan the page type again with `?egenverk_lagom_assets=scan`.
- a file that depends on it would still load. Add rules for those files first.
- the file comes from a payment, shipping or similar plugin and the page type is a product, shop, cart, checkout or account page
- the page type is an order screen in wp-admin, order-pay or order-received

A rule on product, shop, product category, cart, checkout or account pages goes live only after a passed verification run. All but account pages need a full run with something in the cart, that is, on a test site.

## A plugin rule does nothing

- The must-use plugin must be installed and current. The card shows its state. Click **Install the mu-plugin** or **Update the mu-plugin**. If Lagom cannot write to the folder, make `wp-content/mu-plugins/` writable or copy the file there by hand.
- Plugin rules need pretty permalinks (**Settings → Permalinks**).
- The must-use plugin never acts in the admin, on AJAX, REST or cron, on feeds, sitemaps and searches, on cart, checkout and account pages, or on the addresses in the never-list.
- If `EGENVERK_LAGOM_RULES_OFF` is set in `wp-config.php`, or Lagom is not active, no plugin rule applies.

If a plugin is missing from the list, it is one that is never switched off: WooCommerce, Lagom, plugins for payment, shipping, cache, security, cookie consent, language or currency and code snippets, or a plugin another active plugin requires.

## PageSpeed gives no result

- The CSS and JS per page module must be on, and the page type must be scanned and public.
- Without an API key, Google allows only a few runs a day.
- If Google was sent on to another page, such as checkout with an empty cart going to the cart, no result is stored.

## The skin clashes with another plugin

- Add `?egenverk_lagom_skin=0` to the address to see the page without the skin.
- Add the screen's id to **Screens without the skin**, one per line.
- By default, other plugins' styles win. If you have switched on **Lagom wins over other plugins’ styles**, try switching it off.
- Each user can turn the skin off for themselves with **Use Lagom skin** on their profile.

If the fonts do not load and the server answers 403 for the files, check that the web server can read the files in the plugin's folder.

## Old addresses

Lagom used to sit under Tools. `tools.php?page=egenverk-lagom` and `tools.php?page=lagom` lead to `admin.php?page=egenverk-lagom`. `?lagom_skin=0` works like `?egenverk_lagom_skin=0`. More parameters are in the [Reference](reference).

If none of this solved the problem: [contact us](mailto:hello@egenverk.se).

## Resources

- [Product page](https://egenverk.se/en/plugins/lagom)
- [Changelog](https://egenverk.se/en/plugins/lagom/changelog)
- [Docs](https://egenverk.se/en/plugins/lagom/docs)
- Previous: [Data and privacy](https://egenverk.se/en/plugins/lagom/docs/data-and-privacy)
- Next: [Reference](https://egenverk.se/en/plugins/lagom/docs/reference)
