This guide is laid out in the same order as the tasks within the MyListing Project Template. Only those who have obtained the template will get the full details of each task card, including checklists, pro tips, direct links to resources and tools, and more.
As a MyListing expert, it’s my job to know every aspect of the MyListing WordPress theme, and while I firmly believe all MyListing website owners should understand the theme well, you do not have to be in a rush to learn.
Instead, you can save yourself tons of time and prevent a lot of frustration by beginning your journey with the MyListing Project Template and a MyListing Starter Site.
Business
Documentation
It’s critical to start documenting everything the second you start building your online business, not only for your daily operations but also becomes extremely valuable should you ever sell your business.
Try to keep everything as consolidated as possible rather than using 20 tools with similar features. In some cases, like password management, it’s unavoidable to use a one-off solution.
Items to Document
- SOPs (Standard Operating procedures)
- Licensing
- Affiliations
- Partnerships
- Changelogs
- Passwords
SOPs (Standard Operating procedures)
This is the documentation of your processes and procedures for dealing with certain aspects of the business, like onboarding/offboarding employees, onboarding/offboarding clients, support ticket management, etc.).
In short, document processes/procedures to avoid any mistakes when performing them in the future and to have them ready to hand off should you ever decide to sell your business.
Licensing, Affiliations, Partnerships, and Changelogs
I recommend Airtable (Free) as the place to store and manage this information, which is just a very small subset of what this powerful solution can do.
Passwords
I recommend Bitwarden (Free) as the solution to generate unique and strong passwords and securely store them.
Brand Research
This is a critical step in launching a business, as the last thing you want to do is spend a lot of time and money building something only to find out someone is already doing business under a similar name or, worse yet, the exact name.
Namecheap Business Name Generator
Start by creating a list of your top business keywords and then plug those into Namecheap’s Business Name Generator tool.
Namechk
After you narrow down your top list of business names, run those names through Namechk to find out which social media account names are available.
Account Security /w 2FA
Implementing 2FA (Two-Factor Authentication) means that only users that know your password and have a device to verify a security code can gain access to your accounts.
I recommend you implement 2FA for almost every account you log into that offers 2FA. If a solution does not provide 2FA security, consider finding another solution.
Domains
Buy your domain names and to avoid brand confusion (i.e., prevent others from confusing your brand with someone else), consider buying TLD (Top-level Domain) extensions (fitness.com, fitness.net. etc.) and region-specific options (fitnesscharlotte.com, fitnesscharlotte.net, etc.) for your brand.
A lot of good can come with the right name, and a lot can go wrong later on if you don’t get it right. It is, therefore, crucial you make the right decision. Take some time to consider your target audience, future growth, long-term acquisition/buy-out, etc.
- Relevance: A meaningful name that reflects your business values, products/services, or any part of your business.
- Ease: An easy-to-communicate domain name is crucial, whereas the opposite could cause your customers to lose interest, get it wrong, or forget it.
- Adaptability: Over time, businesses progress, evolve, and expand. Therefore, many companies spend a fortune on rebranding. To protect your company from outgrowing your domain name, think ahead.
Distinctiveness: It’s all about making your brand memorable. A distinctive domain name will help your customers recall your brand. On the other hand, choosing a popular generic keyword as your domain will confuse your customers.
If you need a new domain or already have your domain hosted somewhere and you’re looking for a switch, I recommend Cloudflare.
Guide: Implement Cloudflare’s CDN for Better MyListing Security and Performance
Business Email
Website owners often use a free email account (Gmail, Outlook.com, website hosting email, etc.) to get started. While I understand this temptation, I recommend using a business-grade email solution from Day 1 to help protect your email reputation and to ensure you’re using a vanity domain (i.e., hello@yourdomain.com).
With your domain now in hand, it’s time to procure your business email, and for that, I recommend services like Microsoft 365 or Google Workspace.
If there is ever a remote possibility that you might, at some point, want to sell your business, be sure to limit the number of places you use your business email to log into. See this guide's 'Exit Strategy' section for more information.
Google Account
I recommend creating a new Google Account that will only be used for website purposes to shield your everyday business email account from all the potential noise.
Color Scheme
A color scheme is one of the first elements to communicate the message behind the design on both visual and psychological levels. The color scheme is one of the most important elements because, when used correctly, color can reflect the niche and even the overall business marketing strategy.
I put this task towards the very beginning of the project because there are so many areas of building a website (or any online business) that your color scheme will influence.
YouTube Channel
Did you know YouTube is the second-largest search engine next to Google?
I highly encourage you to consider ways to use YouTube for your business, whether sharing your knowledge, introducing products, etc.
Some experts say that YouTube will get you found before Google searches will.
Guide: Help Build Awareness for MyListing Websites With a YouTube Business Channel
Social Presence
Once you’ve bought your domain name(s) and defined your color scheme, it’s time to consider building your social presence.
Procure Social Media Accounts
You’ll want to procure any social media accounts that make sense for your business/brand to be a part of, regardless if you need them immediately.
Build Social Media Accounts
Once you’ve procured your social media accounts, you’ll want to build out each social media account, apply consistent branding across all accounts, and complete the account as much as possible. When it comes to the images for your social accounts, knowing what image sizes to use is as simple as doing a quick web search for ‘social media image sizes’.
Social Media Account Communication
Set up communication channels between your social media accounts and your website to ensure two-way communication where it makes sense.
Deal: SEOPress Pro
Guide: How to Configure SEOPress for MyListing Websites
Stripe Account
If Stripe is available in your location (it’s available in most) and you plan to accept payments on your website, Stripe is my preferred payment gateway.
Booking
A great option for connecting with your users, potential partners, etc., is to include the ability for people to book time with you or your team.
Deals: Booking Solutions
Guides: Booking Solutions
Policies
Depending on your business, you may require specific policies on your website that are there to protect you as well as the users of your website.
There are several ways to implement policies on our website, but my recommendation, which follows best practices, is to create website pages for each policy.
If you are interested in further protecting your business from potential fines and lawsuits, I recommend Termageddon.
Deal: Termageddon
Guide: Automate Your MyListing Website Policies With Termageddon
Services
Are there any services you would like to provide as part of the different membership levels and/or outside of them to help offset the costs of running your website?
For example, a photographer building a photography-based directory could offer consultations, training/courses, etc.
Maybe there are services you don’t perform yourself but could outsource to people or vendors you trust. Using the photographer example again, they could provide custom-framing services even though it’s not something they do as part of their profession.
Partnerships
Are there any strategic partnerships you could form to help bring value to your users/customers? For example, a photographer building a photography-based directory could partner with a vendor that provides custom-framing services.
That vendor might then work under the guise of your brand (i.e., white label) or work transparently as a trusted vendor.
Pricing Model
Create a pricing model that is easy to understand, matches your brand/message, and entices potential users/customers to sign up for your platform.
It may be tempting to have lifetime, annual, and monthly plans, all on the same platform. Take a hard look at this and put yourself in the shoes of the person potentially going through your sales funnel. Would you get overwhelmed with all the options?
If you offer lifetime or annual plans, are you prepared to refund thousands of dollars should you experience a change of heart with your business? What if you fall into a hardship?
For the brand/message aspect, sometimes it makes sense to come up with pricing tier names that are cute or catchy and not the typical ‘Gold’, ‘Silver’, ‘Platinum, etc.
Newsletter
I recommend implementing a newsletter solution to help you stay in constant contact with your community, announcing new content, deals, platform changes, etc.
Deals: Newsletter Solutions
Founding Member Onboarding
Founding members believe in you, your products, and/or your services and are willing to participate in your offerings while you are still in the initial launch phase of your business.
They help you populate your platform to get SEO working and present an active community with quality participants.
Your founding members should feel (and know) that they are getting a great deal. Consider a lifetime membership, a lengthy FREE period, a heavy discount, etc.
Affiliate Program
Consider implementing a program that rewards people for helping you grow your business, and for this, I recommend AffiliateWP.
Deals: Affiliate Marketing Solutions
Guides: Affiliate Marketing
Social Media Reviews
As the website owner, consider displaying social media reviews (ex., Google Reviews) on your website. When you collect and display other customers’ experiences, you help potential customers make faster purchasing decisions by establishing trust.
Consider allowing social reviews to be added to Listings because it is important to the website/website owner. This is a great upsell opportunity, as many Listing owners depend on reviews to legitimize their business (products, services, etc.).
As one website owner said the other day – “Social media reviews are critical to our business and the businesses of our Listing owners. Reviews are everything to us.”
For all the above, I recommend EmbedSocial.
Deal: EmbedSocial
Guide: How to Embed Google Reviews on Your MyListing Website With EmbedSocial
Website
Cloudflare CDN
Cloudflare is a global network designed to make everything you connect to the Internet secure, private, fast, and reliable.
It’s a solution so well regarded for what it offers that my preferred WordPress host for MyListing websites (Kinsta) partnered with them to bring enterprise-level features to their customers for no extra cost.
I use Cloudflare for every website to take advantage of its additional performance, security, reliability, and analytics.
Guide: Implement Cloudflare’s CDN for Better MyListing Security and Performance
Website Hosting
If you are looking for new hosting, Kinsta is my top recommendation. It’s where I host my websites and client websites.
Deal: Discounted Enterprise Level Plan (Kinsta)
Guide: Kinsta Hosting for MyListing Websites
SSL Certificate
SSL Certificates help ensure a secure path is in place for the data being transmitted on your website, enforcing a secure end-to-end connection over HTTPS.
These days, most hosting vendors provide a FREE SSL Certificate; if your vendor does not, it’s probably time to look for another vendor.
My preferred website hosting vendor (Kinsta) makes it super easy to implement an SSL Certificate.
Deal: Discounted Enterprise Level Plan (Kinsta)
Guide: Kinsta Hosting for MyListing Websites
Elementor Experiments
NOTE: Before we get into what Elementor Experiments are, I want to point out why this task is so high on the priority list. One of the Elementor Experiments allows you to enable additional breakpoints to fine-tune your designs. Since the next task is the first one involving design (i.e., building a ‘Coming Soon’ page), you will want to ensure that you’re designing this page to be mobile responsive. So, we want to install and activate the Elementor page builder plugin as part of this task card.
Elementor Experiments are a way for Elementor users, if they choose, to test and help shape new features before they are released. Future experiments might include widget enhancements, editor settings, functions, or WordPress backend functionality.
Are you at least taking advantage of the experiments that are in that are marked ‘Stable Features’?
Experiments marked as ‘Ongoing Experiments’ may provide even more performance, but these should be thoroughly tested.
Are you actively using all the experiments you have activated?
Coming Soon Mode
Right away, you want to put up a Coming Soon page so that anyone who tries to view your website during the initial building phase sees a well-designed page rather than whatever it is you’re working on in the background.
Before we do that, let’s talk about the SVG file format since this is the first task where you find the need to enable SVG support.
SVG File Format
SVG files work similarly to icons. You can scale them up or down without any loss of resolution or blurriness. They are extremely lightweight, keep your pages lean, and are ideal for illustrations like logos, icons, and graphs.
If you decide to upload an SVG image to add to your Coming Soon page or at some other point in your website build, choose to enable the uploading of SVGs when Elementor prompts you.
Coming Soon Page
There are many solutions for building a Coming Soon page. Still, I recommend using Elementor Pro since that’s a plugin you are likely already using and because it provides more features when compared to the free version of Elementor.
You can implement a Coming Soon page using nothing but the free version of Elementor, but unlike Elementor Pro, you are limited in which widgets you can use.
It is also advisable that you take this opportunity to capture email addresses while you continue building your website. This is easily done by adding a contact form to your Coming Soon page, which connects to an email marketing solution (e.g., Mailchimp). For this, you would need Elementor Pro.
Club Store: Coming Soon Templates
Website Hosting (Staging)
Your staging website is a clone of your production website, where you should test new themes, plugins, WordPress updates, etc., before rolling them out to your production website.
These days, most hosting vendors provide a FREE staging environment; if your vendor does not, it’s probably time to look for another vendor.
My preferred website hosting vendor (Kinsta) makes it super easy to implement a staging environment.
Deal: Discounted Enterprise Level Plan (Kinsta)
Guide: Kinsta Hosting for MyListing Websites
WordPress
Admin Accounts
Ensure that you are not handing out admin-level access to anyone who helps with your website. Ideally, only your team members and anyone providing ongoing website care should have admin-level access to your production website.
I recommend implementing and requiring 2FA authentication for admin-level access to your production environments for yourself and anyone else you grant access.
Anyone else that needs admin-level access should only be granted that access on your staging server, and my preferred WordPress hosting vendor (Kinsta) makes this a super simple process.
Deal: Discounted Enterprise Level Plan (Kinsta)
Guide: Kinsta Hosting for MyListing Websites
Editorial Accounts
Also known as the “blogging” account, these users can produce content (i.e., blog) for your website but don’t necessarily need permissions as an admin account would.
Note: After you create this account, you’ll need to edit the account again to get to some of the settings mentioned below.
- Nickname: Identifies the blog post author in the back-end of WordPress (i.e., meta). This defaults to the same value as the user’s username but should be changed if you want WordPress to see it differently.
- Display Name Publicly As: The name is shown for the blog post author on the front end of your website. This defaults to the same value of the user’s username but should be changed for proper displaying of the editor’s name.
General Settings
A checklist is included within the MyListing Project Template.
Reading Settings
A checklist is included within the MyListing Project Template.
Discussion Settings
The key question to ask yourself when you’re getting your website off the ground is if you’ll need to allow comments at all. If you do, the next important question is whether you want to require commenters to first log in and whether you want to approve comments before they are displayed on your website.
As for the user avatars, it’s important to note that this feature will hit your website’s performance. While this hit is minimal, every hit adds up and might slow down your website. I recommend disabling avatars until you find out you want to use them.
Note: Listing comments/reviews run off the WordPress comments system, so if those are to be used on your site, be careful with the settings here.
WordPress Permalinks
WordPress Dashboard > Settings > Permalinks > Common Settings > Set to ‘Post Name’.
Later in this guide, I’ll cover MyListing-specific permalinks.
Initial Posts and Pages
A checklist is included within the MyListing Project Template.
Post Categories and Tags
A checklist is included within the MyListing Project Template.
Primary Navigation Menu
A checklist is included within the MyListing Project Template.
Plugins
Starting on Day 1, the usage of plugins should be carefully thought out.
Every installed plugin impacts your website database, which often remains the case even after removing a plugin. This is because some developers configure their plugins to retain their settings in the database, just in case the plugin is ever reinstalled again.
The best practice is not to use your production website as a testing ground and instead test plugins in your staging environment. Only if you determine a plugin passes your tests should it reach your production website.
Parent Theme
A WordPress theme is a group of files (graphics, style sheets, and code) that dictates the overall appearance of your website.
As an advanced WordPress user, you can remove all themes except the Parent.
However, if you are not an advanced user, leave the latest WordPress default theme on your website for troubleshooting purposes.
The overall message here is just to keep things nice and tidy.
Child Theme
Site Icon (Favicon)
A Site Icon, also known as a favicon, is a unique icon for your website. It is shown on your site visitors’ browser tab and as a bookmark and home screen app icon when saved to a browser or phone.
You can follow my more advanced guide below or upload an image of 512 x 512 px that you either design yourself or create using a favicon generator.
Guide: How to Properly Add a Favicon to Your MyListing Website
MyListing Core Plugins
After you have the MyListing Parent and Child Themes in place, you’ll be presented with an option to ‘Begin installing plugins’, which is MyListing helping guide you on which core plugins should be installed.
One of the recommended plugins is Contact Form 7, but I recommend not installing that plugin and instead using Elementor Pro forms.
I can’t imagine building a MyListing website without Elementor Pro anyway, so why not use it and eliminate yet another plugin, which in this case, is Contact Form 7.
Typography
Typography promotes legibility and helps communicate a website’s messaging, tone, and sentiment. People are drawn to clean, easy on the eyes, and visually attractive typography.
Website owners shouldn’t go crazy with too many fonts, font weights, etc., as that can hurt a website’s design and performance.
I recommend taking a hard look at System Fonts before jumping right in and adding Google Fonts, Custom Fonts, etc.
Guide: How to Switch to System Fonts and Boost MyListing Website Performance
Elementor Global Fonts
Global Fonts allow you to define font styles that apply to various Elementor text-based elements.
What you set initially will probably be adjusted as you go along with your build regarding font size, weight, and maybe even the font family itself, so don’t worry about perfecting these fonts immediately.
Below are some benefits of utilizing Elementor’s Global Fonts feature.
- Consistency: No more guessing what your fonts and font weights are.
- Faster Workflow: Your typography scheme will be right at your fingertips when working with elements.
- Performance: Elementor-based websites perform better when typography is globally set.
Elementor Theme Style
Whereas Global Fonts are a manual process, Elementor Theme Style Typography allows you to define global font styles that are automatically applied to various Elementor text-based elements.
This feature gives you even more control in maintaining consistency across your website, allowing you to take over the global design layer typically handled by the WordPress theme.
What you set initially will probably be adjusted as you go along with your build regarding font size, weight, and maybe even the font family itself, so don’t worry about perfecting these fonts immediately.
Below are some benefits of utilizing Elementor’s Theme Style Typography feature.
- Consistency: No more guessing what your fonts and font weights are.
- Faster Workflow: Your typography scheme will be right at your fingertips when working with elements.
- Performance: Elementor-based websites perform better when typography is globally set.
Elementor Global Colors
With your Color Scheme in hand, it’s time to set your Global Colors in Elementor, and below are some benefits of utilizing Elementor’s Global Color feature.
- Consistency: No more guessing what your colors or shades of colors are.
- Faster Workflow: Your Color Scheme will be at your fingertips when working with elements.
- Performance: Elementor-based websites perform better when colors are globally set.
Elementor SVG Support
The variety of devices, screen sizes, and display resolutions makes quality scalability and responsiveness essential in providing your digital audience with an optimal experience. SVGs are ideal for illustrations like logos, icons, and graphs.
By default, Elementor will not allow you to upload SVGs into widgets, so you must enable that option if you wish to use SVGs within Elementor.
Please don’t enable this to enable it. Ensure you only enable this option when/if you’re ready to add SVGs to your website.
Logo
How you add your logo depends on whether you’re using the default options included with your theme or building custom headers with Elementor Pro.
Your logo does not have to be an actual image. If you design a custom header with Elementor, you can easily create a great-looking, text-based logo.
The steps below assume you are adding an image-based logo that you’ve designed, someone has designed for you, or you’ve obtained pre-made, ensuring you have it available in a scalable vector format and have an SVG version ready to go.
Before uploading your logo, ensure you have optimized the image file, so it’s the smallest size possible while retaining the crispness you’re looking for.
Elementor Pro - Custom Header
You can build custom headers with Elementor Pro rather than using your theme’s header options if you need to do more than the theme provides.
Club Store: Header Templates
Elementor Pro - Custom Footer
You can build custom footers with Elementor Pro rather than using your theme’s footer options if you need to do more than the theme provides.
Whereas with the header, the decision to go with the default MyListing header versus a custom Elementor header is harder, the decision to go with a custom Elementor footer is simple.
I recommend you build a custom Elementor footer each time and not use the default MyListing footer. I’d only recommend ignoring this advice if you cannot afford an Elementor Pro license.
Club Store: Footer Templates
Contact Form
Website owners need to ensure they can be easily reached, and one of those ways is adding contact forms to a ‘Contact Us’ page, where users are accustomed to looking for them.
It’s also very common to activate contact forms as part of a pop-up using solutions like Elementor Pro.
The above said, contact forms may not be the preferred method of contact, whether because of an overall design strategy, the battling of SPAM, or other reasons.
Club Store: Contact Form Templates
Chat Widget
Website owners need to ensure they can be easily reached, and one of those ways is using a chat widget. Chat widgets often provide much more than just a mechanism for communication, and their ability to convert customers is undeniable.
Having a chat widget on your website is a great way to connect with your customers, giving them some comfort knowing you are just a click away from anything related to purchasing, account management, etc.
Understandably, there are concerns about being too accessible, but you can easily mitigate this by configuring the hours you are available to chat, blocking people with bad intentions, etc. In short, you can be as accessible as you want.
Deals: Chat Solutions
Guides: Chat Solutions
Transactional Email
MyListing websites rely heavily on Transactional Email to communicate order confirmations, password resets, and account alerts.
Setting up your website transactional email correctly is important to prevent it from ending up in SPAM/Junk folders or not being received entirely.
To take your transactional email to another level and make more money with your WooCommerce store, I use and recommend Mailpoet.
Deals: Transactional Email Solutions
Guides: Transactional Email
404 Page
Every website should have a 404 page that displays when users stumble upon content that is no longer available and produces a broken link.
This page should be lightweight and have clear/simple calls to action to get users back on track.
Having a 404 page that is lighthearted is a great way to show the business/brand personality and ease any tensions that may arise from users having difficulty with your website.
Elementor Pro provides a simple way to add a 404 page to your entire website.
Club Store: 404 Page Templates
Testimonials
Including testimonials throughout your website is a great idea to help you build trust with your potential customers.
The more information your past customers provide, the better, but it’s recommended to set a baseline for consistency.
You don’t want some of your testimonials to have images while others don’t, and you don’t want your testimonials showing company/brand names while others don’t.
Find a baseline of information that all past customers are willing to provide.
Club Store: Testimonial Templates
WooCommerce
The MyListing Project Template has several task cards related to WooCommerce. This guide doesn't have information about these tasks because they are primarily in checklist format, and every store is different.
WooCommerce Subscriptions
WooCommerce > Settings > Subscriptions
This area is only relevant if you use the WooCommerce Subscriptions plugin to provide Listing Subscription Packages (covered later in this guide) or if you wish to provide subscriptions for things unrelated to the MyListing “flow”.
As far as MyListing goes, I highly recommend using Listing Subscription Packages over MyListing’s default Listing Packages for several reasons, including upgrade/downgrade plan options, keeping Listings online indefinitely as long as subscriptions are paid, and more.
MyListing
Theme Options
General
Theme Tools > Theme Options > General
Site Logo
This is the logo that will appear in the default MyListing header. The Header options (within this project template) area or MyListing is where you can further control how the Site Logo is displayed.
Loading Screen
You can specify an asset (ex., Site Logo) or an animation (ex., Material Spinner) to load as website visitors wait for areas of your website to load. I recommend not using this feature to avoid additional performance overhead, and I think this sort of thing has no place on a professional-looking website.
Login/Register Page Background
This image will appear to the right of the Login/Register form on devices with a resolution of at least 1200px. I recommend using an image that is 1920 px wide, which is Full HD, and even on larger screens. As with all images you add to your website, optimize this image using an image compression solution before uploading it.
Accent Color
This is the primary color that will appear all over your MyListing website. The theme also uses this color in areas that aren’t always obvious by applying variations of the accent color. I recommend changing the accent color to the color of your scheme that best represents a standout call-to-action, like a button.
Background Color
This color will apply to the background of every page of your MyListing website. By default, MyListing assigns a hex code of #f4f4f4 and also adjusts their designs to fit that background color. I recommend switching this color to white (#ffffff) and using Elementor to assign background colors as desired.
Header
Theme Tools > Theme Options > Header
Note: You can skip this task card if you’ve already decided to build a custom header as part of the Elementor Pro – Custom Header task. Otherwise, proceed.
Header Height
I recommend the default setting. There is an option to set an ‘Extended’ height version of the header, but in my experience, people rarely set this option. This option seems to have design issues.
Header Width
The default setting of ‘Full Width’ is what I typically see being used. There is an option to set a ‘Boxed Width’ height if that fits better in line with the design plans of your website. If you try the ‘Boxed’ option, I recommend setting the minimum width to 1140 px. I use the max option MyListing provides of 1200px.
Header Background and Border Color
These settings completely depend on the project, so use what fits with the design plans of your website.
Sticky Header On Scroll
This setting completely depends on the project, so use what fits with the design plans of your website. If you want your heading to stick to the top of the page when users scroll your website, this is a setting you’re likely interested in. I like using this option personally.
Main Menu Location
I recommend placing your menu on the right rather than using the default setting of ‘Left’. I’ve seen no MyListing website where the menu is shown on the left.
Logo Height
These settings completely depend on the project, so use what fits with the design plans of your website. The main thing to keep in mind here is mobile responsiveness. MyListing allows you to set a height on desktop, tablet, and mobile screens. Adjust these settings so your logo looks good on all devices.
Show Search Form
By default, a search form will be added to the header area of your website, and you can set things like the placeholder (e.g., ‘Type your search…’) and which Categories are “featured”. Any Categories you specify as being “featured” within Quick Search will be shown before any search text is even entered. The Club has resources related to Quick Search functionality; one example is the Hide Taxonomies from Quick Search code snippet.
Show Call to Action Button
The most common choice here is going with the default setting, but by no means do you need to show this in your header, as there are always options to get people into your ‘Add Listing’ flow without using the call to action button in the header. A call to action for adding Listings isn’t needed for some projects because the website owner adds the Listings from the backend.
Call to Action Links to Page and Button Label
It is common for this to be set to the ‘Add Listing’ page, where the ‘Add Listing Form’ Elementor widget has been added and configured. The button label then aligns with people, often using ‘Add Listing’.
Show Cart
The most common choice here is the default setting to show the cart. If you allow people to purchase items from the front end of your website, I recommend showing the cart in the header, so customers can easily access it. You will want to hide the cart if you’re not selling anything.
Show Title Bar Below Header
This places a bar below the header containing the page title and an icon. I’ve never seen this setting turned on, as it presents undesirable aesthetics, and the only way to style this bar is if you know how to work with CSS.
On Scroll Logo
If you want to show a different logo while someone is scrolling your website, this is where you would specify that logo. If you set nothing here, the logo you specified as part of the Theme Options – General task will be shown automatically.
On Scroll Text Color, Background Color, and Border Color
You could set these up to match what you set for the non-scrolling header. On the other hand, it might fit better with your design requirements to show a different look that also flows with your ‘On Scroll Logo’. I don’t think you can go wrong here, but you have the chance to show some design flair.
Footer
Theme Tools > Theme Options > Footer
Note: You can skip this task card if you’ve already decided to build a custom footer as part of the Elementor Pro – Custom Footer task. Otherwise, proceed.
Pro Tip: You can use a custom footer built with Elementor Pro while still using the default MyListing header, which is a very common practice. I recommend using a custom footer because the default MyListing footer options are limited, harder to configure, and harder to design unless you are good with CSS. Want to assign a unique footer to a specific post, page, Listing, etc.? Cool, but you cannot do that with the default MyListing footer.
Show Footer
This one is pretty simple. Enable this, and the entire footer disappears. If you implement a custom footer with Elementor, it will automatically override the MyListing footer, so you don’t need to worry about this setting.
Footer Background
Another easy one. Choose the color for your footer background.
Show Widgets
These are global elements (column headings, menus, etc.) in your site’s layout that can accept blocks, but what’s possible varies by theme. To add widgets to your website, go to WordPress Dashboard > Appearance > Widgets and edit the Footer widget area. If you will not display any widgets, toggle OFF this setting.
Widgets Per Row
These settings are there for mobile responsiveness. You will want to test your footer on multiple devices to ensure your design looks good. This is another area where custom footers with Elementor would be better, as you would have more control over your mobile designs, display conditions, etc.
Show Footer Menu
If you configure a menu under WordPress Dashboard > Appearance > Menus and assign it as the ‘Footer Menu’ in WordPress, that menu will appear in your MyListing footer when this setting is toggled ON.
Footer Text
This text appears at the bottom of your MyListing footer, and I typically see this area used to display copyright information. As with many areas of MyListing, the text will be added using a color that is a shade of black, and you will use CSS to further style the color.
Show Back to Top Button
If an area on your website is of a particular length content-wise, MyListing will display an icon that people can click on to get back to the very top of the content. You will need CSS to further style this button. Even if you use a custom footer with Elementor, this is a feature you can still use without enabling all the other MyListing footer options.
Explore
Theme Tools > Theme Options > Explore
Default Explore Listings Page
This page will display results from the header search form and Listings by category. For this, the typical steps are to create a page named ‘Explore’ and then choose that page within this setting. You don’t have to have your Explore page fully built out yet, as we cover that in another task.
Listings Per Page
This is the number of Listings to show at once per search. If you are using the map feature and want your map to have a better chance of being “populated”, showing more Listings at once will be required. You have to find that balance between having your directory display a good amount of data and the potential performance hit your website will take if you try to load and display too many Listings at once. If you want to display a lot of Listings at once, you will need good hosting, and you will need to pay close attention to any performance-related tasks outlined here.
Default ‘Add a Listing’ Page
This page will be used whenever someone is adding a Listing from the front end of your website. For this, the typical steps are to create a page named ‘Add Listing’ and add the ’27 > Add Listing Form’ Elementor widget. You don’t have to have your Explore page fully built out yet, as we cover that in another task.
Single Listing
Theme Tools > Theme Options > Single Listing
Note: Some settings of this task card may not apply if you’ve already decided to build custom headers as part of the Elementor Pro – Custom Header task.
Header Height
The default setting of ‘Normal’ is what I typically see being used. The ‘Extended’ option adds padding to the top and bottom of the header.
Header Width
The default setting of ‘Full Width’ is what I typically see being used. There is an option to set a ‘Boxed Width’ height if that fits better in line with the design plans of your website. If you try the ‘Boxed’ option, I recommend setting the minimum width to 1140 px. I use the max option that MyListing provides of 1200px.
Header Background and Border Color
These settings are self-explanatory. Be sure to keep accessibility in mind when you go to set the ‘Header Text Color’.
Header Text Color
The ‘Light’ setting will force text elements to be displayed in white. Be sure to keep accessibility in mind regarding what you set here and what you set for your ‘Header Background Color’.
Header Preset
I’ve tested this option thoroughly, and whatever you choose here seems to have no impact. I go with the default setting.
Blend header with the Cover Section?
This brings the cover area of the Listing sightly up and under the Single Listing header. I typically go with the default setting, but some projects require this to be altered on rare occasions.
Cover Image Height
This setting only applies if you use the ‘Cover Image’ cover style (Single Page > Cover Style > Cover Background). Set the value here as desired. I typically set the height between 20-25. Something to note here is the ‘Gallery Slider’ cover style is automatically set to around 21.
Cover Overlay Color and Opacity
This is the color that appears over (i.e., overlays) the cover area of your Listings. The opacity setting can darken, lighten, or set complete transparency for the overlay. I’ve listed a few values below to use as a guide, but you can set any value you would like between 0 and 1 (0.1, 0.2, and so on.).
- 0 = 100% transparency (i.e., no overlay)
- .5 = 50% transparency
- 1 = No transparency
Listing Preview Cover Overlay Color and Opacity
This is the color that appears over (i.e., overlays) the cover area of your Listing Preview cards. Same deal as with the ‘Cover Overlay’ settings above.
Blog
Theme Tools > Theme Options > Blog
The ability to set a ‘Default Post Image’ is a nice setting that the theme gives you, and it’s beneficial regardless of whether you use the theme’s default Single Post template or use go with Elementor Pro templates.
In short, you could use this setting to set a fallback image for your featured image should you forget to add one. Or, if a unique featured image is not important to you, you could use this setting to essentially specify your featured image for your entire website. Typically, this same feature would require a plugin or a code snippet.
Custom Code
Theme Tools > Theme Options > Custom Code
MyListing provides this convenient place to add code snippets (CSS, JavaScript, and Raw Code) to your website.
However, I do not recommend using it for the following reasons, to name a few.
- You can easily break your site as there are no safeguards or warnings.
- You cannot easily reuse your code on other websites you manage.
- There are no autocomplete features to help you write (or learn to write) code.
Instead, I recommend and use WPCodebox on every website, whether my own or a client’s.
Deal: WPCodebox
Guide: Easily Manage Code Snippets for Your MyListing Website With WPCodeBox
Article: Why I Switched to WPCodeBox for Code Snippet Management
Shop
Theme Tools > Theme Options > Shop
MyListing allows you to create a very basic shop page with WooCommerce. This may or not be an issue for some projects that may not want to have/show a shop page in the first place.
Number of Products Column
With this setting, you are simply telling WooCommerce how many products you would like to display on the same “line” side by side. There is no ability to control mobile responsiveness, like how many columns (i.e., products) should be shown on smaller devices. You will also need to be pretty good with CSS to have any shot at making the MyListing shop page look professional.
Select Shop Page Sidebar
You can build a sidebar (WordPress Dashboard > Appearance > Widgets > Shop Page) and assign it using this setting. To get your sidebar to show up, you must edit the Shop page with the WordPress editor and set the ‘Template’ setting to use one of the sidebar options.
If you want a beautiful, mobile-responsive, highly-functional store, you will want to skip the MyListing shop option and instead build your shop with Elementor Pro.
Club Store: Shop Page Templates
Typography
Theme Tools > Theme Options > Typography
There’s not much to say about this one. If you visit the path MyListing gives you (Appearance > Customize > Typography), you’ll be in the WordPress Customizer and find several typography settings for various areas of MyListing.
Preview Cards
Caching
Theme Tools > Performance > Preview Cards > Caching
Preview Card Caching
This feature creates a cached version of each Listing Preview Card, resulting in significantly faster load times on Explore page, Listing Feed widgets, and other locations where these cards are present.
To enable ‘Preview Card Caching’, click ‘Enable Now’
Preview Card Caching – Regenerate Cache
The cards are updated automatically whenever the Listing information is changed. However, there are occasions when it might be necessary to regenerate all cards.
- After updating the MyListing theme.
- After altering a Listing Preview Card template.
- When images aren’t showing properly across the website.
To regenerate the cache, choose the Listing Type you altered from the dropdown and click ‘Remove All Existing Cache and Regenerate’. If you altered multiple Listing Types, regenerate the cache for all by choosing ‘All Listing Types’ from the dropdown.
Pro Tip: Avoid clearing your entire cache unless it’s unavoidable. For example, it might be tempting to choose ‘All Listing Types’ to save time, but that very small amount of time savings can seriously degrade the performance of your website. If you are experiencing an issue where areas of MyListing seem “off”, like images aren’t showing up, for example, go ahead and choose to clear the entire cache and all other levels of caching (CDN, server, and plugin).
Other Settings
Theme Tools > Performance > Preview Cards > Other Settings
Background Image/Gallery Picture Quality
The largest container for Preview Card images is likely to never be displayed at more than 600 x 200 px. So, the default setting of ‘Medium_Large (768 px x Auto) is overkill here and adds unnecessary weight to any pages where Listing Preview Cards are present.
Once you change this setting, clear your Preview Cards Caching for all Listing Types.
ShortPixel Adaptive Images (SPAI) plugin furthers the optimization, telling the images to only load at the size of their container. So, SPAI can tell your images to load at your new container size of 600 px wide and not a pixel more.
How Many Gallery Slides to Load
Set how many images to load for Preview Cards that are configured to use the ‘Gallery’ background (Listing Type > Preview Card > Preview Card > Design > Background), and the more images you choose to load, the slower your Explore page will perform as far as loading images go.
Typically what I see here is the default setting of 3 images. This is a good balance of giving people a sneak peek at the Listing’s image gallery and not loading too images.
Deals: Image Optimization Solutions
Guide: Image Optimization for MyListing Websites
Data Updates
Theme Tools > Performance > Data Updates
Ensure that all updates have been run and show a green checkmark. Once done, you will want to find an automated solution for optimizing your data, and for that, I recommend Perfmatters.
Deal: Perfmatters
Guide: How to Optimize MyListing Websites With Perfmatters
Listing Stats
Theme Tools > Listing Stats
I’ve provided my recommended settings because, by default, the settings are not optimal and can create more questions rather than provide more answers.
Cache Stats
The default setting of 60 minutes is likely fine in most cases. Listing owners will likely be too busy with other things (running their business, life, etc.) to check their stats more than every 60 minutes. Personally, if I were to change this setting (I leave the default setting) to anything, it would be to increase the cache rather than lower it. I recommend not lowering this setting unless you have a good reason to, and a small number of Listing owners complaining about the frequency of stat updates is not a good enough reason.
Delete Stats Older Than
By default, the theme only collects a month’s worth of data, which is not enough for the Listing owner to do trend analysis, and this doesn’t match up with the default ‘Visits Chart’ setting. I recommend setting this to 183 days, which gives the Listing owner 6 months of data so they can do trend analysis.
Stat Boxes
By default, the theme collects and displays some information that isn’t actionable by the Listing owner, so there is no need to show it. Also, why collect that data in the first place when FREE tools like Google Analytics can report on the same thing without adding to your database bloat? I recommend disabling all Stat Boxes except ‘Unique Views’, ‘Views’, and ‘Tracks’.
Visits Chart
By default, the theme collects 12 months’ worth of data, which doesn’t match the default ‘Delete Stats Older Than’ setting. I recommend setting this to 6 months.
Color Palette
Choose colors that match your brand’s overall color scheme. For ‘Color #1-4’, I like to make these different shades of my accent color (dark to light) and then set the ‘Views Series Color’ to match ‘Color #1’ and ‘Unique Views Color’ to match ‘Color #4’, for a good contrast.
- Color #1: Accent Color (10% Darker)
- Color #2: Accent Color
- Color #3: Accent Color (10% Lighter)
- Color #4: Accent Color (20% Lighter)
- View Series Color: Accent Color (10% Darker)
- Unique Views Series Color: Accent Color (20% Lighter)
Map Services
Theme Tools > Map Services
If you are going to provide maps throughout your website (Explore pages, Single Listing Location Blocks, etc.), this is where you can enable Google Maps or Mapbox. I recommend Mapbox due to the simplicity of setup, higher quota in the FREE plan, overall pricing, etc.
Guide: How to Easily Configure Map Services for Your MyListing Website
User Roles
Theme Tools > User Roles
Before we dive into what’s available here, you can skip this task if you do not need additional user roles and/or you do not need to allow extra features for user profiles (Profile Picture, Social Networks, etc.).
Accounts & Roles
The ‘Enable User Registration’, ‘Generate Username Automatically’, and ‘Generate Password Automatically’ settings are the same settings you’ll find in the ‘Accounts & Privacy’ tab within WooCommerce. So, let’s talk about what’s unique here.
- Default Account Type: This overrides WordPress’s setting to assign the ‘Subscriber’ role to new users. While there is no harm in this, the new users technically are not “customers’ just because they register for an account on your website.
- Google reCAPTCHA: This is there to help prevent SPAM, but this technology is a performance hit on your website and is often ineffective. Also, when you use reCAPTCHA on a MyListing website, it’s often set in many places and not centralized. Instead of using reCAPTCHA, I recommend using either the WP Armour or CleanTalk plugin, which protects your entire website from a centralized location without impacting the performance of your website.
User Roles & Permissions
This allows you to separate users into two groups. For example, you could have ‘Business Users’ that can add Listings and have special access to Listing-related dashboard features such as Listing Stats, Listing management, Listing promotions, etc. You could then have ‘Regular Users’ that get reduced access and, therefore, a simplified dashboard.
- Can Add Listings: Enables access to the Add Listing page, dashboard statistics, and Listing management features.
- Can Switch Role: Enables the user to easily switch between the two available roles (User Dashboard > Account Details).
- Registration Form Fields: Select the fields that should be made available for each role, and note that some fields (‘About’ Yourself’, ‘Profile Picture’, and ‘Social Networks’) are used to build the user’s MyListing-based ‘Author’ page.
Pro Tip: If you decide to adjust the registration fields, consider user onboarding and “registration abandonment”. Find the balance between capturing needed information and not making registration overly complex/time-consuming for your users. Remember that each field is configurable, so you can say whether it should be required, viewable on the actual registration form, etc.
Deals: Anti-SPAM Solutions
Guides: Anti-SPAM Solutions
Direct Messages
Theme Tools > Direct Messages
Think this feature through before you enable it for the reasons I outline below.
- Performance: With this option enabled, your website will take a small performance hit. In addition to the front-end hit, the database stores all chats (as expected) indefinitely until both the sender and receiver delete a message.
- Moderation Limitations: Simply put, there are no options for moderation, so people can find a registered user on your website and say anything they want to that user. While users can block other users, the potential damage that could be done before blocking occurs could damage your business’s reputation and lead to legal issues.
- Usage Tracking: While tracking can be done for direct messaging within Single Listings, the direct messaging feature within the header is not tracked.
Enable Direct Messages
If enabled, this places a messaging icon within the default MyListing header so logged-in users can message each other.
Enable Compose Message
Anyone can find and direct message other users on your website if enabled. If disabled, people must go through the direct messaging option within Single Listings, which is a nice option if you don’t want people to be able to search through all the users on your website.
Pro Tip: If you decide to use this feature, you first need to disable the ‘Enable Direct Messages’ setting, save changes, enable the setting again, and save changes again.
Social Login
Theme Tools > Social Login
This allows users to log in using their Facebook or Google accounts, which can help reduce overall user friction when registering for your website.
Guides: Social Login
Other (Simple Products)
Theme Tools > Other > Simple Products
This provides a simple way for users to submit their products on your site. I only recommend using this option if you are a.) willing to put in a ton of work to manage all aspects of running a multi-vendor marketplace that would typically be automated for you. b.) you cannot afford a true Product Vendor solution.
An inexpensive alternative is WooCommerce Products Vendors, the only solution officially supported by the official MyListing team.
I recommend using a dedicated product vendor solution over the built-in ‘Simple Products’ option for the following reasons.
- It does not allow users to get paid/receive a commission directly.
- Site owners/admins are required to manage all products/transactions.
- Products are mixed in with the site owner’s products.
- Only ‘Simple Products’ are supported.
- No notifications for site owners/admins on Product submission.
- No notifications for Listing owners on Product submission approval.
- No control (without code customization) over required fields.
- and more.
Configuring MyListing
- Enable Simple Products > Toggle ON.
- Edit a Listing Type where you wish to allow Listing Owners to display products.
- Add the ‘Products’ field and configure it as desired.
- Single Page > Content & Tabs > Select the ‘Store’ tab’.
- Edit the tab, giving it a name like ‘Store’,
- Display Products From Field > Choose the ‘Products’ field.
- Hide Tab If There Are No Products > Toggle ON.
- WordPress Dashboard > Appearance > Menus > Add the ‘My Products’ menu item to the ‘WooCommerce’ menu, giving the Listing Owner the option of adding Products to their Listings from their user account menu. (Note: This step is only required if you have created a custom WooCommerce menu for your website, as by default, ALL WooCommerce endpoints will be shown, including this one.).
Submitting Products (Listing Owners)
- User Account Menu > Click ‘My Products’ .
- Published Products > Click ‘Add a Product’.
- Fill in the required fields.
- Fill in the optional fields as desired.
- Click ‘Submit’. (Note: Listing Owners must keep an eye on their dashboard to see when their Products have been approved and/or wait for a notice from the website owner/admin.).
- Edit the Listing where the submitted Products are to be added.
- Products Field > Select the desired Product(s).
- Save changes.
Guide: Build a Marketplace with MyListing and WooCommerce Product Vendors
Listing Packages
This WooCommerce product type allows you to sell (or allow for FREE) Listing submissions on your MyListing website. There are limitations, though, when compared to what Listing Subscription Packages offer.
If you can afford the price of the WooCommerce Subscriptions plugin, I highly recommend you implement Listing Subscription Packages over the default Listing Packages.
Regardless of which Listing Package type you choose, they do share some similarities in terms of settings. Building on top of what’s possible with a typical WooCommerce product, these products add options specific to MyListing.
- Listing Limit: How many Listings can be published once the package is purchased?
- Listing Duration: How long can the Listings associated with the package remain published?
- Feature Listings: Add a ‘Featured’ icon to the Listing Preview Cards and place a higher priority for these Listings within Explore pages, Listing Feeds, etc.
- Mark As Verified: Add a ‘Verified Badge’ icon next to the Listing’s title for both the Single Listing and Listing Preview Cards.
- Use For Claim: Allow people to claim Listings from the front end of the website.
- Disable Repeat Purchase: Allow this package to only be purchased or used (i.e., FREE Listings) once per user.
Using the MyListing Project Template checklist, you could use the pre-built Listing Subscription Packages from the Club as a starting point or build them from scratch.
Club Store: Product Packages
Listing Subscription Packages
WordPress Dashboard > Products
Like Listing Packages, this WooCommerce product type allows you to sell (or allow for FREE) Listing submissions on your MyListing website. I recommend Listing Subscriptions Packages over MyListing’s default Listing Packages.
Regardless of which Listing Package type you choose, they do share some similarities in terms of settings. Rather than list every setting here, I’ll only mention what’s unique to the Listing Subscriptions Packages. Check the Listing Packages section to see common settings between the two package types.
- Expire After: How long should the subscription last? (Note: The point of using subscriptions is to have Listings published for as long as the customer is paying, so I don’t see this being useful for most MyListing websites.).
- Sign-up Fees: If you wanted to charge an additional, one-time fee for the subscription, this is where you could set that.
- Free Trial: You could allow your customers to try out your platform before committing further and paying you for a subscription.
- Subscription Type: This setting has quite a bit to it, so I’ve broken it down in greater detail below.
Subscription Types: Link the Subscription to Posted Listings
- Note: This is the option most commonly used on MyListing websites.
- All Listings attached to the Listing Subscription Package remain active as long as the subscription remains active.
- Once a Listing Subscription Package ends or is canceled, all Listings attached to it will be transitioned to expired.
- If the Listing Subscription Package is re-activated after it ends or was canceled, all Listings attached to it will return to published.
- Free trials are supported as well. At the end of the trial period, the listings will be set to Expired until the subscription is renewed.
Subscription Types: Link the Subscription to the Package
- The Listing Subscription Package will have its Listing count reset to zero on every subscription renewal period, so whatever you set for the ‘Listing Limit’ is the number of NEW Listings the customer will be able to publish. So, if the ‘Listing Limit’ is set to 5 per month, in the second month, they will be able to publish up to 5 new Listings while keeping their previous 5 Listings in place, for a total of 10 Listings.
- Once a Listing Subscription Package ends or is canceled, all Listings attached will remain published until their individual expiration date.
- Once a Listing Subscription Package ends or is canceled, no new Listings can be added unless the customer re-activates the subscription.
Using the MyListing Project Template checklist, you could use the pre-built Listing Subscription Packages from the Club as a starting point or build them from scratch.
Club Store: Product Packages
Listing Subscription Grouped Product
WordPress Dashboard > Products
If you’re going to have Listing Subscription Packages and wish to allow for ‘Subscription Switching’ (i.e., upgrading/downgrading). In that case, you’ll need to create a ‘Grouped Product’ that includes all the packages that customers can switch between.
Using the MyListing Project Template checklist, you could use the pre-built Listing Subscription Packages from the Club as a starting point or build them from scratch.
Club Store: Product Packages
Paid Listing Packages
WordPress Dashboard > Users > Paid Listing Packages
MyListing allows you to manually assign, manage, and manipulate Listing Packages and Listing Subscription Packages. This is useful when doing bulk imports of Listings, adjusting package allowances/constraints for particular customers, adding packages manually on behalf of Listing Owners, and more.
We’ll add and assign Paid Listing Packages in the steps below, doing one series of steps for Listing Packages and one for Listing Subscription Packages.
These steps assume you already have the following items in place:
- Listing Package
- Listing Subscription Package
- Test User Account
- Listing (Published)
Paid Listing Package – Listing Packages
- WordPress Dashboard > WooCommerce > Orders > Add New
- Status > Completed
- Customer > Choose the desired customer.
- Item > Click ‘Add Items’.
- Click ‘Add Products’.
- Select the desired Listing Package.
- Click ‘Add’.
- Click ‘Create’.
- WordPress Dashboard > Users > Paid Listing Packages > Take note of the Package ID for the order you created above.
- Edit the Listing.
- Click ‘Switch Package’ and click ‘Ok’ when prompted.
- Select the Package ID you noted above and click ‘Apply’.
- Click ‘Update’.
At this point, you can adjust the Paid Listing Package as desired without involving the Listing Owner.
Paid Listing Package – Listing Subscription Packages
- WordPress Dashboard > WooCommerce > Orders > Add New
- Status > Completed
- Customer > Choose the desired customer.
- Item > Click ‘Add Items’.
- Click ‘Add Products’.
- Select the desired Listing Subscription Package.
- Click ‘Add’.
- Click ‘Create’.
- WordPress Dashboard > WooCommerce > Subscriptions > Add Subscription
- Customer > Choose the customer.
- Subscription Status > Active
- Parent Order > Choose the order from the steps above.
- Item > Click ‘Add Items’.
- Click ‘Add Products’.
- Select the desired Listing Subscription Package.
- Click ‘Add’.
- Click ‘Create’.
- WordPress Dashboard > Users > Paid Listing Packages > Click ‘Add New’.
- Package Details > Adjust the package specifics (Listing Limit, Listing Duration, etc.) as desired.
- Payment Details > Assign to the user and select the order from the steps above.
- Click ‘Publish’ and take note of the Package ID.
- Edit the Listing.
- Click ‘Switch Package’ and click ‘Ok’ when prompted.
- Select the Package ID you noted above and click ‘Apply’.
- Click ‘Update’.
Taxonomies
MyListing includes Categories, Regions, and Tags (let’s call these the “default taxonomies”) out of the box, with the ability to create custom taxonomies.
It’s also important to note that a Listing Type is also a taxonomy.
I’ve been a part of projects where only the default taxonomies were needed. There have been projects where the default taxonomies were bypassed completely in favor of custom taxonomies.
Both approaches have pros and cons, depending on the project’s requirements and goals. I could make many statements regarding these pros and cons, but let me make just a couple here, specifically around what I call ‘Taxonomy Scalability’.
Taxonomy Scalability
I’ve repeatedly seen MyListing website owners jump right into their website and start adding taxonomies without thinking about the long-term implications of their decisions.
The best advice I can give you here is to be as “high level” as possible with your Taxonomies…until you can’t. What do I mean by that? Let’s look at an analogy using a city’s water system.
Imagine a city that builds its water system with pipes that aren’t all that wide, to begin with, and they keep getting narrower as the system branches out. What happens when the city realizes they are not getting the water flowing efficiently?
The city can’t simply shut down the entire water system and replace it with bigger, more efficient pipes because, well…people need water. They must either a.) build a completely new system on top of the old system or b.) slowly replace the old system with new system components.
Suppose you relate this to a website that has been running for some time and has many Listings. In that case, you can imagine how painful (and embarrassing) it would be to rebuild your taxonomy structure and ask your Listing owners to adjust their Listings because of that rebuild.
Furthermore, you also have to consider all of the areas of your website where taxonomies come into play (Explore pages, Listing Feeds, Category pages, Regions Pages, Permalinks, etc.) and would need to be adjusted. If you fix this yourself, it’s taking time away from building your business. If you hire someone to fix this, that money could have been spent to enhance the business.
When Taxonomy Scalability Matters
These are not absolute, hard, and fast rules, but they generally apply.
- If you’re only going to have a single Listing Type for the life of your website, then ‘Taxonomy Scalability’ is not something you need to concern yourself with. Use the default taxonomies and sprinkle in custom taxonomies down the road if needed.
- If there is any chance you are ever going to have more than one Listing Type for your website, ‘Taxonomy Scalability’ is something you should 100% concern yourself with.
Implement Taxonomy Scalability
These are not absolute, hard, and fast rules, but they generally apply. I’m also assuming here that scalability is going to apply to you.
- Air on the side of having more Listing Types rather than too few. I have a simple rule to determine when a new Listing Type is needed. If the data entered into the Listing Type will not make sense for EVERY Listing published on your website, you need another Listing Type. For example, it would make sense to have a field for ‘Price Range’ when you have Listings that have nothing to do with selling.
- Air on the side of using custom taxonomies instead of the “default taxonomies”. Using custom taxonomies is the only way to prevent searching/filtering from returning undesirable results. For example, if Listings from two different Listing Types share the same ‘Category’ taxonomy and search that Category, you might get Listings from the Listing Type you didn’t want results for.
Listing Categories
A checklist is included within the MyListing Project Template.
Listing Regions
A checklist is included within the MyListing Project Template.
Listing Tags
A checklist is included within the MyListing Project Template.
Listing Custom Taxonomies
A checklist is included within the MyListing Project Template.
Listing Permalinks
WordPress Dashboard > Settings > Permalinks > Optional > Listing Base
This is the URL structure your Listings will take on and out of the box. While MyListing provides some nice, dynamic options, depending on the project, the theme can do too much or too little.
Too Much
The default permalink structure is /listing/, but with some projects, the website owner wants the URL for listings to be domain[dot]com/listing-name. This is not achievable with MyListing, without using a plugin like Permalink Manager Pro.
Too Little
Without using a plugin like Permalink Manager Pro, MyListing does not allow you to get granular with your permalinks. For example, if you wanted to show both the Parent Region and the Child Region in the URL, that’s impossible without a plugin.
MyListing will only show the Region chosen first when the Listing owner builds their Listing. The above limitation can be seen whenever someone wants to add Parent/Child taxonomies in the same URL.
Permalink Manager Pro – Example
If you look at a Listing on the Charlotte Starter Site, you can see how granular I was able to get, showing /state/city/neighborhood/listing-type/category/listing-name
Deal: Permalink Manager Pro
Guides: Permalinks
Single Listing Contact Forms
MyListing bundles the Contact Form 7 plugin with the theme, but I recommend not using it for the following reasons, to name a few.
- Difficult to Use
- Lack of Functionality
- Slows Down Websites
Instead, I recommend using Elementor Pro for any form you add to your MyListing website, especially since there is a good chance you are already using Elementor Pro.
Elementor Pro forms are easy to work with and have a ton of functionality. Also, unlike Contact Form 7, which loads assets on every single post/page regardless of whether they even contain a form, Elementor Pro forms only load assets when a form is present.
Guide: Replace Contact Form 7 with Elementor Pro
Club Store: Single Listing Contact Form Templates
SPAM Protection
MyListing includes the option of enabling reCAPTCHA for several areas within your website to help fight SPAM. However, I do not recommend it.
reCAPTCHA is notorious for having random issues and slowing down websites.
Instead, I recommend a plugin like WP Armour or CleanTalk, which are lightweight, easy to set up, and prevent SPAM for all areas (User Registration, Single Listing Contact Forms, Listing Submissions, General Contact Forms, etc.) of your MyListing website.
If you still want to give reCAPTCHA a shot, listed below are some areas within a MyListing website where you can find it. Just know there is very little support from vendors regarding which reCAPTCHA technology to use for each area.
- Theme Tools > User Roles (Registration Forms)
- Listings > Settings (Listing Submissions)
- Contact > Integration (If using Contact Form 7)
- Elementor Form Widget > Form Fields (If using Elementor Pro)
Deals: Anti-SPAM Solutions
Guides: Anti-SPAM
Listing Types
WordPress Dashboard > Listing Types
I recommend reviewing this guide’s ‘Taxonomies’ section and completing those related tasks before building your Listing Types.
Listing Types are a taxonomy that is the foundation of Listings. They control the data and types of data that can be added, how the Listings will look and function, how searching and filtering will work, and more.
When should you create different Listing Types? The simple rule is to create a new Listing Type when even just one field does not apply to a Listing Owner.
For example, a Listing Type for an Event might have a field for seating capacity, whereas a Listing Type for a Vendor would not need that field. It wouldn’t make sense to ask the Vendor about seating capacity as part of the Add Listing process.
Air on the side of creating more Listing Types instead of too few.
Like other taxonomies, if you get too granular too soon, it’s nearly impossible to back out of that and go more “high-level” in terms of your taxonomy structure.
Having more Listing Types helps keep your Add Listing forms shorter, which helps prevent users from abandoning the process of adding their Listings.
A checklist and additional guidance are included within the MyListing Project Template.
Club Store: Listing Types
Listing Type Revision Governance
By default, MyListing will store up to 15 revisions of each Listing Type, and a new revision is created every time you change your Listing Type.
While this is a good feature, storing that many revisions is unnecessary and adds bloat to your database.
Listing Type Revisions (Guide by Ryan)
Global Listing Type
The Global Listing Type serves one purpose, which is to provide searching/filtering across all Listing Types on your website, and there are two areas where you can take advantage of this.
- 27 > Explore Listings (Elementor Widget)
- 27 > Map (Elementor Widget)
This Listing Type is just like regular Listing Types but with some key differences.
- The Global Listing Type must include the same fields as the regular Listing Types that you want to be able to search/filter on. (Ex. If you want the Global Listing Type to be able to search/filter on the Category field, the Category field must be present in the regular Listing Type and the Global Listing Type.).
- You cannot/should not use more than one Global Listing Type.
- The Global Listing Type’s only purpose is to provide search/filtering functionality.
- You cannot/should not use the Global Listing Type for the Add Listing form/process.
Okay, so when might you want to use the Global Listing Type?
In my opinion, the main reason you might want to use a Global Listing Type is to simplify the look of your Explore pages or anywhere else you are using the ’27 > Explore Listings’ widget.
Let’s say you had 10 Listing Types. Rather than display 10 Listing Types across an Explore page Navigation Bar (i.e., Display as NavBar setting) or display 10 Listing Types as a dropdown (i.e., Display Listing Types as Dropdown setting)
Add Listing Page
If you are going to add all of the Listings to your MyListing website (i.e., users will not be adding/managing Listings), this task can be skipped.
Otherwise, this will be one of the core pages you need to set up, as it’s responsible for the ‘Add Listing’ “Flow”, including the MyListing pricing tables and the Submit Form.
To get started building this page, you edit it with Elementor and add the ’27 > Add Listing Form’ widget to the page.
Listing Type Selection Step > Card Size
You’ll notice that one of the settings is for ‘Card Size’. This determines the size of the “flipping boxes”(i.e., Listing Type boxes) that MyListing displays for choosing the desired Listing Type as part of the ‘Add Listing’ process.
You are pretty much limited to the settings within the ’27 > Add Listing Form’ Elementor widget, which makes this page work. In other words, without custom CSS, you are pretty much out of luck regarding design, with minor exceptions that come from the Theme Options like your ‘Accent Color’.
I ignore this and build custom ‘Get Started’ pages for displaying the available Listing Types. This gives you design freedom and the ability to easily add other functionality to this page. Otherwise, depending on what you want to change on this page, you will need CSS and possibly development skills.
Listing Type Selection Step > Listing Types
This one is pretty easy. Add an item for each of your Listing Types that you would like users to be able to choose from when adding their Listing.
Listing Type Selection Step > Enable Form Section Animations
When this setting is enabled, you’ll see a slight animation as you transition through the various sections of the ‘Submit Form’. I prefer to disable this option, and many people ask how to disable this.
Package Selection Step > Package Layout
MyListing provides premade “layouts” for those with 3 or 4 Listing Packages to display. This means they have already calculated how things should look if/when the 3 or 4-package layout is selected.
You can, however, not choose any layout here and go at things with CSS. Truth be told, no matter what option you choose, there is a good chance you will need some CSS.
Theme Tools > Theme Options > Header > Show Call to Action Button
If you use the default MyListing header, once this setting is toggled ON, you can choose to have your ‘Add Listing’ page be the call to action triggered by the button. Otherwise, using a custom, Elementor-based header gives you more freedom to get creative.
Pro Tip: If you ever change the slug of a Listing Type, you must return to this page and re-add that Listing Type, or it will not appear as part of the ‘Add Listing’ process.
Pro Tip: Exclude this page and any content (page, post, etc.) that has no SEO value from being crawled by search engines. For this, I recommend SEOPress.
Claim Listings
This feature can allow the real owner of a business to take ownership of a Listing so they can manage it and build it up for monetization purposes.
For example, let’s say you are building a directory for a local town. You might add 20 Listings for different pizza shops in town, and then later, contact each pizza shop and ask them if they would like to “claim” their Listing.
Claimable Listings
By default, all Listings that don’t have a Listing Package assigned are claimable.
This can be overridden case-by-case by assigning a Paid Listing Package to a Listing and toggling ON the ‘Is Claimable?’ setting within the package. Assigning a package this way allows you to assign a better package to a Listing rather than leaving it as a “basic” Listing. This way, you can enhance the Listing’s priority, the data shown within it, and a better layout/design overall.
Claim Packages
Like regular Listing Packages, claim packages can be created as WooCommerce Products. Please see the Listing Packages and Listing Subscription Packages sections for more information.
Claim Approval
Once a new claim has been submitted, you can review it in WP Dashboard > Listings > Claim Entries. Clicking on an entry will allow you to approve or decline it.
Claim Notifications
These are on by default but can be adjusted under WP Dashboard > Listings > Settings > Notifications. Users are notified when their claim status has changed, and website admins are notified when a claim has been submitted.
Pending Claims
Users can view their claim requests by logging in and navigating to MyListing Dashboard > My Listings > View Claim Requests.
Claim Listing Page
When creating the ‘Claim Listing’ page, there’s nothing to it other than for it to exist and contain the ‘Claim Listing’ shortcode. DO NOT use Elementor to build this page. Instead, use the WordPress default editor.
Claim Listing Shortcode
[claim_listing]
Explore Page
Typically, this is one of the core pages of a MyListing website, as it provides the functionality and design you configure within the Search Forms area of a Listing Type.
To get started building this page, you create it and edit it with Elementor, adding the ’27 > Explore Listings’ widget to the page. See the subtasks below for a checklist of steps.
The above said, some MyListing websites do not use a dedicated Explore page and instead place the Explore widget on strategic pages, like Region pages, Category pages, etc. Either way, the below applies.
Advanced Form
This form appears on the left-hand side of the Explore widget, along with ‘Explore Tabs’ and filters. MyListing website users can use this form to find and filter Listings based on specific criteria defined within the form.
Listing Order
This functionality is seen at the bottom of the Advanced Search Form and appears as ‘Order By’.
Explore Tabs
These tabs appear above the ‘Advanced Form,’ and you can use a maximum of three at one time. They can provide an alternate (or additional) way of presenting data and filters. For example, instead of a text-based drop-down field for Categories, using the ‘Categories’ Explore Tab with images may be preferable.
—————————————-
27 > Explore Listings Widget
Note: The settings from Theme Options – Explore have an impact here as well.
Template
Each template presents a different look and feel, so it’s just a matter of choosing the desired template for your project. Here is an example of Template 1 and Template 3 from my Starter Sites.
- Template 1: Advanced Search Form (Left Column), Listings (Middle Column), and Map (Right Column).
- Template 2: Advanced Search Form (Left Column) and Map (Right Column).
- Template 3: Advanced Search Form (Top Row) and Listings (Bottom Row).
- Template 4: Advanced Search Form (Left Column) and Listings (Right Column).
Columns
This setting applies to the Listings, so it’s just a matter of choosing the desired setting for your project.
- One: This default setting displays Listings in a single column that occupies 450px of a 1600px desktop width.
- Two: This displays Listings in two columns, occupying 800px of a 1600px desktop width, leaving the Advanced Search Form width the same while shrinking the Map area. The Map can easily be expanded to near full-screen with the click of the Map icon.
- Three: Despite the title of this option, it displays Listings in four columns, occupying 1200px of a 1600px desktop width, leaving the Advanced Search Form width the same while hiding the Map area. The Map can easily be expanded to near full-screen with the click of the Map icon.
Enable/Disable Live URL Update
I recommend leaving this as the default setting to ‘Enable’ this feature. The main reason is that this makes it easy to get the dynamic URL needed to populate other website areas.
For example, let’s look at the Home page of the Basecamp Starter Site. If you click on one of the cards under the ‘Fuel Your Next Adventure’ section, you’ll see that it takes you to the Explore page with the dynamic URL already populated. To get the link for that card, here are the steps.
- Perform a filter on the Explore page.
- Copy the dynamic URL provided,
- Paste the URL into the card.
Trigger Search On Map Drag
If you’re not allowing people to search by location using Map Services, then this setting should be disabled. If you want people to have the ability to search by location, be sure to add the Location and Proximity fields to the Advanced Search Form, configuring as desired.
While it’s not a setting within the Explore Listings widget, it’s also worth mentioning the option to search the map when dragging it, which is enabled by the user when they check the ‘Search as I move the map’ box.
Listing Types
This one is self-explanatory, but I wanted to mention it because it’s an easily overlooked setting, with website owners wondering how to get their Listings to show up on the Explore page. There’s not much to say here other than to add each of the Listing Types you wish to be searchable/filterable on the Explore page.
Display Listing Types As
We have two options (Navbar and Dropdown) here, and this setting only applies when you have more than one Listing Type to add to your Explore page.
- Navbar: This places tabbed navigation at the top of the Explore Listings widget, allowing users to quickly jump between Listing Types. This option is preferred if you want to reduce the overall length of your Advanced Search Form.
- Dropdown: This places a dropdown filter towards the top of the Advanced Search Form, just below the Explore Tabs. The dropdown cannot be moved with custom development, but in most cases, that shouldn’t be a big deal because selecting the Listing Type first is the logical move. This option is preferred if you want to keep the Explore page aligned at the top, directly under your Header, and maximize vertical space.
Default Filter Values
This feature is a great option if you building a page (Explore page, Region page, Category page, etc.) where you want to pre-filter Listings based on what the page is about.
For example, you could add the Explore Listings widget to a Region page for a particular city where you want to show the top Pizza places. In this case, you could use a ‘Restaurant’ Listing Type and a taxonomy (Categories, Custom Tax, etc.) of ‘PIzza’.
Please refer to the ‘Enable/Disable Live URL Update’ section above for the URL you can use for this setting.
Default Coordinates (Latitude and Longitude)
When there are no Listings to show on the map, this will be used as the default location. This is an important setting, especially if your directory serves a specific geographic region where you want to put coordinates for that region. Finding the desired coordinates is easy using Google Maps, as shown below.
- Open Google Maps.
- Enter the desired location.
- Right-click on the location and the coordinates will be displayed at the top, with Latitude being the first value shown, followed by the Longitude.
Once you believe your coordinates are entered correctly, you can easily test by filtering your Explore page to the point where no Listings match the criteria.
Zoom Levels
These settings are more trial and error than anything since every MyListing project is different. You’ll want to play with these settings until you have the desired outcome. I recommend keeping an eye on these settings over time, as the desired settings may change as you add more Listings that populate the Map.
Categories/Taxonomies Tab > Item Count
This setting goes along with the ‘Explore Tabs’ mentioned above. It dictates how many terms to show under each of the tabs. What you have to weigh here is performance vs. user experience.
I don’t know at what point performance would start degrading, but that greatly depends on your website’s infrastructure, how many users are concurrently utilizing the Explore Tabs, and so on.
Since I host all MyListing websites (mine and those of my clients) on high-end hosting, I start by clearing out the default value and leaving it blank so all terms will show.
Overlay Type
This feature adds color over the top of the taxonomy cards shown within the Explore Tabs. There is an option to choose any solid color or a pre-configured gradient. Regardless of your choice, the color is shown with a 40% opacity and then a 95.5% opacity (i.e., nearly solid) on hover.
If you don’t like the gradient options as they are currently configured, you can use CSS to easily adjust the pre-configured options or create new gradients of your own.
For example, let’s say you choose ‘gradient7’ and you want to alter it slightly. If you inspect one of your taxonomies with the gradient overlay applied, you’ll see the gradient applied to the ‘gradient7’ CSS selector.
.gradient7 {
background: linear-gradient(270deg,#c644fc 0,#5856d6);
}
Adjust the gradient values and add custom CSS to your site to reflect the desired change.
.gradient7 {
background: linear-gradient(your-own-gradient values);
}
The other option is to target the taxonomies as a whole without specifying a gradient color in the ‘Explore Listings’ widget.
.listing-cat .overlay {
background: linear-gradient(your-own-gradient values);
}
Club Store: Explore Pages
Author Pages
Have you ever looked at the default Author pages? They are very basic, with limited functionality.
Unfortunately, MyListing doesn’t provide any elegant way to customize author pages, so you will need to edit the code directly (/wp-content/themes/my-listing/author.php), find a plugin that allows you to customize author pages, or use Elementor to build custom pages for your authors.
The good news is I’ve written a guide that shows you how to create an Author page template that dynamically creates/populates all your Author pages.
When done right, Author pages are beneficial to your overall SEO. They provide valuable content and additional navigation, similar to the value that Category and Region pages add.
If you do nothing for your author pages on MyListing websites, you could be doing more harm to your SEO.
Guide: How to Build Custom Author Pages for MyListing Websites With Elementor
Club Store: Author Page Templates
How It Works Page
Like the ‘Get Started’ page, this page serves as a starting point primarily for new users of a MyListing website.
I think of this page as where people go first before they decide they are ready to “Get Started”.
Perhaps this page and the ‘Get Started’ page could be combined since there is a bit of redundancy. For now, I see this page as more of a step-by-step guide, whereas the ‘Get Started’ page is an abbreviated version that gets right down to the point.
Club Store: How It Works Page Templates
Get Started Page
This page serves as a starting point primarily for new users of a MyListing website, whether signing in or signing up, searching the platform for existing Listings they might want to claim, learning how to gain more exposure through Listing Promotions, and more.
If you look at a MyListing demo website, for example, you’ll see that without this page, the only starting point for potential Listing owners is the ‘Add Listing’ CTA (Call to Action) in the header area (button or menu link).
This leaves a MyListing website user needing guidance. As the website owner, you need to take advantage of key opportunities to educate and provide more value to potential customers.
Building a ‘Get Started’ page with Elementor opens a world of possibilities for design and functionality.
Club Store: Get Started Page Templates
Support Page
This page works hand in hand with the ‘Get Started’ and ‘How It Works’ pages, further educating current and potential users of your MyListing website.
When done right, support pages can save website owners a ton of time by answering questions that might get asked repeatedly.
“How do I change my password?” “Can you elaborate on what features are included in my Listing Subscription?” “How can I upgrade/downgrade my plan?”.
It’s more efficient to answer a question thoroughly, once rather than repeatedly.
You should also consider this page part of your sales material, giving customers good reasons to stay on your platform, upgrade their plan, run promotions, and so on.
Club Store: Support Page Templates
Region Pages
These pages are important for SEO (Search Engine Optimization) and the overall user experience, keeping users on your website and giving them proper pathways to find region-specific content.
While MyListing offers flexibility with the permalink structures and automation of that structure, from an SEO standpoint, there are still shortcomings. If you want to specify and Parent/Child taxonomy relationship in MyListing URLs, you’re out of luck without a custom solution.
Also, by default, any time a user clicks on a Region taxonomy icon within a MyListing website, they are taken to an Explore page. There are better approaches to SEO since the Explore pages have little-to-no SEO value in terms of ranking, and they offer very thin content.
I use Permalink Manager Pro and the Permalink Manager Pro Add-on for MyListing to address these issues.
This solution combo allows you to get granular with your permalinks and automate that process, allowing you to set up custom Region page links, which is critical for SEO and provides a better user experience.
Below are the elements I typically implement when building out these pages.
- Dynamically Populated Headings (H1, H2s, and H3s) with Region-specific info.
- SEO-Friendly Heading (H1, H2, …) Assignments
- Child Region pages include a link to the corresponding Parent Region pages.
- Product placements created with Elementor Pro CTA widgets that link to Region-specific offers.
- Listing Feeds that are dynamically populated with Region-specific Listings.
- and more.
Club Store: Region Page Templates
Deals: Permalink Solutions
Guides: Permalinks
Pricing Pages
Front-facing pricing pages are essential for educating potential customers about your Listing Packages (pricing, features, etc.) so they know what’s possible before deciding to go through the ‘Add Listing’ process.
Without a front-facing pricing page, users of your MyListing website are flying blind, with no idea how to get started Listing their business, how much it costs, what they can expect once they sign up, and so on.
By default, there isn’t an elegant way for MyListing website owners to display multiple payment periods (monthly, quarterly, bi-annual, annual, etc.) within the pricing tables that are part of the ‘Add Listing’ process.
No worries! The Club has you covered with the Pricing Table Switcher Add-on for MyListing.
The Pricing Table Switcher allows MyListing website owners to easily present multiple payment periods, giving customers more options, jumpstarting sales, and generating more predictable income.
Performance
Edge Caching
I approach website performance optimization from the outside, looking inward, optimizing at the edge (e.g., CDN), and working my way down to the most granular level, which typically ends at the plugin level, depending on the overall environment.
Edge Caching is the storing of website assets on a network (separate from your website’s core infrastructure) to deliver content to your website users faster while freeing up some of your server’s resources to do other things and reducing page load wait times (TTFB).
Cloudflare is my recommended solution for Edge Caching, and it is so well regarded for what it offers that my preferred WordPress website host (Kinsta) has partnered with them.
Getting this feature directly from Cloudflare will cost you significant money, as it’s part of their Enterprise plan. The good news is Kinsta provides Edge Caching using Cloudflare’s network at no additional cost.
If you are not going to use Kinsta, then at a minimum, I recommend going with Cloudflare’s FREE plan. It won’t get you the robust Edge Caching I’m talking about here, but it will get you a watered-down version.
The only levels of caching I recommend are Edge Caching and Server Caching, which work together beautifully, especially when using the Cloudflare/Kinsta combo. Adding caching plugins into your environment can cause conflicts and make it difficult to ensure all levels of caching are cleared.
Deal: Edge Caching Solutions
Guides: Edge Caching
Server Caching
Continuing with my approach to website performance optimization from the outside, looking inward, optimizing at the edge (e.g., CDN), and working my way down to the most granular level, Server Level caching is next to tackle.
Where Edge Caching stores website assets on a separate network, Server Caching stores assets from your website’s core infrastructure to deliver content to your website users faster while freeing up some of your server’s resources to do other things and reducing page load wait times (TTFB).
Ideally, you want your CDN (i.e., Edge Caching) to serve your website assets, but there are times when assets aren’t cached. When that happens, that’s where the importance of Server Caching comes into play. In short, Server Level caching provides an extra layer of caching to give your assets the best chance of getting optimally served.
Kinsta provides some of the most robust Server Caching in the industry!
The only levels of caching I recommend are Edge Caching and Server Caching, which work together beautifully, especially when using the Cloudflare/Kinsta combo. Adding caching plugins into your environment can cause conflicts and make it difficult to ensure all levels of caching are cleared.
Deal: Server Caching Solutions
Guides: Server Caching
Plugin Caching
Typically, those that use lower-quality hosting will need to install a WordPress caching plugin that offers things like Page Caching. This is because their core infrastructure is not optimally configured and/or running on premium hardware like my preferred WordPress host for MyListing (Kinsta).
One of the problems with Plugin Caching is it adds yet another layer that must be closely administered in terms of what’s allowed to be cached, clearing the cache, etc., as it can contribute to content not being displayed correctly.
This could be avoided simply with quality web hosting and a top-notch CDN.
Since switching my websites and client websites to Kinsta over 3 years ago, I no longer need caching plugins. Therefore, I don’t follow the developments of caching plugins on the market.
If you’re in an environment where you absolutely need a caching plugin, I’d ask you to reevaluate your hosting. You should also be aware that you should exclude certain pages from Page Caching, and a checklist is included within the MyListing Project Template.
Image Optimization
I see there being two parts to this. There’s setting a max file size (Image Governance) for images that can be uploaded to your website. Then there’s the optimizing of the images (Image Optimization) that make it through and land in your Media Library.
Image Governance
This is a very important piece of the puzzle. If you don’t implement image governance, you run the risk of presenting a terrible user experience (slow uploading process), abandonment (uploading timeouts), higher costs (disk space comes with a cost), etc.
Image Optimization
The images that make it through and land in your Media Library must be optimized, so the posts/pages they appear on will load faster.
Those that use my preferred WordPress website host (Kinsta) get access to an Image Optimization feature that eliminates the need for a 3rd party Image Optimization plugin, and it could not be easier to set up.
This means you have one less plugin added to your website, one less plugin to maintain/manage, and a reduction in operating costs (e.g., Image Credits) often associated with Image Optimization plugins.
If you are not going to host your website with Kinsta, I recommend ShortPixel.
I used the ShortPixel Adaptive Images plugin until Kinsta launched its Image Optimization feature, which offers the same functionality. This allowed me to eliminate a plugin and the associated costs of running the plugin.
Deals: Image Optimization Solutions
Guides: Image Optimization
Database Optimization
Revisions, comments, spam, transients, trash, etc., are just a few things that add to database bloat over time. You should optimize your database regularly to keep things clean and tidy.
For this, I highly recommend the Perfmatters plugin. I use it on every website. The product is amazing, and its team is extremely responsive and supportive.
Deals: Database Optimization Solutions
Guides: Database Optimization
Asset & General Optimization
You can greatly increase the performance of your website by reducing HTTP requests, stripping out unnecessary code, minimizing back-end component loading, and more.
For this, I again recommend the Perfmatters.
Deals: Asset & General Optimization Solutions
Guides: Asset & General Optimization
Remove Old Plugin Data
While I talk about using a Staging environment to test plugins before installing them into production, sometimes plugins make it to production and are removed down the road.
As I also mentioned, removed plugins don’t always clean up after themselves, leaving tables in your database behind.
It’s worth seeing if your plugin allows clean uninstalls and/or manually going into your database and removing the stale tables.
Clean Uninstalls for Plugins
If you haven’t removed the plugin yet, but plan to, be sure to see if it has a setting for doing clean uninstalls, which means the plugin should clean up after itself upon removal. If you’ve already removed the plugin, but you find out there is a clean uninstall option, you could install the plugin again and choose the ‘clean uninstall’ option this time around.
Manual Database Cleanup for Plugins
If the plugin doesn’t provide a clean uninstall option or you don’t want to install the plugin again, you can access your database and clean out the files by hand.
Video: Manual Database Cleanup
Audit Page Weight & Complexity
Note: Work on this task after you have completed all performance-related tasks so that you have a current representation of how your website is performing.
While Elementor is making great strides to optimize its page builder plugin, it’s not a secret that with Elementor, pages can be quite heavy and complex fast, as is the case with many page builders.
Page complexity is measured by excessive DOM depth, CSS rules, JavaScript execution time, etc.
Using the Yellow Lab Tools auditor (Free), you can quickly and easily identify areas that need improvement.
Performance Testing
Note: Work on this task after you have completed all performance-related tasks so that you have a current representation of how your website is performing.
Your website’s success is greatly dependent on how fast it loads.
As time goes on, internet users become less and less patient. Today, a website that takes a few seconds to load is likely to be abandoned.
To ensure that you’re delighting visitors and keeping search engines happy, you need your website to load in less than 3 seconds (but the shorter the time, the better).
Performance Testing Tools
There are many tools for testing website performance, and I’ll mention three popular options here. Whichever tools you choose to use, I recommend testing with at least two of them because each tool has different approaches and catches different things.
Online Presence
Google My Business
Ensure your business has a Google My Business listing, and it’s as complete as possible regarding information that can be included.
Google changes its systems so often that it’s difficult to maintain 100% accurate documentation for finding your business on Google, so I recommend the following steps.
- Open a web browser and go to Google.com.
- Enter ”how to find your business on Google” in the search area.
- Follow the instructions provided.
Google Search Console
To optimize the visibility of your website in the world’s largest search engine, I highly recommend having Google Search Console set up the day you launch your website, even if you’re not going to look at the data immediately.
Guide: Google Search Console
Google Analytics
Google Analytics (GA) is a free service that provides valuable insights to help website owners shape a successful strategy for their business.
It is important to know what content is driving engagement, where visitors are coming from, and what devices they are using to view the content.
I recommend having Google Analytics set up the day you launch your website, even if you’re not going to look at the data immediately.
Guide: Google Analytics
Google Tag Manager
I assume you’ve already completed the Google Account and Analytics tasks within this project template for this task.
Google Tag Manager (GTM) is a free service that provides valuable insights to help website owners shape a successful strategy for their businesses.
Google Tag Manager should be used when you track multiple entities, such as Google Analytics and Facebook Pixel.
It is important to know what content is driving engagement, where visitors are coming from, and what devices they are using to view the content.
I recommend having Google Tag Manager set up the day you launch your website, even if you’re not going to look at the data immediately.
Guide: Google Tag Manager
SEO Plugin
Whenever someone puts up a “what’s the best SEO plugin?” poll within SEO-based communities, SEOPress is typically the top recommendation, and it is my recommendation.
But, as I always tell people, there is no “best” SEO plugin. An SEO plugin is just a tool that is only as good as the person using it.
You cannot install an SEO plugin and magically rank your website in search engines.
Deals: Online Presence Solutions
Guides: Online Presence
On-page SEO Optimization
On-page SEO is optimizing individual web pages to rank higher and earn more relevant traffic in search engines.
This refers to the content and HTML source code of a page that can be optimized, as opposed to Off-page SEO, which refers to links and other external signals.
Deals: Online Presence Solutions
Guides: Online Presence
Listing Meta
MyListing applies meta to Listings, but you need to do a bit more to have proper meta on your website.
You can easily apply this meta using SEOPress.
Deals: Online Presence Solutions
Guides: Online Presence
No-Index Pages
Whichever crawlers (Googlebot, Bingbot, etc.) you allow to index your website, each has a “crawl budget”, which is essentially how long they allow their bot to traverse the various areas of your website looking for valuable content.
If a website has a lot of valuable content, we want the bots to have enough time to get to it all, and by setting content to ‘no-index’, we free up more time for the bots.
Also, some content is pointless to index because it holds no value and could do more harm than good if indexed due to having such ‘thin’ content.
Lastly, there is some content you don’t necessarily want floating out there because you want to avoid serving up outdated/incorrect information.
SEOPress provides an easy way to mark Pages, Posts, Listings, etc., as no-index using the WordPress ‘Quick Edit’ feature (see attached image).
A checklist is included within the MyListing Project Template.
Deals: Online Presence Solutions
Guides: Online Presence
Blog Posts
Have at least 3 SEO-optimized blog posts added to your website before you officially launch. This indicates that you’ll publish content routinely, so visitors have a reason to come back to your website and/or sign up for your newsletter.
I recommend using Elementor Pro to create powerful and flexible blog post templates that can be dynamically applied to all posts, posts within a particular category, and more.
Club Store: Single Blog Post Templates
Social Network Links
Add links to your website for your social media profiles to help bring awareness to those online entities.
I often see people placing these links in the header area of their website, but I don’t recommend that practice.
Instead, I recommend placing them in your footer to help facilitate visitors staying on your website rather than leaving it.
Social Link Placement Ideas:
- Coming Soon Page
- Footer
- Contact Us Page
- Blog Posts/Blog Post Sidebars
NAP (Name, Address, and Phone Number)
For SEO, it’s important to include this information on your website, especially if you are a brick-and-mortar business serving local customers.
I’ve helped clients outrank their competitors by adding NAP to their websites.
With everything else equal, if a website has NAP, but a competitor does not, that could be all it takes to jump to the top of search engine results.
It’s also important that your NAP be consistent across all of your entities (website, social media accounts, citations, directory listings, etc.) that comprise your online presence.
NAP Placement Ideas:
- Header
- Footer
- Contact Us Page
SEO Audits
After you work through the online presence tasks, I recommend performing an SEO audit of your website.
There is a good argument for hiring someone to do the audit, but it might be more cost-effective to get some software and run the SEO audits yourself.
Another benefit to having your software is running audits on-demand for no extra cost, whereas with a consultant, you might have to pay them each time to run an audit.
I recommend SEO Powersuite as a complete solution for auditing all things SEO.
Deals: Online Presence Solutions
Guides: Online Presence
Up for Debate
WordPress Security Plugin
In all my years of running a WordPress agency and multiple WordPress-based businesses, I have never needed to use a full-blown (i.e., all the bells and whistles) security plugin for my sites or my client’s sites.
So, what’s up for debate here is whether you need to use a full-blown security plugin.
Instead of using a full-blown security plugin that can potentially slow down your website and add unnecessary administrative overhead, I recommend the following solution stack.
- Cloudflare CDN (Edge/Network-level Security)
- Kinsta WordPress Hosting (Network/Server-level Security)
- 2FA Security Plugin (Application/WordPress-level Security)
- WordPress Security Plugin (Application/WordPress-level Security)
- Common Sense/Best Practices (Wholistic Security)
Cloudflare CDN
This solution adds a layer of protection at the perimeter before the bad guys even get to the infrastructure where your website is hosted.
Kinsta WordPress Hosting
This is some of, if not the best, hosting in the industry and one of the reasons for that is how much of an emphasis they guys place on security. Not only that, but should some bad guys sneak into your environment, Kinsta support will fix it for you for no additional cost.
2FA Security Plugin
Instead of a full-blown security plugin, this lightweight plugin makes it pretty much impossible for people to log into the backend of your website. In short, they would need your password and your phone to log in.
WordPress Security Plugin
If you feel like you still want/need a full-blown security plugin, I recommend iThemes Security Pro, which eliminates the need for a separate 2FA plugin.
Common Sense/Best Practices
Use good judgment when operating your website or doing anything online that involves credentials, personally-identifiable formation (PII), etc.
- Use Unique Passwords for Each Solution You Log Into
- Use Strong/Complex Passwords
- Use VPN Software When Using Your Computer on Public Wifi
- Keep the Number of Admin-Level Users to an Absolute Minimum
- Only Grant Access to Your Staging Environment for 3rd Party Support
- Use Your Staging Environment for Testing
- Never Let Nulled Software Hit Your Production Environment
Deals: Security Solutions
Guides: Security
WordPress Backup Plugin
In all my years of running a WordPress agency and multiple WordPress-based businesses, I have never needed to use a full-blown (i.e., all the bells and whistles) backup plugin for my sites or my client’s sites.
So, what’s up for debate here is whether you need to use a full-blown backup plugin.
Instead of using a full-blown backup plugin that can potentially slow down your website and add unnecessary administrative overhead, I recommend the following solution stack.
- WP Umbrella (Cloud Backup)
- Kinsta WordPress Hosting (Server-level Backup)
- WordPress Backup Plugins (Application-level Backup)
WP Umbrella
This is a cloud solution that I use to manage my sites and my client’s sites. It has robust backup options, allowing you to back up your website every hour, and it gives you another restore option to go along with your server-level backups for redundancy.
Kinsta WordPress Hosting
This is some of, if not the best, hosting in the industry and one of the reasons for that is how powerful, yet simple to use, their backup options are. I have a lot of clients that only use Kinsta for their backups, and they have been just fine.
Deals: Data Backup Solutions
Guides: Data Backup
Launch
Check for Broken Links
Broken links will send visitors nowhere and can cause damage to your SEO.
In developing a website, it’s common to put temporary links (like using only the number sign or hashtag symbol (#) where the link should go) as a placeholder until you have the right page to link to. You don’t want to take your website live with these links, which can cause frustration for your user and damage your SEO.
Manually Check for Broken Links
The most thorough and effective way to check for broken links is manual. You don’t have to click on every button or link on your website, you can hover your mouse over it, and you should see a preview of where the link is pointed appear at the bottom of your browser.
Automatically Check for Broken Links
A broken link checker, like the one included with SEOPress Pro or SEO Powersuite, will scan your website and alert you to any broken links. However, note that a link with the value of “#” will not be seen as broken, even though it’s likely not what you want to link to.
Deals: SEO Powersuite and SEOPress Pro
Test Submission Forms, Receipts, & Messages
Manually test any submission forms to ensure the proper user experience.
Forms are generally one of the most common “conversions” website owners want visitors to make. It can be tempting to assume they are working just like you intended, but it’s important to test every form before publishing it live on a website.
Simple Form Testing Procedure
To test your forms, make sure they are set to submit to an email address you have access to (you’ll need 2 email addresses for these tests, so we’ll call this email address ‘Email A’).
After you’ve set ‘Email A’ as the “to” address in your form, navigate to the front end of your website and fill in the form as if you were a customer, this time using a different email address (‘Email B’), and submit the form.
You’ll want to check the inbox for ‘Email A’ and ensure the form submission makes its way to the inbox.
If you are sending any receipt to the customer, check the inbox for ‘Email B’ and make sure that it arrived too.
Advanced Forms, Automation, and E-Commerce
Sometimes you’ll have more complex forms than a simple “contact form”. In this case, you’ll want to make sure any automations are firing correctly or that transactions are going through.
Again, the best way to test this is to do it manually and submit the form as a user would. With access to both ‘Email A’ and ‘Email B’, you’ll see exactly what the website owner and the customer will see.
Client Websites
If the website you’re building is for a client, you’ll want to get them involved by submitting the form to their email address and ensuring they get the notifications they need.
Depending on how your transactional emails are set up, your customer might not know what to look for. It’s important that they are on the lookout and recognize these emails, as these are often new leads or orders from their website.
Deals: Forms and Transactional Email
Responsive Design Testing
What to Look For
Testing your website across multiple screen sizes will help you catch possible errors in layout and user experience.
- Do my menus behave properly as the screen size decreases?
- Do clickable elements still appear ‘clickable’ when there is no hover state (touchscreen devices)?
- Is the text too large or too small?
- Are clickable elements too close together to easily tap to click?
- Do multi-row columns stack in the right order?
- Is there any horizontal scrolling when the screen size is small? Is that intended?
Desktop Testing
From desktop-sized screens, use the most popular browsers (Chrome, Safari, Firefox, etc.) to ensure your website looks great.
Mobile Device Testing
From mobile devices, use the most popular browsers (Chrome, Safari, Firefox, etc.) to ensure your website looks great.
Mobile Emulator Testing
Using mobile device emulators (SaaS emulator apps, browser inspect tools, etc.), ensure your website looks great.
Deals: Responsive Testing Solutions
Included within the MyListing Project Template is a checklist for testing the different areas of a MyListing website regarding Responsive Design Testing.
Test Browser Compatibility
Ensure that your website works on the most popular web browsers.
We all have our favorite browser, but your website users could use just about any browser on the market. Each browser handles things like CSS and scripts a little bit differently, so it’s important that you test your website across multiple browsers to spot any issues before you go live.
The Google Chrome browser accounts for about 65% of the browser market, making it the most important one to test but not the only one to test.
- Chrome
- Safari
- Edge
- Firefox
Manual Browser Compatibility Testing
The most effective (and least expensive!) way to test your browser compatibility is to do it manually. It’s a good idea to have a copy of all the major browsers installed on your computer for testing purposes.
You don’t have to get extremely scientific to perform a decent test. Use the site just like a user would, clicking on buttons, testing popups, examining hover effects and animations, and so on.
It’s also important to look to ensure your colors and fonts are rendering properly.
Automatic Browser Compatibility Testing
Many products on the market will perform browser compatibility tests for you, such as Lambdatest, which has a limited free plan and paid plans starting at just $15/mo.
With automated testing services, you’ll be able to cover much more ground quickly, allowing you to test not only different browsers but different computers and combinations as well.
HTML Markup Validation
HTML validation ensures your HTML is free from syntax errors.
Before you make your website public for both users and crawlers, you’ll want to ensure there are no hidden issues in your HTML files that provide the structure for your website.
HTML validation tests comb through your website, looking for syntax errors like extra spaces, omitted quotation marks, or tags that weren’t properly closed. These issues can cause your website to function incorrectly or even cause visible issues.
How to Validate HTML Markup
W3C provides a validator tool (Free) that is as easy as inputting your website address. Add your website to the testing tool and let it do its thing.
How to Fix HTML Validation Errors
If you use the W3C validator tool, many of the errors will link to articles that discuss the error in more detail. Because of the long list of errors that can occur, this article can not go into detail about each one.
Start by focusing on the items flagged as “errors”, then address items flagged as “warnings”, and finally work through the items flagged as “informational”.
Don’t be alarmed to find validation issues, even large, popular websites (like Wikipedia) have errors. You’ll likely need to work with a developer if you’re determined to fix all the issues you find.
Accessibility Testing
Accessibility refers to the ability of all people, regardless of disability, to use your website effectively.
When websites are properly designed and coded, people with disabilities can use them. However, many sites and tools are currently developed with accessibility barriers that make them difficult or impossible for some people to use.
The importance of accessibility has recently exploded with the uptick in lawsuits due to inaccessible websites.
How to Test Website Accessibility
If you’re looking for a quick and easy way to test accessibility that provides easy instructions on what improvements you can make, there’s no better free test on the market than the WAVE Web Accessibility Evaluation Tool.
General Functionality Testing
Included within the MyListing Project Template is a checklist for testing the different areas of a MyListing website regarding General Functionality Testing.
MyListing Functionality Testing
Included within the MyListing Project Template is a checklist for testing the different areas of a MyListing website regarding MyListing Functionality Testing.
Online Presence Testing
Included within the MyListing Project Template is a checklist for testing the different areas of a MyListing website regarding Online Presence Testing.
Activate Website Caching
Once a website is ready to go live, activating caching will improve speed and performance.
The different levels of caching to address are shown below and will vary depending on your technology stack. Please refer to the ‘Performance’ section of this guide for more information on the various levels of caching.
Caching Levels
- CDN
- Edge Caching
- Server Caching
- Plugin Caching
Disable 'Coming Soon' Mode
Disable ‘Coming Soon’ mode, whether you’ve implemented this using Elementor or another solution, so the world can see your website and search engines can start to crawl your content.
Disable 'Discourage Search Engines'
If you enabled this instead of or in addition to disabling ‘Coming Soon’ mode, it’s time to disable WordPress’ built-in feature to keep your website from showing up in searches.
WordPress Dashboard > Settings > Reading > Search Engine Visibility > Uncheck the box.
Verify Google Indexing
In a Google search bar, type “site:[domain]” (e.g., site:mylisting.club) to search for all the pages of the website being indexed in Google.
The results should only return URLs for the website you search for.
Website Care
If you want to have a go at doing website care yourself, I’ve created tasks for you to perform on an ongoing basis. These tasks help ensure you are immediately protecting your investment (time, money, etc.) and protecting it in the future.
I’d also consider signing up for MyListing Website Care so you can focus on growing your business, save money on premium solutions, get my lowest support rate, and more.
Uptime Monitoring
Websites should be monitored 24/7 to ensure accessibility and notify all necessary parties when/if issues are detected.
Website uptime monitoring is regularly checking a website to ensure it is accessible and available to users. It is a crucial aspect of website care, as it helps ensure that a website is always up and running, which is essential for maintaining a positive user experience and keeping website visitors engaged.
Website uptime monitoring involves using various tools and services to check a website’s availability and performance and to receive alerts in the event of downtime or other issues. These tools can range from simple website uptime checkers to more advanced monitoring services that provide detailed analytics and insights into website performance.
The benefits of website uptime monitoring are many. First and foremost, it helps identify any issues impacting website performance, such as slow loading times or downtime. By detecting these issues early on, website owners can take steps to resolve them before they have a negative impact on the user experience.
Website uptime monitoring also helps to improve website security by identifying potential security breaches and other threats. By monitoring the website’s uptime and performance, website owners can quickly detect any suspicious activity and take steps to protect their website and their users’ data.
Deals: Uptime Monitoring Solutions
Guides: Uptime Monitoring
Staging Environment
Your staging website is a clone of your production website, where you should test new themes, plugins, WordPress updates, etc., before rolling them out to your production website.
These days, most hosting vendors provide a FREE staging environment; if your vendor does not, it’s probably time to look for another vendor.
My preferred WordPress hosting vendor (Kinsta) makes it super easy to implement a staging environment. If you ever need to step up your staging game, they offer Premium Staging Environments that inherit the same powerful specifications that those under my custom Kinsta plan enjoy daily.
Deals: Staging Environment Solutions
Guides: Staging Environments
WordPress Core, Theme, and Plugin Updates
Keeping your software up-to-date helps protect against security vulnerabilities and helps you take advantage of performance enhancements.
As updates are released, I recommend you test them in your Staging environment before updating your production environment. This allows you to ensure your website’s design and functionality do not suffer due to any updates.
- Update WordPress core, your theme, and plugins in your Staging environment.
- Test your Staging environment.
- Update WordPress core, your theme, and plugins in your Production environment.
- Test your Production environment.
Deals: WordPress Updates Solutions
Guides: WordPress Updates
Verify Website Backups
Website backups are crucial in case of any unforeseen incidents such as hacking, server crashes, or data breaches.
It’s not enough to set your backups and forget about them. You need to verify that your scheduled backups are being completed without errors, on time, and are restorable.
Your backup solution(s) should let you know when your backups fail, but it’s still a good idea to verify this manually occasionally. Also, it’s just enough to know your backups are completing, but they are completing without any errors. Again, your backup solution(s) and/or an occasional manual check are advised.
Depending on the overall amount of data your website has, your backups should finish running relatively quickly. If backups take several hours to complete, this may indicate a problem with your backup solution(s) or infrastructure.
You absolutely want to avoid having backups running so long that they overlap with the next scheduled backup, which would compound the problem.
It is essential to test backups regularly to ensure they are available and accurate when needed. This should be done at least once a month and/or after significant website changes, such as major software updates (WordPress core, theme, plugins, etc.) and major design changes.
This can be done by restoring the backup to a different location, such as your Staging environment, and verifying everything is presented as expected.
Deals: Website Backup Solutions
Guides: Website Backup
Database Optimization
A website is only as good as its database. Everything from comments, posts, and user information to spam is stored in your WordPress database. Some of it is crucial for your website to function, so removing those elements could make it crash or malfunction.
Others, like old drafts, bad tables, and spam comments, only weigh down your database and slow your website. That’s where database optimization comes in.
Optimizing your database is one of those things that often gets neglected. But in fact, it can be one of the most important factors to ensure fast performance, especially for the long-term health of your site.
It Starts With Your Website Host
The first place to start improving your database is with a superior host. For instance, Kinsta provides a system that automatically fine-tunes your database settings based on the needs of your WordPress site.
This optimization runs once per week and will ensure better performance. If Kinsta’s automated processes detect any issues that can’t be “auto-healed”, it notifies Kinsta engineers so they can proactively attend to those issues.
Database Optimization Plugins
If you’re not comfortable working with your database manually, you will need a database optimization plugin to ensure unneeded database tables are not left behind when you uninstall themes/plugins and to ensure you’re not unnecessarily autoloading data on post/page refreshes.
Deals: Database Optimization Solutions
Guides: Database Optimization
Broken Link Monitoring
Broken links are bad for your site for a few different reasons.
First, there’s the effect on your human visitors. If someone clicks a link, they’re doing so because they’re interested in the content they were told the link would take them to.
So, by sending them to a broken link instead of the content you promised them, you’re creating a frustrating experience for your visitors, which is a good incentive to find and fix broken links on your site.
Broken links aren’t just bad for humans, though, they’re also bad for robots. Specifically, the crawler bots used by search engines like Google.
First off, broken links waste your crawl equity in Google. Every 404 page a Googlebot encounters due to broken links is a live page that Google could have crawled instead.
Beyond that, broken links are also a waste of link equity. For example, if you have a broken internal link from one blog post to another, you’re not getting the SEO benefit of that internal link, which is a negative for your SEO efforts.
Form Testing
If you have forms on your website, you should check them routinely to ensure they reach the destined inboxes, newsletter/email marketing lists, automation solutions, etc.
An Alternative to Traditional Contact Forms
Instead of having those traditional contact forms you find on pages such as a ‘Contact Us’ page, you could take my approach of replacing them with a chat solution, which has the following benefits.
- Eliminates the need to build, design, test, and manage multiple forms.
- Eliminates the need to fight SPAM across multiple forms.
- Improves the accessibility to yourself and/or your team.
- Increases the customer experience by providing quick responses (manual and/or automated).
- ….and more
Deals: Chat Solutions, Form Solutions
Guides: Chat, Forms
Monitor Analytics Tracking
Routinely verify that you are successfully collecting analytics for your website, as there is always the possibility that something has caused analytics to stop working.
Deals: Analytics Solutions
Guides: Analytics Tracking
Monitor Google Search Console
Routinely check in on your Google Search Console to see if pressing issues need to be addressed.
Guide: Google Search Console
Review Admin Accounts
Limit admin-level access to only yourself, any team members needing admin-level access (most don’t), and those providing ongoing/consistent support for your website.
From time to time, review the existing WordPress administrator accounts on your website. In my experience, once a website has more than 3 administrator accounts, it’s time to look hard at who has access.
Whenever I review websites as part of my free MyListing Tech Audits service, this is one of the things I look at. Personally, I get concerned when I see more than three accounts with this level of access.
Verify SSL Certificate
Since you’re running a WooCommerce site, accepting credit cards, or passing information that needs to be encrypted, you must install an SSL certificate on your WordPress site.
Having an SSL certificate will allow you to enable HTTPS, ensuring no information is passed in plain text.
These days all sites utilize HTTPS, regardless of whether it’s an eCommerce website, as HTTPS has a lot of additional benefits beyond security.
If your website doesn’t have an SSL certificate installed properly, security warnings will likely be present in the browsers of your users and customers. This is obviously a bad look and breaks trust.
Ensure your website has an SSL certificate installed and no mixed content warnings.
While you might have an SSL certificate installed, your website might still serve images and source files with an HTTP:// address (i.e., not a secure URL like HTTPS://), called ‘Mixed Content’.
Mixed content on a website will also produce a security warning on the visitors’ browsers and can easily be remedied.
Mixed Content Remediation Solutions
Website Hosting ‘Search and Replace’ Tool
Hosting vendors like Kinsta provide a ‘Search and Replace’ tool that’s super easy to use for replacing HTTP:// URLs with HTTPS:// URLs. This solution is recommended over a WordPress plugin.
Elementor ‘Replace URL’ Tool
Elementor provides a ‘Replace URL’ tool that is also easy to use. It does the same thing the Kinsta tool does, but for URLs added specifically through the Elementor page builder.
WordPress ‘Search and Replace’ Plugins
You should only go this route if your website host doesn’t provide a tool. As you should do for any plugins you’re researching, look for a ‘search and replace’ plugin that’s reputable, with good reviews, and has an active development cycle.
Deals: Search and Replace Solutions
Guides: Search and Replace
Exit Strategy
Thinking about exiting (i.e., selling your business) as you’re building and running your business can be difficult to wrap your head around.
Even if you’re telling yourself that you would never sell your business, running it as if you plan to sell it down the road is still recommended.
Buyers want to be confident they can remove you from the business (or keep you on for a time after the sale), and the existing recurring revenue won’t dip or will only slightly dip as their team ramps up their knowledge of the business/niche solution.
This isn’t to say you have to hire a team. You can either have a team and/or have well-documented SOPs (Standard Operating Procedures) that, if followed, conceivably anyone that doesn’t even know the business should be able to follow.
Let’s look at a couple of my businesses as examples.
WP Turned UP
This business would be easier to sell because the majority of the products/services I offer are offered by thousands of other companies. One of them could easily onboard my current clients and take good care of them.
MyListing Club
This business would be harder to sell (or at least be harder to get the actual value out of it) because of how niche it is and because all of the IP (Intellectual Property) is in my head, published by me, or will at some point be published by me.
Standard Operating Procedures (SOPs)
Starting Day 1, you should be documenting everything about your business.
As this relates to forming your ‘Exit Strategy’, you don’t want to scramble to document your businesses’ processes while trying to sell it.
SOP Benefits
- Business Owner Memory Refresher
- Business Owner Insight Into Different Areas of the Business
- Efficient Employee/Contractor Onboarding
- Faster Employee/Contractor Knowledge Transfer
- Better Offers When Selling the Business
Standard Operating Procedure Examples
- Hosting Customer Onboarding/Offboarding
- Website Care Customer Onboarding/Offboarding
- Newsletter Publishing
- Social Media Publishing
- Partnership Onboarding
- Payment Issue Resolution
Stop Using Business Email
Stop using your business email for signing up and logging into solutions (websites, apps, etc.) that are tied to your personal life or other businesses you own, and stop right now!
Personal Implications
When selling your business, that typically includes your email addresses as well. So, you have to assume you will lose access to your business email.
A simple way to look at this is to imagine if your business email just disappeared. How much of a hardship would this cause?
Business Implications
Depending on where you host your email, the vendor will have different policies that impact your ability to transition email accounts to the buyer, whether it’s a waiting period for password resets, sending password reset options (links, OTP, etc.) to the old addresses that are no longer accessible by you, and so on.
If a potential buyer asks you where you host your email and they know how difficult the transition process can be with that vendor, it could determine whether they decide to do the deal. This would be an extreme reason not to go through with a deal, but it’s definitely something to consider, besides the overall headaches this would cause.
Recurring Revenue Model
Recurring Revenue is a crucial metric used by subscription-based businesses to measure the predictable income they will generate on a monthly (MRR), quarterly, annual (ARR), or some other period.
Monthly Recurring Revenue (MRR)
Monthly Recurring Revenue (MRR) is a simple calculation of the monthly subscription fee multiplied by the total number of customers subscribed to the service. It includes only the recurring revenue generated from subscription fees and does not consider any one-time fees, such as setup or installation costs.
This is important for businesses as it provides a clear picture of their financial health and can help predict future revenue streams. It enables businesses to monitor the success of their subscription model, identify any changes or trends in the subscription rate, and make necessary adjustments. By tracking MRR, businesses can identify any ups and downs in revenue and make informed decisions on increasing their customer base, retaining current customers, and ultimately growing their business.
MRR is also a useful metric for investors, who use it to evaluate the growth potential of a subscription-based business. Investors look at MRR growth rates to assess whether a business is generating a consistent revenue stream and gauge its potential for future growth. The higher the MRR growth rate, the more attractive the business may be to investors.
MRR is a key metric for any subscription-based business, providing valuable insight into revenue generation and business growth potential. By monitoring MRR, businesses can make informed decisions to improve their subscription model, attract new customers, retain current ones, and ultimately achieve long-term success.
How MRR Impacts the Selling of Your Business
A MyListing Club customer I know sold their business recently, and here are some things she said regarding MRR.
“MRR is everything! All the offers I received for the buying of my business were based on this metric. It doesn’t matter how many leads I could get organically or my income from building websites, buyers didn’t factor those metrics into the equation.
When researching the process of selling a business, I read that one could expect to sell their business for 3x the annual MRR. The highest offer I received was just over 3x, and what I accepted, in the end, was the equivalent of 2.5x annual MRR. The lowball offer was 1.2x annual MRR.”
The key takeaway here is to work towards a healthy MRR. By healthy, I mean the monetary value and the trends. If you can show a steady rise in customers while avoiding big dips, that’s ideal.
Google Search Console Health
If you’ve already completed the ‘Google Search Console’ (GSC) task, you are well on your way to accomplishing what this task entails.
While you should always be keeping an eye on the “health” of your GSC, you want to ramp up the efforts 4-6 months out from putting a for-sale sign on your business.
Buyers will want a healthy GSC account with current/valid tracking, indexing, etc., metrics.
Guide: Google Search Console
Business Summary
Before you put your business on the market, it’s important to create a detailed write-up about your business that’s clear and honest. You want to be as transparent as possible, avoiding disclosing too much and too little.
What to Disclose
- Monthly Recurring Revenue (MRR)
- Number of Customers, Subscriptions, etc.
- Types of Customers, Subscriptions, etc.
- Your Technology Stack (CDN, Hosting, Website Platform, Key Themes/Plugins, etc.)
- Hosting/Reseller Hosting (Vendor, Cost, Site Quantity, etc.)
- Licensing (License Type, Product, etc.)
- Affiliate Programs (Overview, Number of Affiliates, Money In/Out, etc.)
- Email Subscribers (Quantity, Estimated Value, etc.)
- Social Network Accounts/Groups (Platform, Member Count, etc.)
- Partnerships (Quantity, Estimated Value, etc.)
- Business Aspects That Require Your IP (Intellectual Property)
- Business Aspects That Don’t Require Your IP
What Not to Disclose
- Your Business Name
- Trade Secrets
- Customer Information (Names, Email, etc.)
- Email Subscriber Information (Names, Email, etc.)
- Partnership Information (Names, Email, etc.)
Sell the Business Yourself
If most of the following statements are true, selling the business yourself may be the way to go rather than working with a professional intermediary.
- You’re just looking to get out from under your business as quickly as possible.
- You don’t want to invest money in the sale (i.e., pay an intermediary).
- You have enough business contacts in your network to reach out to that who might also be interested in buying a business like yours.
- You’re comfortable with contract clauses that outline payment schedules, IP Intellectual Property turnover, etc.
Selling an online business can be a complex and time-consuming process, and it’s important to cast a wide net to find the right buyer. This means marketing the business to as many potential buyers as possible, both through online platforms and personal networks.
It’s essential to ensure that the business is presented in the best possible light and that all relevant information, including financial and operational data, is available to interested buyers.
Casting a wide net is important because it increases the likelihood of finding the right buyer for the business. The more potential buyers are aware of the sale, the greater the chance of finding someone who is a good fit, has the financial means to purchase the business, and is willing to pay a fair price. By marketing the business widely, sellers can also create competition between potential buyers, driving up the sale price.
Reach out to at least 20 companies. This may seem like a lot of work, but chances are some buyers own 2-3 of the underlying companies you reach out to. They themselves cast a wide net.
Hire a Professional Intermediary
If most of the following statements are true, hiring a professional may be the way to go rather than working alone.
- You’re looking to get as much value as possible in return for your business.
- You’re willing to invest money in the sale (i.e., pay an intermediary).
- You don’t have enough business contacts in your network to reach out to that who might also be interested in buying a business like yours.
- You’re uncomfortable with contract clauses that outline payment schedules, IP Intellectual Property turnover, etc.
Professional Intermediaries (business brokers, investment bankers, M&A advisors, etc.) have experience selling online businesses. They can help guide sellers through the process, from valuation and marketing to negotiating the deal and closing the sale.
They also have access to a broad network of potential buyers, which can help sellers find the right buyer for their business.
Asset Transition
Aside from the general timing, avoiding additional costs from licensing, hosting, etc., would be ideal.
You’ll want to work with the buyer to agree on a final date when all business assets will need to be fully transitioned over to them, replaced with different solutions, or terminated entirely.
- Your Technology Stack
- Hosting/Reseller Hosting
- Licensing
- Affiliate Programs
- Email Subscribers
- Social Network Accounts/Groups
- Partnerships
- Your IP (Intellectual Property)
Communicate the Sale
If you’re like many business owners out there, you care about your clients, and some have become more like friends over the years. As such, I’d recommend having a “company has been acquired” email written and ready to go before the sale of your business is completed.
It’s important that you are the one that reaches out to your customers and client first, rather than the buying company.
When formulating the agreement between you and the seller, be sure they agree to allow you some time to communicate with your customers and clients. If there is any pushback, let them know that this is also valuable to them, as you are potentially gathering feedback and concerns, which you can then communicate back to the new owners.