Skip to content

FAQ

Short answers to the questions editors ask most often. If your question is not here, check the Common Issues playbook for step-by-step diagnosis, or scan the Glossary when a term is unclear.

Login & Session

Q: Why do I get logged out mid-session?

Sessions are bound to your IP address. When your network changes (VPN connect/disconnect, WiFi handoff, mobile tethering), the Backend sees a different IP and drops the session. Log in again.

Sessions also expire after 2 hours of inactivity. A scheduled task removes stale sessions on the server. Stay active or expect a new login each half-day.

Q: I lost my 2FA code — how do I log in?

During 2FA enrollment the Backend showed 8 recovery codes. Each code works once. Open the 2FA prompt, click Sign in with recovery code, enter one of the codes, and log in.

If you have no recovery codes left, a user with admin permission must reset your 2FA directly in the database — no UI button exists yet. The admin sets totp_secret to NULL and totp_enabled to 0 for your user in the users table; the next login restarts the 2FA setup.

Q: Login fails even with the right password. Why?

Fail2Ban blocks your IP after 5 failed attempts in 10 minutes. Wait 15 minutes and try again. If you share an IP with others (NAT, office router), someone else's failed attempts count against you — consider adding your office IP to the allowlist under Administration → General Settings → Security.

Pages & Publishing

Q: My change is not visible on the live site.

Three most common reasons, in order:

  1. You saved the change but did not publish it. Open the page in the Pagebuilder, click Publish, then Publish now.
  2. The API response cache is still serving the old page. Open Administration → Cache and click Clear cache.
  3. Your browser is caching. Hard-reload with Ctrl+F5 / Cmd+Shift+R.

See Drafts, Publishing, Versions for the full flow.

Q: I deleted a page by accident. Can I recover it?

Yes — as long as at least one Published version existed. Open Content → Pages, use the filter Show deleted, find the page, and click Restore. The page comes back in its last Published state; drafts made since the delete are lost.

Pages that were never published cannot be recovered.

Q: The Preview looks different from the live site.

The Preview renders the Draft; the live site renders the Published version plus cached assets. If they drift even after publishing, rebuild the CSS cache under Administration → Cache → Recompile CSS — Custom CSS from the Pagebuilder is baked into the frontend cache and needs a rebuild to propagate.

Pagebuilder

Q: I can't find the Widget Picker.

Open the Pagebuilder, select an empty Row (click its border), then click the + button inside the Column. The Widget Picker opens as a modal. If the Column has no + button, it already contains a Widget — select the Widget and use its toolbar to add siblings.

Q: Spacing settings don't apply.

Spacing is per breakpoint. Check that you are editing the right breakpoint — Desktop, Laptop, Tablet, or Mobile. The breakpoint switcher sits in the Pagebuilder topbar. A padding set on Desktop only applies above 1200px; below that, the breakpoint's own value (or its inherited value) takes over.

Q: My Custom CSS has no effect.

Custom CSS is compiled into the frontend cache. After saving, the CSS appears immediately in the Pagebuilder preview but not yet on the live site. Click Administration → Cache → Recompile CSS to push it live.

Also confirm your selector uses the wrapper class the Pagebuilder generates — .widget_{id} for widgets, .row_{id} for rows, .col_{id} for columns.

E-Commerce

Q: A product is not visible in the shop frontend.

Work through this list in order:

  1. Visibility flag: visible=0 hides the product. Set it to 1 under E-Commerce → Products → {product} → Visibility.
  2. Active flag: archived products are not listed. Set Active to Yes.
  3. Category assignment: a product without a category is not reachable via the menu. Assign at least one category.
  4. Stock: if Out-of-stock handling is set to Hide, an empty stock removes the product from listings.
  5. Cache: clear the API response cache under Administration → Cache.

Q: Order confirmation emails are not sent.

Check in this order:

  1. Administration → General Settings → Email Server: valid SMTP host, port, and credentials.
  2. Task Manager → Queue: look for email.send jobs stuck in pending. A stuck queue worker holds up every email.
  3. Log: Log → Filter: Email shows delivery errors — authentication failed, relay denied, rate-limited.

Languages & Translations

Q: A new page is missing in language X.

Pages have per-language variants. Creating a page in German does not auto-create the English variant. Open the page in Content → Pages, switch to the target language tab, fill in Title and Meta description, and save. Pagebuilder content also translates per language — the Widgets clone over but their text needs translation.

Q: URL translation is not working.

Each language needs a url_rewrite entry. Open Administration → URL Translations, find the page's base slug, and add a translation per language. Without the rewrite, the language-switcher falls back to the default URL and the page 404s in the other locale.

Performance

Q: The Backend feels slow.

Three common causes:

  1. APCu is off: without APCu the API response cache and rate limiter fall back to "always allow". Check Administration → Task Manager → System Status; the APCu lamp must be green.
  2. Log table is huge: the log table grows without bound. Truncate in the Log module (entries older than 90 days).
  3. Browser extensions: ad-blockers and privacy tools often inject scripts on every Backend page. Try a private window to isolate.

See also