The gig economy is the new normal, and freelancing platforms that match service providers with potential clients are gaining popularity. Using peer-to-peer marketplaces, customers can easily find and connect with local professionals to get the job done without any third parties. With such a growing demand, building your own marketplace of services can be a great source of income, and with the right choice of tools, it doesn’t require any coding skills.

In this step-by-step walkthrough, we’ll show how to create a peer-to-peer service marketplace such as TaskRabbit or Thumbtack in a breeze using WordPress. We’ll also explain how to customize your website, extend its functionality and, of course, monetize it in several different ways.

But before we dive in, make sure that you have a clean WordPress installation. Nowadays, many hosting providers offer 1-click WordPress installation, or you can install it manually by following the official guide from WordPress.

In this tutorial, we’ll use HivePress, a free multipurpose plugin that allows you to create any type of directory and listing websites. We’ll also use ExpertHive, a lightweight and clean WordPress theme for building a peer-to-peer service marketplace that is fully optimized to work hand in hand with HivePress.

So, let’s start with the theme installation.

Installing ExpertHive

Your first step is to install ExpertHive, a service marketplace WordPress theme. Navigate to the Appearance > Themes > Add New page and click on the “Upload Theme” button. Then you need to select the theme ZIP file to upload and proceed by installing and activating it.

Once ExpertHive is activated, you’ll get a suggestion to install the recommended plugins, including HivePress, the plugin that powers its marketplace features. Simply follow the recommended link to install and activate the plugins.

Importing Demo Content

We also highly recommend importing the ExpertHive demo content because it’s easier to understand how everything works and start with existing layouts than create them from scratch.

In order to import the demo content, you’ll need to install the demo import plugin. To do this, navigate to the Plugins > Add New page and simply type “one click demo import” in the search field to find it, and then proceed by installing and activating it.

Once it’s activated, go to the Appearance > Import Demo Data page and click on the “Import” button. Once you click on the button, you’ll get a suggestion to install some third-party plugins. You can skip this step and proceed with importing the ExpertHive demo content.

That’s it! Now there should be the same layout as on the ExpertHive demo website. If you have any trouble with importing ExpertHive demo content, you can follow the step-by-step screencast below.

However, if you’re a more experienced user and don’t want to start with the demo content, it’s not an issue at all because we’ll walk you through the whole process of getting your marketplace up and running.

Since we have all the prerequisites for building a marketplace of services, let’s try adding a service category.

Adding Service Categories

Let’s add our first service category, let it be “Gardening”, so customers can easily find a plantsman for their garden.  In order to add a new category to your service marketplace, navigate to the Listings > Categories section.

Besides entering the category name and its description, you have some additional options here. For example, you can turn your category into a subcategory by selecting a parent category, thus creating multiple category levels. You may also choose a category icon and set its order among other categories.

Once you fill in all the fields, simply click on the “Add Category” button, so it’ll become visible on the front-end. In the same way, you can add as many categories as you need for your service marketplace website.

Adding listing categories to the service marketplace.

Adding Service Fields

After you added categories for your peer-to-peer marketplace, it’s time to create some service listing attributes.  Let’s add an “Hourly Rate” attribute so freelancers will be able to set a custom hourly rate for each service they list. Go to the Listings > Attributes section and click on the “Add New” button. Here you got a variety of different custom field types and can set up search options along with the display settings. You can customize the attribute in 3 different contexts. Let’s take a look at each context settings.


It’s the main section where you can define the attribute data type and permissions. For the “Hourly Rate” attribute, it’s better to choose the number field type and allow its front-end editing so service providers can fill this field when they are listing a new service.


Within this section, you decide if the attribute can be used for searching, filtering or sorting listings. For the “Hourly Rate” example,  it’s better to mark it as filterable, sortable and set a “Number Range” search field type so users can set a price range and sort service listings by their price.


Finally, in this section, you can adjust the attribute visibility on the front-end by assigning it to different template areas and setting its display format. We recommend setting a $%value% / hr format for the “Hourly Rate” attribute.

Adding custom listing fields to the marketplace of services.

Setting Up the Front Page

It’s crazy easy to add and customize new layouts since ExpertHive is integrated with the WordPress block editor (Gutenberg).

In order to add a new page, go to the Pages section and click on the “Add New” button. Once you fill in the page title, e.g., “Home,” you can start adding layout blocks.

For example, let’s add the service search form. Simply click on the ➕ icon and select the “Listing Search Form” block. In the same way, you can add the “Listing Categories” block to display service categories. After you finish customizing the page content, you can publish it.

To use this newly-created page as your marketplace homepage, navigate to the Settings > Reading section, select it from the drop-down list, and then save changes. That’s all, now can you visit your website to take a look at the homepage and the new layout you’ve just designed.

Setting up the front page of the service marketplace.

We also recommend going to the Appearance > Customize section and go through all the customization options. For example, you can change the logo image, primary and secondary colors, backgrounds and fonts, etc. and make your website look and feel truly exceptional.

Now, let’s move on and check the whole workflow of posting a custom request as a client and making an offer as a service provider.

Posting a Request

It’s time to post the first request on your on-demand services marketplace. But let’s do it from the front-end to get a better idea of how it works for customers. Go to your website and click on the “Post a Request” button. You’ll have to enter the title, fill in the description and fill in the other necessary fields in order to post a request. Once you complete the request form, click on the “Submit Request” button so the request appears on the front-end.

Okay, you’ve created a request, and now freelancers can easily find it but let’s try to make an offer too in order to check how it works for service providers. To do this, you need to register a freelancer account on your website and sign in as a service provider.

Now navigate to the Requests page and find a request that you’ve previously posted, then click on the “Make an Offer” button and fill in the offer details. When you’re done, simply submit your offer.

Example of the request on the marketplace of on-demand services.

That’s it! You made a new offer, so the client will get a notification about it and will be able to get in touch with an expert. Okay, now let’s proceed to the next step and try listing service as a freelancer.

Listing a Service

Since it’s a two-way marketplace, taskers get their own dashboard and can list services they provide, so users can easily find them and contact the service providers. Let’s check how it works.

Simply go to your website and click on the “List a Service” button, then choose any category and fill in all the necessary fields in the submission form, including the hourly rate field (this is a custom field we previously added). Keep in mind that similarly to the request form, you can also customize the listing submission form by adding or removing any fields in the Listings > Attributes section. Once you are done, click on the “Submit Listing” button.

Create a peer-to-peer service marketplace with WordPress.

That’s it! You’ve added a new service listing, and now users can easily find it and contact the service provider.

Okay, now you have a peer-to-peer service marketplace with some basic features, but you may want to extend its functionality using ExpertHive extensions. Let’s move to the next step to enhance your website with several more features.

Extending Functionality

There is a bunch of extensions that you can install in order to add some extra features to your service marketplace. Let’s briefly cover some of them.

For example, you can enable location-based search on your website so customers can easily find taskers in their area. It’s a useful feature since many tasks require the physical presence of an expert, so location-based search helps users narrow down a search and look only for service providers nearby. You can use the Geolocation extension to enable Google Maps on your website in a snap.

Another basic but useful feature is to allow your users to sign in via third-party services like Google or Facebook in order to improve the user experience and increase conversions. You can easily enable it by installing the Authentication extension.

You can also allow your freelancers to view stats on the monthly, weekly, and daily number of visitors and views of their service listings. In order to provide your taskers with stats,  you can install the Statistics extension.

As you can see, ExpertHive is not limited to its core functionality. We only mentioned a few add-ons, but you can check the full list of extensions and install those that are required for your service marketplace.

List of the HivePress extensions.

Now, let’s move on to the final step and take a look at the possible ways to monetize a marketplace of on-demand services.

Monetizing a Service Marketplace

As a website owner, you can monetize your marketplace in at least two different ways, and both are available in ExpertHive out of the box.

  • Charge a commission fee on sales – you can charge a custom commission fee on each transaction between freelancers and customers. It’s the most common monetization model for marketplaces of on-demand services. For example, TaskRabbit earns its revenue by taking a cut of 15% on every transaction made via the app.
  • Charge experts for listing services – another monetization model is to charge experts a one-time fee for each service listing or promote their services in the search results for an extra fee. You can easily create and sell different listing packages with various restrictions to offer freelancers several options to list their services.

These are the most popular monetization models, so you can choose the one that fits your website niche and requirements best. However, bear in mind that both models require getting decent traffic, so make sure that your website brings value to both clients and service providers before monetizing it.

Wrapping Up

That’s it! As you can see, building a marketplace of services with WordPress doesn’t require any coding skills. Once you build your website and optimize its performance, you can start attracting customers and monetizing your marketplace in several different ways.

So, if you want to create a marketplace of on-demand services, such as TaskRabbit or Airtasker, you may consider using the ExpertHive theme along with the HivePress plugin. They are both lightweight, easy-to-use, and have all the required features for building a service marketplace out of the box.

Related Articles

Get notified about new HivePress themes & extensions

Subscribe Now