WPMU DEV's Blog - Everything WordPressWordPress Plugins - WPMU.org http://premium.wpmudev.org/blog The WPMU DEV WordPress blog provides tutorials, tips, resources and reviews to help out any WP user Sat, 01 Nov 2014 12:00:56 +0000 en-US hourly 1 http://wordpress.org/?v=3.9.2 Securing Your WordPress site: Wordfence Security Review http://premium.wpmudev.org/blog/securing-your-wordpress-site-wordfence-security-review/ http://premium.wpmudev.org/blog/securing-your-wordpress-site-wordfence-security-review/#comments Thu, 30 Oct 2014 11:00:00 +0000 http://premium.wpmudev.org/blog/?p=133565 Chances are, you’re here because you love WordPress, and you love the idea of protecting the site you worked on so tirelessly to create. There are a lot of plugins out there to secure your site, but there’s one that’s often overlooked, and perhaps shouldn’t be.

Boasting a feature-packed feature list to stop hackers in their tracks, it’s consistently being updated to help protect against newer threats.

It’s Wordfence Security.

Although it’s still fairly new, having been created in 2011, WordFence Security has quickly attracted more than 3 million users. The plugin’s parent company Feedjit started out as a real-time analytics company before adding the security plugin to its repertoire when one of its founder have his WordPress site hacked.

While the issue was quickly resolved, the ordeal prompted Mark Maunder to donated his code to help protect others and the result was Wordfence.

The plugin and company has since grown, which seems understandable when you consider Feedjit’s founders have a combined 40 years of experience in programming at many high-profile companies such as the BBC, Coca Cola, and Norton Antivirus.

But how does their plugin fare against the harsh realities of the technological world we live in? I tested it out for a lengthy period of time to help answer that question. What follows are my honest discoveries.

Is overlooking the Wordfence Security plugin justified?

WPMU Rating


The Good

  • It has so many features, you can't count them all on your fingers and toes.
  • It's consistently being updated to include protection against the latest threats.
  • There's both a free and premium version of the plugin, and the free one still has a tonne of features included.
  • Both paid and free versions include tech support, so you'll never feel all alone; at least not with this plugin, anyway.
  • Feature suggestions are taken very seriously, so if there's something you want to see, it will be thoroughly considered at the very least.
  • Both free and paid plugins offer a complete firewall, and blocking of brute-force attacks, malware, back door vulnerabilities, and loads more.

The Bad

  • Get ready to wait a while for a response from tech support.
  • This plugin is known to give false positives, which can be frustrating if you're not sure how to use the plugin.
  • There's so many features and options, there's definitely a learning curve going on.
  • Simple misconfigurations can cause the plugin to stop working without warning.
  • Site scans tend to take up quite a lot of memory, which can be a hassle if you're not aware of it.
  • Does not currently include protection from fake sign ups, although it's under consideration for future releases.

Wordfence Security by Feedjit

  • Learning curve / ease of use: 3.5/5
  • Features: 5/5
  • Out of the box: 4.5/5
  • Value for money: 5/5
  • Support: 3/5
  • Overall: 4.2/5

The Bottom Line

If you're serious about protecting your WordPress site from all sorts of attacks, you don't mind taking some time to learn the ropes, and also don't mind compensating for a fairly high dose of memory usage, then you may want to consider this plugin. For the plethora of features and protection you get, it's a wonder how this plugin doesn't actually overload your server.

If you're after a simple solution that works right out of the box, this isn't it; at least not the premium version.

There are a lot of paid configuration options, which can be a bit overwhelming, although, the plugin will work well with only a small amount of configuration.

The options are fairly well explained right on the settings pages, so you can figure it out if you take the time to read through the compact explanations. Yes, I did say settings "pages;" because there are more than one. If you want to be protected, I highly recommend checking out Wordfence.

Securing Your WordPress site: Wordfence Security Review

How Much Does it Cost?

There is a free version of the plugin that isn’t just for a trial period; it’s completely free. If you’re looking for a few more robust features, there is a premium version of the plugin, which costs $39 per year, per API key.

If you purchase multiple API keys for multiple websites, bulk discounting is available. For example, having Wordfence on five websites is $23.80 per website. That’s a 39% discount. The discount also increases with each API key you purchase.

Another wonderful aspect is how the APIs work. The clock starts ticking down on them only when you begin to use them, so you can essentially stockpile your API keys for future use. It’s recommend you do this since the folks behind Wordfence can’t continue offering such huge bulk discounts as their plugin improves so rapidly.

If you’d like to play around with their pricing and see how big of a discount you can receive for yourself, their pricing page includes a built-in calculator.

What Do You Get?

You’re not purchasing the plugin but an API key. One API key works for one website for the total number of years you select when you purchase it. One year is the minimum amount of time for which you can purchase an API key.

With each API key comes a slew of features including protection from comment spam, “spamvertising,” malware, back door vulnerabilities, fake Google bots, brute-force attacks, and unauthorized DNS and file changes. With that, you also get the option to run frequent scans, repair files, block IP addresses, or networks, force strong password creation, monitor your disk space, and implement two-step verification with your cell phone. You’ll also enjoy faster support for any issues you come across with their ticket system.

This isn’t even the entire list of features, either. These are just the highlights. You can see the full list of features on the front page of the WordFence website.

How Does It Work?

Once you sign into your Wordfence account, you’ll see the API keys you have purchased by clicking the “Get API Keys” button in your dashboard. From there, you just have to select one of your keys and click to reveal them on the far left of the list.

You can find your Wordfence API key from the "Get API Keys" page on the left of the list.

Then you head over to your WordPress site, and download the Wordfence plugin for free. From the Wordfence tab ,which will appear on your dashboard when the plugin is activated, select “Options.”

There will be a box with your free API key already in it. Erase it and enter in your new key. Don’t forget to scroll to the bottom of that section and click the button to save.

Activate your premium Wordfence options by entering your API key.

The last step is to choose which options you would like enable from comment filtering and email alerts, to which files to scan and what malicious hacks to search.

Select what to scan from the Wordfence options page.

Once you save your selections, you have other options listed under the Wordfence tab in the dashboard. You can block IP addresses, and even entire countries, set up a schedule for scans, and two-step verification, and even view the traffic on your website as it’s happening.

Once you set up alerts to your email, you’ll also be notified when files have been modified without your permission, critical problems arise, or a many number of options which you have pre-selected on the “Options” page.


Learning Curve / Ease of Use

There are so many options to ensure the safety of your site that it can also be your downfall if you don’t pay close enough attention. If you misconfigure your WordPress URL, for example, the plugin will not work, and it will not give you any warning. I learned that the hard way.

If you accidentally enable high sensitivity scanning, you run the risk of having false positives. Similarly, if you set the option too low for locking out users who have too many password attempt failures, you could have a lot of annoyed users on your hands with angry emails in your inbox to boot.

That being said, all of the options are compactly explained, so unless you’re a total beginner, you’ll very likely be able to figure it out without issue. The biggest issue is human error – your error.


Hackers beware! With over 30 features, your site is sure to be safe with Wordfence. Amazingly, there are a lot of options that aren’t even listed on their website. Some of these unlisted features include:

  • Hiding your WordPress version
  • Choosing how much memory Wordfence is allowed to use
  • The option to participate in the real-time Wordfence Security Network
  • Scan for known viruses and vulnerabilities such as the almost recent HeartBleed
  • Scan files outside your WordPress installation
  • Scan image files as if they were executable
  • Automatic updates to newer versions within 24 hours of its release

This plugin’s features definitely go above and beyond. Here’s the list of the scanning options:

  • Scan public facing site for vulnerabilities?
  • Scan for the HeartBleed vulnerability?
  • Scan core files against repository versions for changes
  • Scan theme files against repository versions for changes
  • Scan plugin files against repository versions for changes
  • Scan for signatures of known malicious files
  • Scan file contents for backdoors, trojans and suspicious code
  • Scan posts for known dangerous URLs and suspicious content
  • Scan comments for known dangerous URLs and suspicious content
  • Scan for out of date plugins, themes and WordPress versions
  • Check the strength of passwords
  • Scan options table
  • Monitor disk space
  • Scan for unauthorized DNS changes
  • Scan files outside your WordPress installation
  • Scan image files as if they were executable
  • Enable high sensitivity scanning. May give false positives
  • Exclude files from scan that match defined wildcard patterns

Arguably, the best feature is the fact this plugin is consistently and regularly updated to offer even more new and important features, as well as protect you against new vulnerabilities which may arise in the future.

Out of the box

The Wordfence plugin does work well right out of the box and includes most of the features you want and need. It’s easy to set up, as long as you avoid making any errors along the way.

With as many features that are offered automatically in the free version, you may start feeling like you’re stealing and have the urge to buy an API key. That should give you a fairly good idea of how good this plugin is after a fresh install.

Value for money

Wordfence definitely sets a new standard for value. You get so many features both in the free and paid versions that I can’t help but be left in awe.

For the current price, it’s well worth it. I have been personally using the premium version for just over a year now, and I have encountered no break-ins, no approved spam comments, and no malicious files or vulnerabilities that have not gone unnoticed.

These issues used to run rampant on my website, and it got so bad at one point that I was having spam placed right into my posts, pages, and also in the meta data. This episode prompted me to install Wordfence in the first place.

After being protected for so long now with no issues, I can sleep very well knowing this is the norm. Judging from the 5 star ratings from more than 1,750 people in the plugin directory, a lot of people are experiencing the same peaceful night’s sleep.

This plugin is complete in and of itself, and you will likely not need any other security plugin, with the exception of one to prevent fake logins, for example. However, the Wordfence team are considering this feature for future releases.

It’s difficult to imagine a feature that’s not already included, and paired with a pretty low price tag and steep discounts, you get so much bang for your buck with this plugin.


The only real soft spot I have found with this plugin is its support. Free users are still able to access support through a WordPress.org forum, but it will likely take a few days or more to receive a response.

To be fair, most plugins don’t offer support for their free versions, so perhaps it’s a healthy compromise. As for premium users, you have a slightly better option.

Paid users have access to a support ticket system after logging into the Wordfence website. Ticket times are a bit faster, but it’s ultimately not very efficient since you’re left having to wait for emails to be sent to you.

Also, it’s not terribly helpful that you have to check your account for a response, and when you do you’ll likely have to send many messages back and forth to get to the root of your issue.

The entire process can be very lengthy, but from what I can gather looking through the forum, it seems as though one person is handling all the tickets, so when you get down to it, waiting a couple days to receive a response really isn’t so bad. The responses are usually very efficient, which helps.

Still, if a massive hack is imminent, and something goes wrong, you’ll probably be left vulnerable and your site open to attack for a potentially dangerous amount of time depending on your particular situation.

Final Thoughts

Despite some fairly long support wait times, this plugin is feature-packed to the brim – so much so, it’s overflowing. It’s a strong, efficient plugin at a sustainable price. You’re protected from practically everything, with more protection being consistently added as the need arises.

As long as you’re willing to read the instructions carefully and double-check your WordPress site and Wordfence options configuration for accuracy, you’ll be safe in the knowledge your site is secure.

Wordfence is a security plugin that should not be overlooked. Hackers: You have been forewarned.

Image Credit: Feedjit Inc.


http://premium.wpmudev.org/blog/securing-your-wordpress-site-wordfence-security-review/feed/ 14
Creating Beautiful and Effective Landing Pages With WordPress http://premium.wpmudev.org/blog/creating-beautiful-and-effective-landing-pages-with-wordpress/ http://premium.wpmudev.org/blog/creating-beautiful-and-effective-landing-pages-with-wordpress/#comments Tue, 28 Oct 2014 14:30:00 +0000 http://premium.wpmudev.org/blog/?p=133448 Third-party providers like Lead Pages and UnBounce offer a no-tech option for countless landing and sales page configurations. But you’re a WordPress savvy developer, you should be able to guide your clients through a landing page solution.

Today we’re going to look at resources, themes, and plugins you can use to create functional, professional looking, self-hosted sales and squeeze pages.

Landing page
Create a pro landing page.

The Basics

It’s probably safe to bet that the overwhelming majority of WordPress developer and design clients are in business. And the entire point of creating a website presence for any business is conversion, that is, turning visitors into buyers.

Your customers want to see conversion. Think of a landing page as the quintessence of the conversion-driven website. They’re a marketing tool and they exist solely for one reason: to get your visitor to complete one simple task: whether that’s opt-in to an email list, set a sales appointment, or purchase a membership/product/service.

Landing pages are used to sell apps, ebooks, and make coaching appointments. They can be ridiculously effective when done well, just ask President Obama. But if cobbled together as an afterthought, are almost useless.

In marketing, landing pages are a different kind of creature than coming soon pages (although a great coming soon page should include some kind of lead capture).

Landing pages are usually designed separately from the rest of the website and may not include menus, sidebars, footers, or any (or many) external links. Traffic is directed to the landing page from specific sources—Facebook ads, LinkedIn, Google AdWords, a sidebar link, etc. specific to the campaign.

The term landing page is a generic umbrella term that includes sales and squeeze pages, but all these pages are basically created the same way, and this format is proven to work. While only about half of marketers are creating a new landing page for each new campaign, according to Hubspot, websites that are using more than 30 landing pages are also generating 7 times the leads as those with less than 10.

In case you’re still unconvinced, this handy infographic might just be the magic bullet.

Elements of a Good Landing Page

Getting it is only half the battle though, right? Now you’ve got to put it together.

This is where the experts and stats are in agreement on landing page fundamentals:

In case you need a better visual to wrap your head around, UnBounce created a wireframe of a typical landing page for their free ecourse you can find right here.

Technically speaking, you’ll need to be able to embed optin forms, buy now buttons, appointment scheduling, or shopping cart links. Once the page is put together, it’s out of your hands, and up to the copywriter or client to run with it and make it a success.

Your Development Options

You’ve got a range of options to make landing pages with WordPress. Many themes and frameworks are now being built with a landing page template. For example, Genesis by StudioPress has a landing page template, as does Divi, which I reviewed here.

If your theme doesn’t come with it’s own landing page template you can:

  • DIY a blank template to create landing pages with your current theme
  • Use a free or premium landing page creator plugin
  • Use a free or premium landing page theme
  • Take advantage of 3rd party integration with WordPress through a site like Lead Pages or Unbounce

If you’re using a blank page template within your theme, or a theme that comes with a landing page template, you may want to consider a page-builder plugin, or make sure your plugins support shortcodes you can drop into your landing pages for optin forms, videos, etc.

DIY Solutions

If you’re going to code it yourself, you might try making a page template that doesn’t have a menu, sidebar, or footer. You can follow this handy guide to get started, but if you’re going to strip the header and footer, you’ll also need to create corresponding header-landing.php and footer-landing.php files, and pass those names in the header and footer functions.

Here’s a quick and dirty example below that I threw together using TwentyThirteen.

Default template on the left, and stripped-out landing page template on the right. I left the sidebar in to make use of an optin widget, but depending on your theme, you might want to remove that as well.

Of course, you can get as elaborate as you’d like with this and include a custom stylesheet for your landing pages as well.


If you’re going to go the DIY route, and you’re handing this off to a client, you may want to have a page-builder installed they can use to drop the necessary elements into.

I’d go into this further, but we already have a great overview of ten different drag and drop page builders.

Landing Page Plugins and Themes

Back in February, Joe reviewed three free landing page plugins for the blogWP Lead Plus Free, Parallax Gravity, Impact Template Editor, and Ultimate Landing Page. Rather than rehash those, I’m going to put a few more free landing page plugins options you can test out there, and talk about some premium plugins.

For the purposes of this article, I’ve focused on plugins created specifically for landing pages (and sales and lead generation, rather than coming soon pages).

The Freebies

The Landing Page


The Landing Page is an ultralight, minimalist theme that “features” no header, footer, or sidebar. Why bother, right?

Actually, for the purpose it was designed for, it works pretty well. There are a few basic theme options to add social media buttons to the bottom, but otherwise, all the magic happens (or should happen) in the page builder.

Ultimate Landing Page


Ultimate Landing Page comes with one very, very basic template and no ability to customize it further.

The paid upgrade unlocks another nine templates and some additional features. It was really easy to use though, however basic the results. That said, if given the choice between this and a blank theme template plus a page builder, I’d recommend the latter to my clients.

WP Landing Pages


WP Landing Pages is another super basic landing page generator – this one with seemingly less functionality.

It offers a selection of basic templates and allows you to customize the background images and text.

Beyond that, you really don’t have much control over the landing pages you create.

Landing Pages Builder


Landing Page Builder is another “free” plugin you’ll find in the WP repository. But be forewarned: the free version is essentially useless. Testing it out was promising, but you can’t take advantage of any of the functionality you’d want for a live landing page without the $45/month subscription. *cough*notfree*cough*

WordPress Landing Pages


WordPress Landing Pages by Inbound Now promises everything you need to run successful landing page campaigns, including a visual page builder, A/B split testing, and monitor conversation rates.

The plugin offers a selection of free templates to get you started, and additional integrations and templates are available to purchase.

Just a word of warning: It would be fabulous if this plugin worked, but after fiddling with it for a few hours, I gave up.

Premium Options



OptimizePress is a WordPress solution that comes with over 30 great looking and fully responsive themes for landing, sales, registration pages and more.

Using the visual editor, you can drop in common landing page elements like optin forms, Facebook comments, arrows, badges, etc. It integrates with most mailing list providers and also gives you the ability to create secure member portals.

The downside? Pricing starts at $97 and you can only use it on sites you own and run yourself, and you have to purchase the basic package to even get access to the developer licensing, which start at $249.

Thrive Content Builder


Thrive Content Builder comes with a suite of slick looking landing page template sets.

It’s a page builder and visual editor, essentially, but the concept of the template sets, which would take a visitor through the entire process of opting in and confirming their subscription is a such smart idea.

Developer license starts at $199/year.

Authority Pro


Authority Pro, by contrast to the two above, looks and feels a little dated, but if you want to see what the quintessential long-form sales page looks like, go no further than their own landing page.

Again, it’s a drag and drop page builder that was created for the marketing-minded individual to use. It looks like pricing starts at $97, but I got lost in the sales funnel before I could find out more about the terms of the license.

Just Landed


Just Landed is a responsive theme/page builder that includes all the elements you’d need to create converting sales and landing pages.

Create as many landing pages as you’d like for different products or services, using pre-made landing blocks like pricing tables, testimonials, and more.

At $58, it’s the most economical canned solution, but unless you’re running a theme-switcher, you’ll need to maintain a separate WordPress installation if you want your main website to look and behave differently.

Thinking Ahead

Beyond getting the pages created, a complete landing page solution would involve:

You might also want to look into a more elegant media player solution for video or audio embeds, depending on your clients plan on creating their landing pages.

Bottom Line

Love them or hate them, the landing page trend in online marketing doesn’t appear to be going away. Think about this, 68% of B2B businesses are using landing pages. Clearly there’s a market for landing page development. In fact, there are web developers out there who devote their careers to creating landing pages for clients.

Given the options available, if you’re not willing to create the pages yourself, it’s worth investing in a decent landing page platform when you consider that the fate of any business hinges on the sales.

What do you use for landing pages? Let us know in the comments below.

Image credit: Icon made by Freepik from www.flaticon.com is licensed under CC BY 3.0

http://premium.wpmudev.org/blog/creating-beautiful-and-effective-landing-pages-with-wordpress/feed/ 5
New Plugin: Jobs & Experts, More Than Just a Jobs Board http://premium.wpmudev.org/blog/jobs-and-experts/ http://premium.wpmudev.org/blog/jobs-and-experts/#comments Tue, 28 Oct 2014 11:00:00 +0000 http://premium.wpmudev.org/blog/?p=133146 If your WordPress site sits at the heart of any community then it will benefit from WPMU Dev’s latest plugin, Jobs & Experts. How do we know? Because it’s based on our own Jobs & Pros feature on this very website.

Jobs & Experts makes it easy to connect members of your community who have a need with members who have the expertise. Not only will this benefit the community but it will also help cement your site as the go to destination.

Let’s take a closer look at Jobs & Experts: it’s more than just a jobs board.

Jobs & Experts is like having two highly specialized directories, one for Jobs and one for Experts, integrated into the same plugin, allowing searching, browsing, saving (to a list) and adding of new items.

Experts can also be liked, allowing for social ranking: a key trust-building tool.

All this functionality is available on the front-end via the Jobs & Experts landing page making it a self-contained feature that is easy to integrate into an existing site or spin off into a dedicated sub-domain in a Multisite installation.

Setting Up

When you install Jobs & Experts it will work perfectly well out-of-the-box. The only task you’ll need to do is add the Jobs & Experts landing page – created by the plugin and conveniently titled “Jobs & Experts” – to your site’s navigation.

There are, though, a number of configurations you can make to tailor the plugin to your own requirements:

  • Icon selection – Dark, bright or none
  • Currency – Select which currency job budgets will be listed in, the placement of the currency symbol and whether to use decimal places in budget values

Helpful Tip: Not seeing the icons on a local install?

The icons are all SVG and it may well be that your local server is not set up to serve SVG files.

To fix this, add the following to the top of the .htacces file in the root folder of your WordPress installation:

AddType image/svg+xml svg
AddType image/svg+xml svgz


The General Settings page also gives you access to a number of add-ons, which bring more advanced functionality to Jobs & Experts.

When you are testing Jobs & Experts then you’ll find the two demo data add-ons invaluable. in fact, I’ve used the demo data to produce the screenshots for this post.

You can also turn Jobs & Experts’ virtual pages into real WordPress pages if you’d prefer (useful if you want to use a page template, for example, or re-structure the page hierarchy) and tinker with custom layouts for Jobs and Experts listing pages.

Another fantastic add-on is the ability for internal messaging between expert and client without having to share email address. This feature also allows you to send attachments with your messages.

The Landing Page

This is the public front door to the Jobs & Experts directories and functions to add new Jobs and Experts.

Screenshot of the Job & Experts landing page showing latest Jobs and Experts
The Jobs & Experts front door showing latest Jobs and Experts

Shortcodes are used to generate the page and can be tailored: the default button labels can be overridden and the number of Jobs and Experts displayed can be specified.


Jobs is where members of your community can post jobs that they need completing.

Browsing & Searching Jobs

The Jobs listing displays a paged list of job summaries in a grid, which is configurable if you activate the Custom Layout add-on in the plugin’s settings in the Admin interface.

Screenshot of the Jobs listing page
Jobs are listed in a configurable grid

The Jobs can either be searched with a standard keyword search, or an add-on activated advanced search that provides filters for price (budget) range, job category as well as control over how the results are ordered, for example, by end date.

Screenshot showing the Advanced Search dialog
Activating the Advanced Search add-on provides faceted searching of Jobs

When you click on a Job title, you’ll soon discover that the individual Job entry contains plenty of detail, including:

  • Job budget
  • When the Job listing expires
  • Preferred completion date for the Job
  • Detailed description
  • Skills required
  • Sample and supporting files – these can be any files that can be uploaded to your WordPress site, such as a specification in PDF format.
Screenshot of the Job Details page showing the download dialog for a Sample File
Job details can contain downloadable files such as images and PDFs – perfect for marketing material

The Job details also contains the all important Contact button. Clicking this button brings up a contact form, allowing site visitors to respond to the job poster.

The notification generated by the contact form is fully configurable in the Job Settings with a host of variables provided to embed dynamic information into the notification.

Screenshot of the notifications settings
The notifications sent to job posters and experts can be completely configured

Adding New Jobs

New Jobs can be added both in the Admin interface and in the public interface. In all likelihood, you’ll want to let your community create their own Jobs as the easier the process and quicker the response, the more likely it is to be used and the more popular it will become.

Not that it’s a free-for-all. The plugin will only let members of the site add new Jobs – so you might want to think about adding extra controls to the sign-up process.

You can also choose to approve new Jobs before they are published which, if the number of new Jobs is manageable, might be an alternative to tighter sign-up controls.

Whatever the case, it’s probably a good idea to add some rules about job posting to your site.


The Experts component enables those in your community to showcase their expertise and to be contacted.

Finding An Expert

The Experts listing page lists gravatars, with a nice mouseover effect that overlays a short bio of the expert along with their total views and likes.

The grid layout is configurable via the Custom Layout add-on.

As with the Jobs listing, there is a basic search function but the Advanced Search (activated via the Advanced Search add-on) provides real power by allowing site visitors to search by location and skill and choose the ordering of the results (name, most popular, most likes).

Screenshot of experts advanced search dialog
Advanced searching lets you find experts with specific skills in a particular location

The Experts details page provides for a comprehensive profile, including skills (with rating) and links to social profiles.

Screenshot of the expert profiles page
Detailed profiles provide bios, skills, social profile links and portfolio

Like Jobs, Experts can also load Sample Files which is an excellent way to showcase a portfolio.

Adding An Expert

Experts can be added in both the Admin interface and on the public site and the controls are the same as for Jobs: only site members can add Experts and site administrators can determine whether they need to approve new Experts before they are accessible.

The Experts profile also has a Contact button which uses the same configurable notification as the Jobs contact form. Something to remember, perhaps, when you are editing the notification text.

Jobs, Experts Or Jobs & Experts?

Whilst the plugin adds two highly functional and usable directories to your WordPress site, there’s actually no requirement to use both. If you just want to utilize one component that’s fine because you have full control over the page design.

Only interested in having a highly functional, searchable directory of detailed Experts profiles for your community? It’s a 2 minute job to delete the Jobs & Experts landing page, remove the Jobs related shortcodes from the page menus and add an Experts item to your main menu.

Whether it’s just Jobs, Experts or both, the Jobs & Experts plugin from WPMU DEV provides the kind of functionality that can turn your site into the domain’s go-to destination.

Why not download Jobs & Experts today? If you’re not already one of our awesome members, join WPMU DEV to download the latest version of Jobs & Experts and get access to 140+ other plugins and themes.

http://premium.wpmudev.org/blog/jobs-and-experts/feed/ 21
Best WordPress Video Chat Plugins – Based on Your Needs http://premium.wpmudev.org/blog/best-wordpress-video-chat-plugins/ http://premium.wpmudev.org/blog/best-wordpress-video-chat-plugins/#comments Fri, 24 Oct 2014 12:00:19 +0000 http://premium.wpmudev.org/blog/?p=133242 There are many amazing video chat plugins for WordPress, but which one to choose? That’s the real question.

It’s certainly a fantastic way to connect to your customers, audience, and team from around the world, all from the comfort of your own home, office, or both.

In today’s post, we’ll look at which plugin is right for you based on how you want to interact with your clients, fans, co-workers, or employees — seeing them face-to-face from within your WordPress site.

Since many of these plugins let you integrate video chat with your site, it means you also have the option of limiting access, or even adding video chat as a paid feature with WPMU DEV’s Membership Plugin.  You’re definitely in for a whirlwind of fun with all the possibilities these plugins have to serve up.

One-on-One Consultations or Appointments - Vidtok Live Video Chat

Vidtok video chat plugin is fantastic for one on one consultations or appointments

If you would like to offer consultations or appointments, free or otherwise, to extend your clientèle to a global scale, then this is the best plugin for the job.

Vidtok integrates with your WordPress site as a plugin and allows you to embed video chat on any page you choose. Or you can even add it as a pop over.

The plugin also comes complete with white labeling options to remove Vidtok’s logo.

It has an incredibly professional look and feel, while also managing to be user-friendly and intuitive. You’re allotted a certain amount of hours per month to use this service, but you’re welcome to purchase more time whenever it’s necessary, or on a subscription basis.

In addition to the video chat portion, there is also a chat box underneath the video feed so you can always type messages to your client in the event that their gaze simply misses the settings to turn the video feed on.

The only drawback is the video chat only works on the Google Chrome or FireFox browsers, although it appears other browsers will soon get support. Video chat does work on tablets and smartphones, however, so that’s a plus!

It’s a fantastic plugin if you’d like to offer one-on-one video chats between yourself and your clients, especially when you purchase the full subscription for $48 a month to take advantage of all its capabilities. A basic plan will set you back $24 a month for just one-on-one video chat and 15 hours of the plugin’s use is included.

If you’re looking for a video chat plugin that will allow you to conduct meetings and webinars with many people from around the world, then there is a better option out there that will have all the features you need.

Business Meetings, Collaborations, or Webinars - VideoWhisper

If you need to conduct business meetings right from your WordPress site, VideoWhisper's Video Consultation plugin is an amazing option.

If you want to conduct interactive meetings, collaborate efficiently with your distributed team, or provide webinars for your clients, then the Video Consultation plugin by VideoWhisper is right up your alley.

Not only does it include a video feed for multiple people at once, assign moderators, and integrates with pages, it even includes a widget which shows active chat sessions and the number of participants along with a link to access the video chat session.

Now here’s the best part. What really separates this plugin from all the rest is its features include a chat box next to the video feed as an alternate form of communication, and also allows file transfers to share documents to each participant. So not only can you see your team members and communicate your ideas easily, fluidly, and quickly, you can also collaborate on projects for peak efficiency. You’ll forget emailing your team is even an option once you try this plugin.

It’s available on an affordable subscription of $35 a month without hosting included, so even small businesses can succeed with this plugin.

VideoWhisper hasn’t thrown in the towel after one plugin. They have other video great video chat plugins if you have other plans for your WordPress site. If you have a band and want to reach out to your fans globally, you’ll want to pay attention to their other products.

Live Video Streaming for a Global Audience - VideoWhisper

Stream your concert, class, or other events live, right from your WordPress site.

If you want to stream your event live to an audience around the world, then start getting excited.

With VideoWhisper, you can create an online TV station. The WordPress Live Streaming plugin from VideoWhisper allows you to stream your concert, seminar, training meeting, class, or other events, live, right on your WordPress site. This plugin isn’t even limited to streaming your events live; you could go as big as creating your own online television station (except without the involvement of your TV).

You can stream your live events with this plugin, and also display ads side by side to encourage future sales. The features also include a chat box, so your viewers can interact with each other while they watch. You can even limit how much a user can watch at one time if you’d like, create multiple streaming channels to create your own online version of a TV station if you’re really ambitious.

If you want to allow streaming of your live events to paid customers only, that’s easy, too. Since the plugin allows you to embed the video stream right onto your chosen page, you can easily add WPMU Dev’s Membership plugin to sell subscriptions to your live video streaming events.

If you want to share your art or business to millions of people around the world in order to create more awareness and customer retention in a dynamic, new, and fun way, then this is definitely the way to do it. VideoWhisper is available by subscription for $99 a month if you have your own hosting, which can be worth it if you’re willing to go the distance and really put all the plugin’s great features to use.

If you think this is great, but you’re looking for a video chat plugin to help you from more of a customer service angle, then read on.

Comprehensive Customer Service - VeriShow

VeriShow's WordPress plugin is a great way to provide superior customer service

We all know by now that customer service is a very important part of a successful business, and it’s important to put your best effort in keeping your customers happy.

If you’re looking for a new way to help your customers efficiently while also adding a touch of class, then the VeriShow video chat plugin is worth checking out.

Their plugin is WordPress-ready and offers an easy-to-use customer service-friendly chat box with a video chat option inside. You can situate the chat as a pop-up, or even as a sidebar. You’ll be able to offer a very personal touch when it comes to assisting your customers, no matter where they are located. If your customer is really stuck, then you can offer the screen sharing option to show them exactly where they need to go, and what they need to do, click-by-click.

VeriShow offers a two-week trial if you want to test the plugin out, and their plans start at $99 a month, which includes video chatting, document sharing, and even a white board.

If upgrade to $149 monthly, they throw in basic branding, co-browsing, form filing, the ability to display your customer’s video feed, and customer documenting.

This plugin definitely offers an enhanced customer service experience for those who really want to make their clients happy. Their plans are a bit hefty, but reasonable when you consider this plugin’s capabilities.

Social Media - VideoWhisper

VideoWhisper's Video Conference brings video chat to a social media setting.

If you want to offer signed in members the option to chat with each other, including video chat, then there’s a plugin for that, too.

Video Whisper has also developed video chatting with social media-style WordPress sites in mind. You can set up public or private chat rooms for your site’s users to chat the old-fashioned way – by typing – or they can also video chat, share files, and start their own chat rooms.

This plugin also comes with a convenient widget, which displays the available chat rooms and the number of people in them. With that, you can make the video chat available to all members, right up to a select few.

It also integrates well with BuddyPress. A tab will appear where the chatting takes place.

While there are other video chat plugins with social media capabilities, this is definitely the best option. Not only does it look beautiful on your site, it’s easy to use and navigate, and it offers a really strong and reliable service in exchange for a reasonable subscription of $25 a month if you have your own hosting.

Personal Blogs, or a Personal Touch - Skype Master

Add Skype buttons to your WordPress site with Skype Master

If you’re a Skype fan and wished they offered a plugin, well, this is the next best thing.

Skype Master adds buttons to your WordPress site to show your availability, and in the premium version you can even include buttons to activate a Skype video chat session. Your site’s visitors can do that right from your site for an added personal touch that you can’t match without them seeing your beautiful face.

In their premium version, you can also include a button for your visitors to add you as a contact, send a file, or even leave a voice mail, for $35.

It’s a fantastic plugin if you love Skype, want to stay connected with a friendly audience you love, and you’re not too concerned about offering video chat capabilities on your site with white labeling options, integration into your site, or other advanced features.

Summing Up

Whether your needs are simple or complex, these video chat plugins will help give your business or blog a personal, and professional edge.

Just make sure you’re prepared for the influx of calls.

Image credits: Vidtok, VideoWhisper, VeriShow, and Skype Master.

http://premium.wpmudev.org/blog/best-wordpress-video-chat-plugins/feed/ 0
9 Plugins to Turn Your WordPress Site Into an Online Magazine http://premium.wpmudev.org/blog/9-plugins-to-turn-your-wordpress-site-into-an-online-magazine/ http://premium.wpmudev.org/blog/9-plugins-to-turn-your-wordpress-site-into-an-online-magazine/#comments Thu, 23 Oct 2014 12:00:37 +0000 http://premium.wpmudev.org/blog/?p=133434 Now is the best time to build a magazine on WordPress. Seriously. All the tools are there. And WordPress is getting more feature-rich by the day. So, you have a real opportunity to create something stellar.

We’ve already covered how to set up an issues-based magazine in the past using manual coding as well as how to create a magazine cover-style homepage, so we won’t rehash old material here.

What I will do, however, is cover some of the best plugins out there right now that make turning a standard WordPress site into a real online magazine. Like a real-deal, totally legit publication you’d buy at a newsstand—if those still exist.



While there are plenty of plugins out there that let you create the look of a magazine on your WordPress site, there aren’t very many that actually let you structure it as such. That’s why IssueM is a real standout. This plugin allows you to create an issues-based structure for your WordPress posts and pages, effectively letting you create a real magazine.

The plugin works by creating a new post type that falls under an “Issues” category. You can create an Issue with several articles that remain in draft form until you’re ready to release the whole thing at once. And what I really like here is that you don’t need a special theme or have to compromise on the look of your site to implement this issues system. Rather, all you need is to insert the included shortcodes and you’ll have an issues-based magazine launched in no time, flat.

IssueM can be upgraded a bit thanks to a set of premium add-ons as well. One such add on is Leaky Paywall with Stripe and PayPal Integration, which allows you to charge site visitors to view your content. It costs $197 for a single site license. Another add-on is the Post Migration Tool, which allows you to convert your existing blog posts into Articles and Issues. It’ll set you back $19 for a single site license. Finally, there’s the Advanced Search Tool, which adds a more robust search system to your site that allows visitors to search for keywords within categories, tags, and issues. It also costs $19.

Aesop Story Engine


Now, if you want a more complete online magazine solution that gives you the all-in-one treatment, Aesop Story Engine is a worthy contender. This plugin is actually a collection of tools that lets you build any kind of publication you want. The emphasis here is on storytelling.

That is, this plugin provides you with all the tools you need to tell compelling stories online. That means presenting text in a beautiful and easy-to-read manner. It means allowing you to incorporate audio seamlessly into your posts. It means allowing you to add fullscreen videos from a variety of sources including YouTube, Daily Motion, Vimeo, and Kickstarter. You can even customize the background image/color or set up columns to provide a more traditional magazine layout.

You can insert galleries into your posts and you can setup different ones for each “story” you want to tell. These galleries can be displayed in a multitude of formats from thumbnails to a grid, to stacked, to sequential. And individual images can be displayed in a lightbox with a caption if you want.

Other features include the ability to configure stylish chapter headings, character avatars (if you’re creating a short fiction magazine, for instance), location maps with custom messages for each marker on the map, fullwidth quotes with customizable background and color controls, and parallax backgrounds and images.

Aesop Story Engine also comes equipped with a document viewer for including PDFs into your pages and posts, a timeline feature for displaying the chronology of a given story, and a collections feature that allows you to group a specific set of stories together on a page. This latter feature is perfect for assembling individual issues of your online magazine.



While Aesop Story Engine is a pretty comprehensive collection of tools, it’s not the only one like it on the market. In fact, another plugin designed to help you capture the magic inherent in long-form stories is called Storyform. You don’t have to input all of your posts into the layouts Storyform offers but you do have the option to create incredibly robust pages and posts as a result.

When sitting down to write a new post for your magazine, you can select which template to use. This allows you to turn what would have been a long block of text that would seemingly never end into a stylish article with a true magazine layout.

The real beauty of this plugin is that it incorporates many attributes that are typically ascribed to print publications. I already mentioned the numerous layouts from which you can select but you can also enable simpler pagination. This means that visitors to your site can use touch, mouse, or keyboard controls to page through your content rather than being forced to scroll down for days.

You can also configure multi-column articles and add typographic accents throughout like stylish pull quotes and drop-caps. Each page or post you create can be offset by large photography to add further visual interest. Plus, you can add animations, rich video, and more. This free plugin comes with plenty of documentation, too. We recently talked in-depth about Storyform, actually, so you might want to check out that post as well, if you’re interested.

WP jQuery Pager


If you’re looking for a simple way to turn your posts into mini-books, WP jQuery Pager may work out great for you. This plugin is incredibly lightweight and works by allowing you to add booklets to your posts and pages that contain a combination of images and text.

This is a good choice if you anticipate needing to feature more than just your magazine’s content on your site. The plugin relies on the standard WordPress gallery to upload the contents of each booklet you create, so there’s really nothing bulky added to the backend at all.



If you want to try out another option for adding a magazine page layout to your posts, Gridster is a good choice. With it, you can create draggable layouts that are easy to customize into columns. You can resize these columns, add (or remove) elements from the grid, and edit content right within the grid.

Once you create a grid for a post or page, you can drag and drop content via Gridster widgets straight into your post. These widgets cover things like custom post types, pages, and recent posts.

You can easily resize these widgets and create custom templates for widgets so you have the utmost control over your content’s presentation. Images automatically resize to fit within the widgets and you can easily insert a grid by using a shortcode.

I already mentioned that you can edit content right within the grid, but this is actually something that makes this plugin so unique. It relies on the Jetitable library to allow users to edit content that’s loaded within the grids you create. You don’t have to go back and modify the original posts – just make your edits right inline.

WP Easy Columns


One thing that separates an online magazine from a standard blog is how the content is laid out. Often, online publications will try to replicate the layout and formatting of traditional print publications. This isn’t just for nostalgia’s sake. Rather, this effort can make for a more pleasant reading experience. The WP Easy Columns plugin makes implementing such a layout a snap.

It works by adding shortcodes into your theme that allow you to build magazine-style columns and/or a grid system for laying out posts and pages. Quickly and easily select between 1/4, 1/2, 1/3, 2/3, 3/4, 1/5, 2/5, 3/5, and 4/5 columns. This gives you the ultimate in flexibility when it comes to structuring your content.

And using WP Easy Columns ensures your site actually looks the part of a magazine. While there’s nothing wrong with keeping the standard blog format for a publication, using a column-based layout where you can be more selective about how you place body text, pull-quotes, and images gives you greater control over how you present your material to the world. And presentation is actually a major part of publishing in general – not just the online variety.

WP Easy Columns, as its name would suggest, is very easy to use. It features a “pick n’ click” interface that lets you select the type of columns you want within the post editor with just a single click. It’s compatible with any theme, too.

FD Footnotes


Sometimes it’s best to start out simple. And that’s exactly what the FD Footnotes plugin provides. If you plan on creating an online publication that includes a lot of academic or heavily-researched content, this will help you keep your sources neat and tidy.

Once installed, you can add footnotes to your posts with just a few clicks. The links to footnotes don’t distract from the flow of the text and the footnotes themselves can be clicked to take the reader back to their spot in the body. There’s virtually no disruption to the reading process here, only enhancement.

What I really like about this plugin is that you don’t have to do anything fancy to enable a footnote. Just put the text you want to be listed as a footnote in square brackets. The formatting couldn’t be simpler:

[1. Footnote goes here.]

You don’t have to keep track of accurate numbering here. Just so long as you include a number followed by a period, the plugin will recognize the following text as a footnote and number it accordingly. You can even add images and links within your footnotes to add further value to your posts.

If an article, story, or other feature in your online magazine doesn’t require footnotes, they don’t have to be displayed. Plain and simple.

WP Footnotes


If you’re looking for something even more straightforward than FD Footnotes, the WP Footnotes plugin is a good option for you.

It’s simply coded so if you decide to uninstall it one day, there won’t be lasting effects on the structure of your site. There aren’t much by way of features but who needs ‘em when all you really need is a way to add footnotes that work?



The last plugin I’ll discuss here today is called WP-to-iPad and it’s capable of performing one simple, but very important, function: turning your WordPress site into an iPad magazine. After installation, you just need to click through a few options to configure and create a version of your WordPress site that is completely optimized for reading on the iPad.

I could see this being really useful if you’re new to the realm of online magazines and want to try it out a bit first before really committing with harder hitting, and potentially expensive, tools.

Wrapping Up

The option of building online magazines isn’t exactly a new thing. But that doesn’t mean we can’t make the process a little bit easier, right? And with so much emphasis on long-form content these days, it feels especially relevant to try and find the most effective solutions as possible.

That’s why I went with the plugin route here – because you can often create content that functions like a magazine while still preserving control over the design.

If you’ve ever dabbled in online publishing, what tools have you used to get your issues out into the world? Have you found any of these plugins useful? Did I miss your favorite? Please feel free to sound off in the comments.

Image source: John Martinez Pavliga

http://premium.wpmudev.org/blog/9-plugins-to-turn-your-wordpress-site-into-an-online-magazine/feed/ 4
White Labeling Your WordPress Site: The Complete Guide http://premium.wpmudev.org/blog/white-labeling-wordpress/ http://premium.wpmudev.org/blog/white-labeling-wordpress/#comments Fri, 17 Oct 2014 12:00:00 +0000 http://premium.wpmudev.org/blog/?p=133034 When you build a website, one of your top priorities should always be to put your personal stamp on the project. You can do this through your visual style choices, your custom graphics, or even custom footers that say—in essence—I made this.

And while many developers focus on adding branding to the frontend of a site, the backend is often left untouched without a hint of customization. That can be fine if you’re the only one working on the site but if you have a team or allow client access, the generic out-of-the-box WordPress dashboard might not serve you all that well.

Basically, your site’s backend could be doing more for you. It could be working harder for you. And that’s why white labeling—the process of adding personalized, branded touches—is such a good idea. So today I’m going to present some solutions for white labeling your site, from plugins and themes that guide your customizations to manual code snippets you can drop into your site right this second.

White label WordPress
White label your WordPress site.

What’s the Point of White Labeling?

White labeling is all about ensuring your site is fully branded. From the frontend to the backend, your site should reflect your business and the image you want to put out there in the world. Then again, your thoughts may fall more in line with the following:

“But you’re talking about customizing the part of my site the public never sees! What’s the point?!”

Sound like you? If it does, that’s okay. I completely understand the impulse to focus on the part of your site your potential clients and customers will see. Believe me. I get it. But sometimes doing a little extra work to make the internal operations surrounding your site more streamlined, more effective, and more personalized can have a dramatic impact on that aforementioned outward appearance.

Here are a few things white labeling will definitely do for you:

1. Reduce Confusion for Clients

Sometimes, you’ll come across a client who has never heard of WordPress before and honestly doesn’t care that you’re using it. So seeing notes all over the place in the dashboard about WordPress-this and WordPress-that can be a bit confusing.

It would make a lot more sense to these folks if the footer of your dashboard noted that the site was designed by you wouldn’t it? Because I mean, you don’t want to receive an email at 2 a.m. from a client asking, “Who’s this WordPress outfit? I didn’t sign up for that!”

2. Increase Professionalism

At its heart, white labeling is about branding. As I said earlier, it’s about making your mark. A solid brand reputation stands to be perceived as more professional and more put-together than one that’s a bit all over the place.

You go to great lengths to customize other aspects of your sites, right? You wouldn’t even think of launching a site without a company logo. So why not have the same mentality for the backend? Team members and clients tasked with logging into your site for the first time are sure to be impressed when they see your logo and welcome message rather than the same generic WordPress ones they’d see on any other site.

3. Offer Additional Support

I think one of the coolest things you can do with white labeling is include links to additional documentation and support in the dashboard. This is so incredibly helpful to your clients and your team members who maybe aren’t as familiar with this whole WordPress thing as you are.

You can even link to support videos if you want to provide even further guidance.

4. Customize the Dashboard to Suit Specific Needs

The WordPress dashboard comes equipped with some things standard. But depending on your team or your clients, not every widget that appears there is going to be relevant. And again, for newbies, you only stand to confuse them if you present too much information at once.

White labeling affords you the opportunity to remove and/or add widgets to suit your needs at the time. For instance, if your team members are mostly contributors to your blog, they might only need to see the “At a Glance,” “Quick Draft,” and “Activity” widgets. Everything else would just be extra and possibly viewed as in the way.

Adding White Label Elements Manually

If you only want to add a couple of white label aspects to your site, it’s pretty easy to accomplish manually. Just a few code snippets can get you a custom login page or a custom greeting.

Here are a few ways you can white label WordPress. As always, make sure you backup your site before making any changes to the functions.php file:

Add Your Logo to the Login Page

WordPress Admin Login
This is a pretty familiar sight, isn’t it? And while it’s perfectly serviceable as a login page, it doesn’t do anything to remind the user that they’re visiting your site. Adding a custom logo here rather than the WordPress default one says, “You are on my site now!”

To change the logo you need to first create a custom image. You want something that’s going to fit nicely above the username and password fields. Between 300px and 315px wide, and 75px and 130px, tall ought to do it.

Save this image as a PNG file and upload it to your theme’s images folder.

Your next step is to insert a code snippet in your theme’s functions.php file. This one was written by Rick R. Duncan:


//* Do NOT include the opening php tag

//* Replace WordPress login logo with your own

add_action('login_head', 'b3m_custom_login_logo');

function b3m_custom_login_logo() {

    echo ''; }

Just make sure to swap out login.png with the name of your custom logo and adjust the height and width variables to match your image and you’ll be all set.

Duncan also suggests making this new logo link to your site’s homepage. I mean, why would you want to direct your clients to WordPress.org anyway? They’re doing business on your site! To make this change, you can add this bit of code to functions.php:


//* Do NOT include the opening php tag


//* Change the URL of the WordPress login logo

function b3m_url_login_logo(){

    return get_bloginfo( 'wpurl' );


add_filter('login_headerurl', 'b3m_url_login_logo');

That way when someone clicks on your logo, they will be taken to your homepage and not directed to WordPress.org, which could be very confusing for your client.

Change the WordPress Welcome Message

WordPress Howdy Welcome Message
“Howdy” can be changed to read whatever you’d like.

If the default “Howdy” just isn’t doing it for you, it’s possible to change the default message to something more your style or more in keeping with your brand. Just add this code snippet to your theme’s functions.php file and swap out the “Howdy” for your custom greeting:

add_filter('gettext', 'change_howdy', 10, 3);

function change_howdy($translated, $text, $domain) {

    if (!is_admin() || 'default' != $domain)
        return $translated;

    if (false !== strpos($translated, 'Howdy'))
        return str_replace('Howdy', 'Welcome', $translated);

    return $translated;

Change the Footer Text in the Dashboard

Here’s another prime spot to put your branding information. Instead of just letting the default “Thank you for creating with WordPress” ride in your dashboard’s footer, you can use a simple code modification to change this text to read whatever you want:

function change_footer_admin () {  

  echo 'Custom text goes here. Theme developed by <a href="<a href=">http://www.linktowebsite.com</a>">Link to Website';  


add_filter('admin_footer_text', 'change_footer_admin');

Change the Dashboard Header Logo

Having a custom logo, footer, and welcome message are great, but if the logo in the admin header is still stuck on the default WordPress one, you’re going to create an inconsistent brand image.

According to Art of Blog, a good way to fix this is to use the following code snippet in functions.php:

function admin_css() {
echo '';


Then all you need to do is add a small bit of code to your admin.css file:

#header-logo {background-image: url(images/client_logo.jpg);}

Just make sure the image referenced here matches the file name of your custom logo and you’ll be all set.

Add a Custom Contact Widget to the Dashboard

When you first login to a WordPress site, you’re going to see something like this:

WordPress Dashboard Widgets
Most WordPress dashboards look something like this.

And while this view is likely fine for your internal team members, it might not always be ideal for clients who need more guidance or direction. Wouldn’t it be nice if you could direct clients back to your site in case they need help or would like to hire you for additional work? Well you can do just that by adding a contact widget. Rick R. Duncan has a code solution for this, too:


//* Do NOT include the opening php tag
//* Add theme info box into WordPress Dashboard

function b3m_add_dashboard_widgets() {

  wp_add_dashboard_widget('wp_dashboard_widget', 'Theme Details', 'b3m_theme_info');


add_action('wp_dashboard_setup', 'b3m_add_dashboard_widgets' );

function b3m_theme_info() {

  echo "</pre>
	<li><strong>Developed By:</strong>Your name</li>
	<li><strong>Website:</strong> <a href="http://www.websitelink.com">Website name</a></li>
	<li><strong>Contact:</strong> <a href="mailto:youremailaddress@emailprovider.com">youremailaddress@emailprovider.com</a></li>


The end result looks something like this:

Custom Contact Dashboard Widget for WordPress
You can create widgets to display custom contact information.

As you can see, you can easily display your name, website, and contact information in its own widget.

You can also modify this bit of code to display links to your supporting documentation. So instead of showing your name and website, you may instead opt to display “For full support documentation visit: Site Name” or “Have any questions? Ask them on Your Forum Name,” and insert links as appropriate:

Custom Support Dashboard Widget for WordPress
Custom widgets can be used to display links to support docs, too.

Your clients shouldn’t have to guess at how to use your dashboard, so provide as much information as you can upfront and point them to as many of your custom resources as possible. Sure, there are plenty of tutorials out there about how to use WordPress, but why make a client search for that info when you can provide it under your own brand?

Change the Admin Color Scheme

The newest versions of WordPress offer the ability to change up how your dashboard’s color scheme looks. Still, these preset options might not be exactly what you’re looking for. Being able to customize the admin color scheme means you can ensure every aspect of your site’s backend matches your company’s branding.

To accomplish this, Smashing Magazine suggests creating a new CSS file. Call it admin.css and put it in your theme’s css folder. Make sure you use styles that work with WordPress. Then, open up functions.php and add this bit of code to call up that CSS file you made:

// Custom WordPress Admin Color Scheme

function admin_css() {

wp_enqueue_style( 'admin_css', get_template_directory_uri() . '/css/admin.css' );


add_action('admin_print_styles', 'admin_css' );

Plugins for White Labeling

If the thought of manually adding bits of code to white label every site you create is too much, a plugin-based solution may be just the thing you need. Here are a few that either do it all or do one thing really well:

Ultimate Branding


Of course we have to mention our own plugin, Ultimate Branding, first. We’re pretty fond of it and think it does a really great job of giving site owners the ability to add white labeling without having to dive into PHP.

This plugin makes it easy to add your brand to just about every aspect of the WordPress backend, including a custom login image, admin bar, global footer and dashboard footer content, meta widget, admin help content, custom multisite favicons, and much more. You can also remove dashboard widgets to ensure your clients are only presented with the information they absolutely need.

Ultimate Branding is an all-in-one plugin but far from a one-size-fits-all solution. Customization is the name of the game and when it comes to branding your site, thoroughness is key.

White Label Branding for WordPress


Another option for adding customization to your dashboard is to use the White Label Branding for WordPress plugin available on Code Canyon. While its primary focus is on letting you brand your site, it includes some other interesting features that are worth mentioning as well.

With the Dashboard Tool, you can add as many custom dashboard meta boxes as you want. Thanks to navigation options, you can hide top-level and sub-level menus, rearrange their order, hide individual menu items based on user role, rename menus, and change menu icons. You can even hide the admin bar altogether if you want to prevent users from poking around too far into your site’s settings.

It also offers a variety of color scheme options. For instance, you can add a custom color scheme for wp-admin, change menu and content area colors, and customize how buttons appear. The role and capability manager lets you establish custom user roles and capabilities, which you can then tie to some white label features. For instance, you may opt to have different users, based on their roles, see different dashboard metaboxes. So, admins and contributors wouldn’t see the same things, thus preventing confusion and potential for errors.

You can expect to pay $28 for a regular license and $140 for the extended license.

AG Custom Admin


Self-described as an “all-in-one tool for admin panel customization,” you can easily modify the admin bar and menu, add personal branding to the admin panel in the form of images and content, and swap out the colors used—including in backgrounds and text—to better suit your brand’s image.

With just a couple of clicks, you can change out the admin panel theme as well, change the dashboard widgets, and modify what appears in the Help and Screen options menus. The admin themes are responsive and perfectly suited for the admin panel and login page.

Tired of clients accidentally creating new pages instead of posts? You can hide the “New Page” option from the dashboard and prevent it from happening ever again. You can also hide the options to create new links, users, media, and posts should you so desire.

YouTube White Label Shortcode


Adding videos to your site can be a great way to incorporate media and dynamic content. However, just embedding YouTube videos using the standard embed code can look a bit out of place. The videos won’t necessarily blend in with the rest of your design and the formatting could be a bit wonky.

That’s why the YouTube White Label Shortcode plugin is so handy. Once installed, you can add any YouTube video you want but you have the option to change up the player’s logo, whether or not videos start immediately upon loading, the player style, and more.

While this short code generator is automatically added in a metabox on all post types, you can opt for it to only appear on the post types you specify.

Uber Login Logo


If you’re not big on all the white label features and just want to add your logo to the admin login page and call it a day, Uber Login Logo is a good way to accomplish that. With it, you can upload your logo via the standard media uploader and swap out the logo by adjusting a few settings. Simple.

It’s extremely lightweight, which makes sense since it only performs one function. Still, if you don’t feel like poking around in functions.php, this plugin will give you a branded login page without calling much attention to itself.

Disable WP Admin Bar Removal


If getting rid of the admin bar is your top priority on the white labeling front, you should check out Disable WP Admin Bar Removal. This plugin will let you select from several settings to remove the admin bar, the toolbar, and tooltips.

It can also hide admin icons on the backend of your site and can be used to add a header and footer log and a logout function at the top of the dashboard.

Admin Menu Editor


Changing the menus in your WordPress dashboard is another way to customize the backend experience for your team and clients. If you’d rather not poke around in code, Admin Menu Editor will get the job done quite nicely.

With it, you can change menu titles, URLs, icons, and CSS classes. You can also rearrange the order of menu items easily via a drag-and-drop interface and opt to hide or show any menu or menu item. It’s also possible to set who sees what version of your menu based on user capabilities and/or roles.

Another cool thing about this plugin is you can create custom menus that point to any section of your dashboard. Or, you can configure these menus to link to external sites. This can be an excellent way to incorporate links to your support documentation in the dashboard.

Admin Menu Editor Pro adds on a few extra features if you really want ultimate control over your menus. Some of these features include the ability to hide a menu from all but specific users, set per-role menu permissions, drag items between sub-menus and main-menus, and export the admin menu for use on other sites.

It’s available under three licenses—personal, freelancer, and business—which are priced at $19, $29, and $59, respectively.

Themes for White Labeling

Normally when a discussion shifts to talk of WordPress themes, it’s referring to those that make up the design and style of a published and public website. However, themes are also available for styling the backend of your site.

More recent versions of WordPress have ramped up the style factor quite a bit. Individual users can select from a variety of color schemes through which to view the dashboard. From the cool tones of “Ocean” to the seemingly Halloween-inspired “Ectoplasm,” many people can find a look that appeals to their day-to-day sensibilities.

But if it’s important for you to create a branded look that’s in keeping with your company’s color scheme, you may find these out-of-the-box selections just won’t cut it. That’s where admin themes come in pretty handy.

Here are a few that will do your site proud:

Modern Admin


If you want to display your WordPress admin a little differently but don’t want to spend hours on custom code, Modern Admin might help you. This admin template is retina-ready and comes equipped with five different color schemes including blue, green, red, yellow, and purple. Plus, the custom color picker ensures you can make the right selection for your dashboard.

This theme has some of the features of white label plugins, too. For instance, you can customize the login page, add a custom logo, change the dashboard icons, and more. It also includes import/export settings and can be easily updated within the admin panel.

A regular license costs $14, while the extended costs $70.

WP Quick


As its name suggests, WP Quick is an admin theme that can be implemented quickly. It comes with plenty of features to keep savvy folks satisfied but is easy enough to setup that newbies to while labeling can get the hang of it right away.

Along with the ability to customize the colors and fonts used, you can also streamline the dashboard to only show the widgets you want displayed. For instance, you can stop those pesky update notifications from appearing, customize the login page with a unique logo, and change the default site avatar.

It also works with multisite, so you can create a custom, branded dashboard across all of your client sites very quickly.

Easy Blogging


Of course, I would be remiss if I didn’t mention WPMU DEV’s own admin customizer, Easy Blogging. Though technically a plugin, it lets you customize every aspect of the “look” of your dashboard very much so in the way a theme would.

It comes with some presets that make configuration and setup a snap. For instance, one click activates “Easy Mode,” which removes some of the more complicated options from the dashboard and adds new icons and tooltips to make your clients’ user experience more intuitive.

Easy Blogging also has a “Wizard Mode” that gives new users a step-by-step walkthrough of how to use the dashboard. And of course, you can customize this mode to include the information that relates to your site. You can even add in help links wherever you want using a drag-and-drop interface.

And since it works with multisite, you can set it up once and apply it across all of your sites. Convenient? I think so!

Easy Blogging costs $40 by itself or $19.60 per month with a WPMU DEV subscription.

Forest - Revolution WordPress Admin Theme


The last admin theme I want to throw at you here is Forest. This is a theme designed to make your WordPress backend as exciting and engaging as the frontend.

It comes with two admin styles within which you can adjust the background darkness level, background image, color scheme, menu font, and content font. You can also enable a Quick Panel that makes it simple to adjust settings on the fly. Plus, you can adjust how the Quick Panel looks for an even deeper level of customization.

As with all the other admin themes mentioned here, Forest also lets you configure standard white label functions like setting a custom login logo and login image, custom footer text, and custom admin CSS. Plus, you can hide certain WordPress admin widgets from view.

Forest includes a Google Fonts chooser, Font Awesome Icons, and sports a retina-ready design. It’s also multisite-compatible. The regular license costs $14, while an extended license costs $70.

For more backend themes for white labeling your site, you should read our top 10 list of WordPress admin themes.

Wrapping Up

Whether you build many sites for a wide range of clients or just a few now and then, being able to take control of the the admin side of things can be incredibly liberating. White labeling not only gives you the freedom to create a dash that fits your brand identity, it also lets you create an interface that’s custom-tailored to your clients.

When deciding on which white label code snippets, plugins, or themes to use, try to keep a general idea of your goals in mind. What do you hope to accomplish with these changes? Do you just want to streamline the look of the backend of your site? Do you want to improve functionality for your clients? Both? It might even be helpful to create a list of the pros and cons of each modification before committing to them.

Do you make it a habit to white label your sites? What tools do you use to get the job done? Are you a flat-out coder or do you take the plugin approach? I’d love to hear your thoughts in the comments below. 

Image source: Derek Gavey.

http://premium.wpmudev.org/blog/white-labeling-wordpress/feed/ 1
Optimizing Your WordPress Database – A Complete Guide http://premium.wpmudev.org/blog/optimizing-your-wordpress-database-a-complete-guide/ http://premium.wpmudev.org/blog/optimizing-your-wordpress-database-a-complete-guide/#comments Thu, 16 Oct 2014 12:00:58 +0000 http://premium.wpmudev.org/blog/?p=132430 Your WordPress database stores all of your website content. This includes blog posts, pages, comments, and custom post types such as links, form entries, and portfolio items. It also stores website settings, theme settings, and plugin settings.

If you update your website regularly, your database will grow larger over time. A large database can greatly affect the performance of your website as it takes longer for your server to retrieve information from database tables. This is why database optimization is so important.

By removing unnecessary data, you can improve the efficiency of your database and make your web pages load quicker. Let us look at how this can be achieved.

Database optmization
Database optimization – boring but essential.

Understanding the WordPress Database

If you are using WordPress to publish content on the internet, I believe it is in your benefit to have an understanding of the core WordPress database tables; particularly if you are planning on optimizing your WordPress database.

WordPress currently has 11 core tables (this could, of course, change in a future version of WordPress). Most WordPress websites have dozens of tables because plugins save settings and other data in the WordPress database. Themes may also save settings and other data in your database.

If you check your own database, you will see the 11 tables listed below. All other tables in your database were created manually or created by a WordPress plugin or WordPress theme.

Let’s look at what each database table stores:

  • wp_commentmeta – Stores meta information about comments
  • wp_comments – Stores your comments
  • wp_links – Stores blogroll links (blogroll feature is deprecated, but can be added using Link Manager)
  • wp_options – Stores the options defined in the admin settings area
  • wp_postmeta – Stores post meta information
  • wp_posts – Stores data for posts, pages, and other custom post types
  • wp_terms – Stores post tags and categories for posts and links
  • wp_term_relationships – Stores the association between posts and categories and tags and the association between links and link categories
  • wp_term_taxonomy – Stores a description about the taxonomy (category, link, or tag) used in the wp_terms table
  • wp_usermeta – Stores meta information about users
  • wp_users – Stores your users

Check out the database description page on WordPress.org for more information about WordPress core tables.

How to Optimize and Repair Your WordPress Database

phpMyAdmin is the most common way to manage a WordPress database. If you are not using cPanel as your hosting control panel, your hosting plan may be using a different MySQL management tool to phpMyAdmin. Do not be too concerned about this as most database management tools have a similar interface and work in the same way.

You can also manage your WordPress database using a plugin such as Adminer (formerly known as phpMinAdmin). Although a database WordPress plugin can make accessing your database simpler, I would advise against managing your database in this manner as it is a large security risk. If you have a plugin such as Adminer installed and an unauthorized person gained access to your database, they could do anything they wanted to your website.

phpMyAdmin in cPanel
phpMyAdmin can be found in your main cPanel menu.

If you check your database, you will see two columns at the end: size and overhead. The size of a table depends on the amount of data that is stored in it. If more rows are stored in a table, the size of the table increases.

Overhead is temporary disk space that is used by your database to store queries. Over time, a table’s overhead will increase.

It is perfectly normal to have overhead in your WordPress database and it should not affect performance unless overhead gets high (though the actual amount of overhead that should be considered too high is a grey area).

WordPress Table List
The size and overhead of your database are shown on the right hand side of the table list.

* Please note that the above screenshot is taken from a new WordPress installation I created for screenshots. That is why the database prefix is still wp_. To make your website more secure, always change your WordPress database prefix through wp-config.php to something different.

Optimizing your database will remove the overhead and reduce the overall size of your database. Many developers note that optimizing a database is akin to defragmenting a hard drive.

Every database will, over time, require some form of maintenance to keep it at an optimal performance level. Purging deleted rows, resequencing, compressing, managing index paths, defragmenting, etc. is what is known as OPTIMIZATION in mysql and other terms in other databases. For example, IBM DB2/400 calls it REORGANIZE PHYSICAL FILE MEMBER.

It’s kind of like changing the oil in your car or getting a tune-up. You may think you really don’t have to, but by doing so your car runs much better, you get better gas mileage, etc. A car that gets lots of mileage requires tune-ups more often. A database that gets heavy use requires the same. If you are doing a lot of UPDATE and/or DELETE operations, and especially if your tables have variable length columns (VARCHAR, TEXT, etc), you need to keep ‘er tuned up.

You can optimize tables that are affected by overhead by using the SQL command OPTIMIZE TABLE. For example, you could optimize the wp_posts table by executing this SQL query:


There is no need to use an SQL command as phpMyAdmin allows you to optimize tables from the main drop down menu. All you need to do to optimize your database is click on the “Check All” box, select “Optimize table” from the dropdown menu, and then click on the “Go” button.

Optimize Your WordPress Table
Optimizing your WordPress database will remove any accumulated overhead.

Once you have optimized your WordPress database, phpMyAdmin will confirm that your tables have been optimized.

Successful Database Optimization
phpMyAdmin will confirm that your database has been optimized.

Another useful option you should keep in mind for future is “Repair table”. Repairing a table will help you fix a table that has become corrupted.

Repair Table
Repairing a table can fix a table that has become corrupted.

WordPress has a tool that allows you to repair and optimize your database. You can find out more about this tool in the Automatic Database Optimizing section of the WordPress.org guide on wp-config.php.

To use the optimization tool, you first need to add this line to your website wp-config.php file.

define( 'WP_ALLOW_REPAIR', true );

Once you have added the above line to wp-config.php and saved the file, you can access the optimization tool at http://www.yourwebsite.com/wp-admin/maint/repair.php.

WordPress Optimization Tool
The WordPress optimization tool lets you repair your database, or repair and optimize your database.

The optimization tool will attempt to repair each database table. From time to time, the script may not be able to repair certain tables.

Repairing a WordPress Database
WordPress will attempt to repair each database table.

If you do not successfully repair your database in the first attempt, simply run the optimization tool again.

Repairing the WordPress Database
If there are any problems during the repair, run the repair script again.

If you select “Repair and Optimize Database”, WordPress will optimize every table that has not already been optimized.

Optimized WordPress Database
The tool will optimize any table that has not already been optimized.

You do not need to be logged in to run the WordPress optimization tool. The downside to this is that anyone can access your script and execute it. Due to this, you need to remove the WP_ALLOW_REPAIR line from your wp-config.php file after you have used the optimization tool.

How to Remove Bloat From Your WordPress Database

Most WordPress databases store a lot of unnecessary data. This additional bloat makes websites slower and less efficient.

There are a number of things that add bloat to your website database. However, by following good practices, you can greatly reduce bloat, or even eliminate bloat entirely from your website.

Let’s take a look at the main causes of bloat in a WordPress database.


The WordPress revision system makes many WordPress databases unnecessarily large. First introduced in WordPress 2.6, the feature stores a copy of every draft and update of your blog posts. It is a useful feature as it allows you to revert back to older copies of articles and check earlier drafts.

Compare Revisions
Revisions allow you to look back at previous drafts and see the changes you have made.

Unfortunately, WordPress places no limitation on the number of revisions that are saved. If you are working on a long article, this could result in hundreds of revisions being saved. Even though the published article will only take up one row in your database, the corresponding revisions could use dozens or hundreds of rows in your database.

I am a big fan of the revision system, however I do not believe there is any real benefit to saving an unlimited number of revisions for each blog post. Thankfully, WordPress allows you to easily reduce the number of revisions that are stored.

To reduce the number of revisions that are saved, simply add the following code to your wp-config.php file.

define( 'WP_POST_REVISIONS', 2 );

Post revisions can be completely disabled by adding the following code to your wp-config.php file.

define( 'WP_POST_REVISIONS', false );

I would advise against disabling post revisions completely. While disabling post revisions will undoubtedly reduce the size of your database, it removes the fail safe system that revisions provide. Therefore, in the event of you closing your browser in error or losing your internet connection, you could lose everything you worked on since the last save of your draft.

Reducing the number of revisions that are saved, or disabling post revisions altogether, does not affect the revisions that are already saved. Therefore, post revisions attached to older blog posts will still be stored in your database.

Once an article has been published, there is little need to keep older post revisions, therefore you may want to consider removing all revisions from published articles. There are a number of WordPress plugins that allow you to do this (you can also remove revisions using MySQL; however you should be aware that problems can occur if you do not use the correct command).

For example, I used the plugin Optimize Database after Deleting Revisions earlier this year to reduce the size of my blog database by 59%.

The plugin allows you to define the number of revisions that are saved. It also lets you delete trashed items, spam items, unused tags, and expired transients. Specific database tables can be removed from the optimization process.

Optimize Database after Deleting Revisions has a scheduler too. It can be used to optimize your website automatically once an hour, twice a day, once a day, or once a week.

Optimize Database after Deleting Revisions
Optimize Database after Deleting Revisions features a scheduler that will optimize your database at set intervals.

Another option for deleting post revisions is Better Delete Revision. It provides a list of all revisions saved on your website. Unfortunately, there is no option to delete revisions individually; there is only an option to delete all revisions at once. The plugin does, however, have an option for optimizing all of your database tables to reduce overhead.

Better Delete Revision
Better Delete Revision can be used to delete revisions and optimize your database tables.

I would also like to briefly speak about autosaves. The WordPress autosave feature saves one autosave of your article every 60 seconds. This interval can be changed by adding the following code to your wp-config.php file.

define( 'AUTOSAVE_INTERVAL', 160 ); // Seconds

A lot of bloggers have advised disabling autosave as autosave saves multiple copies of your posts and pages. That is simply not true. Autosave only ever saves one copy of your article and will not use up much room in your database.

The autosave feature is an important fail safe that will help you if you lose your internet connection or close your browser by mistake. The feature does not use up much space in your database; therefore I encourage you to keep it activated.

Spam Comments

If your website receives a lot of spam, you may find that spam comments are taking up a lot of space in your database. By default, spam comments are automatically deleted after 30 days; however during that time they can take up hundreds or even thousands of rows in your wp_coments table.

A good anti-spam plugin can stop many spammers in their tracks so that the volume of spam comments you receive is reduced.

Akismet is a good solution as it allows you to discard obvious spam so that the comment is deleted from your database right away (though be concious of the fact legitimate comments could be deleted automatically).

Akismet Settings
Akismet allows you to discard discard obvious spam.

A useful plugin I used to use in the past is WPCommentCleaner. It allows you to batch delete all spam comments, unapproved comments, or approved comments.

There is less need to use that plugin now as WordPress added an “Empty Spam” button to the spam comment page that allows you to permanently delete all spam comments instantly.

Empty Spam
Spam can be deleted at the click of a button.

Spammers tend to target older articles that have good rankings in search engines. You can therefore reduce the amount of spam that your website receives considerably by disabling comments on articles that are older than a specified number of days. This setting is located in the discussion settings page in the WordPress admin area.

WordPress Discussion Settings
Closing comments on older articles can greatly reduce the volume of spam your website receives.

Spam comments can also be deleted using the following SQL command.

DELETE FROM wp_comments WHERE comment_approved = 'spam'

All comments awaiting approval can be deleted by using the following SQL command.

DELETE FROM wp_comments WHERE comment_approved = '0'

Since you can now delete all spam using the “Empty Spam” button displayed in the spam comment page, there is no real benefit to using an SQL query to delete spam from your database.

Deleted Items

Whenever you delete an item in WordPress, such as a blog post, page, image, comment, or link; it is sent to the trash folder. This is another fail safe system from WordPress that prevents you from deleting items by accident. Should you wish, the system allows you to restore items that are currently sitting in trash.

Unless you are deleting many items regularly, you should not need to worry about the space deleted items take up in your database. However, it is worth understanding how the trash system works, particularly if you have to delete hundreds or thousands of items from a WordPress website (whether it be posts, comments, images, or whatever).

Deleted items will continue to be stored in your database until the trash is emptied. By default, trash items are permanently deleted after 30 days.

The number of days before trash is emptied can be changed by adding the following code to your wp-config.php file.

define( 'EMPTY_TRASH_DAYS', 5 ); // 5 days

The trash system can be completey disabled by adding the following line of code to your wp-config.php file.

define( 'EMPTY_TRASH_DAYS', 0 ); // Zero days

I do not believe that disabling the trash system is a good move as it means that you cannot restore any items that were deleted by mistake. It is more practical to simply reduce the number of days before trash is deleted.

WordPress Transients

WordPress Transients offer developers a way of storing data temporarily in the WordPress database. Transient records are stored in the WordPress options table.

Expired transient records can add bloat to your database and make your website run slower. There are a number of plugins that help you manage your transients and delete expired transient records that are no longer needed.

The WordPress plugin Transient Cleaner has an option to delete expired transients and remove all transients. Delete Expired Transients also offers this functionality and the plugin allows you set up a daily task for deleting expired transients.

Transients Manager
Transients Manager allows to view the transients that are currently being used on your website.

Transients Manager is one of the best solutions for viewing your transients. It allows you to view, edit, and delete transients. However, the plugin does not have any options for bulk deleting expired transients.

Transients are not something you need to worry about on a regular basis, however it is worth checking them periodically to verify they are not affecting performance.

Unused Plugin and Theme Tables

99% of all WordPress plugins store settings and data in your WordPress database. Unfortunately, when you uninstall a WordPress plugin, this information is not removed.

This is by design. If data was removed every time you deactivated a plugin, you would have to configure the plugin again when you reactivate it. You would also lose any reports or content that the plugin generated.

However, if you have decided to stop using a plugin, or if you were simply testing a plugin, you will want to remove all data when you uninstall the plugin. A small number of WordPress plugins include an option on their settings page to remove all data, though the majority of plugins do not have this option.

Due to this, WordPress databases can accumulate a lot of additional bloat over time. It is not uncommon for a WordPress database to contain dozens of tables for plugins that were removed months ago, or even years ago.

WordPress themes also store settings in the WordPress database and these settings will remain in your database when you switch themes.

WPDBSpringClean highlights unused tables in your database.

Unused tables can be removed from your database manually through a database management tool such as phpMyAdmin. However, even if you have a good understanding of the 11 core WordPress tables, you will find it difficult to distinguish tables from active plugins and tables from uninstalled plugins.

A useful plugin to help you with this is WPDBSpringClean. The plugin will identify unused tables from uninstalled plugins and give you the option to delete them.

Plugins That Add Bloat

Each plugin you install on your website increases the size of your website database. The space that some plugins use in your database is negligible; but some WordPress plugins can add a lot of weight to your database.

Whenever you install a new WordPress plugin, you should review how much load it places on your server’s CPU and how much storage it uses in your database.

The following types of WordPress plugins are known for storing a lot of data in the database.

  • Anti-Spam Plugins – In order to protect your website, many anti-spam plugins save information such as IP addresses and email addresses. For example, Akismet stores a lot of data in the WP_CommentMeta table.
  • Security Plugins – Just like anti-spam plugins, security plugins keep track of a lot of information about spammers and hackers.
  • Statistic Plugins – WordPress plugins that provide traffic and analytical reports need to store large amounts of data in your website database. This includes views, visits, countries, browsers, operating systems, referrers, keywords, and more.
  • Related Posts and Popular Posts Plugins – WordPress plugins that showcase other posts are notorious for using a lot of CPU and a lot of database storage. These types of plugins need to store a lot of data in your database; such as the number of likes, shares, and views, that each page on your website has received.
  • Link Tracking Plugins – Most link tracking solutions give you the option of tracking the number of clicks to your links. This is useful for understanding visitor habits and seeing where outgoing traffic is leading. Unfortunately, tracking hits can take up a lot of space in your database.

Some developers are conscious of the fact their plugins use a lot of storage. Which is why some developers include an option in their plugins to clear data.

For example, I track links using Pretty Link. The plugin allows you to disable the built-in tracking system. Three tracking setups are also available: Normal tracking, an extending tracking configuration that offers more stats but slower performance, and a simple click tracking option that offers less stats but better performance.

Stats can also be deleted from within the settings area. The plugin allows you to delete all hits or hits within the last 30 or 90 days.

Other WordPress plugins allow you to reset data and remove the tables the plugin added. However, in general, most plugins do not feature an option to remove all data.

P3 (Plugin Performance Profiler)
P3 (Plugin Performance Profiler) can highlight problem plugins that are slowing down your website.

A great tool for checking what WordPress plugins are slowing down your website is P3 (Plugin Performance Profiler). The plugin will highlight the impact that each plugin adds to your page loading time.

If a plugin is using a lot of storage in your database, or slowing your website down considerably, remove it. I would only recommend keeping a slow WordPress plugin installed if it was essential to a website’s success. However, I believe there are always alternative solutions available to WordPress users.

How to Optimize Your Database Using a WordPress Plugin

Throughout this article I have given advice on how to optimize your database using phpMyAdmin and wp-config.php. If the thought of using phpMyAdmin worries you, you may prefer to use a WordPress plugin to optimize your database. There are a number of good options available.

WP Clean Up is a great way of quickly removing unwanted data. It allows you to remove revisions, drafts, comments, and more – all at the touch of a button.

WP Clean Up
WP Clean Up is one of the easiest ways of removing unnecessary data from your database.

WP-Optimize can be used to remove post revisions, drafts, spam comments, unapproved comments, comments in the trash, transient options, pingbacks, and trackbacks. It also includes a page that shows the data size, index size, and overhead, of each database table.

WP-Optimize is one of the most downloaded optimization plugins on WordPress.org.

Another popular optimization WordPress plugin is WP-DBManager. It is a feature packed plugin that lets you optimize and repair your database. Automatic backups of your website can also be configured.

WP-DBManager is a good plugin, but from a security point of view I would be careful using it as the plugin also allows you to empty tables, drop tables, and run MySQL queries. Therefore, anyone who gained access to your website using malicious methods would be able to do a lot of damage.

Those of you who use ManageWP to manage multiple websites can can optimize your database through your ManageWP Dashboard.

Final Thoughts

I have helped many website owners over the years with WordPress-related problems. Sadly, very few people appear to take steps to keep their website database running efficiently. There really is no excuse for this as it only takes a few minutes to configure a WordPress website correctly.

This is what I do on my WordPress websites to keep their databases optimized:

  • I reduce the number of post revisions to two by adding define( ‘WP_POST_REVISIONS’, 2 ); to wp-config.php
  • I employ strong anti-spam measures to greatly reduce the volume of spam added to my database
  • I review any items I delete and then delete them permanently (rather than keeping items in trash)

I also check my database periodically through phpMyAdmin. This gives me an opportunity to optimize the database tables and remove any unused database tables. From time to time I use an optimization plugin such as WP Clean Up, too. This allows me to remove transients and any other unwanted data that has accumulated over time.

For some WordPress websites, I have reduced the number of days items stay in trash from 30 to 5. However, I usually do not take this step as I am in the habit of deleting items permanently.

To reduce the number of calls to my database, I install a cache WordPress plugin. This does not reduce the size of my database, but it puts less stress on my MySQL server and ensures my pages load quickly.

Do you optimize your database? If so, what steps do you take? Let us know in the comments below.

Image credits: Designmodo from www.flaticon.com is licensed by CC BY 3.0, Icon made by Freepik from www.flaticon.com is licensed under CC BY 3.0

http://premium.wpmudev.org/blog/optimizing-your-wordpress-database-a-complete-guide/feed/ 11
Rock Your WordPress Forms With Gravity Forms Conditional Logic http://premium.wpmudev.org/blog/rock-your-wordpress-forms-with-gravity-forms-conditional-logic/ http://premium.wpmudev.org/blog/rock-your-wordpress-forms-with-gravity-forms-conditional-logic/#comments Tue, 14 Oct 2014 12:00:00 +0000 http://premium.wpmudev.org/blog/?p=132972 Creating a contact form in WordPress can be a daunting proposition. But once you get into it, the form usually comes together OK – as long as it’s a simple form.

Unfortunately, many forms turn out to be complicated, messy, and boring. Wouldn’t it be great if you could create a form that’s super clean, and that shows only what’s necessary for each particular user? And how cool would it be if you could wow your visitors with a dynamic effect, as different parts of the form appear, disappear, and reappear as they select various options?

With Gravity Forms conditional logic you can do all that – and more. Conditional logic isn’t exactly simple, but Gravity Forms makes it easy.

One of the problems is that a form with lots of varying choices can quickly expand, and the form becomes messy, crowded, and unwieldy. Overcrowded forms turn people off, and sometimes site visitors will just give up and go away after a quick glance. That’s exactly what you don’t want.

Even though the phrase “conditional logic” reeks of “advanced mathematics,” all it really means (in this case) is a way to set up an interactive form so that when a user clicks something on your form, some other thing changes on the form. The user might click a checkbox and, as if by magic, a previously hidden form field might appear. And at the same time, some other unnecessary form fields might disappear.

Let’s look at how you can easily set up your forms with conditional logic on your website.

Conditional logic is cool.
Conditional logic is cool.

Magic? No. It’s Conditional Logic

Form ready to be worked on.
Form ready to be worked on.

I’ll assume that you already know how to set up a static form with Gravity Forms, so now I’ll show you exactly how to get conditional logic working for you.

Let’s say you’re setting up an online application form people can fill out to join your PC Club – something very similar to the example form we’ll work on in the upcoming paragraphs.

At the top of the form, applicants have to fill in the usual information, such as name, address, e-mail address, etc. Simple. But things get complicated in the payment area near the bottom of the form, as you start creating form fields with lots of checkboxes and options.

As you can see in the graphic to the right, there’s a heading, a checkbox, a pop-up, and an explanatory line of text for those who want to pay now – and below that, there’s a section for those who want to pay later. There are several lines of text, checkboxes, pop-ups, etc. in this section, and all these various type weights, pop-ups, etc. look messy, and can be confusing to the user.

If you think this isn’t a big deal, consider that the applicant has already filled in several text boxes before arriving at this point in the form, and in some forms, there might be even more areas coming up, with lots of choices before finishing the form. You don’t want user fatigue, and you want a clean-looking form, so it would be great if you could clean up this area.

That’s what we’re going to do.

Getting Into Condition(al)

First, it’s too bad you can’t hide that messy pop-up menu and the explanatory text in the “PAY NOW” area until they’re actually needed. But wait. You can do that – with Gravity Forms conditional logic. Here’s how:

Pop-up menu.
Showing the pop-up area to be hidden.
  1. In the “Form Editor,” move your mouse over the field named “PC CLUB MEMBERSHIP,” which contains the membership-choice pop-up and the explanatory text for those who want to pay now. This is the field you want to become invisible and stay invisible until after the user checks the box under “PAY NOW.”
  2. As you move your cursor over the field, you’ll notice that the field becomes highlighted. Click the flippy triangle (highlighted in yellow in the graphic above) to expand the field so you can choose options that will apply to that field.
  3. Skip the “Properties” tab, and click into the “Advanced” tab.

    Inside the Advanced tab.
    Inside the Advanced tab.
  4. Near the bottom of the tab area, click the “Enable Conditional Logic” option – and then new options will appear where you can choose exactly what you want to happen, as you can see in the graphic above. Remember that you want to keep this field hidden, and only show it when an applicant chooses the “I’ll pay now with credit card” option under “PAY NOW.” The two lines directly under the “Enable Conditional Logic” checkbox contain pop-ups that let you choose options to “fill in the blanks” in these two lines.
  5. In the first line, press and hold the first pop-up, and choose “Show” from the options that appear.
  6. Then press and hold the second pop-up, and choose “All” from the options that appear. The result is a conditional statement that reads, “Show this field if All of the following match.”
  7. In the second line, choose options from the pop-ups until you get a conditional statement that reads, “PAY NOW is I’ll pay now with credit card.” Translated into more conversational English, this tells the form to initially not show this area of the form, but then show it when the user clicks the “I’ll pay now with credit card” checkbox under “PAY NOW.”
  8. When you’re finished, click the flippy triangle to close the field.
  9. Of course, at some point you’ll have to click the “Update Form” button, and then click the “Preview” button in order to view the form preview to see a close approximation of what the form will look like once you install it onto a page or a post.
Form after first round of conditional logic.
Our form after the first round of conditional logic.

SPECIAL USER TIP: If you want to see what your form is really going to look like as you’re making adjustments – to get a better view than the preview – install the form onto a page or post, and then open it in a separate browser window. Keep that window open off to the side, and then every time you update the form, just refresh the page in that open window, and you will see the changes you made as they will actually look in your finished project.

I’ve used a yellow keyline in the graphic above to show you that the form is a bit cleaner, because now when the form first appears on the page, the pop-up and the explanatory line are no longer visible in the “PAY NOW” area. And those two elements will only become visible if the user checks the box in the “PAY NOW” area.

Nice But…

…You can do better.

The form is still crowded, and there’s still the possibility of confusion for the user because all the choices and explanatory text are still visible in the “PAY LATER WITH CHECK” area.

It’s distracting, but it won’t be a problem for much longer.

Conditional logic settings.
Conditional logic settings.

You want everything between the “PAY NOW” area and the “SUBMIT” button to disappear when a user chooses to pay with credit card in the “PAY NOW WITH CHECK” area. Here’s how to make that happen:

  1. In the “Form Editor,” move your cursor over the “PAY LATER WITH CHECK” form field, click the flippy triangle to expand the field.
  2. Get into the “Advanced” tab.
  3. As before, check to enable conditional logic.
  4. Set the conditional options as shown in the graphic above. Be sure you choose Hide this time, because you want to hide this field until it’s needed.
  5. Close the form field when you’re finished.
  6. Update the form, and view the preview or the actual page (as described above) to check your work.

You have now set the conditional logic so that this area of the form will be visible until the user checks the box in the “PAY NOW” area – at which time this area will disappear.

Do it Some More

Final form area.
The final form area.

Now do the same thing with the other form fields that you want to hide: Open the fields, choose the conditional logic option, set the conditional options, close, update, and view to check your work.

As you can see above, the user has clicked the “PAY NOW” option, and conditional logic has done its thing. Not only has it brought the membership-choice option into view, but it has caused all the now-superfluous “PAY LATER WITH CHECK” stuff to disappear. All the unnecessary distractions are gone.

But what if the user suddenly decides to not pay now, and wants to pay later, by check? No problem. Soon as the user deselects the credit-card option, all the “PAY LATER WITH CHECK” information reappears.

See for Yourself

Play the video below to see the magic for yourself. Areas of the form will disappear and reappear depending on what the user clicks.

We’ve only scratched the surface of conditional logic, but now that you understand how it works, it’s a sure thing you’ll think of lots more ways to use it.

Gravity Forms is a premium plugin, which means you have to buy it. It’s available under three different licenses, depending on how many sites you want to use it with. Gravity Forms offers great support for their product, they have lots of add-ons to extend the basic plugin, and their documentation is well above average. Check out their site to find out more.

We often over use “Cool!” when describing things we are think are, well, cool. But, really, when you try it for yourself, and see how Gravity Forms conditional logic can transform your own forms, you won’t be overdoing it one bit if you exclaim, “How cool is that?!”

Do you use conditional logic on the forms for your website? Let us know in the comments below.

http://premium.wpmudev.org/blog/rock-your-wordpress-forms-with-gravity-forms-conditional-logic/feed/ 8
How to Get Notifications When Users Edit A WordPress Post http://premium.wpmudev.org/blog/notifications-when-users-edit-wordpress-post/ http://premium.wpmudev.org/blog/notifications-when-users-edit-wordpress-post/#comments Sat, 11 Oct 2014 12:00:54 +0000 http://premium.wpmudev.org/blog/?p=132711 Running a multi-author blog comes with many responsibilities – managing spam registrations, reviewing posts created by different authors, keeping track of the edits made and monitoring their activity.

It can be a hectic task checking everything manually every day or even every hour. Luckily, there are plugin solutions to automate certain tasks to make them easier.

In this Weekend WordPress Project, I’ll show you how to automate one such task – dealing with multiple authors.


Receive handy notifications any time someone edits a post on your website.

Configuring Automatic Email Notifications

The Email Post Changes plugin allows you set up automatic emails so that each time a change is made to a post or page, those changes are emailed to the users and email addresses you specify.

Download Email Post Changes from the WordPress Plugin Repository. Install and activate the plugin.

Now, go to Settings > Email Post Changes to configure the plugin.

Email Post Notifications

On the main plugin settings screen, check the enable box for “Send an Email when a post or page changes”.

Below that, you will find a list of email addresses that you want any notifications sent to. Generally, I would recommend only adding admin email addresses to this field.

If you check your personal email address more often than the email associated with the WordPress website, you can add email addresses that aren’t associated with website account. This will ensure you get notified more quickly.

Finally, select whether you want to be notified for only post modifications, page modifications or both.

The last option is if you want email notifications for only published items or also for items saved as drafts. Check this option if you want to avoid spam or have strict quality control guidelines.

For example, if you’ve edited and scheduled an article by a contributing author to be published on a specific day and the contributor logs in and make changes that you haven’t approved, if you’ve ticked this box you will receive an email alerting you to the fact the post has been altered. If you leave this box unchecked, the post would be published – complete with unapproved changes – and you would be none the wiser.

After you click “Save Changes” you will start receiving emails whenever modifications are made to posts or pages. The notifications will include the name of the author and the time the changes were made. A neat feature is that you will also see two versions of the post – a version before the changes and a version after the changes, with the changes highlighted.

Undo Changes Made By Contributing Authors

WordPress allows for post revisions, an in-built feature that automatically saves a post every 60 seconds. Every time a new auto-save happens, the old auto-save is replaced with the new one. Not to confuse this with drafts, this auto-save feature comes handy if your computer suddenly crashes or you forgot to save your draft.

You can see the number of revisions for each post on the post/page edit screen. Click the browse button besides the number of revisions.

A screen comparing the latest revisions will show along with a scrollbar on the top. Use the next button to navigate between the revisions. The name of the author who made the changes, at what time and if the revision is an auto-save or a draft will be displayed.

Email Post Notifications

Click “Restore This Revision” and WordPress will select it as your current draft to be published as scheduled.

Lastly, I recommended that you use Gmail’s SMTP servers to ensure that the emails don’t end up in your spam folder.

Have you installed this plugin on your blog yet? Let us know in the comments below.

http://premium.wpmudev.org/blog/notifications-when-users-edit-wordpress-post/feed/ 1
WordPress And Storyform, The Path To Better Long-form Stories? http://premium.wpmudev.org/blog/wordpress-and-storyform-the-path-to-better-long-form-stories/ http://premium.wpmudev.org/blog/wordpress-and-storyform-the-path-to-better-long-form-stories/#comments Fri, 10 Oct 2014 12:00:00 +0000 http://premium.wpmudev.org/blog/?p=132803 Despite the seemingly never-ending stream of cookie-cutter WordPress themes, if you look carefully enough you can find innovation in the delivery of WordPress-based content.

Joining the Aesop Story Engine in the long-form storytelling space is Storyform, a platform for creating magazines and photo-stories that provides tight integration with WordPress.

As we’ll find out though, Storyform’s slightly different approach often results in a headstrong solution that looks great but thinks it knows best and will often override your content flow.

Feature image
Storyform – Magazine and photo stories in one click?

When the future of WordPress is talked about, it’s often a conversation where the user platform is often considered to the only consideration. WordPress is fundamentally about delivering content and this strangely myopic view fails to take into account the ever-changing landscape of content form.

Sure, it’s a slow-burn but then how long have we been hearing that the future is mobile? Or even that print is dead (and yet, at 40 million, Australian magazines had a total readership for the 12 months to June 2014 that is 1.8 times the size of the country’s population)?

One of the most significant content trends is long-form. Support for long-form on WordPress has been slow to get going and for a long time the only major player was Nick Haskin’s recently-updated Aesop Story Engine (although Brenda Barron has some good suggestions for a long-form toolkit).

Now the ASE has company with Storyform, a long-form delivery solution that is not exclusively WordPress but is tightly integrated via a plugin, that promises to “[let] you create rich, immersive Storyform magazines with just a one click”.

A Simple Way To Build Stories?

Cover shot of Storyform's website
Storyform and Aesop Story Engine – two disimilar peas in a pod

Not that Storyform has much in common with the ASE. Storyform has no components or shortcodes to configure but uses a combination of semantic markup and positioning. This means that it feels a little underpowered compared to ASE but requires only a minor deviation from the standard post creation process.

For example, if an image or video is placed at the top of the post then it will be used as the background for the cover page. The first, and only the first, H2 heading that precedes the first paragraph in the post will be used as the sub-title on the cover page.

Screenshot of the post editor screen showing the video and subtitle which will form the cover page
No shortcodes here, just reliance on semantic markup and content flow

Pull quotes can be added by highlighting text and then clicking on the solitary Storyform-specific icon that has been added to the Visual Editor toolbar. In Visual mode, the text is highlighted in yellow (in Text mode it is enclosed in a span tag with a class of pullquote).

And in keeping with the simple approach, text overlays are achieved by specifying the text in the existing caption field and using a new icon that appears when you click on an image in the post editor to draw the placement of the caption.

It all feels like a normal WordPress post creation process which is not something you could say about the ASE although version 1.1′s use of styling the shortcodes makes a considerable improvement. And because the markup is basically semantic HTML (other than the standard WordPress shortcodes for video and images with captions) it’s not a complete disaster if you decide to stop using the plugin.

However, it’s when you start viewing your stories that you start to realize that you’ve traded something for all that simplicity: control.

Flying By The Seat Of Someone Else’s Pants

In order to use Storyform in WordPress, you need to sign-up, get an API key and enter this into the plugin’s settings. Why? Because it turns out that the plugin is not self-contained. Whilst the basic javascript, template and CSS are included, the specific files that belong to the theme selected in the post edit screen are supplied by the Storyform website.

Presumably this is to retain some control over Storyform’s use, perhaps to make expanding the stable of themes (there is only one, Puget, currently) easier and more than likely it’s to be able to add some form of monetization down the track. But the introduction of another potential single point of failure in delivering site content – you’ve got to rely on those Storyform files being constantly available – may well cause a few WordPress owners to pause for thought.

It also seems unnecessary. The ASE seems to have found a working model for monetizing this kind of product (give away the basic functionality and charge appropriately for extensions and themes) and it does make you wonder why Storyform didn’t go down the same path and allow all the necessary files to reside on the one domain.

When you initially preview your stories though, those concerns are quickly shuffled to the back of your head. There’s your full-page cover image, your title and subtitle, a navbar that appears top right that includes social media shares and a home link, an elegant progress bar and down in the bottom right-hand corner, a page counter that turns over as the Storyform javascript engages in content layout alchemy.

And it is alchemy.

I’ve got no idea how Storyform takes a virtually standard WordPress post and transform it into a multi-column, horizontal-scrolling article with a true magazine look-and-feel. Initially, this ignorance is irrelevant because the output looks so good and took ludicrously little effort to create. But then you start to realize that this magic comes at a cost.

Pages generated by Storyform on a desktop
From WordPress post to magazine article – desktop (click for bigger view)

You have no real idea, no real control over the layout process. Whilst it is consistent across the major browsers (disclaimer: I tested with Chrome, Firefox and Safari but not IE), Storyform’s decisions are highly sensitive to the size of the browser window. Often only a few pixels difference in one dimension is enough to significantly alter the layout, the page count, even where your images, video and pull quotes are inserted into the post.

Sometimes just refreshing the page can alter the layout.

How big a cost is this unpredictably? That will depend on the type of articles that you are creating. If your images are fairly standalone then perhaps the randomness of their location in the piece will not be too much of an issue. If you are a stickler for layout or need an image in a specific location then Storyform could drive you mad.

That pull quote and Spider-Man image on page 3, for example, were not that close together in the actual post – so you’ve got to trust that it has something in common with the image. And the Superman logo was actually at the end of the post.

It may also depend on the platform that you are targeting with your Storyform content. Storyform works and looks stunning on tablets and here you would have the opportunity to play with your post’s content flow to have at least some influence on the final layout.

Composite image of the pages created by Stroyform on a tablet
Same post on a tablet has 2 extra pages! (Click for bigger view)

As you can see the layout changes a fair bit when viewed on a tablet. The cover image becomes fullscreen as does the photo of the Golden Gate Bridge (most likely due to not using a big enough image for fullscreen on a desktop). That Superman image is even further away from the end of the article.

You’ve also got to be content with the design. I just wanted to change the look of the image overlays but a combination of the main theme files being delivered remotely and the plugin’s dequeuing of existing styles (which neutered the Custom CSS plugin I was trying to use) made overriding the styles very difficult.

And whilst I’m griping, I would prefer the home link in the post navbar to go to the cover page of the article rather than the home page of the site.

Storyform: A Trust Fall Exercise

There is a lot to like about Storyform. It requires very little deviation from the normal post creation process and with no complicated shortcodes to embed it will work just as easily with existing content as it will with new posts.

Above all, it looks stunning, be it desktop or tablet and navigates smoothly (both mouse and gestures). Actually tablet is where Storyform performs best: horizontal scrolling seems much more appropriate on this platform and you have more influence on the layout.

But Storyform is not for the layout pendant. It will routinely override the original content flow and place images, video and pull quotes where it thinks they should go and the window-size sensitive nature of the layout engine produces considerable variability in the results.

And that remote loading of the themes does introduce a single point of failure into your content delivery. If, for whatever reason, Storyform is unable to deliver the theme then you are left high and dry.

Storyform is, perhaps, the ultimate content trust fall exercise. You publish your post, you lean back and you hope that Storyform will catch you. If you are a trusting soul then Storyform is well worth a play.

http://premium.wpmudev.org/blog/wordpress-and-storyform-the-path-to-better-long-form-stories/feed/ 0