Complete guide: How to set up and run a virtual restaurant

The possibility for virtual eateries or "ghost kitchens" has dramatically grown as internet usage has increased. Fortunately, you can set up and run a virtual restaurant in WordPress quickly and easily.

In this complete guide, you will learn how to build your own virtual restaurant website, which you will own 100%. This will save you lots of money compared to using a hosted restaurant ordering system such as Uber Eats, Grubhub, or DoorDash.

We’ll show you how to set up a virtual restaurant in WordPress using the WooCommerce Restaurant Ordering plugin. It only takes 10 minutes and by the time you're done, your virtual restaurant site will look something like this:

WooCommerce restaurant plugin

What is a virtual restaurant?

Most people place an emphasis on both quality and convenience. These are services that a virtual restaurant can easily offer if it is set up on the appropriate principles and adheres to the suggested procedures for serving its customers. At times, this has been the only way to keep their business running and continue trading.

A virtual restaurant (also called a ghost kitchen, ghost restaurant, or cloud kitchen) is a restaurant that offers delivery options only. Generally speaking, virtual restaurant services are facilitated through web apps and third-party delivery companies like the Postmates food delivery app. However, you can also create a virtual restaurant website with WordPress and WooCommerce.

This restaurant concept is hugely popular in most large cities like New York, Los Angeles, and Chicago. Kitchen United, for example, is a popular virtual kitchen and restaurant brand.

This foodservice business model allows restaurateurs to cut down on traditional expenses that come with offering a dine-in experience. In fact, adapting the virtual restaurant or ghost kitchen approach helped several restaurant businesses stay operational during the global coronavirus crisis. Now it's here to stay.

How does a virtual restaurant work?

Customers can go to the restaurant’s website to view menus and place their orders online. Once a customer places their order, the virtual restaurant kitchen is immediately notified, and kitchen staff begins preparing the order.

The establishment then delivers the food directly to the customer or uses a third-party food delivery service to deliver the meal to the customer’s location. Some virtual restaurants offer both online payment options and cash on delivery. Once the food is delivered, patrons can enjoy it in their own dining room.

Benefits of online-only restaurants

As compared to the traditional restaurant business model, virtual restaurants have their own set of benefits.

For starters, restaurant owners can mitigate the costs associated with finding an ample restaurant space with room for dining in and instead use that budget to create a kitchen that focuses on improving food preparation processes. Additionally, you can also opt for a shared kitchen setup.

In addition to this, virtual restaurant owners can change their menu items whenever they’d like. This is especially useful if a particular ingredient becomes unavailable or is temporarily inaccessible. This also means that you can experiment with your menu and swap out dishes that aren’t popular with your customer base.

Not to mention, studies indicate that customers favor home-delivery dining options, which makes a strong case for setting up a virtual restaurant.

Types of food that sell best from virtual restaurants

One of the key benefits of running a virtual restaurant is that you can use the wealth of dynamic customer data available to you to your advantage. For example, you might search for the different types of foods and meals that sell best from virtual restaurants and pizzerias in your area on Google.

Best takeout food

Here are some popular examples:

  • Chinese and Japanese food – sushi, noodles, spring rolls
  • Indian food – BBQ, chicken tikka masala, naan
  • Mexican food – tacos, burritos, nachos, taco salad
  • Pizza – make your own pizza with different toppings and crust sizes
  • Mediterranean food – shawarmas and Greek salad
  • Fast-casual food – burgers, sliders, wraps, fried chicken, and fries

How to set up and run a virtual restaurant

The first thing you need to do is set up an attractive, easy-to-use website for your virtual restaurant complete with an order form and delivery slots.

For this, we recommend using WordPress and WooCommerce, so you have full ownership of your virtual restaurant website. This isn’t possible with a hosted solution like Uber Eats, Deliveroo, and Just Eat.

If you don’t already have a WordPress website, you’ll need to choose a hosting company to make your website available to patrons. We recommend going with a reliable web hosting provider like Kinsta.

Once that’s done, we’ll show you how to set up a virtual restaurant using the WooCommerce Restaurant Ordering and WooCommerce Delivery Slots plugins. Together, these fantastic plugins provide everything you need to build a WooCommerce virtual restaurant.

Here’s a complete video tutorial you can follow:

Step #1: Create your virtual restaurant website

If you don’t already have a WordPress website set up, you’ll need to create one on a hosting account. We recommend Kinsta as they’re a managed WordPress host that’s perfect for running a website for your virtual restaurant.

The best part is that you can install WordPress directly from your Kinsta account. Once you’ve entered your domain name, location, and site title, you can configure your login credentials and install WooCommerce to enable e-commerce features.

The WooCommerce Setup Wizard is incredibly intuitive and walks you through the process of setting up e-commerce features for your virtual restaurant website. Since you’ll be offering food delivery options, it’s important to configure your shipping zones and delivery areas carefully.

If you deliver food to a single area and charge the same delivery costs then you only need to create one shipping zone. However, if you’re going to deliver food to multiple areas and charge different costs depending on the area, you’ll need to create multiple shipping zones.

WooCommerce lets you choose from three different delivery options including flat rate, free shipping, and local pickup.

Later, I'll also show you how to add delivery slots and opening hours for your virtual restaurant.

Step #2: Add a food menu

The next step is to add each food item as an individual WooCommerce product. To keep things organized, start by creating different categories for your menu items similar to how you’d do it on a paper menu. For example, your categories might be Starters, Main Courses, and Desserts.

Once that’s done, head over to Products → Add New from the WordPress admin panel to add each food as a product. At the bare minimum, you should enter a title, brief description, image, and price of the food item. Select the appropriate category for the food item. Consider adding nutritional information and allergens to the product description.

If you’re thinking of selling make your own pizzas or need a way to offer a choice of options for a dish, you’ll need to create a variable product or add-on fields. Variations let customers choose from a dropdown, whereas add-ons are great for selling optional extras such as pizza toppings or sandwich fillings.

WooCommerce Restaurant Ordering plugin integration
Customers can choose variations and add-ons from a lightbox

Step #3: Create a food order form using WooCommerce Restaurant Ordering

To let customers place orders, you’ll need to create an order form using the WooCommerce Restaurant Ordering plugin. You’ll receive the plugin files and license key in an email.

  1. Install the plugin to your WordPress website and activate it.
  2. Next, head over to WooCommerce Settings Products Product table from the WordPress dashboard and activate the plugin license.
  3. Now, go through the different settings available with the WooCommerce Restaurant Ordering plugin to configure your food order form. This includes adding opening hours. You can ignore these if your virtual WooCommerce restaurant is open 24/7. But if you only want to accept orders while you're open, then this is a must.
WooCommerce Restaurant Ordering plugin settings
Control your virtual restaurant order system on the plugin settings page

Finally, go to the list of Pages in the WordPress admin and find the page called 'Restaurant Ordering'. Rename this to whatever you like, e.g. 'Order Food Online'. This page lists all the food products that you added in step 2, divided by category:

WooCommerce Restaurant Ordering WordPress plugin

Your main restaurant ordering page is created automatically

If you'd rather list different categories on different pages, then you can do that using the restaurant ordering shortcode.

WooCommerce resturant plugin flexible food order forms
Use the shortcode if you need different settings for each category

Add a cart

Most virtual restaurants display a cart on the food ordering page. This shows the items in your order and makes it easy to click through to the checkout.

The easiest way to do this is to add a sidebar to the restaurant ordering page. Most themes come with page templates that include a sidebar. You can then go to Appearance → Widgets and add the 'Cart' widget to the sidebar.

WooCommerce restaurant widget

If you don't want a sidebar and prefer to keep your page full-width, then you can add a floating popup cart using the WooCommerce Fast Cart plugin.

WooCommerce restaurant floating cart
Add a floating side cart with WooCommerce Fast Cart

Step #4: Set opening hours and delivery times

If you’re offering food delivery options at your virtual restaurant, you’ll need an easy way to manage customer expectations and delivery orders. You can do this with the WooCommerce Delivery Slots plugin.

Once you have the plugin installed and activated on your website, go to WooCommerce → Opening Hours to configure your opening hours, delivery dates and time slots. Here are some of the main features you’ll want to use for your virtual restaurant site:

  • Delivery dates and time slots – You can add delivery slots based on the way you choose to structure food deliveries.
  • Maximum number of deliveries per time slot – This option lets you better manage kitchen capacity by adding a limit to the number of delivery orders per slot.

Set up your virtual restaurant today

If you’re looking for ways to keep your restaurant running with minimal costs, consider setting up a virtual restaurant (or ghost restaurant) that serves solely as a delivery base or offers takeout. You can do this whether you have a physical restaurant or not. Virtual restaurants are hugely popular in the restaurant industry.

Start by installing the WooCommerce plugin on your WordPress website. Next, add food items as individual products in WooCommerce. Finally, use the WooCommerce Restaurant Ordering and WooCommerce Delivery Slots plugins to create a front-end order form with a table of available delivery time slots.

Ready to set up your virtual restaurant and grow your bottom line? Get WooCommerce Restaurant Ordering today!


  1. How do we go about getting a pre-owned business (Olive Garden, Texas road house, etc) to let us use their kitchen, cooks, food, etc? I know contracts and some sort or agreement would have to be reached but how do we do it? How do we go to them with the business venture?

    • Hi, Ashley. Thanks for your question. It would be best if you deal with the process legally. I would suggest that you consult a lawyer/attorney for the best advice regarding the legality of your plan. Legal advice is unfortunately not part of our expertise. I hope this gets sorted out for you! All the best.

    • Hi, Jean. Thanks for your comment with this alternative. I reviewed it and it looks like users can define conditions to match only specific emails for automatic printing. Neat!

Please share your thoughts...

Your email address will not be published. Required fields are marked *