How to Protect Emails from Spammers with WordPress Email Encoder

Do you want to share your email address on your website without getting caught by spam bots? When you add an email link or plain text email address, it will most likely be copied by an spam email harvesting bot. In this article, we will show you how to easily protect emails from spammers with email encoder.

Protect Emails from Spammers with Email Encoder

Why is Email Encoding Important?

Most website owners don’t realize that pasting their email address into their posts, pages, or on a contact page can put you at risk for a lot of email spam.

Spammers use email harvesting bots that automatically browse the web to collect email addresses. These email addresses are then sold to spammers all over the world.

This is why we almost always recommend creating a contact form instead of sharing an email address.

Now the problem is that sometimes you may really need to add an email address that users can copy or click to email.

Thankfully there is a way to do that and protect your email address from spammers. It’s called email encoding and it’s quite easy.

Let’s take a look at how to do that.

Protecting Email Addresses from Spammers

First thing you need to do is instal and activate the Email Address Encoder plugin. For more details, see our step by step guide on how to install a WordPress plugin.

The plugin works out of the box, and there are no settings for you to configure.

Once you activate the plugin, Email Address Encoder simply starts encoding email addresses in WordPress posts and pages, custom post types, widgets, etc.

What that means is that it converts the plain text email addresses into decimal and hexadecimal entities.

If you see the page source of your page, then you will see the email addresses encoded looks like this:

Enoced email address

This way when an email harvesting bot visit your page source, they will not be able to see the email addresses.

However, real human users will see the plain text email addresses in their browser window.

Email addresses shown to human users in browser

That’s all. We hope this article helped you protect email addresses in WordPress from spammers. You may also want to see our guide on 24 must have WordPress plugins for business websites.

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.

The post How to Protect Emails from Spammers with WordPress Email Encoder appeared first on WPBeginner.

Kinsta Managed Hosting Review: Blazingly Fast and Solid Features

Kinsta is a relative new-comer to the WordPress managed hosting scene, but since launching in 2013 has quickly become a force to be reckoned with.

Marketed as “Better, faster, stronger managed WordPress hosting,” the web host uses Google’s Cloud Platform to provide fast speeds from the web giants secure and reliable data centers, paired with Kinsta’s simple and intuitive hosting panel.

We get asked all the time for web hosting recommendations and do our best to point members in the right direction, but who you go with ultimately comes down to your site’s needs – and also how much you’re willing to spend.

To help make the decision a bit easier, we’ve put some of the biggest WordPress managed hosts to the test, with a focus on customer experience. There are already plenty of reviews out there that look at speed and stability, but the ease of use and support capabilities of a company are just as – if not more – important because you’ll run into trouble sooner or later and a great host will always go above and beyond to help you out when disaster hits.

With all that in mind, this is the fifth of eight reviews, this time putting Kinsta to the test.

Check out the other posts in this managed WordPress hosting reviews series:

Kinsta WordPress hosting

The Good

  • Blazingly fast
  • SSH and WP-CLI out of the box
  • Instant backups
  • Focused on speed and dependability
  • You can choose a datacenter for each site

The Bad

  • No Git deployment
  • Dashboard could use some spit and polish
  • Highest entry level pricing

Our Verdict

  • Price:
  • Ease of Use:
  • Features:
  • Support:
  • Speed:
  • Overall:
  • Overall:


The Bottom Line

Kinsta has great architecture, making the fastest of the bunch. It has a host of features you’d expect from a top WordPress hosting company and then some. Apart from a few minor issues like no git deployment and the dashboard it is an extremely capable hosting company.

The biggest downside is that Kinsta’s power comes at a price. Their lowest plan will set you back $100/month which means that Kinsta may not be for your newest small projects. I would recommend Kinsta to those users who have large websites, or an established income from their site.

Kinsta: Company History

Kinsta was built by developers who worked with WordPress clients and after becoming more and more frustrated with the available hosting  options, they created their own beta service in 2013, before officially opening their offices in 2014.

In two years they have tripled in size, following the strategy of using the most modern available technology available – something that their small size (their CEO helps answer support tickets) makes a lot easier.

First Impressions

My first impressions put Kinsta somewhere in the middle of what’s starting to become a crowd managed WordPress hosting space. I like the boldness of the opening section of its website and the images used, but I don’t like the fact that there is a CTA to the contact page instead of a link to the registration page – even though the page exists.

The Kinsta home page directs users to its contact page with a CTA. Talk? I just want to sign up!
The Kinsta home page directs users to its contact page with a CTA. Talk? I just want to sign up!

That aside, one of the biggest pros is that the pricing is super-clear and Kinsta offers a lot of flexibility when it comes to scaling plans, which I’ll go into more detail later. One of the cons, however, is that there isn’t a lot of information about what users are buying. For example, while I found information about the stack used (Ubuntu, PHP 7, MariaDb, etc.) I couldn’t find any hardware specifications. Kinsta uses Google Cloud so they are definitely using their machines, but you don’t know the exact configuration.

Just like with our Flywheel review, time to contact support…

After some discussion, I found out that the machines are constrained to 2-6 CPUs per VPS, but they allow the container to scale to 32 CPU when there is a surge. These machines have 208GB RAM, which is allocated dynamically as needed. The support team member was very helpful – I’ll talk about more support below.

Plans and Pricing

Kinsta offers eight plans in addition to a possible custom solution if you need anything out of the ordinary.

The web host is one of the most expensive solutions available with its account coming in at $100 per month.

Kinsta offers $200, $300, $400, $600, $900, $1,200 and $1,500 per month accounts. The equation is pretty simple: The more you pay, the more resources you get. It’s all laid out very clearly and I particularly liked the rounded pricing. No “.99” and no “until your first renewal” price discounts.

Kinsta Pricing
Kinsta Pricing

What I love about Kinsta’s pricing is that I am a big fan of the bandwidth-based model. It seems unfair to me to penalize someone for a popular site (billing based on visitors), especially since visitors alone don’t cost the host anything. It’s bandwidth that incurs the cost, so passing that on seems the most straightforward route to me.

That said, you may want to pause to think before choosing a host. If you have a video streaming website it may be better to go with unmetered bandwidth. But if you have a lightweight site I’d recommend bandwidth-based billing instead.

Getting Started

According to Kinsta’s support team, the web host is in the process of creating a new admin interface, which will feature better content for new visitors. But until it’s released, buttons take you to the contact form where you can speak with a member of the team. That said, you can register for yourself, and once you do you can take a look at the admin interface.

The Kinsta dashboard is simple and intuitive to use, not to mention good-looking.
The Kinsta dashboard is simple and intuitive to use, not to mention good-looking.

To get going with a site your first order of business is to add a payment method and grab a plan. This can be done in the billing section. It would be better if there was a wizard or some sort of direction, but the process is straightforward enough.

Choosing a plan...
Choosing a plan…

Once you are past this point, creating sites is extremely easy. Go to Sites, and click the Add New button. This was the first place where I really started liking Kinsta. The form is easy to understand and includes some features not available elsewhere. It doesn’t allow you to use “admin” as your username (it must be eight characters long) and forces you to create a strong password – yay security! It allows you to choose a language other than English right off the bat and sets up Multisite or WooCommerce for you if you need them.

Adding a new website using the Kinsta backend interface.
Kinsta New Site

After a few seconds your new site will be created and assigned a temporary URL you can use to set things up. You can then add your own domains at any time and use the DNS management to set everything up as needed.

Ease of Use

The experience of the Kinsta dashboard doesn’t come close to Flywheel’s, which I really love. However, it does do a good job of giving you the tools you need – which is the most important thing – even if it doesn’t look as polished. Once you spend some time using Kinsta, though, you’ll appreciate some of the little things on offer.

One of my favorites is the SSH access display. You use the following method to SSH into a server: ssh username@domain -p port. That’s three separate things, in addition to the password. SSH details are the most common things I look up and Kinsta doesn’t just have the information but the full code to SSH into the server right there on the site details page. Useful!

Checking out my website's details using the Kinsta dashboard.
Checking out my website’s details using the Kinsta dashboard.

Another section where ease of use has been put front-and-center is the Backups tab. Due to the container-based system Kinsta uses, backups can be performed using snapshots. This means that backups are almost instantaneous – no more waiting around for the process to complete. Backups show up after a few seconds and can be restored at any time.

Note: Restoration time takes just as long as anywhere else. A nice touch I’ve noticed is that a backup is created whenever you restore a backup, just in case you need to go back and undo the restore.

Kinsta provides easy backup and restoration using snapshots.
Kinsta provides easy backup and restoration using snapshots.

The bottom line is that while I’m no fan of the design, the power and ease of use is there, which is what really counts when using your hosting service.


Since Kinsta is a managed WordPress host proper, features that make it stand out from the regular crowd are expected – and delivered. I’ve mentioned some of them already, but here’s a more extensive list:

  • Free migrations
  • Instant manual backups
  • Automated daily backups
  • 3 global locations per site
  • Cache flushing
  • Live and development environments
  • Cache, backups and other features available in the development environment
  • PHP Version switcher (5.6 and 7)
  • Switch to HHVM from the dashboard
  • PHP/HHVM Restart
  • Manage SSL certificates
  • Analytics
  • Migration requests available from the dashboard
  • Built in DNS management (uses Amazon Route 53 in the background)
  • SSH access
  • WP-CLI support out-of-the-box
  • Two-factor Authentication support
  • Basic collaborators

The list is surprisingly extensive considering that Kinsta hasn’t been around as long as some of the larger companies, like WP Engine or Pagely. I love how easy SSH access is and that I have WP-CLI at my fingertips. I also use the DNS management tool a lot and enjoy the speed boost that the server architecture provides.

As with Flywheel, you can manage your SSL certificates but not buy them. I would also love to be able to switch off caching altogether. I can flush it anytime and the site is uncached when logged in but for some tests it just makes sense to sidestep the cache completely. Support can do it for you buy a button would be nice.

Environment switching could also be a bit more obvious. I had to look hard to find it at the top of the site details page.

While Kinsta does allow you to give others access to your account it’s very basic at this time, and certainly not as refined as Flywheel’s system, which focuses on it a lot more.

Another omission is Git support. You can use Git through your SSH access, of course, but there is no Git-driven workflow as you might find at Pantheon or WP Engine.

Overall, I think Kinsta has a fantastic feature-set. Technically, the web host seems to be at least at the level of the older companies, like WPEngine, Pagely and Pantheon, even surpassing them in some cases.


My experiences contacting the support team were excellent. I received detailed and honest answers to all of my questions. When I enquired about their hardware I didn’t expect an answer like this:

“We use Google Compute Engine servers, which ensure high speed and automatic scalability which means that instead of being constrained to 2-6 CPUs per VPS as with other providers we actually let the site’s container to scale to as many CPUs as needed when there’s a surge, and for load balanced clients an infinite number of CPUs as our system dynamically spins up more machines and scales back when the traffic wave subsides.”

I tried to quiz them with some common WordPress related site issues and got all the right answers, so top marks!

Kinsta uses a ticket-based support system via Intercom. It feels like a real-time chat but in the background it isn’t. I got a response within 5 minutes when I tried to talk to them a 3pm. I also tried at 5am (I happened to be up early while writing) and got an answer within 3 minutes. I may have just picked two low-support times by chance but impressive nonetheless!


As with all the reviews in this series, conducted comprehensive speed tests. Despite what some may say, any test you run is highly subjective. Your site may be on a faulty box – perhaps the only fault out of hundreds – your local connection may be unstable, the software you use to run tests might have had a rough day, who knows.

I installed three websites:

  • Vanilla Twenty Fifteen theme filled with demo content – 1.49Mb, 53 requests
  • WooCommerce shop running on Twenty Fifteen, Shop Page – 0.479Mb, 55 requests
  • Out of the box Avada installation using the Cafe demo – 24.3Mb, 134 requests

When uncached, the vanilla Twenty Fifteen site loaded in a staggering 983 milliseconds, the WooCommerce shop loaded in around 780 milliseconds, and the Avada demo loaded in 7.1 seconds.

When cached, vanilla Twenty Fifteen loaded in around 800 milliseconds, the WooCommerce shop took about 700 milliseconds, and the Avada Cafe demo clocked in at 3.1 seconds.

Again, these are casual tests and may not reflect your experience with Kinsta, keep in mind that website speed has so many factors it is difficult to accurately gauge it on a company-wide level.

Disclaimer: In putting together this review, we bought our Kinsta review account just like any other customer – via the sign-up link on the homepage. We didn’t let Kinsta in on the fact we were reviewing their services to avoid any special treatment.

Stay tuned for the final article in this series coming soon, which will compare all eight web hosts side-by-side to decide which one is best.


Making Your WordPress Website Fly: A Performance Optimization Tutorial

Whether you’re working for a client or developing your own WordPress projects, you don’t need me to tell you that speed matters. A lot. And contrary to the well-known cliche, it’s really the lack of speed that kills when it comes to the web.

If you depend on WordPress for your livelihood, then it had better perform:

Ignore site speed and you’ll cripple your sites’ conversion rates – and you already know that your development clientele expects near-instantaneous page loads regardless of how many hi-res images and videos they’ve thrown on a page.

The power of WordPress is also its greatest weakness. WordPress’ theming and templating system abstracts the actual HTML away from a web developer’s grasp. Throw in the fact that external resources are pulled from a smattering of theme, child theme, and plugin directories, and then enqueued rather than hard-coded into the document head, and you’ve got a recipe for “how the hell do I optimize this?”.

Thankfully, there’s good news! You don’t have to manipulate website resources manually or revoke the media uploading privileges of your clients, contributors, and editors. You can optimize WordPress for performance and rest assured knowing that WordPress is going to hum.

Step-By-Step: How to Make a WordPress Website Fly

As we’ve covered, optimizing a WordPress website for maximum speed can be a bit complex. So let’s simplify things. In general, you’ll want to implement an optimization strategy that ticks all of the following boxes:

  • Pick a quality web host
  • Optimize JavaScript and CSS resources
  • Optimize images
  • Optimize delivery

Step 1: Opt for Quality Hosting

While we don’t offer hosting, we can offer some advice in that regard, and, considering our CEO’s position on affiliate sales, ours is one hosting opinion you can actually trust.

So, what does quality hosting look like? Well, for the sake of security and resource availability, it’s private. That doesn’t mean WordPress should never be hosted on a shared server, but shared hosting isn’t the right place for an income-generating website.

It may sound like I’m downing shared hosting, but I’m not. I have several personal projects hosted on shared servers. A shared server is a great cheap option for side projects, hobby sites, and such. However, if you run a site that enjoys north of 1,000 page views per day, generates significant income, or stores any sensitive information in the WordPress database, you need the best possible security and guaranteed resource availability. In addition, many quality web hosts build in page caching at the server level, which will beat plugin-enabled page caching every time.

WordPress-specific hosts like WP Engine, Flywheel, Kinsta, and Pagely are your best bet. However, if that’s outside of your price range, a budget-friendly VPS from a reputable host is a good fallback option. Alternatively, private cloud servers, such as a Digital Ocean droplet managed by Cloudways, offer a fast and private environment at a low price and are generating a lot of positive buzz in the WordPress development community right now.

We recently tested Cloudways with our Hummingbird and WP Smush Pro plugins installed and found Digital Ocean was an excellent solution.
We recently tested Cloudways with our Hummingbird and WP Smush Pro plugins installed and found Digital Ocean was an excellent solution.

Step 2: Optimize JavaScript and CSS Resources

Once you’ve taken care of the first speed bottleneck by picking a quality host, your next step is to configure CSS and JavaScript resources for maximum performance.

The basic idea behind optimizing CSS and JavaScript resources is really pretty simple:

  • Move resources so that they only load when they are actually needed.
  • Minify resources (i.e. make them as small as possible) by removing any unnecessary spaces and line breaks.
  • Combine resources into as few files as possible to minimize the number of HTTP requests required to load your website.

So how do we actually go about doing that? Well, we’ve dedicated entire tutorials to this topic before and you should check those out if this process is unfamiliar to you, but the CliffNotes version goes like this:

  • Install Hummingbird and run the file minification tool (Hummingbird > Minification) to load your site’s external resources.
  • Start with all resources in their original position, un-minified, and uncombined (in Hummingbird, do not Include them yet).
  • One by one, move resources to the footer. Check your site after moving each one to make sure you haven’t produced a flash of unstyled content (FOUC).
  • Leave any resources that are needed for the initial page load in their original position or move them to the header. It’s better to leave a handful of resources in a render-blocking position than to produce a FOUC (up).
  • Follow the same one-by-one process and minify as many resources as possible. In theory, you should be able to minify all resource. However, poorly-coded resources may sometimes break when minified.
  • Finally, follow the same one-by-one process and combine (Include) as many resources as possible.

With Hummingbird, you can combine and minify files in bulk or individually to speed up your site.
With Hummingbird, you can combine and minify files in bulk or individually to speed up your site.

Yes, this is a time-consuming process. However, in the end, you will combine and minify as many resources as possible and leave only those resources that are needed for the initial page load in their original position. If your site relies on dozens of external scripts and stylesheets, the reduction in HTTP requests may have a dramatic impact on page speed.

Step 3: Optimize Images

Let’s imagine a “fictional” scenario.

You know that huge images can be a huge drag on page speed. So you optimize every image before uploading it. Then you bring on a blog editor who’s amazing, but (unbeknownst to you) has no clue about image optimization. Three months later you realize that you now have dozens of blog posts that load at a snail’s pace because they’re struggling under the load of megabyte-upon-megabyte of hi-res images. You’re filled with dread as you estimate the hours it will take you to optimize all of these images.

No worries! There’s an easy button for this situation: Smush.

Unlike the last step, this step is a breeze. Just install the plugin, configure a few settings, and bulk smush your images. In addition, once you’ve set it up Smush will auto-optimize any new images you upload. It’s a do-it-once-and-forget-it optimization technique that can have a profound impact on the page speed of image-heavy webpages.

If you want a step-by-step walk through the process, we can do that too: Slay All the Megabytes. Or, maybe you aren’t sold that Smush is the best image optimization plugin for WordPress. There was a time when we thought it was the best but wanted to make sure. So we compared Smush to other popular image optimization plugins in a benchmarked-test and published the results. You can check them out here.

Bulk smush your images and save valuable space on your server, while at the same time ensuring your images are served up faster.
Bulk smush your images and save valuable space on your server, while at the same time ensuring your images are served up faster.

Step 4: Optimize How Webpages Are Displayed to Visitors

At this point, you’re using quality hosting and you’ve optimized CSS files, JS resources, and images. Next, you can speed things up even further by optimizing website delivery. There are a variety of strategies you can use to accomplish this.

Page Caching

Page caching can reduce server load and page load time considerably. Every managed WordPress host I’m aware of caches static copies of your website files on the server. This beats plugin-based caching hands-down because the files are headed back to the visitor who requested them before WordPress even kicks into gear.

If your host doesn’t offer built-in caching, you can use a plugin. I’ve written an entire series on setting up W3 Total Cache. However, if you’d like a simpler solution, check out the premium plugin WP Rocket or one of the eight lesser-known caching plugins I put to the test a few weeks ago.

W3 Total Cache isn't exactly the easiest plugin to understand, so we published a four-part series to help you with the settings.
W3 Total Cache isn’t exactly the easiest plugin to understand, so we published a four-part series to help you with the settings.

Browser Caching

Setting up browser caching completely eliminates multiple HTTP requests when a visitor to your site visits multiple pages that require the same resources. In effect, what browser caching does is tell your visitors’ browsers: “keep using these files until I tell you that there are updated versions available.” This means that your visitors will enjoy near-instantaneous subsequent views of the same page and faster loading of other pages that shared the same resources.

Hummingbird makes it trivially easy to enable browser caching. With Hummingbird installed, just go to Hummingbird > Browser Caching, set the duration for which resources should be cached (if unsure, stick with the eight days recommendation), select your server OS, and you’re set.


Gzip compression has become the de facto industry-standard way to compress website resources. Doing so minimizes file size, thereby trimming down on total website size and the length of time is takes a user to download all of those resources.

This is another optimization that you can set and forget with Hummingbird. With Hummingbird installed, just go to Hummingbird > GZIP Compression and start compressing.

CDN Integration

If you’re going to set up browser caching and use a CDN, you must integrate your browser cache settings with your CDN. If you use Cloudflare’s CDN service, you’re in luck. Hummingbird includes Cloudflare integration, so you can mirror your browser caching settings across the CDN right from your WordPress dashboard.

If you use a different CDN, say MaxCDN or KeyCDN, you can still use Hummingbird, but you’ll need to mirror your browser cache settings by accessing your CDN’s settings panel. Then, in your CDN settings, either match the browser caching duration or overrule it.

Good deal, right? Hummingbird-enabled browser-caching plus CDN compatibility. But you know what’s even better? 24/7 support from WPMU DEV WordPress experts who will help you fine tune Hummingbird set up if you can’t seem to figure it out on your own.


Super speed with WP Hummingbird

Lightweight and fast, Hummingbird caches, minifies, combines, defers and compresses, making optimizations in line with Google PageSpeed, and turning your site into a lean, mean, speed machine.


Find out more

Summing Everything Up…

That sounds like a lot to do, right?

  • Get quality hosting.
  • Move, combine, and minify JavaScript and CSS resources.
  • Optimize images.
  • Optimize delivery by setting up page caching, browser caching, gzip compression, and integrating with your CDN.

The truth is, that is a lot to do. However, we can also make this whole process super simple by boiling it down to one sentence:

Optimize your WordPress website for speed by using high-quality managed WordPress hosting and properly configuring Hummingbird and WP Smush Pro.

Really, that’s it. Nail those three things – hosting, Hummingbird, and Smush – and your WordPress website will fly.

What About Using the Other Guys to Speed Up Your WordPress Site?

There are lots of other options for speeding up WordPress. Plugins like W3 Total Cache can do a lot of the same things Hummingbird does – albeit with a dramatically poorer user experience, if I do say so myself. Also, there are obviously a few other image optimization plugins out there considering that we benchmarked Smush against them.

However, as you know, we aren’t just a plugin company. When you joined WPMU DEV we didn’t just hand you Hummingbird and Smush and wish you good luck. Heck, we give that out for free with our 14-day trial membership!

No, we do a helluva lot more. In addition to Hummingbird and Smush, with WPMU DEV you get award-winning 24/7 support, the best theme builder the WordPress world has ever seen, a training system that is unique within the WordPress ecosystem, and more.

What’s my point? My point is this:

Comparing a single premium plugin to WPMU DEV is a bit like comparing your local cabinet maker to IKEA.

Sure, the local guy makes beautiful cabinets, but IKEA makes great cabinets as well as everything else you need to outfit your entire house. If only IKEA would take a page out of our playbook, then you could get an entire houseful of furniture for the same price as kitchen cabinets from the local guy, but I digress.

Really, a better comparison is to look at what you get with WPMU DEV versus what you get with other multi-faceted WordPress product and service companies. I’m thinking of folks like Jetpack’s premium feature set or the suite of products and services offered by iThemes. Let’s see how speed-optimization with WPMU DEV compares to those guys.


Well, that right there really is the point.

So, what’s the point in this comparison? Obviously, Jetpack and iThemes aren’t even trying to match up to what WPMU DEV offers in this department.

When it comes to optimizing WordPress for speed you basically have two options:

  • Find a variety of standalone plugins and figure out how to license them separately for every site where you use them, with every plugin having a different licensing structure.
  • Optimize your site with Hummingbird and Smush, use them on as many sites as you wish, never worry about licensing, and get award-winning 24/7 support when any issues come up.

Performance is Important, But it Isn’t Everything

Speed isn’t everything. However, along with monitoring, security, backups, and SEO, site performance is one of five core needs every web developer must address.

You ignore any of these five core needs at your own peril, and if you’re a WPMU DEV member, there’s really no excuse for doing so. We give you the tools to address all five in one nice centrally-managed package.

While we think we’ve made a compelling case for why WPMU DEV should be your go-to WordPress performance framework, the question remains “how do we address the other four critical factors?” Stay tuned for that answer in the next post in this series.

12 Tested and Easy Ways to Grow Your Email List Faster

Are you looking for easy ways to grow your email list? Many beginners just install a sidebar optin form on their website and wait for users to subscribe. This results in slow growth. There is so much more you can do to grow your email list much faster. In this article, we will show you some of tested and proven ways to grow your email list that are actually easy to implement.

Grow your email list faster

Getting Started

First thing you need is to make sure that you are using a professional email marketing service.

Using the best email marketing company ensures that your emails don’t end up in the spam folder. It also provides you with the industry standard tools to build and grow your email list.

We recommend using Constant Contact. It is one of the largest and most popular email service provider in the world.

Next, you will need OptinMonster. It is the best lead generation software in the world. It helps you convert abandoning website visitors into email subscribers.

Having said that, let’s take a look at some of the most effective ways to grow your email list.

1. Use Multiple Sign up Forms

Using multiple signup forms

As we mentioned earlier many beginners start with just a simple signup form in their sidebar.

If you want to grow your email list quickly, then you need to use multiple sign up forms to give users more opportunity to join your email list.

We recommend combining your sidebar sign up form with a floating footer bar or a lightbox popup to make your signup forms more noticeable

2. Use an Exit Intent Popup

Exit intent popup

Exit-Intent® is an advanced technology built by OptinMonster that tracks your user’s mouse behavior and show them with a targeted form at the precise moment they are about to leave your website. Think of it as Onsite Retargeting.

You can use this technology in combination with full screen welcome gates, lightbox popups, or other optin types to convert abandoning visitors into subscribers.

We use an exit intent popup on WPBeginner, and it has helped increase our subscribers by 600%.

Michael Stelzner from Social Media Examiner used it to add over 250,000 new email subscribers.

3. Offer Content Upgrades

Content upgrades

Content upgrade is a marketing technique where you offer users a chance to get exclusive bonus content by signing up to your email list.

This additional premium content offered for completing an action is also known as content bribe.

Human psychology plays an important role in the effectiveness of content upgrades. The psychology principle known as Zeigarnik Effect states that people are most likely to complete a task if they initiate it themselves.

Because the user initiates (click to download the content upgrade), they are more likely to complete the task (subscribe to your list).

See our step by step guide on how to add content upgrades in WordPress to grow your email list.

4. Add Full or Partially Gated Content in WordPress

Adding gated content

Gated content is content on your website that can’t be accessed until the visitor enters their email address. You can use it to hide some of your content or hide the entire blog post until the user enters their email address.

Here’s a step by step guide on how to add content locking in WordPress.

5. Create Multiple Lead Magnet Pages

Lead magnet page example

Lead magnet (also known as opt-in bribe) is an incentive you offer to potential buyers in exchange for their contact information such as name, email, phone number, etc.

Your blog posts with locked content, content upgrades, and premium content all fall into the lead magnet category.

Lead magnets need to offer additional value to your users. This could be an ebook, a resources newsletter, checklists, workbooks, etc. See these 9 highly effective lead magnet ideas for inspiration.

6. Add Sign up Call to Action on Your Facebook Page

Facebook has introduced call to action buttons for business pages. These buttons are prominently displayed on top of your cover image and are visible without scrolling.

Call to action button on a Facebook business page

Here is how to add a sign up button as call to action on your Facebook page.

You need to visit your Facebook page, and you will notice a blue ‘Add a button’ button.

Adding a call to action button

This will bring up a popup with multiple choices. You need to click on ‘Get in touch with us’ tab and then select ‘Sign up’.

Next, you need to provide a link to your website where users will be taken when they click signup.

Add a link to your sign up page

Don’t forget to click on add button to save your changes.

6. Use Twitter Lead Generation Cards

Twitter Ads

Twitter Ads offers another social platform that you can use to boost your lead generation efforts.

In fact, Twitter even allows you to run lead generation directly from Twitter. This way users can sign up for your email list without leaving Twitter.

You can also drive traffic to your website and use email sign up as a conversion. You can create special offers for Twitter users and tweet the links to your followers.

7. Use YouTube Call to Action Cards

YouTube action cards

YouTube is one of the largest social media platforms, and the second most popular search engine in the world. If you are using YouTube videos as part of your marketing strategy, then you can utilize your YouTube channel to grow your email list.

YouTube action cards allow you to add interactive information cards to your videos. You can use them to add call to actions and link them to lead magnets on your website.

Here is how to add YouTube action cards to your videos.

8. Use After Post and In-Line Optin Forms

After post optin forms appear when a user has already scrolled down an entire article. This means that they are already interested in your content and are much more likely to sign up.

After post and in-line optin forms

You can also use in-line optin forms with in your blog posts and long reads. The middle of a long read is the point where users are most engaged with the content. Reminding them to sign up at that point, works like a charm.

9. Add Polite Slide-in Scroll Box Forms

As we mentioned earlier that users simply ignore most static signup forms. The goal is to divert user’s attention to your offer and sign up form.

Slide in scroll box

Slide-in scroll box forms do that beautifully. They stay out of the way so that users can look at the content while diverting user attention to the sign up form with slide in animation.

10. Prominent Headers with Call to Action

Prominent headers with call to action

Header is the area of your website most prominently visible to users when they arrive. This makes it the most effective spot to place your call to action.

You will need a WordPress theme that comes with large or full screen header. You can also use a page builder plugin like Beaver Builder to create custom pages with your own layout.

11. Use Social Proof to Encourage More Sign ups

WPBeginner social proof

Social proof is a psychological effect used to describe a social behavior where people feel more comfortable following other people. Marketers use social proof as a tactic for easing the minds of worried customers and increasing conversions.

There are many ways you can use social proof to get more subscribers. You can use testimonials on your landing pages, add reviews, show number of registered users, etc.

Many popular websites show the number of subscribers in their sign up forms to encourage new sign ups.

12. A/B Test Your Optin Forms

A/B test your optin forms

Many beginners continue to rely on guess work to understand what works on their website. You need to understand how your audience react to different call to actions, optin placements, colors, design, and copy.

With A/B testing, you can find out which optins work better on your website. You can use these A/B testing tips to continuously test and improve your optins.

We hope this article helped you find the best ways to grow your email list. You may also want to see our list of 10 WordPress plugins that will quickly help you get more traffic.

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.

The post 12 Tested and Easy Ways to Grow Your Email List Faster appeared first on WPBeginner.

Understanding and Using the WordPress Hook System

We’ve been covering quite a few WordPress web development topics recently, so you’ve probably already heard about hooks, actions, and filters.

These are an essential part of the using the event-driven architecture used by WordPress. And they are your path to creating your own custom “version” of WordPress to suit your needs.

In a nutshell, an event-driven architecture is a way of listening for events that change a particular state and then reacting accordingly. Your reaction, what you write, is how you can create the functionality you desire to extend the functions of WordPress.

As a very simple example, publishing a WordPress post is an example of an event (publish_post) which changes a state.

This is the foundation of the extensibility of WordPress, which has made the CMS such a rich ecosystem, thriving with thousands of feature-rich themes and plugins.

There is another fundamental reason why using WordPress hooks are critical.

Using hooks, you can extend and build upon WordPress without the need to edit any of the core source code.

Actually, let me rephrase that statement.

If anybody you hire for WordPress development (or work for) suggests a core change to the WordPress code, fire them on the spot.

Anybody, who is willing to break the upgradability of your WordPress website has no idea what they are talking about. If they had a grasp on the basics of security, they wouldn’t even think of doing that.

We’ve spoken about this before. Upgrading WordPress (and its themes and plugins) to the latest available version is one of the fundamentals of securing WordPress. Developers who change the core source code will leave your website a sitting duck.

If your hired developers are willing to take such a treacherous path, chances are they are not well-versed in the basics of coding either. It’s very likely they will wreak havoc with the code they write, leaving you (or the people you hire after them) to clean up the mess that they leave behind them.

On the other hand, if you use hooks and all of the other extensibility options WordPress gives you, the upgradability of your WordPress is assured.

That means, whenever a WordPress core update is released, upgrading your WordPress to the latest version won’t break any of your code. You don’t have to worry about the upgrade of your own custom development. As long as the hooks are not deprecated, your customizations will survive the upgrade.

More importantly, your WordPress is kept protected from any WordPress security vulnerability which has been secured through the latest WordPress core update.

Interested in learning more? The WordPress Codex provides a comprehensive guide to hooks, including a code reference for developers.
Interested in learning more? The WordPress Codex provides a comprehensive guide to hooks, including a code reference for developers.

Hooks, Actions or Filters? What’s What?

Hooks are basically events that happen during the execution of the functionality of WordPress, themes or plugins.

But why are they actually called hooks?

Developers who are looking to extend or implement specific functionality can “hook” onto the event as soon as it happens and perform a specific action related to that event.

As WordPress is going through its execution phases, it “checks” to see whether any plugin (or theme) has registered a function to be executed at that point, and if it finds any, those functions are executed at that point.

The WordPress codex, as part of the documentation of the WordPress API, explains Hooks, Actions and Filters quite nicely, but I’m supplementing this information of course.

There are two main types of hooks

  1. Actions (aka Action Hooks)
  2. Filters (aka Filter hooks)

In reality, these are quite similar in what they can achieve, but there are a few subtle differences.

The Difference Between Action Hooks and Filter Hooks

Let’s start with what’s the same before we discuss the differences.

Both actions and filter hooks receive data through a number of parameters.

Actions and filters are also mostly able to do the same thing (if you had to take a look at the WordPress source code, you’ll see that the code functions that implement actions are just wrappers of the filter code functions).

There is though, one key difference between the two types of WordPress hooks.

Filter hooks are required to return a value, action hooks do not.

In essence, with a filter hook, the hooked function gets a specific value, it does its thing and then returns that a modified (or not) version of that value.

An action hook does not need to return a value.

Putting it in more practical terms, with a filter hook, you’re typically working on content, doing your “changes” and then returning that content. For example, as we’ll see below the title_save_pre filter hook works on the post title, whilst the content_save_pre works on the content of the post.

On the other hand, an action hook does something (which can work on data or just use the data) when an event happens. The publish_post action hook triggers when a post is published.

When and How to Use an Action Hook

You should use an action hook if you want to:

  1. Inject HTML or other content into the response buffer
  2. Modify one or more global variables
  3. Modify the parameters passed to your hook function

The way to add an action hook is as follows:

add_action( $hook, $function_to_add, $priority, $accepted_args );

where $hook would be the action you want to hook onto, whilst $function_to_add is the function you’ve written that will be executed when that hook is triggered.

We’ll see some real examples of doing this further on in this article.

How and When to Use a Filter Hook

You can use a filter when you need to do any of the above, but you also want / need to change the value of the data parameter.

In fact, it’s not just a want, it’s a requirement. You must return a value for the parameter if you are using a filter hook.

The way to adding a filter hook is quite similar to the way of adding an action hook:

add_filter( $hook, $function_to_add, $priority, $accepted_args );

Where once again, $hook would be filter hook to use and $function_to_add is the function you’ll be writing.


Join The Academy for WordPress wisdom

Study with the brightest minds in WordPress – developers and business owners who are experts in their field and passionate about teaching. Ask questions, get direct feedback and support, and when you complete a course get full certification.


Learn More

Removing Filter and Action Hooks

Removing WordPress hooks you’ve added is pretty simple. It’s the inverse of adding hooks and has a very similar syntax:

remove_action( $hook, $function_to_remove, $priority);

remove_filter( $hook, $function_to_remove, $priority);

The $priority argument is an optional argument.

In both the add_filter and remove_filter case, the $prioirity determines the order in which the hook triggers if there are several hooks “chained” or running one after the other on the same filter or action hook.

Enough with the Theory, Give Me Some WordPress Hook Examples!

Whilst I’ve mentioned that there are plenty of WordPress hooks you can use, I haven’t shown you exactly what they are so far.

Here is a list of all of the filter hooks you can use, courtesy of the WordPress Codex, whilst this is a list of all the action hooks. As you can see, the functionality within WordPress which you can hook onto is vast.

In fact, it’s unlikely you’ll come across a use-case for which a hook doesn’t exist.

And if you do come across such a use-case, you may want to contribute to WordPress and propose it’s inclusion in future versions of WordPress!

As at the time of writing, there are over 1900 hooks you can use.

Number of WordPress hooks vs version

Let’s see how we can hook onto them to do some simple additional functionality which is not available through the WordPress core.

Filter Hook Example #1

At the very beginning of this article, I mentioned that an example of a state change is the posting of a WordPress article.

For the sake of this example, what we’re going to do is create an attribution link at the bottom of each post, so that if anybody is reposting our articles on their website lock, stock and (two smoking) barrel(s), we’ll have, at the very least one backlink pointing back to our site.

For this reason, we’re going to hook onto the content_save_pre filter hook, which is executed on the post content prior to saving it to the WordPress database.

.gist table { margin-bottom: 0; }

As you can see, being a filter hook we’re changing, then returning, the content.

Filter Hook Example #2

Another pretty simple filter which is actually editing the output. Let’s say, for branding and SEO purposes, you want to append the name of your company to the titles in each WordPress post. Rather than using a SEO plugin, or asking your authors to do this manually, you can create a filter hook which does this as WordPress title is accessed.

.gist table { margin-bottom: 0; }

As you can see, once again, our filter hook example is using title_save_pre to do some changes to the title and then returning it.

Enough of filter examples, let’s go onto a few examples of action hooks. As you’ll see the primary differences with these is going to be that they won’t return any value.

Action Hook Examples #1

You probably (should) know that pressing the Publish button on your post is the end of the publishing phase, but the actual beginning of the marketing phase. In terms of pushing out your content, you might want to start by pushing out the content to Social Networks as soon the post is published. At the very least, you may want to add them to you social media marketing schedule.

Now, if you want to semi-automate that process, you could hook onto the publish_post action hook and post the content to your social media.

.gist table { margin-bottom: 0; }

I won’t dig into the exact code for posting because this depends a lot on what you want to do exactly and there are plenty of tutorials on the interweb for that.

Action Hook Example #2

Let’s say you’ve created a membership plugin site. You’ve also created a number of bonus resources that you want to send as a separate email from the registration email.

What we will do is use the after_signup_user action hook to send an additional email with the bonus content.

.gist table { margin-bottom: 0; }

As can be seen, we are not actually returning any value (since this an action hook, not a filter hook).

The third argument of add_action in the code above is the so-called hook priority that specifies the order in which the function hooked to the after_signup_user action will be executed. The default (if not specific value) will be set to 10.

The fourth argument indicates the number of arguments the function hook will accept, which defaults to 1 if empty.

The Ubiqutious Code Example: Adding Google Analytics to WordPress Using an Action Hook

Just because this is one of the most prevalent examples online, doesn’t mean it isn’t a great example usage of actions hooks!

We’re hooking onto the wp_head action hook to add our Google Analytics code.

.gist table { margin-bottom: 0; }

Where Else Can WordPress Hooks Be Used?

Plugins and themes of course. Both core and custom WordPress plugins and themes will expose their own hooks for developers to be able to add their own custom functionality to the theme or plugin without breaking the theme or plugin.

As for the actual code, simple changes might go in the functions.php file, but there’s no actual specification or limit where the filters should go.

Useful Hooks You Could Use

If you’re convinced about the usefulness of hooks, you might want to make use of a few of these code snippets using hooks.

Useful code snippets for WordPress from WP Theme Detector – quite a few of these are actually making use of various WordPress hooks (Disclaimer: not tested or endorsed).

More useful code snippets for WordPress from WP Kube using various hooks.

And there’s quite a bunch of hooks in this huge list of WordPress tricks.

WordPress Hooks: Your Imagination Is the Only Limit

As you’ve seen in this article, WordPress hooks give you much power and possibilities in extending the core WordPress functions. This gives great power to WordPress designers, developers and even freelancers who just want to perform small tweaks to WordPress.

How to Properly Update Live Published Posts in WordPress

Have you ever had to make significant edits to an already published WordPress post? Maybe you are rewriting an old article or you have to update screenshots because they’re outdated. Since we have to do this on a regular basis on WPBeginner and on our documentations for our suite of products, we have created a workflow that works. In this article, we will show you how to properly update live published posts in WordPress.

How to update live posts in WordPress

The Problem with Updating Live Posts in WordPress

WordPress makes it super easy to create and edit posts. You can edit all posts whenever you want, even after publishing them.

However, when editing live posts, you cannot save them until you are done editing. Saving live posts will immediately make your changes visible.

This is a little problematic for various reasons.

If you’re on a multi-author WordPress site someone may need to approve the changes before they go live.

Not to mention, there will be times where you may not be able to finish all changes in one session.

An easy workaround for this issue is to simply copy a post and paste it as a new draft. You can edit the draft and then paste it to the original post.

The problem with this method is that you cannot set or change featured images, Facebook post thumbnail, tags or categories, etc. This means that you or an editor must make those changes on a live post.

Well if you run into any of these problems, then this article is good news for you.

We will show you how to properly update live posts while making it possible to save them and make any changes without affecting the live version.

Ready? Let’s get started.

Properly Updating Live Posts in WordPress

First thing you need to do is install and activate the Revisionize plugin. For more details, see our step by step guide on how to install a WordPress plugin.

After activating the plugin, you need to visit Posts » All Posts in your WordPress admin. This is where WordPress lists all your published posts and drafts.

All posts

Take your mouse to the post you want to edit and then click on the Revisionize link. This will create a new revision for your published post by cloning the existing post.

Revision of a published post

You can edit the post like you would edit any unpublished draft. You can save your changes as many times as you want without affecting the live post.

You can have your supervisor or editor review the changes for their approval. You can also use public post preview to share it with people outside your organization.

Once you are done editing, you can click on the Publish button. The plugin will then replace your live post with the new version.

What happens to the draft?

It is still stored as a revision draft, allowing you to reuse it again to edit the same published post again.

Revision draft

That’s all, we hope this article helped you learn how to properly update live posts in WordPress. You may also want to see these 14 tips for mastering the WordPress visual editor.

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.

The post How to Properly Update Live Published Posts in WordPress appeared first on WPBeginner.

The Art Of Upselling Your Clients [White Paper]

Acquiring a new client is a hurdle in itself. Yet to get reoccurring work after the first project is another feat. In this white paper, we’ll dig deeper into the art of upselling by revealing several hacks you can pitch to clients to increase the value you deliver while driving up profits. Master the art here:

White Paper: The Art of Upselling

As an agency, you can introduce certain features to your clients to prolong the work you provide for them. These services can range from web maintenance to speed optimization and more. Learn about these eight agency hacks to upsell your clients and deliver more value, including:

  • Detecting problems with a site’s HTML
  • Getting clients ready for PHP7
  • Using Cross Browser Testing and Google Analytics
  • A/B Testing
  • And more…

Download the guide now to learn about the ways in which you can establish value and upsell your clients with one of these eight proposals in mind.

The post The Art Of Upselling Your Clients [White Paper] appeared first on WP Engine.