A 60-second flowchart before you dive in
Most problems resolve in under a minute if you do four things first, in this order. Do these before you panic, search the forum, or email support.
- Check your SocietyPress version is current.
Settings → Aboutshows your version; the download page shows the latest. A lot of “bugs” are already fixed in a release you haven't installed yet. - Check your WordPress version is current.
Dashboard → Updates. Same reasoning. - Deactivate other plugins one at a time and retry. A surprising number of issues trace to a third-party plugin, not to SocietyPress.
- Switch to the parent SocietyPress theme temporarily. If the problem disappears, it's a child-theme customization issue.
If none of those helps, one of the issues below probably matches.
1. “The installer stops with a timeout error”
What you're seeing: sp-installer.php hangs at “Downloading WordPress…” or “Extracting SocietyPress…” and eventually shows a 504 or blank page.
Why: Your host's PHP max_execution_time is set to 30 seconds. The installer needs to download WordPress core (~20 MB) and the SocietyPress bundle (~8 MB) and extract both — on a slow connection that overshoots 30 seconds.
Fix: Ask your host's support to raise max_execution_time to 300 seconds. Or use the manual install path: download the .zip from the download page, unzip locally, upload plugin and theme folders through the WordPress admin.
2. “White screen of death after activating SocietyPress”
What you're seeing: The plugin activates successfully, then the admin (and sometimes the public site) shows a blank white page. No error message.
Why: Almost always a PHP memory limit. SocietyPress is a big plugin; 128 MB of PHP memory is the documented minimum but some shared hosts default to 64 MB.
Fix: Add this line to wp-config.php just before the “That's all, stop editing!” comment:
define( 'WP_MEMORY_LIMIT', '256M' );
If the white screen persists, turn on WordPress's debug log and check it:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
The log lives at wp-content/debug.log. The first error line tells you what's actually failing.
3. “CSV import says ‘file couldn't be read’”
What you're seeing: You upload your member CSV to Members → Import and get an error before the preview screen appears.
Why: CSV files from Excel on older versions of Windows are saved in UTF-8-with-BOM or Windows-1252 encoding. SocietyPress expects plain UTF-8.
Fix: Open the CSV in Excel, choose File → Save As, and pick CSV UTF-8 (Comma delimited) as the format. On macOS Numbers, the default export is already UTF-8 and this doesn't happen. On LibreOffice, check “Keep current format” and make sure UTF-8 is selected.
4. “Members imported but the tiers are wrong”
What you're seeing: Members came across from the CSV, but every member is on the default tier instead of their actual membership level.
Why: The tier names in your CSV don't match the tier names you set up in the SocietyPress setup wizard. The importer matches tier by name, not by some internal ID.
Fix: Two options:
- Rename tiers in SocietyPress to match your CSV exactly. Go to
Settings → Membershipand adjust the tier names. - Edit the CSV to match your SocietyPress tier names, then re-import. The importer will update existing members rather than duplicate them — matched by email.
5. “Renewal reminder emails aren't going out”
What you're seeing: Members are reaching their renewal date but not getting the automated reminder email. You've checked spam folders — nothing there either.
Why: Two common causes. First, WordPress's wp_cron system runs when someone visits the site — if your society site gets low traffic, cron tasks can stack up and not fire. Second, many shared hosts silently drop emails sent via PHP's built-in mail() function because of spam-prevention rules.
Fix:
- Install a transactional email plugin like WP Mail SMTP or FluentSMTP. Point it at a free-tier SMTP provider (Amazon SES, Postmark, Mailgun, SendGrid). This solves deliverability for good.
- Set up a real cron trigger instead of WordPress's built-in pseudo-cron. Your cPanel has a “Cron Jobs” tool; add one that hits
wp-cron.phpevery 15 minutes:wget -q -O - https://yoursite.org/wp-cron.php?doing_wp_cron >/dev/null 2>&1
6. “Members can't log in after migration”
What you're seeing: Everything looks right in the member list, but members can't log in with their old passwords.
Why: Passwords don't migrate — and shouldn't. ENS (and every other platform) stores passwords hashed. No one, not ENS, not us, not you, can recover the plaintext. This is by design: a migration that brought plaintext passwords across would be a security incident.
Fix: Every member sets a new password on first login via the standard “Forgot password” link. Send a notification email a few days before cutover explaining this clearly:
When our new site goes live on [date], please log in using the “Forgot password” link on the login page. Your membership and account history are coming with us — nothing is being lost. The password reset is a one-time step for security.
7. “The public site looks broken — no styling”
What you're seeing: Raw HTML with no colors, no layout, like the browser loaded the page without any CSS.
Why: Usually a theme issue. Either the SocietyPress theme (or a child theme) isn't activated, or a child theme is pointing at a missing parent.
Fix: Go to Appearance → Themes. The active theme should be the SocietyPress parent theme or one of its child themes (Heritage, Coastline, Prairie, Ledger, Parlor). If a default WordPress theme (Twenty Twenty-Five, etc.) is active, switch to SocietyPress. If a child theme is active but broken, switch to the SocietyPress parent first to confirm the base works, then re-activate your child theme.
8. “Payments aren't being recorded”
What you're seeing: A member pays for a renewal or event registration successfully through Stripe or PayPal, but the SocietyPress dashboard doesn't show the transaction.
Why: Stripe and PayPal use webhooks to notify SocietyPress that a payment succeeded. If the webhook URL isn't configured in your processor's dashboard, or if your host's firewall is blocking the incoming webhook request, payments process but don't get recorded on our end.
Fix:
- In your Stripe dashboard, go to Developers → Webhooks. Confirm there's an endpoint pointed at
yoursite.org/wp-json/societypress/v1/webhooks/stripe. - In PayPal, go to My Apps & Credentials, open your app, scroll to Webhooks. Endpoint should be
yoursite.org/wp-json/societypress/v1/webhooks/paypal. - Both dashboards show the last 30 days of delivery attempts. Check for 4xx or 5xx response codes — those indicate your site is receiving the webhook but returning an error.
- If deliveries aren't reaching your site at all, ask your host whether their firewall is blocking Stripe's or PayPal's IP ranges.
9. “The page builder won't save my changes”
What you're seeing: You edit a page in the page builder, click Save, get a success message, but reloading the page shows the old content.
Why: Caching. Either your hosting provider's CDN is serving the old page, a WordPress caching plugin is holding onto the old version, or your browser is showing a cached copy.
Fix: In order of likelihood:
- Open the page in an incognito/private window. If your changes appear, it's browser-side caching — hard-refresh (
Cmd+Shift+Ron Mac,Ctrl+Shift+Ron Windows). - If you have a caching plugin (W3 Total Cache, WP Super Cache, LiteSpeed Cache), clear its cache from the plugin's admin panel.
- If your host provides server-side caching (Cloudways, Kinsta, WP Engine), clear it from the hosting control panel.
10. “I deleted a page/event/member by accident”
What you're seeing: You clicked Delete on something important. Panic.
Why: Happens to everyone. Breathe.
Fix: WordPress and SocietyPress both use a Trash model for most deletions — things aren't actually deleted for 30 days. To recover:
- Pages:
Pages → Trash. Click Restore. - Members:
Members → Trash(same pattern). - Events: Same.
- Library items, newsletters, records: Same.
If you did a “Delete Permanently” by mistake, restoring from your host's daily backup is your last resort. This is why the full-site export at Settings → Export & Backup is worth running monthly — a known-good backup from two weeks ago beats scrambling through your host's backup interface at midnight.
Still stuck?
Three ways to get more help, in order of how fast you'll hear back:
- The community forum — other society admins have almost certainly seen your issue.
- Report a bug — if you're sure it's a SocietyPress issue and not a configuration problem.
- Email support — slowest, but always answered.