Keep s2member for Content Protection - but sell/manage Memberships via Memberpress

On my quest to get a modern checkout experience, plus proper email management - I think I have found a pretty good solution.
Keep s2member (or alternatively OptimizeMember) for content protection - but modernize the whole user experience by moving to MemberPress and Thrivecart for Checkout.

I’m still in the testing phase - and there are quite a few obstacles - but I will start to write down here how to transfer your site with active subscriptions over to Memberpress for the user side and keep s2member doing what it does best - protecting content but get rid of s2member where is simply lacks - selling content and managing memberships.

You will need s2member pro or OptimizeMember I guess - for the Export User feature - as Memberpress crashes on activation if you feed it with s2member created users. There is some bug on Memberpress side of things I guess (at least if you have thousands of active users) but you will need to import quite a few stuff anyhow.

Why move away from s2member for checkout and user management?
not well polished
lots of bugs relating to subscription payments
payments lost
countless bugs that lead to users not properly demoted
Proform checkout User Interface that looks like it’s from the 90s IMHO and confuses users so much I have over 50% dropouts here (vs 10% on paypal standard payment button) - of which around 30% come back to checkout via paypal instead of Stripe (effectively losing me around 20% turnover!). I have logged this data over 2 years now and really need a better solution than s2 pro can deliver.
Customer Complaints because of wrongly demoted accounts - and so on.
Very good and quick support (this goes for OPM, ThriveCart and MemberPress - but never got good support at s2. This forum is basically all there is).

Requirements to buy:

  1. S2member Pro if you have existing users. If you don’t have existing users - or very little yet - then s2member standard will do fine.
  2. ThriveCart - 599 USD - Optional - but if you want to have the ultimate checkout experience - go for it. Memberpress is clearly better than s2 here IMHO - but not up to the same standards as ThriveCart
  3. MemberPress Plus - 212USD first Year using WPBGNR coupon (I guess if you only have 1 website the cheaper plan will do), then I’m not sure how much they charge for renewal? I guess 50% of 249USD per year.

NOTE: This will only work if you do not require CCAPS or sell single posts/pages. In this case I have no clue how to proceed. I’m pretty sure it will work if all you need are membership levels. If the 10 by s2member pro are not enough - first migrate to OptimizeMember which supports up to 99 membership levels I think. I only have one membership level - meaning either someone is a premium user, or not (well he gets demoted to subscriber - and can renew for less money) - and Non Premium Users/Guests. I do have various pricing plans however depending how long you will have access to your account - subscription and fixed term - all of this should be supported.

Procedure - do this on a test site first - backups should be standard anyhow and backup during your setup so you can quickly go back in case!
1. Remove all users via SQL query: DELETE wu FROM wp_users wu INNER JOIN wp_usermeta ON wu.ID = wp_usermeta.user_id WHERE meta_key = ‘wp_capabilities’ AND meta_value NOT LIKE ‘%administrator%’
EDIT - this step is not needed - I only needed it because Memberpress loads 3rd party scripts to import users - and those scripts were blocked by my Content Security Policy (never thought an importer loads third party content so I did not check the console on activating the plugin - and simply reloading the page those bugs do not show in the console anymore).
2. Install MemberPress Plus, plus the Migration/Importer Plugin, plus the User Roles Plugin.
Notes: The Migration/Importer plugin will be used to reimport your users with the proper payments/Memberships as expected by Memberpress Plus.
The User Roles Plugin will be used to automatically add the corresponding s2member level to each user/also newly sold ones so you do not have to rebuild your whole website for Memberpress. I still think s2member is at least as good in this point as Memberpress (s2member seems more dev friendly here using lots of shortcodes, while Memberpress is more beginner friendly with User interfaces to block content, while still also allowing shortcodes but not so nice if / then commands as can be configured with s2member).

3. Import users - guides are e.g. here:


to be continued.

Detailed steps for me:

  1. Activate
  2. Go through all the settings and set them up properly, creating the new checkout pages, membership levels and so on.
    Sadly there is no export function. So this will take 1-XX hours depending on complexity of your site. (on your test page you may deactivate all emails the first time you try to reimport your users (if you have a couple thousands and do a two step approach with in the first step only running through a couple of tests users - then in second importing all past users on test page - then in third step actually doing all the imports on your live page.

–I’m not so sure yet how to handle Paypal IPN and duplicator for IPN.
–I’m not sure how to best clean up the UserMETA tables. Basically there are three options - manually, by deleting s2member and before deactiving the safeguards (you can directly afterwards install it again in order to have the content protection running again - and membership roles reactivated), by actually deleting the full usermeta table (note you lock yourself out too this way. If you have ftp access to your site - which you should it’s easy to create a new admin login however. However I’m not sure what happens to comments and if they are properly reattributed later.

Some Problems I’ve noted with MemberPress so far:

  1. Memberpress relies heavily on 3rd party scripts - be it from google, bootstrapcdn, various stuff served from cloudflare, jquery.com and more. If you employ a Content Security Policy this will break a lot until you add plenty of exceptions - some pretty wide. With GDPR regulations this is a big problem as it’s more or less not possible anymore to legally serve your website without asking for consent for all the third party scripts and style-sources. My CSP will more or less double in length if I keep using Memberpress.

  2. The way Memberpress sets EOT is much much more complicated. It’s good in a way because it gives it much more flexibility - but on the other hand is more complicated if things go wrong (like trying to import your s2member users). Luckily they did give things like adding new members by hand a lot of thought - that works way easier than with s2.

I have not found out yet how to sell membership time extensions that will be added to the already purchased time as with s2. I’m not sure if this is possible. I’ve contacted support to ask how to do it. If this is not possible I will actually stop here and try to find another solution.

  1. The checkout is pretty neat - but you will need one page per option more or less. If you want to sell access to your site for 1,2,3,5,10,25 years, plus 1 year and subscription - that would be one checkout page for each option! Double that if you give cheaper prices to registered users or each other option except coupons.
    The checkout asks many things - and I haven’t found a way how to cut down on the fields shown (opposite to s2 which asks way to little and adding custom fields in s2 is not really thought through/cohesive).
    So I would say - ThriveCart stays a must. Memberpress is probably better for most than s2 - but not nearly as polished as ThriveCart.

Well - I think it’s possible to migrate to Memberpress - and not too hard. Just set fake data for all the missing fields.

HOWEVER - I will not use Memberpress because the pricing options for renewals suck! It’s not possible to offer discounts for renewals except via coupons - in general the renewal system for memberships is really stupid/badly worked out.
So I will have to migrate to some other system - as I cannot change my pricing structure.
If I would start with a website I would definitely use Memberpress and use a completely different pricing system.
Now I also understand why Memberpress has no problems to set EOT using Thrivecart - it’s because the EOT is so inflexible. Problem is I guess that mose membership plugins are not flexible here - and that way Thrivecart will not adapt to those plugins that have a single date based EOT.

The differentiation between products and account is not good for my business model. It’s good if you really need it and easier than CCAPS - but would need a too big rework of my website concept which is not a good idea for me (been using the same model for 7 years now).

It doesn’t help me if 90% of what Memberpress does - it does it much much better than s2 - if the 10% it’s doing worse/not at all are needed for me.