How to Make a Website With User Accounts and Profiles [With WordPress, Wix, and More]

Build and Manage Your Website on HubSpot's Content Hub
Jamie Juviler
Jamie Juviler


When visitors come to your website for the first time, they’re not just looking to learn about your product. Ultimately, they’re here to decide whether choosing your business is worth their time, money, and energy.

Website visitor accessing a website with user accounts and profiles

For this reason, converting customers online requires more than just an attention-grabbing product description and a sleek homepage — your website needs to engage visitors with an excellent experience. One popular way to provide such an experience is with user accounts.

We're committed to your privacy. HubSpot uses the information you provide to us to contact you about our relevant content, products, and services. You may unsubscribe from these communications at any time. For more information, check out our Privacy Policy.

Adding a user account feature might be a major change to your site’s structure and functionality. Fortunately, today’s website building software makes this possible in just a few clicks. In this article, I’ll explain how to enable user accounts and profiles on six popular content management systems: Content Hub, WordPress, Joomla, Wix, Drupal, and Shopify.

Build your website with HubSpot's Free CMS Software

Why Create a Website With User Accounts?

With a user account, a visitor creates a personalized profile on your website in order to tailor their experience with your web content. Accounts empower users to access exclusive offers, contribute to a community of fellow customers, reach out to customer support, and receive content recommendations relevant to them.

All of these benefits help you gain consumer trust and convert visitors into engaged leads. After all, they’re called “user accounts,” not “visitor accounts.”

Many sites can gain from providing user accounts, regardless of the product or industry. If your website...

  • offers paid products and/or services for account holders
  • facilitates social or professional networking
  • facilitates e-commerce and stores users’ payment information, orders, and/or carts
  • offers exclusive content for registered users
  • hosts public user-generated content, like blog posts, videos, or reviews
  • hosts private user-provided content, like cloud storage, notes, or e-journal entries
  • aims to build a community around users
  • allows reactions to content in the form of comments, ratings, and/or reviews
  • uses visitor-related information to tailor the browsing experience to individuals

...then you’ll likely need user accounts on your website.

But before you continue, consider whether it’s best for your specific site to suggest or require accounts. An account should first and foremost enhance the user experience, so make sure the benefits to the customer are worth the time and effort of signing up. No one should feel “forced” to create an account when they don’t need to.

This is the general process for making a website with user accounts and profiles, no matter what CMS or website builder you use. Below we'll take a closer look at the process for six of the most popular platforms.

If you haven’t created a website yet, then you have a choice between two types of softwares.

For the simplest approach to making an account-based website, choose a website builder that specializes in membership sites. See our list of the best membership website builders and platforms for recommendations for this type of service.

If you’ve already built a website using a CMS, you can easily add user accounts, too. In most cases, the CMS handles the functionality of a membership site for you, either by itself or with an add-on. A user account tool should introduce features for registration, login, profile customization, and restricting content to only certain registrants.

Content Hub

Content Hub is HubSpot’s content management system. Content Hub fully integrates with HubSpot CRM and HubSpot’s marketing, sales, and service tools. With an Enterprise account, you can limit access to website pages, landing pages, and blog content by contact list. After restricting a page to selected lists, contacts on these lists will be notified via email to register.

CMS editor example
Get started with Content Hub for free. 

To set up membership registration for a page in Content Hub:

  1. Navigate to Marketing, then Website, then Website Pages or Landing Pages.
  2. Hover over the page that you want to restrict access to and click Edit.
  3. In the Settings tab, click Advanced Options.
  4. Under “Control audience access for page,” select Private - Registration required, then choose the lists you want to register.
  5. Click Update in the upper right-hand corner.
control audience access options for making a website with user accounts in CMS Hub

Image Source

For a full guide to managing user access on your HubSpot-powered website and blog, see our knowledge base article on membership registration with Content Hub.


To enable user membership on your WordPress site, a plugin is needed. There are many reputable options for WordPress website account management — here are some we recommend:

  • Memberpress is an all-in-one WordPress plugin for building and managing membership sites. It includes tools for handling payment information, setting up user forums, and tracking performance. Memberpress has also built a reputation for its strong security and customer support.
  • MemberSpace contains tools for membership websites and integrates with many website builders and CMS platforms, including WordPress. With MemberSpace, administrators allow access to specific website pages based on user actions like logging in or submitting a form.
  • ARMember is a free plugin for creating a membership site on WordPress. For the (lack of) price, ARMember is a very comprehensive solution. It includes a form builder, content post scheduler, and tools for limiting page access by membership level. You can read our full review of ARMember for more info.
  • Memberful is a lightweight solution for integrated checkout and account management on WordPress. Memberful emphasizes its ease of use, allowing users to set up their service quickly and securely. Memberful does not offer members-only pages — it instead sends exclusive content through emails and Discourse forums.

They might have similar names, but be sure to consider how each plugin fits your specific needs and budget. For more WordPress plugin recommendations and some excellent examples of membership sites built with WordPress, see our guide to creating a WordPress membership site.


To activate user accounts on your Joomla site:

  1. Navigate to the User Manager by clicking on the User icon on the left sidebar. Alternatively, in the top navigation bar, you can click Users > Manage.
  2. On the upper-right hand corner, click the Options button.
  3. Next to Allow User Registration, choose Yes.
  4. After allowing user registration, put a login form somewhere on your site. You can link to the form as a page module and/or as a menu item.
Joomla user options page for allowing user accounts

Image Source

You can also toggle how to confirm membership through email confirmation or administrator approval. For more detailed instructions on enabling user registration with Joomla, see Joomla’s user documentation.


Wix lets administrators activate user accounts with the Members Area feature, available with any Wix plan. With a Members Area set up on your Wix site, visitors can register and view exclusive content on member pages, and administrators can easily view and manage their site members.

Wix member list page for viewing visitors with user accounts

Image Source

This tool is designed for easy setup, and integrates with add-on applications for chat, blogging, events, e-commerce, and more. Learn how to set up a Members Area on Wix’s support site.

If you want to restrict access to content without setting up a Members Area, you can set access to specific pages based on member roles or make pages exclusive to paid members only.


Drupal lets site administrators create roles for different visitors. These roles grant different permissions for viewing and creating website content. Drupal creates three roles by default:

  • anonymous user, a visitor who has not logged in
  • authenticated user, a visitor who is logged in
  • administrator, someone with control over website functionality

In Drupal core, you can also add additional roles specific for whoever may come to your website, and assign permissions to these roles. For example, a blog site might have a “writer” role for visitors with permission to create and publish content.

To configure who can create accounts on your Drupal site and customize the registration and cancellation processes:

  1. Open the Manage menu, then select Configuration.
  2. Select People, then Account Settings.
  3. Open the Registration and Cancellation panel to view your options.
  4. Select Visitors under “Who can register accounts?”
  5. Click on the checkbox that says Require email verification when a visitor creates an account.
Drupal user registration and cancellation page for making a website with user accounts

Image Source

For more complex membership site functions, Drupal relies on third-party modules. Select a well-maintained, reputable Drupal module like Membership, Drupal Commerce, and/or Rules for more hands-on control over your membership site. For guidance on installing these modules, see Drupal’s instructions.


To enable customer accounts in Shopify:

  • Navigate to Settings, then Checkout.
  • Under Customer Accounts, choose to activate either optional or required accounts for customers.
  • Click Save.

For more help editing customer account settings on your Shopify site, including how to change your site settings on a mobile device, see Shopify’s help page.

How to Create a Login Page for My Website

Once you’ve set up user registration with a built-in feature or plugin, you’ll need to create a registration form. This type of form will enable visitors to create a user account by filling out some basic information, like their name, email address, and a password.

Next, you’ll need to create a login page where users can log in after they’ve registered. The general process is outlined below, but the exact steps will depend on what CMS or website builder you use.

1. Create a login form using a form builder.

Some website builders and content management systems have built-in form builders, while others require a plugin. Whatever tool you're using, you want to create a login form that provides a good user experience. Some best practices to consider are accepting login alternatives like an email address or phone number, adding a clear "Forgot password?" link, and warning users when Caps Lock is on.

2. Create a login page.

Next, you need to create the page where you'll embed the login form. This will become your login page. A login page should be simple and consistent with your branding. 

3. Embed the login form on the login page.

Once you've created your login page, embed the login form. This process is relatively simple on any CMS or website builder. For example, here's what the process looks like in Content Hub:

  • In your HubSpot account, navigate to your landing pages or website pages.
  • Hover over the login page you just created and click Edit.
  • In the page editor, click the form module.
  • On the Options tab in the left panel, select Login Form from the Choose a form dropdown menu.

You can then customize the form's settings and the login page until you're happy with its design and functionality. 

The result should be as simple and sleek as Facebook's login page and form.

Facebook login page and form is excellent inspiration for those creating a login form on their own website

Test Your New User Accounts

After setting up user accounts on your website and creating a login page, be sure to test the user registration process on your site. Have yourself and others create test accounts on your website. Modify your test account profiles, modify their permissions, and check that exclusive content is actually set to exclusive. If your website is already online, consider setting it to maintenance mode while testing these changes. Temporarily hiding your site prevents any complications from new signups in this phase.

Another option is to create a staging site where you can freely experiment with user accounts, while your live site stays untouched. During this testing phase, you’ll want to check on the following:

Sign-Up Confirmation Email

Did you receive a confirmation email upon signing up? If not, you’ll want to ensure you’ve set that up. Your CMS platform may either provide an option to send a confirmation email or you can install a plugin or extension that gives you the option.

Password Change Workflow

Test the workflow a user would take when changing their password. If you don’t receive a password change link in a timely manner, something may have gone amiss during activation. You also want to take a look at the password change email to ensure it aligns with your brand both in verbiage and design.

Member Area Design

A member area may be simple, or it may be more elaborate depending on the nature of your website. Double-check that it looks right and that it offers all the options a user needs. If you’re an ecommerce brand, ensure there are options to view previous orders, change card information, and establish their shipping address.

Test for mobile-responsiveness as well. If buttons are cut off or users can’t get to certain sections, you’ll want to tinker with the design of the membership area.

Exclusive Offers

We’ve touched upon this briefly, but make sure all exclusive content is truly exclusive to your users. If you’re planning to distribute exclusive PDFs and documents, mark them with robots.txt files or noindex, nofollow meta tags so that search engines don’t crawl them, and unregistered users can’t find them via a site search.

Privacy Policies and Terms of Use

As an owner of a website where people give you access to their contact and card information, you’ll want to ensure you have a privacy policy that protects these users from abuse. Even if you already have a privacy policy, you’ll need to update it to reflect your new user section. To get started, use a privacy policy generator such as Termsfeed,, or Shopify's.

SSL Certificate

If you don’t already have one, invest in an SSL certificate to ensure your website is as secure as possible. If you’re not sure if you have one, use an SSL checker. This certificate changes your internet protocol from HTTP to HTTPS. In some browsers, there will be a padlock next to your URL, signifying that all the information users share with you will be kept private.

Things You'll Need to to Make a Website with User Logins

Now that we've covered how to set up user accounts and profiles, how to create a login page, and how to test user accounts, let's recap what you'll need to make a website with user accounts and profiles:

  • CMS or website builder
  • Budget for user account and/or form plugin if needed
  • Theme that comes bundled or is compatible with a membership plugin if needed
  • Registration form and page
  • Login form and page
  • Edit profile form and page
  • Exclusive content offers
  • Privacy Policy
  • SSL certificate

Grow Your Website with User Profiles

Whether you’re running an online store, building loyalty through a membership site, or providing a home for user content with a hosting service, user accounts empower your visitors to stay engaged with your premium content and features, and help you to keep track of your customer base as it continues to grow. No matter the CMS, you’re covered.

Editor's note: This post was originally published in June 2020 and has been updated for comprehensiveness.

Discover videos, templates, tips, and other resources dedicated to helping you  launch an effective video marketing strategy. 


Related Articles

Build and Manage Your Website on HubSpot's CMS Hub


CMS Hub is flexible for marketers, powerful for developers, and gives customers a personalized, secure experience