{"id":6102,"date":"2026-09-14T15:30:12","date_gmt":"2026-09-14T15:30:12","guid":{"rendered":"https:\/\/resultsaix.com\/blog\/?p=6102"},"modified":"2026-09-14T16:03:44","modified_gmt":"2026-09-14T16:03:44","slug":"resultsaix-membership-is-live","status":"publish","type":"post","link":"https:\/\/resultsaix.com\/blog\/resultsaix-membership-is-live\/","title":{"rendered":"ResultsAiX Membership Is Live In Your Bundle"},"content":{"rendered":"<div class=\"raix-sc-notice raix-sc-notice-info\">Bundle customers had this in their inbox the day it happened. Every update here is emailed to ResultsAiX Bundle customers as it lands, and everything in it is already theirs at no extra charge: every plugin, every update, and every plugin still to come. The product in this one: ResultsAiX Membership, live now after two extra days of testing. Not in the bundle yet? <a href=\"https:\/\/resultsaix.com\/bundle\/\">See everything it includes<\/a>, or <a href=\"https:\/\/resultsaix.com\/results-ai-membership\/\">get ResultsAiX Membership on its own<\/a>.<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Two weeks ago I told you Membership was landing in the next 48 hours, and that the delay was deliberate because for a lot of you this replaces a membership plugin you already depend on.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is here. <strong>It is in your dashboard right now.<\/strong> Open WordPress, go to Updates, and take it.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-vimeo wp-block-embed-vimeo wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"raix-embed-hold\" data-raix-consent=\"marketing\"><template><iframe loading=\"lazy\" title=\"Results AiX Membership Plugin Demo\" src=\"https:\/\/player.vimeo.com\/video\/1226558309?dnt=1&amp;app_id=122963\" width=\"860\" height=\"484\" frameborder=\"0\" allow=\"autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\"><\/iframe><\/template><p>This player sets marketing cookies. Loading it means you allow them.<\/p><button type=\"button\" data-raix-embed>Load this video<\/button><\/div>\n<\/div><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This is the biggest single plugin I have ever put in the bundle, so this update is long. I have split it by what you would actually do with it, in the order you would do it. If you are migrating from another membership plugin, skip to the migration section, because that is the part that decides whether the rest of it matters.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What To Do First<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Three minutes, and you have a working members area. You do not need Stripe, you do not need an import, and you do not need to read the rest of this page.<\/p>\n\n\n<div class=\"raix-sc-features\">\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#127991;<\/span><h3>1. Make a level<\/h3><p>Levels tab, Add Level. Call it Gold, Members, anything. That name is your access group.<\/p><\/div>\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#128274;<\/span><h3>2. Protect something<\/h3><p>Open any page and tick Protect This Content in the sidebar box, then choose the level.<\/p><\/div>\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#128065;<\/span><h3>3. Check it as a stranger<\/h3><p>Open that page in a private window. You should see your message, not the content.<\/p><\/div>\n<\/div>\n\n\n<div class=\"raix-sc-notice raix-sc-notice-warning\">Step three is the one everybody skips. <strong>Administrators see everything by default<\/strong>, so your site can look perfectly protected to you while being wide open to everybody else. Always check in a private window before you announce anything.<\/div>\n\n\n<section class=\"raix-sc-hero raix-sc-hero-gradient\"><div class=\"raix-sc-hero-in\"><span class=\"raix-sc-hero-eyebrow\">The part that decides everything<\/span><h2 class=\"raix-sc-hero-h\">Migrating From Your Old Plugin<\/h2><p class=\"raix-sc-hero-p\">Three clicks, read only, and it never modifies the plugin you are leaving. I moved my own site with 138 levels and 39,853 memberships in an afternoon, and the old plugin was off the same day.<\/p><\/div><\/section>\n\n\n\n<p class=\"wp-block-paragraph\">If WishList Member is, or was, on your site, its data is still sitting in your database. The Import \/ Export tab reads it and brings all of it across in four guided steps, showing you what it found before it touches anything.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Step 1, levels.<\/strong> 138 levels created, each matched by its original id, so re-running never duplicates anything.<\/li>\n\n\n\n<li><strong>Step 2, content protection.<\/strong> 531 pages and posts, 1 category and 152 folder rules collected for the next step.<\/li>\n\n\n\n<li><strong>Step 3, folders.<\/strong> 138 folders matched to real folders on disk and guarded, 12 skipped, 2 listed for you to check.<\/li>\n\n\n\n<li><strong>Step 4, members.<\/strong> 39,853 memberships across 8,520 people, in batches of 250, and it resumes if it is interrupted.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Then run Verification, which puts the old counts next to the new counts level by level, before you switch anything off. Do not skip it. It is the difference between knowing the migration worked and hoping it did.<\/p>\n\n\n<p><!-- IMAGE SLOT 1: the import wizard mid run. Clean re-shot preferred. --><\/p>\n\n\n<h3 class=\"wp-block-heading\">Why nobody notices the switch<\/h3>\n\n\n<div class=\"raix-sc-features\">\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#128273;<\/span><h3>No new logins<\/h3><p>Members are already WordPress users, so every password keeps working. Nobody is asked to reset anything.<\/p><\/div>\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#128290;<\/span><h3>Level ids survive<\/h3><p>Levels keep their original numbers, so checkout links, licence servers and sync tools need no changes.<\/p><\/div>\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#128197;<\/span><h3>Join dates survive<\/h3><p>Drip schedules stay where they were instead of dropping long standing members back to week one.<\/p><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Your old pages keep working too. Turn on compatibility mode and this plugin answers to <strong>seventeen of the old plugin&#8217;s shortcode names<\/strong>, plus <strong>nine of its action hooks<\/strong>, its PHP functions and its REST endpoint. Pages you built years ago carry on, and a licence server wired to the old API keeps getting answers.<\/p>\n\n\n<div class=\"raix-sc-notice raix-sc-notice-info\">Compatibility mode waits for the old plugin to go. Nothing changes while it is still active, because two plugins answering to the same shortcode names at once would be a mess. Deactivate the old one and it switches over on the next page load. Rolling back is the same two steps in reverse.<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">And the old tables stay put, because they are your rollback path. When you are ready, Retire The Old Tables renames them with a wlmretired_ prefix so nothing can read stale rows. <strong>Nothing is deleted<\/strong>, and Restore reverses it in one click.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Levels, Your Access Groups<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A level is a named group. Content is protected for levels, members hold levels, and a member can hold as many as you like. An access check passes when any one of them matches, so somebody holding Gold and Course Members sees everything either one unlocks. There is no limit on how many you create.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Expires after N days.<\/strong> Memberships added from then on lapse automatically. A daily task marks them expired, and 0 means never.<\/li>\n\n\n\n<li><strong>Allow free registration<\/strong> turns on a registration form for that level, which is how a free tier that feeds your paid ones works.<\/li>\n\n\n\n<li><strong>Per level redirects<\/strong> after login, after registration and after logout, each falling back to your global setting when empty.<\/li>\n\n\n\n<li><strong>Sort order<\/strong> decides which level wins when somebody holds several and only one redirect can apply.<\/li>\n\n\n\n<li><strong>Active or inactive.<\/strong> An inactive level grants nobody access without you having to delete it.<\/li>\n<\/ul>\n\n\n<div class=\"raix-sc-notice raix-sc-notice-success\">Deleting a level removes its member rows and detaches it from protected content, but content that was protected only by that level stays locked to administrators. It never silently goes public, which is the failure mode that actually costs you money.<\/div>\n\n\n<section class=\"raix-sc-hero raix-sc-hero-gradient\"><div class=\"raix-sc-hero-in\"><span class=\"raix-sc-hero-eyebrow\">Protection<\/span><h2 class=\"raix-sc-hero-h\">Eight Surfaces, Not One<\/h2><p class=\"raix-sc-hero-p\">Most membership plugins lock the page and stop there. Then somebody finds the same content through the REST API, your RSS feed, or a cached archive listing.<\/p><\/div><\/section>\n\n\n\n<p class=\"wp-block-paragraph\">Pages and posts, custom post types, categories and tags, the WordPress REST API, RSS feeds, archives and search, comments, and files and folders on disk. All eight, from one tick.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Three ways to apply it: per item in the editor sidebar, in bulk across a whole content type, or by category. The category one is the one people underuse. <strong>Protect a category once and every post you publish in it later is members only<\/strong>, the moment you hit publish, with nothing to remember.<\/p>\n\n\n<div class=\"raix-sc-notice raix-sc-notice-warning\">The REST API switch matters more than it looks. Without it, content that is locked on the page is still readable by anything that asks WordPress for it directly. It is on the Settings tab with the RSS and archive switches, and I would leave all three on.<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">A caching plugin can also serve a member only page to a stranger, because the cache does not know who is asking. Exclude your protected pages from full page caching and that problem goes away.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Files And Whole Folders<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The file library.<\/strong> Upload on the Files and Folders tab and the file lands in a sealed folder inside uploads that the web server refuses to serve directly, so guessing the address gets you nothing. Members download through a checked link using the raxm_file shortcode, and download counts are tracked per file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Whole folder protection.<\/strong> Point it at any folder under your site root, a course area full of HTML and video for instance, pick the levels, and every file in it and its subfolders requires membership from then on.<\/p>\n\n\n<div class=\"raix-sc-features\">\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#128193;<\/span><h3>A folder per level<\/h3><p>Add a level and it gets a protected folder of its own, named after its slug. Downloads put there are members only the moment they land.<\/p><\/div>\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#9999;<\/span><h3>Change access live<\/h3><p>Edit Levels on any row, tick and untick, save. Nothing on the server is rewritten, because the guard only carries the folder id.<\/p><\/div>\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#128295;<\/span><h3>Re-apply if it vanishes<\/h3><p>If a guard file goes missing after a restore or an FTP tidy up, the row says so and Re-apply puts it back.<\/p><\/div>\n<\/div>\n\n\n<div class=\"raix-sc-notice raix-sc-notice-warning\">Whole folder protection writes an .htaccess file, and <strong>nginx ignores those<\/strong>. On nginx use the file library instead. Both the Files tab and Diagnostics warn you when that applies to your server, rather than letting you find out from a customer.<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Drip Content<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Drip unlocks content a set number of days after the member joined the level, so a course releases week by week without you scheduling anything. Set it per page in the editor, or wrap one section inside a page with the raxm_protect shortcode and a drip attribute, which is how you build a single course page that fills in over time.<\/p>\n\n\n<div class=\"raix-sc-notice raix-sc-notice-success\">The clock is per member, counted from their own join date. Somebody who joins today starts at week one today, while somebody who joined in January is already at the end. And because imported members keep their original join dates, a migration does not restart everybody&#8217;s course.<\/div>\n\n\n<section class=\"raix-sc-hero raix-sc-hero-gradient\"><div class=\"raix-sc-hero-in\"><span class=\"raix-sc-hero-eyebrow\">Payments, and they are optional<\/span><h2 class=\"raix-sc-hero-h\">Charging For Access, Five Ways<\/h2><p class=\"raix-sc-hero-p\">Your own Stripe account plus JVZoo, Warrior Plus, ClickBank and PayPal. All five feed one member record and one ledger. The money goes straight to you and I take no cut of any of it, ever.<\/p><\/div><\/section>\n\n\n\n<p class=\"wp-block-paragraph\">None of this exists until you connect something. No Payments tab, no price fields on a level, nothing new on your registration forms. <strong>If you run a free members area you cannot tell payments were ever added<\/strong>, and that is deliberate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Map a product code to the levels a buyer receives, and a bundle is simply a product with several levels ticked. On a sale the account is found by email or created, a set your password email goes out rather than a password in plain text, the levels are granted, the order is recorded, and your level actions, AI Mailer and WP Sync all fire.<\/p>\n\n\n<div class=\"raix-sc-features\">\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#128737;<\/span><h3>Forgery is ignored<\/h3><p>Every notification is verified the way the marketplace documents it. One that fails is logged and ignored.<\/p><\/div>\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#128257;<\/span><h3>Duplicates are caught<\/h3><p>The same transaction arriving twice is recognised, so nothing is granted or emailed a second time.<\/p><\/div>\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#128230;<\/span><h3>Unmapped sales are kept<\/h3><p>A sale for a product you have not mapped is logged, not lost. Map it, click Process Again, the buyer gets access.<\/p><\/div>\n<\/div>\n\n\n<div class=\"raix-sc-notice raix-sc-notice-warning\">One Warrior Plus trap worth avoiding: use the <strong>Notification URL field only<\/strong>. If you also fill in Key Generation with the same address, every sale arrives twice.<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Renewals, Failed Cards And The Daily Check<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Access is granted when the webhook confirms the payment, never because somebody reached a particular page. Closing the tab the second after paying cannot lose them the membership they just bought.<\/p>\n\n\n<div class=\"raix-sc-notice raix-sc-notice-success\">A failed renewal does not lock anybody out. The order is flagged Card Failing, Access Kept, the member gets a link to their own billing page to update the card, and Stripe keeps retrying for days. <strong>Access ends only if the subscription is genuinely cancelled.<\/strong> Cards expire constantly, and locking somebody out on the first failure loses a customer who would happily have updated their card.<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Then there is the daily check, and this is the bit I would want to know about if I were you. <strong>Levels are access. Subscriptions are billing. They drift.<\/strong> A webhook gets missed during an update, somebody cancels in the Stripe dashboard, a card finally dies for good. Once a day the plugin compares the two and fixes both directions, writing down everything it changed.<\/p>\n\n\n<div class=\"raix-sc-notice raix-sc-notice-warning\">It also <strong>refuses to remove access from more than a fifth of your live subscriptions in one run<\/strong>, and stops to tell you instead. A wrong key, or Stripe having a bad hour, looks exactly like every member cancelling at once, and a plugin that believed that would empty your membership site in a single night. API errors never revoke anything either.<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Bundles, Trials And Upgrades, In One Sentence<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A level action reads like English: when a member is added to X, add them to A, B and C. That one sentence is how a bundle hands out its parts, how a trial ends, and how an upgrade moves somebody.<\/p>\n\n\n<div class=\"raix-sc-features\">\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#127873;<\/span><h3>A bundle<\/h3><p>When a member is added to Gold Bundle, add them to Silver, Bronze and Toolkit.<\/p><\/div>\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#9203;<\/span><h3>A trial that ends<\/h3><p>When a member loses Trial, cancel their Pro after 7 days.<\/p><\/div>\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#11014;<\/span><h3>An upgrade<\/h3><p>When a member is added to Upgrade, move them to Pro.<\/p><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Rules fire for every join or loss whatever caused it: your checkout, a marketplace sale, the API, an administrator, or a registration form. They <strong>never fire during an import<\/strong>, because migrating ten thousand members should not set off ten thousand bundle rules.<\/p>\n\n\n<div class=\"raix-sc-notice raix-sc-notice-success\">A delayed rule is skipped if the member no longer holds the trigger level by the time it comes due. <strong>So a refund inside the delay window never hands out the reward.<\/strong> Pause keeps a rule but stops it firing, and deleting a rule never touches levels members already received.<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">If you came from WishList, your existing bundle relationships are imported automatically with the levels and marked as imported, so you can see which rules came across and which ones you wrote.<\/p>\n\n\n<section class=\"raix-sc-hero raix-sc-hero-gradient\"><div class=\"raix-sc-hero-in\"><span class=\"raix-sc-hero-eyebrow\">New in this release<\/span><h2 class=\"raix-sc-hero-h\">An AI That Builds, Not Just Answers<\/h2><p class=\"raix-sc-hero-p\">It reads your site&#039;s real numbers, so how many joined this week comes back with the figure. Then it builds the thing you asked for, with one click, while you watch.<\/p><\/div><\/section>\n\n\n\n<p class=\"wp-block-paragraph\">Ask it for a twelve month training course and it creates the level, twelve protected lesson pages dripped thirty days apart, an index page listing them, and then writes every lesson as a long form article while you watch the progress. It also builds a one page members area, a level, a level action, a marketplace mapping, or protection across a set of pages.<\/p>\n\n\n<div class=\"raix-sc-notice raix-sc-notice-success\">Nothing runs until you click the button underneath its answer, and a big build asks once more before it starts. A helper that creates twelve pages because you were thinking out loud is worse than no helper at all. Lessons are written one at a time so nothing times out, and a lesson that fails can be retried on its own.<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Keys go on the Settings tab. Claude, OpenAI and Gemini are supported with a fallback provider. <strong>If ResultsAiX Mailer or the ResultsAiX Theme already holds an AI key on your site, the helper uses that one and tells you so.<\/strong> Nothing has to be set up twice. Forty questions an hour per administrator, and chats are saved per user.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Your Members See<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">One shortcode, raxm_profile, and every member gets their own page. It opens with what they were last reading, then everything they can open grouped by the membership that unlocks it, then anything ending soon, then what they hold, then what else is available to them. Money never appears on it. A member&#8217;s page is not a billing statement.<\/p>\n\n\n<p><!-- IMAGE SLOT 2: the member profile page, front end, on a demo member. --><\/p>\n\n\n<p class=\"wp-block-paragraph\">Eight sections, rendered in whatever order you list them: recent, stats, unlocked, ending, levels, offers, files and activity. Limits, headings, column counts and the search boxes are all attributes, so you can cut it down to a simple list or run the full dashboard.<\/p>\n\n\n<div class=\"raix-sc-notice raix-sc-notice-info\">To offer a level on it, edit that level and tick Show This Level As An Offer, then give it a link and a sentence. Members who already hold it never see the offer. And levels you would rather nobody saw, holding levels, internal tags, anything ending in Expired, can be kept off the page completely while still granting whatever access they grant.<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">The Member Side Panel<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Click any member&#8217;s name on the Members tab or the dashboard and their whole story slides in. Not an email address and a join date. Levels held with quick actions on each, orders and total spent, last login, reading history, and a timeline of everything that has happened to them.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Twelve event types feed that timeline: joined, removed, cancelled, reactivated, expired, registered, login, order, refund, note, action and sync. Orders and totals are administrator only.<\/p>\n\n\n<p><!-- IMAGE SLOT 3: the member side panel. TEST member only, see the note at the top. --><\/p>\n\n\n<h2 class=\"wp-block-heading\">It Already Knows Your Other Plugins<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Both of these are detected automatically when they are active on the same site. There is nothing to connect.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>ResultsAiX Mailer.<\/strong> Every new member goes on a list and is tagged member- plus the level slug. Set the default list on the Integrations tab, then override it per level and per marketplace product, so your Warrior Plus buyers land on one list and your own buyers on another. A real join is a real opt in, so the welcome sequence runs. On a cancellation the tag is swapped for cancelled- plus the slug, never a permanent suppression, because somebody who cancels this year may buy again next year.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>WP Sync.<\/strong> ResultsAiX Membership appears as a source in the bridge builder. Pick the event, new member, cancelled, came back, rebilled or refunded, pick the level, and send it anywhere WP Sync reaches. Cancellations and refunds only go to the syncs that name them, so a new members sync never receives a refunder.<\/p>\n\n\n<div class=\"raix-sc-notice raix-sc-notice-success\">The member side panel shows their Mailer opens, clicks, engagement score and tags, merged into the same timeline. One panel answers both what did they buy and are they even opening my emails.<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Shortcodes And Developer Hooks<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Eight shortcodes cover the whole front end: raxm_protect, raxm_no_access, raxm_login, raxm_register, raxm_account, raxm_file, raxm_member_name and raxm_profile.<\/p>\n\n\n<div class=\"raix-sc-notice raix-sc-notice-info\">A pattern worth stealing: put raxm_no_access and raxm_protect on the same page, one after the other. Strangers see your sales pitch, members see the content, and you maintain one page instead of two.<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">For anything the plugin does not model, there are action hooks on every membership change, an access filter, a timeline hook you can write your own events into, and the family payment hook that lets other ResultsAiX plugins report on your money. <strong>Test mode never fires that one<\/strong>, because a practice purchase must never reach a revenue report as real money. A refund arrives as its own event with a negative amount, never as an edit to the original, and the transaction id is unique per charge so a replayed webhook cannot double count.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Safety, Licence And Diagnostics<\/h2>\n\n\n<div class=\"raix-sc-features\">\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#128721;<\/span><h3>Never fails open<\/h3><p>A lapsed licence locks the admin screens only. Protection, login, registration and checkout all keep running.<\/p><\/div>\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#129658;<\/span><h3>Diagnostics<\/h3><p>A read only report of versions, protection state, environment and every table with its row count. It never contains your API keys.<\/p><\/div>\n<div class=\"raix-sc-feature\"><span class=\"raix-sc-feature-icon\">&#128230;<\/span><h3>Uninstall keeps data<\/h3><p>Deleting the plugin keeps your levels, members and protection unless you explicitly tick the box. User accounts survive either way.<\/p><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">There are <a href=\"https:\/\/resultsaix.com\/docs\/results-ai-membership\/\">24 written guides in the docs<\/a> and the same 23 topics inside the plugin&#8217;s own Training tab, so the answer is always one click from the screen you are on.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Questions<\/h2>\n\n\n<div class=\"raix-sc-faq\">\n<details class=\"raix-sc-q\"><summary>Do I have to pay anything for this?<\/summary><div class=\"raix-sc-a\"><p>No. If your bundle is active it is in your account now, at no extra charge, with no upsell attached. That is the deal you joined on: every plugin released while you stay active lands in your account automatically.<\/p>\n<\/div><\/details>\n<details class=\"raix-sc-q\"><summary>Do I have to charge my own members?<\/summary><div class=\"raix-sc-a\"><p>No. Payments are entirely optional and completely invisible until you connect Stripe or a marketplace. If you run a free members area you would not be able to tell payments were ever added.<\/p>\n<\/div><\/details>\n<details class=\"raix-sc-q\"><summary>Do you take a cut of what I sell?<\/summary><div class=\"raix-sc-a\"><p>No. The money goes into your own Stripe account, or your own marketplace account. I add no fee of any kind and never hold or touch it. Stripe&#8217;s own processing fee is between you and Stripe.<\/p>\n<\/div><\/details>\n<details class=\"raix-sc-q\"><summary>Will my members have to log in again after migrating?<\/summary><div class=\"raix-sc-a\"><p>No. They are already WordPress users, so every password keeps working and nobody notices the switch. Original join dates come across, so drip schedules stay correct rather than restarting.<\/p>\n<\/div><\/details>\n<details class=\"raix-sc-q\"><summary>What if the import goes wrong?<\/summary><div class=\"raix-sc-a\"><p>The importer is read only and never modifies the plugin you are leaving, so rolling back is reactivating the old plugin and unticking compatibility mode. Run Verification first: it puts the old counts next to the new counts, level by level, before you switch anything off.<\/p>\n<\/div><\/details>\n<details class=\"raix-sc-q\"><summary>Does it work on nginx?<\/summary><div class=\"raix-sc-a\"><p>Everything except whole folder protection, which relies on .htaccess. Use the file library and the raxm_file shortcode for downloads there. Diagnostics tells you which server you are on.<\/p>\n<\/div><\/details>\n<details class=\"raix-sc-q\"><summary>What happens if my licence lapses?<\/summary><div class=\"raix-sc-a\"><p>Your content stays protected, members keep their access, non members stay locked out, and registration, login and checkout all keep working. Only the admin management screens lock. A membership site must never fail open, and a member halfway through a checkout must never hit a dead endpoint because a key expired.<\/p>\n<\/div><\/details>\n<details class=\"raix-sc-q\"><summary>How many levels and members can it handle?<\/summary><div class=\"raix-sc-a\"><p>As many as you like, and there is no limit on levels. I run 138 levels and 39,853 memberships across 8,520 people on my own site, and the members list handles it without falling over.<\/p>\n<\/div><\/details>\n<\/div>\n\n\n<div class=\"raix-sc-notice raix-sc-notice-success\">Every bit of it is already yours. Open your WordPress dashboard, go to Updates, and take it. If you are coming from another membership plugin, run the import first and leave the old one installed but inactive until you have checked a member and opened a protected page in a private window.<\/div>\n\n\n<div class=\"raix-sc-cta\"><div class=\"raix-sc-cta-body\"><h3>Not in the bundle yet?<\/h3><p>One bundle covers everything in these updates and everything that ships after them, at no extra charge, on your own WordPress site. 26 plugins and the ResultsAiX Theme, $347 for your first year, then $147 a year locked in for as long as you stay active.<\/p><\/div><a class=\"raix-btn raix-btn-primary\" href=\"https:\/\/resultsaix.com\/bundle\/\">See The Bundle Deal<\/a><\/div>\n\n\n<div class=\"raix-sc-cta\"><div class=\"raix-sc-cta-body\"><h3>Or just want the membership plugin?<\/h3><p>ResultsAiX Membership on its own, for three of your sites, with every feature on this page and a thirty day money back guarantee. No pro edition, no add ons, no upsell.<\/p><\/div><a class=\"raix-btn raix-btn-primary\" href=\"https:\/\/resultsaix.com\/results-ai-membership\/\">Get ResultsAiX Membership<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Two weeks ago I told you Membership was landing in the next 48 hours, and that the delay was deliberate because for&hellip;<\/p>\n","protected":false},"author":1,"featured_media":6103,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[5],"tags":[],"class_list":["post-6102","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-updates"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/resultsaix.com\/blog\/wp-content\/uploads\/2026\/09\/ResultsAIMemberAvailable.png","_links":{"self":[{"href":"https:\/\/resultsaix.com\/blog\/wp-json\/wp\/v2\/posts\/6102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/resultsaix.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/resultsaix.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/resultsaix.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/resultsaix.com\/blog\/wp-json\/wp\/v2\/comments?post=6102"}],"version-history":[{"count":2,"href":"https:\/\/resultsaix.com\/blog\/wp-json\/wp\/v2\/posts\/6102\/revisions"}],"predecessor-version":[{"id":6105,"href":"https:\/\/resultsaix.com\/blog\/wp-json\/wp\/v2\/posts\/6102\/revisions\/6105"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/resultsaix.com\/blog\/wp-json\/wp\/v2\/media\/6103"}],"wp:attachment":[{"href":"https:\/\/resultsaix.com\/blog\/wp-json\/wp\/v2\/media?parent=6102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/resultsaix.com\/blog\/wp-json\/wp\/v2\/categories?post=6102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/resultsaix.com\/blog\/wp-json\/wp\/v2\/tags?post=6102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}