Certified WordPress Developer and SEO Specialist with 10+ years of experience on Fiverr. I provide expert solutions for WordPress error fixing, debugging, speed optimization, and security hardening. Services include hacked site recovery, malware removal, on-page SEO optimization, and full customization to ensure your website runs fast, secure, and ranks higher on Google.
Do you want to require a terms of service agreement in WordPress?
Requiring users to agree to your terms of service can help protect your website while still offering a good user experience.
In this article, we’ll show you how to add a terms of service agreement to your WordPress website.
What is a Terms of Service Agreement and Why Add to WordPress?
A terms of service (TOS) agreement is a set of conditions users must agree to in order to use your website, submit a form, request a quote, order products, join your email list, and more.
By adding a terms of service agreement to WordPress, you can help to prevent spam, limit your liability, and have users agree to specific website policies.
With that said, let’s show you how to require a terms of service agreement on your WordPress site.
Create a Terms of Service Agreement in WordPress
If you don’t have a terms of service agreement yet, then you’ll need to create one and add it to WordPress.
There are multiple ways to create a TOS agreement. For example, you can use an online generator, copy the text from another site, hire a lawyer, or use a TOS plugin to generate one for you.
Editor’s Note: We recommend consulting a professional lawyer to create your website’s term of service. The automatic term of service generator plugin below can work, but it cannot guarantee compliance.
For this tutorial, we’ll be using the WP AutoTerms plugin to generate a generic terms of service, but you can use the method that works best for you.
First, you need to install and activate the plugin. For more details, see our step by step guide on how to install a WordPress plugin.
After that, navigate to WP AutoTerms » Add Legal Pages in your WordPress admin panel.
Then, click the ‘Create’ button in the ‘Terms and Conditions’ area.
Next, you need to give information about your business.
This includes your WordPress website URL, company name, location, and more.
You also need to answer the questions that will help to create a terms and service best for your website.
Once you’re done, click the ‘Create’ button.
This brings you to a page where you can view your terms of service agreement.
If you’re satisfied with the page, then click the ‘Publish’ button.
Next, you want to copy the terms of service text to add to your WordPress form below.
Simply select the text, right click, and then click the ‘Copy’ option.
Add Your Terms of Service Agreement to WordPress Forms
Once you’ve created your TOS agreement, you can require users to agree in order to take specific actions on your site. In this case, we’ll add the TOS agreement to a WordPress form.
You can quickly build out any kind of WordPress form using the drag and drop builder including online order forms, simple contact forms, donation forms, and much more.
Note: We’ll be using the free version of the plugin to create a terms of service contact form, but you can also use the pro version that gives you access to additional features, form templates, and more.
First thing you need to do is install and activate the plugin. For more details, see our beginner’s guide on how to install a WordPress plugin.
Once you’ve activated your plugin, go to WPForms » Add New to create a new WordPress form.
First, you need to choose a form template. Simply hover over a template and click the ‘Use Template’ button.
For this tutorial, we’ll select the ‘Terms of Service Contact Form’ template, since it has a TOS checkbox built in.
This will bring you to the form editor screen.
The form can be completely customized. You can drag fields from the left hand menu to your form on the right.
To edit individual form fields simply click on them.
This brings up an options menu that lets you customize each individual field.
Once you’re finished customizing your form, click on the ‘Terms of Service’ form field.
This brings up an options panel where you can change the terms of service ‘Label’, checkbox description, and paste your terms of service text that you copied earlier.
Then, make sure the ‘Required’ toggle is selected.
Next, click on the ‘Advanced’ tab.
Here, you can click the ‘Hide Label’ toggle if you want to hide the terms of service label.
Once you’re happy with how your form looks, you can click ‘Save’ and exit the form builder.
Now, you need to add the form to your WordPress website. Simply open up a page, or create a new one, then click the ‘Plus’ add block icon and select the ‘WPForms’ block.
Next, select the name of your form from the drop down list.
This will automatically load a preview of your form in the page editor.
Then, click the ‘Update’ or ‘Publish’ button to make your form live.
Now, you can visit your form page to see your terms of service agreement form in action.
Adding Digital Signature Agreement to WordPress Forms
On top of requiring users to agree to your TOS, you might want to give users the option to digitally sign your form as well.
This works great for applications, contracts, volunteer forms, and more.
With WPForms creating a contract agreement form is simple. There’s a signature field addon that makes it easy to add digital signatures to your WordPress forms.
We hope this article helped you learn how to require terms of service agreement in WordPress. You may also want to see our guide on how to choose the best web design software and our expert picks of the best free website hosting.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
If you visited WPBeginner in the last few weeks, then you probably noticed that we got a new website design. While it has a lot of similarities to the last one, there’s a lot that changed behind the scenes.
As I promised in the newsletter, I want to share the thought process behind our redesign, what we learned, what’s new on the site, and most importantly how you can use some of our learnings to improve your website.
A Little Background
I started WPBeginner in 2009, and like most new creators, I changed our website theme design four times in the first 3 years.
As my business grew, I realized that website redesigns take up a lot of time and resources which could be better spent on fulfilling our core mission:
Help small businesses grow and compete with the big guys through our tools, team, and training.
So I made it a point to dedicate all my focus on our core mission and our business grew tremendously.
The last redesign of WPBeginner was launched in 2016, and we’ve come a long way since then.
Here’s what happened in the last 5 years:
We created over a thousand free WordPress tutorials on WPBeginner blog and added hundreds of new video tutorials on our YouTube Channel.
We launched our WPBeginner Engage community on Facebook which is now the largest WordPress facebook group with over 80,000 members (it’s free to join).
We launched two new WordPress plugins, TrustPulse, a WordPress social proof plugin, and RafflePress, a powerful WordPress giveaway and contest plugin.
We acquired five WordPress growth plugins including the famous AIOSEO (all in one SEO plugin for WordPress), SeedProd (drag & drop WordPress site builder), Smash Balloon (#1 social media feeds plugin), PushEngage (website push notification plugin), and AffiliateWP (affiliate management plugin for WordPress).
We also acquired five WordPress platform & infrastructure plugins including the famous WP Mail SMTP plugin (to fix email deliverability), SearchWP (powerful WordPress search plugin), Easy Digital Downloads (popular eCommerce plugin for selling digital products), WP Simple Pay (easy plugin for accepting credit card payments), and Sugar Calendar (simple event calendar plugin for WordPress).
Collectively our plugins are now used by over 19 million websites, and 4 of our plugins are in the top 20 WordPress plugins of all time.
While all of those are great accomplishments, we have a new set of challenges that needed to be addressed, so we can continue to improve and serve our mission.
This brings me to WPBeginner v6.
Design Focused on Content Discoverability
WPBeginner started out as a simple tutorial blog, but it has really become the Wikipedia for WordPress.
Our users repeatedly told us that when they wanted to find an answer to their WordPress problems, they simply Google the keyword and add WPBeginner at the end to find the best solution.
To help our readers quickly find the answer to their WordPress questions, we made the Search feature a big focus on our new homepage.
Whether you’re a returning visitor coming to search our content library, or a new reader just getting started with WordPress, the homepage of WPBeginner now makes it easy for you to find what you’re looking for.
You will also notice a similar search widget in our sidebar on all single post pages as well as on our website header when you click the search icon.
One of the reasons why WPBeginner has become the largest WordPress resource site for non-techy users is because we explain complex WordPress topics in plain English, step-by-step.
In the new design, we have added live search feature to our WordPress glossary section, so you can easily familiarize yourself with common WordPress lingo. This is basically like a dictionary for WordPress terms.
As a WPBeginner user, you get exclusive access to the best WordPress discounts on popular plugins, premium themes, hosting, and other marketing tools.
Our team truly has done a great job negotiating the best deals for you, and this section has grown quite a bit to have over 100+ coupons and deals.
Due to popular user request, we have also added Live Search on our Deals section, so you can quickly find the best deal on your favorite WordPress products.
As we go into 2022, a big priority for us is content discoverability.
This helps us deliver the best user experience, increases time on site, boost pageviews, and reduce our overall bounce rate.
I believe that in 2022, user experience optimization (UXO) is going to play a critical role in SEO.
If you want to beat your competitors and get a competitive advantage, I strongly recommend paying attention to UXO.
I’ll be sharing tips through out this article on how you can implement similar features on your site like we did in our new theme.
How to Improve WordPress Search
The default WordPress search feature isn’t very powerful, so if you want to customize the ranking algorithm and control what shows up for each search, I recommend using the SearchWP plugin.
Alternatively, you can also use Google custom site search which uses the Google algorithm, but the downside is that Google will display ads on your search pages which doesn’t look very good.
If you’re looking to add live search on your site like we have done on the Deals section or Glossary, then follow this tutorial on how to add AJAX live search in WordPress.
Going along the theme of content discoverability, we upgraded our old WordPress dropdown menus into new multi-column Mega Menus.
This allows our new users to quickly and easily find our very best content.
It also allows us to better highlight our new products, the free business tools that we’ve building, and more.
How to Add a Mega Menu in WordPress
Although we’ve built a custom solution for WPBeginner, you can follow this tutorial on how to add a mega menu in WordPress to better highlight your top pages.
I immediately started using it on my personal blog, but since WPBeginner was using a legacy theme with a lot of custom coded features, the switch wasn’t as easy.
So for the last two years, we were stuck using the Classic Editor on WPBeginner site while all of our newer websites got the latest and greatest features of the WordPress block editor.
Finally with our new theme, we can now use all the awesome features of the WordPress block editor.
For example, now I can add a really cool “Did You Know” block without writing any code:
WPBeginner – Fun Fact:
Our team has now grown to over 200+ people across 39 different countries. We’re hiring for full-time remote positions. If you’re interested, check out our Careers page.
We also completely redesigned several of our landing pages using the WordPress block editor.
While it was fun learning how to use Gutenberg to create a custom landing pages, it still requires A LOT of coding to be done for the setup before marketing teams can create a custom landing page.
Whereas when you’re using a page builder plugin, marketing teams can quickly create custom landing pages, funnel layouts, etc without any help from the dev team.
WordPress core team is working hard on the full-site editing features, but it still needs a lot of work before it can compete with the powerful features that you get with page builders like
With that said, the block editor is pretty darn awesome, and there are plenty of WordPress block plugins that you can use to create cool design elements to enhance your content.
Here’s another cool block that our new theme has for highlighting featured plugins:
SeedProd is the most beginner-friendly drag & drop page builder for WordPress. It comes with over 150+ pre-made templates, and their theme builder feature allows you to build completely custom WordPress themes (without any code). Try SeedProd Today »
In the coming blog posts, I’m sure you’ll see more content design blocks that we have to further enhance our content readability.
Switching from Yoast to AIOSEO
For the longest time, WPBeginner site was using a very old & customized version of the Yoast SEO plugin (v 2.3.5).
To put in perspective, they’re on version 17 right now.
I didn’t want to update Yoast because their team had removed some essential features that I thought were important for SEO.
I also felt that the overall WordPress SEO space had stopped innovating.
So beginning of 2020, we acquired AIOSEO, the original all-in-one SEO plugin, and I had my team completely revamp it.
I’m super proud of the work our team has done, and it has all the SEO features you need to get a competitive advantage.
Like the block editor, our newer websites started switching to AIOSEO and started to see their rankings improve, so I was eager to start using it on WPBeginner.
Now, we’re using the latest and greatest of SEO features from All in One SEO.
We now have features like video sitemap to help boost our content rankings with videos, RSS sitemap to help our content indexed faster, advanced SEO modules to have more fine-tune control over our site SEO, and tons more.
I truly believe it’s the best SEO plugin in the market, and most importantly it’s priced fairly for small businesses and agencies.
I plan to do a full write up in the coming weeks about why we switched with a detailed feature breakdown, but in the meantime, you can try the free version of All in One SEO, or check out the Pro version that has all the powerful features that I’m using on WPBeginner.
WordPress Speed Improvements
Numerous studies have shown that faster websites improve user experience, increase time on site, and overall conversions.
This is also why Google made website speed a SEO ranking factor.
Now if you’ve been following the site for a while, then you know that I’m obsessed with performance optimization.
WPBeginner site was already pretty fast thanks to our amazing WordPress hosting partner SiteGround. They offer a highly optimized WordPress hosting solution built on top of the Google cloud platform.
And of course we were following the WordPress speed best practices, but with our new theme design, we made several notable speed improvements.
Here’s our Google Page Speed results:
Here’s the result of the homepage from GTMetrix and Pingdom:
And we got this result despite adding new sections, more content to the homepage, wider images, etc.
And before you ask, the WPBeginner site has 68 active plugins currently.
So you might be wondering how did I manage to add more content on the site while reducing the page size and making everything faster?
Well, I removed things that I felt we no longer needed, and these are somethings that I really want more website owners to consider doing as well.
Not only will this help speed up your site which helps SEO rankings, but it will reduce your overall bandwidth consumption, reduce costs, and improve your website’s carbon footprint.
Disabling Gravatar from WordPress Comments
WordPress comes with a built-in 3rd party service called Gravatar short for Globally Recognized Avatars.
This allows you to see a user’s profile photo or avatar when they leave a comment on your WordPress site.
The challenge is that it requires your website visitors to setup a Gravatar account which most users don’t. So instead your website just loads the gray mystery man avatar which doesn’t look good.
Now let’s say that you have a popular blog post with 50 comments where only 10% of the users have a Gravatar image and 90% don’t. Well, that’s 50 additional images that your page is loading that really don’t add significant value to the content.
That’s why a lot of popular blogs have started to disable Gravatar, and we’re doing the same on WPBeginner.
This simple change has drastically improved our page load times and site speed score.
Removing 3rd Party Custom Fonts
I will be honest, I never thought twice about custom fonts in the past.
It was something that just felt normal and made the site look good from a typography point of view at least if you’re lucky enough to have a fast internet.
In the old WPBeginner theme, we used a custom Adobe font called Proxima Nova, a popular icon font called FontAwesome, and our OptinMonster popups were using the Source Sans Pro from Google fonts.
When I visited the site from a remote location with poor internet quality, I truly realized how big of a performance impact these fonts have on the user experience.
In our new design, I wanted to solve this problem, so we can make it easy for students and business owners in developing countries to access WPBeginner, learn WordPress, and grow their online presence.
The new WPBeginner v6 theme uses the default System Fonts which have come a long way. They look great across all devices, and of course it’s super fast.
No flash of unstyled text (FOUT), no cumulative layout shift (CLS), and significantly reduced blocking time.
If you login to the WordPress dashboard or use Github, then you’ll notice that our fonts are similar because both of these platforms made the switch to system fonts earlier.
While removing custom fonts may not be a viable solution for all business websites, it’s definitely something I believe both designers & developers should be mindful about when it comes to speed.
Some best practices that can help:
Instead of using two separate fonts for heading vs content, consider using the same font for both.
Instead of using multiple different font weights and styles such as thin, regular, semibold, bold, extra bold, black, and then italics version of all these, consider reducing the font weights to only two: regular and bold.
Instead of loading the entire FontAwesome or another icon font library, consider adding direct SVGs of the icons that you need.
Disabling Custom Fonts in OptinMonster
Once the theme was designed and coded, I still had to solve one more problem with fonts.
My website popups and email subscription forms use OptinMonster, and they were still loading Google fonts.
Now disabling OptinMonster wasn’t an option since it helps me get more email subscribers and boost our website conversions.
Luckily, it’s one of my companies, so I asked the development team for a solution to disable Google fonts.
Turned out, I wasn’t the first one who requested this feature, and OptinMonster already had an API solution that allows for not only disabling Google fonts, but also loading any custom web font that you want.
I’m fairly tech savvy and can implement the small snippet the team shared in the documentation, but I know many of our customers aren’t.
So now our team has actually built this feature inside the campaign builder (no coding needed).
But if you’re comfortable with code and don’t want to manually toggle this setting off for each campaign, you can just follow the hack that I’m using.
First add the following JS snippet to disable OptinMonster from loading any web fonts on your site:
Of course don’t forget to change the fonts to match your website fonts. This will basically apply the font-family above to all OptinMonster campaigns that load on your site.
Switched from W3 Total Cache to WP Rocket
For the longest time, I was running a highly customized configuration of W3 Total Cache plugin on WPBeginner.
While it got the job done, it was no match for WP Rocket which we have been using on all our product sites.
So with this redesign, I finally switched to WP Rocket which comes with A LOT of great website speed features most notably a reliable cache pre-loading and file minification.
This plugin is crucial if you want to improve your website speed.
Just a quick note if you’re using ThirstyAffiliates or Pretty Links to manage your affiliate links, then make sure that you exclude them from being cached.
Simply go to the Advanced Rules tab and add your affiliate slug under the Never Cache URLs setting.
If you don’t do this and you have cache pre-load enabled, then WP Rocket will attempt to cache your affiliate links since they look like internal links.
This can artificially inflate your click counts and impact your affiliate metrics.
I have asked the WP Rocket team to see if they can automatically detect popular affiliate plugins and pre-fill the excluded URL tag to make it more beginner friendly, and I hope they implement the suggestion.
What’s Coming Next?
I have big plans for 2022 that’s why I wanted to get the new site design live before the end of this year.
We’re planning to launch a whole new section on WPBeginner that a lot of you have been asking about for the last 2 years.
It’s coming soon, and I hope to launch it by beginning of Q2 2022.
I’m also planning to experiment more with in the new block editor to create a better overall reading experience for you.
Other than that, keep an eye out on our YouTube channel as we’re going to be doing some really cool things there in 2022.
As always, I want to thank you all for your continued support and feedback over the years.
Do you want to learn how to add tags, attributes, and categories to your WooCommerce products?
By optimizing your WooCommerce product listings, you can help your visitors find what they’re looking for and get more traffic from search engines and social media.
In this article, we’ll show you how to add product tags, attributes, categories, and more in WooCommerce, step by step.
Why Add Product Tags, Attributes and Categories to WooCommerce Products?
Adding the right product tags, attributes, and categories in WooCommerce will help you to get more traffic to your online store, make more sales, and improve the overall user experience for your customers.
Firstly, using categories, tags, and attributes in WooCommerce will make your store more organized, helping visitors find the products they’re looking for much faster.
They can also help to improve your store’s search engine optimization. That’s because using descriptive tags, attributes, and categories will help your products to appear in more searches, growing your traffic and sales.
What’s the Difference Between Categories, Tags, and Attributes in WooCommerce?
Many beginners get confused about the differences between categories, tags, and attributes.
Categories are meant for a broad grouping of your products, like men’s, women’s, or children’s clothing.
Tags are more like keywords for a specific product. A women’s shirt could have tags like summer, discount, casual, soft, and more.
Attributes are for specific characteristics of a product. For example, you can give important information about the product’s weight, material, color, and more.
This is common in clothing stores, where customers can filter products by a specific size, color, or fabric.
Here’s an example of a WooCommerce product with the category ‘Accessorites’ and an attribute for the color red listed on the product page.
Categories and tags are used for your WordPress blog posts as well. You can read more about the difference in our guide to categories vs tags.
That being said, let’s show you how to add product categories, tags, and attributes to your WooCommerce products.
Adding Product Categories, Tags, and Attributes to WooCommerce Products
WooCommerce has built in settings to add categories, tags, and attributes right out of the box.
To add categories, navigate to Products » Categories in your WordPress admin panel.
Then, you can give your category a name, add a slug, and choose whether or not it has a parent category.
Next, you can optionally give your category a description and choose the ‘Display type’ from the ‘Default’ drop down.
This controls what the category landing page will look like. Here you can choose to display your ‘Default’ theme options, ‘Products’, ‘Subcategories’, or ‘Both’.
The Default option will depend on the theme you’re using. ‘Products’ would display all the products in that category and any subcategories on the main category page (for example, wpbeginner.com/shop/jackets). ‘Subcategories’ would simply display the subcategories, and the visitor would have to click on one of the subcategories to view those products.
If you want to add a category thumbnail, then click the ‘Upload/Add image’ button.
Make sure you click the ‘Add new category’ button to save your changes.
To add more categories or subcategories, simply follow the same steps as above.
Now you can assign a product to a category by going to your product page, then checking the category box in the ‘Product categories’ section.
You can also click the ‘Add new category’ link.
This brings up a section where you can quickly create new categories on the fly.
Once you’re finished assigning categories, make sure to click the ‘Publish’ or ‘Update’ button.
Adding and Editing Product Tags
Your product tags are similar to tags in your blog posts. You can use product tags to make it easier for your visitors to find the exact products they’re looking for.
To add new tags, simply go to Products » Tags and enter the name of your tag, the slug, the description, and then click the ‘Add new tag’ button.
To add more tags, simply follow the same steps as above.
You can also add individual tags to your product pages. Simply open up the product page you want to edit, then enter your tags into the ‘Product tags’ box and click the ‘Add’ button.
Once you’re finished, make sure to click ‘Publish’ or ‘Update’ to save your changes.
Adding and Editing Product Attributes
Finally, you have product attributes. These help group products together and offer users a way to filter your products.
To add product attributes, you need to go to Products » Attributes and then give your attribute a name and slug.
You can also enable archives by checking the ‘Enable Archives’ box. This gives you the ability to display all items that share that attribute on a page.
After that, you need to choose the ‘Default sort order’. This is the order your products will appear on the shop page for that attribute.
We’ll choose the ‘Custom ordering’ option to give more control, but you can also order by name, and term ID.
Then, click the ‘Add attribute’ button to add it to the attribute table.
Now, you need to click the ‘Configure terms’ link to add terms to the attribute.
For example, if you created an attribute called ‘Color’, then you can add the individual colors as terms.
This brings up a screen similar to the main attribute screen, where you need to enter the name, slug, and optional description.
Then, click the ‘Add New Color’ button to save your attribute terms. You can add as many attribute terms as you want by repeating the process.
Once you’ve done that, you can add your attributes to individual products.
Simply open up the product page you want to edit, then click the ‘Attributes’ option in the ‘Product data’ section under the text editor.
Next, select your attribute in the ‘Custom product attribute’ drop down.
Then, click ‘Add’.
This adds the attribute to your product.
Now, you can select your attribute terms from the ‘Value(s)’ box.
Once you’re done adding your attributes, click the ‘Save attributes’ button.
After that, make sure to click ‘Publish’ or ‘Update’ to save your product.
Optimizing Your Product Listings for WooCommerce SEO
Once you’re done creating tags, attributes, and categories, you can improve your product pages even more with the help of an SEO plugin.
It’s very easy to use and lets you optimize your website for SEO without any technical skills. This means more traffic from the search engines and social media, and more eyes on your products.
Note: There is a free version of the plugin, but we’ll be using the Pro version since it includes the WooCommerce SEO features we need.
After that, you can optimize your product titles by opening the page for a product and scrolling down to the ‘AIOSEO Settings’ box below the product editor.
Here you can change the product’s SEO title and description. You can use the smart tags to automatically generate descriptions based on your product details, or enter a custom title and description instead.
Make sure that you use your main product keyword in both the title and meta description fields.
After that, click on the ‘Social’ tab to optimize how your product will display across social media.
You have complete control over the product image you want to use, which will help you get more engagement from your followers.
Next, click the ‘Schema’ tab. Schema markup lets the search engines better display your content in the search results.
If you’ve seen product listings with prices, star ratings, and more, then you’ve seen product schema in action.
All in One SEO will automatically choose the right schema type for your products and fill in the pricing, availability, and more.
You can also add additional schema markup, including the brand, identifier type, and identifier fields. Identifiers can be any unique ID such as ISBNs, GTIN codes, or UUIDs.
Once you’re done customizing your product listing for SEO, make sure to click the ‘Update’ button to save your changes.
For more details, see our ultimate WooCommerce SEO guide for ranking higher in Google.
We hope this article helped you learn how to add product tags, attributes, and categories to WooCommerce. You may also want to see our expert picks of the best WooCommerce plugins for your store and our guide on how to create an email newsletter the right way.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.