atshiftWordPress Plugins Choose a product Freeform LoginUser Profile Fieldsatshift Membersatshift FieldsKOTOTSUGIatshift DEFTatshift Feed BuilderIP Blocker with WAF

atshift Members

atshift Members Guide

Prepare pages, verification, email, posting permissions, and access boundaries before accepting members. This guide describes the current free version 1.0 implementation.

01 / REQUIREMENTS

Check the environment

Requires WordPress 6.6+, PHP 8.1+, InnoDB, and a single-site installation.

Use HTTPS in production. HTTP is permitted only when the WordPress environment type is local. The initial WordPress.org release is in preparation; confirm availability and install in staging first.

Verify mail delivery and WP-Cron. Confirmation messages are processed from a queue, so registration cannot progress when cron is not running. Members does not supply a mail delivery service.

Exclude member pages, logged-in pages, and private-file delivery from shared caches at the plugin, server, and CDN layers. Check any other public registration forms and APIs separately.

What to check

  • Backups and a staging environment
  • Turnstile keys for the actual domain and outbound service access
  • Mail delivery, cron, and cache exclusions
  • Freeform Login passkeys require PHP 8.3+ and its other supported conditions

02 / ACCOUNT PAGES

Prepare the account pages

Create pages for registration, account details, editing, password reset, and closure.

As a site administrator, use the page preparation tools in Members. Each purpose has its own shortcode. Publish the relevant pages and verify their configured URLs.

Optionally generate a member-home draft. Existing generated pages are not overwritten, and neither the front page nor the post-login destination is automatically changed. Configure the directory separately if you need it.

Steps

  1. Prepare the five account pages
  2. Publish account and editing pages and check their assigned URLs
  3. Optionally edit and publish the member-home draft
  4. Test as logged out, an active member, and a suspended member

03 / REGISTRATION

Configure registration and abuse controls

Verify email addresses and require operator approval only when your site needs it.

Save the Cloudflare Turnstile site and secret keys in registration settings. Server constants take priority when defined. Cloudflare test keys are rejected in production.

A visitor submits an email address and follows the confirmation link. They then enter a username, password, and configured profile fields. The current username format is 1-60 letters, numbers, periods, hyphens, or underscores.

Rate limits cover sources, networks, browsers, and email destinations, alongside compromised-password checks. A failed Turnstile check blocks the request. By default, an unavailable Pwned Passwords service also prevents acceptance of a new password.

Without approval enabled, completion activates the member. With approval enabled, the account waits for review. These controls reduce abuse but do not replace a WAF, server maintenance, or operational monitoring.

Steps

  1. Configure keys for your real domain
  2. Choose approval and profile requirements
  3. Complete verification and registration with a test address
  4. Test duplicate addresses, expired links, and suspended accounts

04 / INTEGRATIONS

Connect profiles and login

Start with Members alone and add compatible integrations as needed.

Standalone settings let you select native profile fields. When atshift User Profile Fields supplies its supported owner-form integration, its configuration takes priority over standalone selections. Supported ordering, groups, and conditions are retained; admin-only fields are not accepted as member input.

Classification-based posting and directory rules require a compatible atshift User Profile Fields Pro classification integration. Do not assume that removing a provider or its classifications should broaden a restricted audience.

Freeform Login can provide passkey management on the account editing page, including without atshift User Profile Fields. Availability depends on Freeform Login settings and its environment requirements.

What to check

  • Integration baseline: compatible User Profile Fields / Pro 1.1.3 and Freeform Login 2.3.3 implementations
  • atshift User Profile Fields profile images currently use a URL input, not the admin media picker
  • Preset application is opt-in; do not substitute a full-replacement JSON import
  • Test actual authenticator registration and login on the target site

05 / POSTING

Choose who may publish

Set member posting permissions separately for each supported post type.

Members discovers post types using the normal WordPress editor and capability mapping. It does not automatically create types or change their names or URLs. Standard posts initially allow active members; pages and other types initially allow none.

A grant allows creation, publication, editing, and deletion of the member's own content. It does not grant editing of other authors' work or member administration. Members service pages are not editable by ordinary members.

Posting permission and viewing restrictions are separate. Ordinary published posts remain public. Revoking permission does not automatically change or delete previously published content.

What to check

  • Choose all active members, none, or supported classifications
  • Including descendants requires a provider with hierarchy metadata
  • Third-party controllers with custom authorization need separate integration checks

06 / DIRECTORY

Enable a directory deliberately

The directory is disabled by default, even when its shortcode is present.

Choose a public, active-member, operator, or classification-based audience. Select which classifications to list and which fields to show: display name, affiliation, and biography.

Individual exclusions override listing rules without changing the account or its permissions. Making a directory public does not make a private profile page public.

Login names and email addresses are not dedicated output fields, but members may put personal information in free-text fields. Review the purpose and audience before enabling the directory.

[atshme_member_directory heading_tag="h3" per_page="20"]

07 / PRIVATE FILES

Prepare private storage

Create a readable and writable directory outside the public web root.

An administrator must create the directory first. In Members storage settings, specify the public directory containing WordPress and a separate nonpublic directory. Server constants can also configure these paths.

A NAS or file-server share must already be mounted on the WordPress server and addressed by an absolute server path. Members does not establish a NAS connection or provide cloud-storage integration.

With valid storage, supported media workflows offer public or members-only storage. Every private-file delivery checks membership and parent-content access. Existing public media is not moved or made private automatically.

What to check

  • Verify no public URL or server Alias exposes the private directory
  • Check denial while logged out, suspended, or outside the content audience
  • Verify storage failures do not fall back to public uploads
  • Existing private files must be migrated before changing storage

08 / BEFORE LAUNCH

Test before accepting members

Test as an ordinary member and as a logged-out visitor, not only as an administrator.

Check confirmation mail, password resets, email changes, suspension and reactivation, posts, private attachments, directory visibility, and closure. Use disposable test accounts and data for deletion tests.

Local checks do not prove production delivery or performance. Verify live email, physical passkeys, actual NAS/VPN storage, large-scale loads, and your API, SEO, and caching integrations in the adoption environment.

What to check

  • No unintended public access
  • No administrator-equivalent grants to ordinary members
  • Clear external-service and privacy notices
  • Redaction of confirmation tokens in server and analytics logs
  • An operating plan for mail failures and service outages

WORDPRESS PLUGINS BY @SHIFT

Bring atshift Members
into your workflow.

Start in staging and confirm that the plugin fits your actual workflow.

Check setup requirements View Pro add-on features or start a trial