Quantcast
Channel: WordPress Multisite! Everything you Need to Know - WPMU DEV
Viewing all 126 articles
Browse latest View live

9 Essential WordPress Multisite Plugins for Every Network Admin

$
0
0

I think it’s safe to say that here at WPMU DEV, we’re big fans of WordPress Multisite networks.

We use Multisite to power our educational blogging platform Edublogs and we develop some of the most popular Multisite plugins out there. Personally, I run three separate Multisite networks, each of which does a different job.

Multisite is a fantastic tool on its own, but there are some plugins available that make it even better. We’ve written a lot about plugins for Multisite, including a definitive list of the top Multisite plugins, but here I’ll focus on plugins that help network admins.

So if you’re administering a Multisite network, anything from a private network of three blogs to a profitable network of thousands of user-created sites, which plugins will help make the job easier?

Here are the plugins I use and consider essential for every Multisite admin.

  • Multisite Enhancements

    multisite-enhancer

    This is one of the most helpful plugins I install on my networks. It adds a load of features to the network admin pages, including:

    • Plugin enhancements: “Add new” link in the network admin menu and a list of sites plugins are activated for in the network admin plugins screen.
    • Theme enhancements: See which themes are activated on which sites from your network admin themes screen.
    • Extra elements in the network admin menu bar: Manage SEO and go straight to updates.
    • View the ID of your sites in the network admin sites screen: This only normally possible with a bit of investigation.

    For me, the most useful feature is the ability to see which sites are using which plugins. When I’m updating plugins I can easily see which sites they’re activated on and which I therefore need to test.

  • WordPress Domain Mapping

    domain-mapping

    Our own Domain Mapping plugin lets you assign any domain to a site in your network. It means that when people visit that site, they won’t see a domain like sitename.yournetwork.com, but just sitename.com.

    There are free alternatives available but this one has extra features, such as the ability to sell domains to site owners from within your network screens, helping you to make money from your site and saving the extra work of  switching to cPanel or similar. It’s also compatible with our other Multisite plugins, meaning you won’t have any problems with the mapped domains conflicting with the way third party plugins use cookies, for example.

  • User Switching

    user-switching

    This plugin is incredibly helpful if you’re providing support to your site managers or other users of your network. It lets you quickly and easily switch user accounts so you can see exactly what another user on your network sees without actually having to log in to their account.

    This is extra useful if you’ve added customizations to the admin screens for site admins which you don’t see as the network administrator. Once you’ve finished supporting the user, simply switch back to your own account and you’ll have access to the network management screens again.

  • Support System

    support-system

    If you’re providing support for your site administrators, you want a way to make it easy for them to raise tickets and for you to respond to them.

    The Support System plugin gives site admins access to support screens where they can raise tickets for you to deal with. Tickets can include images, video and anything else you can insert in a WordPress post, and can be assigned to a category so the right member of your support team is notified of a new ticket.

    The plugin now includes support for raising tickets via the front end of your main network site, which helps with UX, and you can also create and publish FAQs, either from scratch or based on the responses you give to support tickets.

  • Multisite Content Copier

    multisite-content-copier

    Ever needed to copy the contents of one site in your network to a new one? If you’ve tried using the WordPress Importer you might have found that the process took a while.

    Our Multisite Content Copier plugin lets you copy all of your content from one site to another, and it’s not just limited to content. Copy plugins as well, and copy content to not just one site but a group of sites in your network.

    But it’s much more powerful than that. Use the plugin to speed up the creation of new sites by setting up template groups which have the same content: create a site in one of these groups and it will automatically contain the content for that group. Useful if you’re running a community or business network and you need all of your sites to include some common content such as information about your network, legal information or pages about the community or company.

  • Anti-Splog

    antisplog

    “Splog” is a word that always makes people smile the first time they hear it: It means a spammy blog that’s created on your network. If you’re running a network that allows users to sign up and create their own sites, you’ll be a target for sploggers (yes, that’s a word too!).

    But with our Anti Splog plugin you can banish those spammy blog creators. Its intelligent algorithm will identify splogs and kill them before they’re created, saving you hours of work deleting unwanted sites.

    Think of it as Akismet, but for Multisite networks.

  • Pro Sites

    pro-sites

    If you want to make money from your Multisite network, then this plugin really can’t be beaten. It lets you run a site like wordpress.com or edublogs.org, letting users create their own site and then add paid-for upgrades like plugins, themes, added storage and mapped domains.

    It helps you create pages on your main site marketing the upgrade options and/or payment plans for network users and makes the process of upgrading super easy. Incorporate payment, packages and even allow payment for BuddyPress integration or support. Everything is configurable meaning you can customise based on your needs and add your own branding.

  • Networks for WordPress

    networks-for-wordpress

    One of the many comments on my recent guide to WordPress Multisite asked if it was possible to create networks within your network. In other words, can your site administrators use their site to manage their own sub-network inside your main network?

    It may sound like something that would lead you down a rabbit-hole, but the answer is: Yes, with this plugin you can.

    Install and activate the plugin on your network and you can activate networks within individual sites, with each network having its own domain and its own set of sites. Move sites between networks and install plugins and themes for each network.

  • Multisite Toolbar Additions

    multisite-toolbar-additions

    If the enhancements added to the toolbar by the Multisite Enhancements plugin aren’t enough for you, then look no further than this plugin, which gives you even more.

    It adds multiple levels of navigation to the network manager’s admin toolbar, meaning you can access plugin and theme screens, settings and admin screens for the sites on your network, all without leaving the comfort of the admin bar.

Summary

These are nine of my favorite plugins for network administration with WordPress Multisite. Using some or all of these will make your network more powerful and make your job as network admin easier. They will help you make money form your network and, more importantly for your users, enhance the service and experience you provide for them.

Do you have any network admin plugins you couldn’t live without? Add yours in the comments below. 


20 Effortless Ways to Build a Sharing and Caring WordPress Multisite Community

$
0
0

Sharing is caring, as they say, and this especially rings true if you run a community of users on a Multisite network.

Adding the capability for users to share posts, images, links, site activity and more can help your users connect with each other and build a sense of, well, connectedness. What better way to bond than through the sharing of funny cat memes in status updates and private messages about cats (of course)?

Helping like-minded members of your site to make friends and share what they care about isn’t just heartwarming, it makes good business sense – it will help drive genuine user engagement and create a strong emotional connection with your site that your competition won’t be able to match.

For this Weekend WordPress Project I’ve put together a collection of our best plugins that you can activate right away to add sharing capabilities to your site, from sharing blog posts to displaying the most recent comments across your network and sending friend requests.

  • Recent Global Posts Feed

    Recent Global Posts Feed plugin

    Recent Global Posts Feed works win tandem with our Post Indexer plugin to create an RSS feed of all the blogs in your network. It also comes with a widget to display the posts prominently in your sidebar while also including an option to place a subscribe button on your site as well.

    It’s easy to install and configure and displays the feed on the main site by default. If you would like it to appear on all sites in your network, there’s an easy-peasy line of code you can add and voilà, you’re done.

    If you want your recent posts list to appear anywhere on your site, take a look at our Custom Sidebars Pro plugin to do the job.

  • Recent Network Posts

    Recent Network Posts plugin

    With the help of our Post Indexer plugin, you can forget about showing a list of your network’s recent posts only in your sidebar. The Recent Network Posts plugin lets you display them anywhere on your main site, whether on pages, posts, sidebar, footer or anywhere else you would like.

    It’s easy to install and displays a nice list with different parameters using a shortcode. You can choose to display user avatars, post titles and excerpts in any combination and with a little CSS magic, you can style the list to fit your theme perfectly.

  • Recent Global Posts

    Recent Global Posts Widget

    If you’re much happier with the idea of displaying your network’s recent posts in your sidebar, but need more flexibility, the Recent Global Posts widget is a great option to check out. It also uses our Post Indexer plugin as the framework to display the posts list on your site with a widget.

    It’s easy to install and customize. This widget makes it easy to display post titles, excerpts and avatars in any combination while being able to adjust their sizes or character limits.

    You’re also not limited to displaying the posts feed on your main site. With a simple addition of one line to your wp-config.php file, the feed will be displayed on all sites across your network. It’s easy as pie and displays posts elegantly with its simple and efficient styling.

    If you’re eager to expand to other parts of your site outside your sidebar, we won’t disappoint you. With our Custom Sidebars Pro plugin, you’ll be able to add this widget just about anywhere on your site. It’s as easy as dragging and dropping the widget into the new sections you can create on your site in just a few clicks.

  • Recent Custom Posts

    Recent Custom Posts widget

    If you’re thinking: “But wait! I have custom post types that I want to display in the list of my network’s recent posts. What do I do?”

    Have no fear, the Recent Custom Posts widget is here. Once you complete the piece of cake installation, you can display your custom posts in style.

    The are many configurable options from choosing the post types, even including core posts, page and attachment types and also the option to display thumbnails as well. You can also choose the order you would like posts to appear, and omit or display the post dates if you would like.

    You aren’t limited to how the list appears on the page, either. There is a field in the widget to add classes if you would like to customize the plugin further with your own CSS.

    If you add our Custom Sidebars Pro plugin into the mix, you can also add your widget anywhere on your site such as in posts, pages the footer or virtually anywhere else.

  • Live Stream Widget

    Live Stream Widget

    If you want to stay current with the latest trends while showing a list of the most recent posts in your network, then it’s worth checking out the Live Stream Widget. It displays recent posts with CSS animations to display posts live as your users roll them out.

    That’s not all, though. You can also display recent activity including comments and BuddyPress activity. You can choose the width and height of the live stream along the height, width, title and how many posts or activity to display at one time.

    You can even choose whether to display content from your main site, your network or both. If you pair it with the Custom Sidebars plugin, you can display your live stream just about anywhere on your site as well.

    It’s an easy widget to install, set up and configure. To run this widget, you also need to install the Post Indexer and Comment Indexer plugins for Multisite installations.

  • Global Author Posts Feed

    Global Author Posts Feed plugin

    If you need to create a simple RSS feed of a single user with all their activity across their entire network, this plugin can make it happen.

    It works best when paired with another plugin such as an RSS feed reader or widget that displays feeds. It may also be important for you to note that in order for Global Author Posts Feed to work, you also need to install the Post Indexer plugin. The good news is that both of these are super easy to install.

  • Global Site Search

    Global Site Search plugin

    This plugin adds a power search feature to your site. No, it doesn’t only work on your main site. Instead, it works across your entire network for all public sites.

    It also finds results incredibly quickly thanks to the Post Indexer plugin that works together with Global Site Search. Installation and setup are easy and search results are shown superbly with no extra CSS styling adjustments needed.

  • Global Site Tags

    Global Site Tags plugin

    This plugin shows a tag cloud of the most popular tags being used by your entire network with the help of the Post Indexer plugin.

    The more popular a tag is, the larger the font appears in order to show what’s trending in an eye-catching manner. When a tag is clicked, a list of the posts using the selected tag in your network appears with splendid styling.

    It’s easy to install and is highly customizable. It works with your site’s stylesheet to create a tag cloud that matches your design and can be further customized in the settings if you feel it needs a little boost.

  • Recent Comments

    Recent Comments plugin

    Once you install Recent Comments after adding the base Comment Indexer plugin, you can display comments from your entire network on your main site.

    The plugin installs like most others, but requires you to add one line of PHP code to any of the files where you would like the stream to be displayed. You can add it to your sidebar, any page, your footer, to posts or where ever else you would prefer.

    It’s a great option for enticing your user to engage in your site and discover content and authors across your network without infringing on the creativity and design of your users’ own sites.

  • Recent Comments Widget

    Recent Comments Widget

    Speaking of which, if you would prefer to help connect your entire network, there’s an option for that, too. The Recent Comment Widget works by displaying a list of your network’s most recent comments across every site in your community with a teeny-tiny edit to one of the plugin’s files.

    You can also leave the plugin as is to show the comments on just your main site. Either way, this widget makes it easy to add a comments stream to your main site or across all the sites in your network.

    All it takes is dragging and dropping the widget to the location you would like it to appear under Appearance > Widgets in your admin dashboard. You can also use the Custom Sidebars Pro plugin to increase the functionality of this widget, helping you to add the comments feed to any page, post or area of your site.

    Besides the minor edit to increase the flexibility of this plugin, it’s otherwise easy to install and the widget’s settings are straight forward and quick to set up. It also uses the Comment Indexer plugin as a foundation to make for a powerful widget.

  • Friends

    Friends plugin

    If you are keen to add some social media-like features to your network, the Friends plugin can help with that. It adds the functionality of letting your users send each other friend requests that can be approved or rejected.

    It can also add a friends list to your users sidebars and includes a search feature to make it easier for your members to find each other. You won’t even need BuddyPress to get all these cool features.

    It’s a piece of cake to install and works straight out of the box. It also works really well with many of our other plugins coming up on this list such as the Avatars, Private Messaging, Members Directory, Status and Reader plugins.

  • Members Directory

    Members Directory plugin

    Members Directory displays a list of all the members of your Multisite network which can help your users stay connected, especially when paired with other plugins on this list. It also has the added functionality of showing a member’s complete profile when their username is selected from the list.

    Detailed information can also be added to the profiles including their friends from your network and a list of their posts, and comments. If these features interest you, installing the Friends, Post Indexer and Comment Indexer plugins, respectively, will help you achieve this setup.

    Once you install this plugin, it works straight out of the box and doesn’t need any additional configuration unless you would like to make some optional customizations. You can change the settings to suit your needs by visiting the Network Admin > Network Settings page once the plugin is installed.

  • Status

    Status plugin

    The Status plugin adds the functionality of sites like Facebook, Twitter and Google+. Once installed, users can create quick posts in the front or backend and post images, text, links and videos.

    It’s a highly customizable plugin that also gives your users the option to edit the title and descriptions of the links they wish to post since a preview is instantly generated before the publish their status update. The settings can be configured to adjust the styling of statuses so they all fit with your network’s look and feel.

    Better yet, you don’t even need BuddyPress installed. The Status plugin is also as easy to install and activate as most other plugins so you can quickly add this feature and help boost user engagement in just a few clicks.

  • Mass Email Sender

    Mass Email Sender plugin

    This is a handy plugin many Multisites can benefit from since it enables the network admin to send emails to all registered users. You can update your users, send them reminders, announcements and just about anything else you would like.

    It’s super easy to install and requires zero configuration. Just write your email and click send. It really is that easy.

  • Avatars

    Avatars plugin

    Yes, you guess it – this plugin gives your users the options to add their own avatars right on your site. It’s amazing how images can help create a real connection among members without have to go anywhere and the Avatars plugin helps make that happen.

    It’s a piece of cake to install and doesn’t require any extra configuring. Once it’s activated, you’re good to go. Your users will be able to seamlessly upload and crop their avatars without disrupting the natural flow of WordPress.

    You can also pair this plugin with others on this list such as Members Directory, Friends, Status, Recent Comments WidgetGlobal Recent Posts and many others to really get the most use out user profile images.

  • Blogs Directory

    Blogs Directory plugin

    Blogs Directory adds a great looking list of all the sites in your network making it a great addition to other plugins on this list like Friends and Avatars and Members Directory – to name only a few.

    It’s simple and quick to install and the many settings are completely optional since this plugin runs well right out of the box. This is especially true when you consider how it works together with your theme to fit the style and design of your blog.

  • Users Widget

    Users Widget

    This widget lists the users in your network in your main site’s sidebar. That doesn’t mean you can’t add this to all the sites in your network, though, since editing a single line of code will include this feature.

    It’s otherwise as easy to install and use as most other widgets. You can also choose to display user profile images which means this widget works great with our Avatars plugin. You can also configure other options such as the number of users to list, the size of the avatars, the title and which users to display including the most recent users or random ones.

    You can use this widget with and of the other widgets or plugins on this list for even more features. If you also add the Custom Sidebar Pro plugin, you can add this widget to any part of your site including posts and pages.

  • Site Categories

    Site Categories plugin

    With the Site Categories plugin, you can easily organize all the sites in your network into categories just like you would for posts. In fact, it integrates seamlessly with the WordPress core to provide you the same easy setup and configuration you know and love.

    It also makes this a wonderful plugin to use with Blogs Directory and any of the other plugins and widgets on this list while we’re at it. It has a quick and easy installation process and no settings to worry about.

    You can start organizing your network right away. Your users can search for and discover new sites easily, too, which is an added bonus.

  • Private Messaging

    Private Messaging plugin

    This plugin is easily one of my most favorite in this list because it builds upon the Messaging plugin. Instead of only letting network users privately message each other internally through the back end of their site, Private Messaging lets you move this feature to the front end.

    Your members will be able to send email-like messages through your site and you won’t even have to install BuddyPress. How awesome is that?

    With this plugin, you can even display inline pop-ups with new incoming messages as they are sent to help your members stay in touch that much easier. It’s also fully responsive so you don’t have to worry about editing anything to work across all devices.

    Users can also send files and start group conversations or broadcast messages to the entire network. It’s all configurable so you can easily pick and choose the features you would like to use as they relate to your specific needs.

    There are also privacy settings so users can create a list of other users to block so that they can stop receiving new messages from them. Your Multisite will really start feeling like a social network once you add this to your list of activated plugins.

  • Reader

    Reader plugin

    This plugin is another one of my clear favorites because Reader lets your users follow other sites in your network. Your users won’t have a need for RSS feed readers since this plugin builds it right into your site.

    Whether you’re a network of blogs, a social networking site, an online shop like Etsy or an eclectic mix of these, most communities can benefit from this feature. If you’re a web designer with many clients’ sites that you manage with Multisite, this is also a great feature to let your clients choose for their site.

    This plugin also creates an elegant and gorgeous feed in your users’ back end filled with the latest posts of the other sites they follow. It’s an easy plugin to install and comes with a whole host of customization options to adjust this plugin to your specific needs.

    There’s also a search feature included along with the ability to set featured posts, display additional user information and a lot more. It’s certainly a great plugin to increase the connectedness of your online network and community.

Conclusion

You’re all set and ready to get started with beefing up your network.

Use one of these plugins or use them all. Either way you can add a huge boost to your network and help your users better connect with you, your business and each other.

It doesn’t have to stop here, either. We have a large selection of over 140 plugins and themes to help you meet even your most ambitious goals. They’re all packed with features, expertly coded, consistently updated, guaranteed to work and come with top-notch support in case you run into problems.

What are your favorite features you want to achieve? Did I miss any of your favorites? Let us know in the comments below.

The Complete Guide to the Site Options for WordPress Multisite Networks

$
0
0

By default, WordPress Multisite controls and creates global changes to each sub-site in a network, but there are individual site options that host a treasure trove of options that are often ignored, simply because admins don’t know they exist.

When you check out the list of sites in your network and click Edit on one of them, you are presented with an array of options that are often confusing at best.

I’ve scoured the internet and noticed that most tutorials dismiss these site options completely. Even WordPress.org doesn’t currently offer much explanation other than to avoid it in a Codex entry that marked incomplete.

It’s home to many customizations that you can make quickly and easily all from a single page. Today, we’ll go through each of the settings, including any precautions you should consider, so you can start taking advantage of Multisite with fine-tuned power.

Finding the Site Options

Before we dive into the settings for your sub-sites, it’s important to know they are located in two places: Through the network or admin dashboard settings page or by viewing your list of sites.

The latter is what’s going to be covered here. Getting there is easy enough. In your network admin’s dashboard, go to Sites > All Sites. You should see a list of all the sites currently in your network.

Site list with the mouse hovered over one of the listed sites
The site settings are accessed by hovering over an entry on the list of sites in a network.

Hover over the site where you would like to change the options with your mouse and click the Edit link from the small link menu that appears under the site’s listed URL. The Edit Site page will load where you should see four different tabs toward the top – Info, Users, Themes and Settings.

These tabs lead to the settings and options available for a site on your network.

What’s the Fuss All About?

Most of the settings you see are editable and if you do make any changes, whatever you enter gets re-written in your files and database.

This is where the power of these options becomes clearer. You could quickly and easily make several important changes to your site without having to dig through your files and database tables.

Let’s get started with learning about the available settings in a fresh Multisite install so you can become more familiar.

The Info Tab

The Info tab offers four settings:

The "Info Tab" of the "Edit Site" page.
The Info tab is the first page displayed with basic site information.

Site URL: This is a site’s base address. The main site won’t have a trailing slash, but a site in the network will have one at the end. For example, www.network.com and www.network.com/site1/.

It’s the starting URL where posts and pages appear after a forward slash such as the /wp-admin and /wp-login.php pages.

You won’t be able to edit this option for your main site, but other sites in your network can have this URL changed.

There are a couple issues that could arise with changing this option. Your site could become unavailable since this isn’t the only option that corresponds to the database for a site’s URL and your search engine ranking could also be affected.

Registered: This field displays the date and time that the site was first created.

Last Updated: The field for this option also displays the date and time like the “registered” option, except it displays the last time changes were made to the site. Editing this option won’t have an effect.

The attributes on the "Edit Site" page.
The site attributes are currently being improved.

Attributes: The checkboxes in this section should control the visibility of your site, but that’s currently not the case.

As of version 4.3, the attribute options don’t create any changes. This is a known issue and there is also a WordPress trac ticket addressing this issue and a resolution is in the works.

The Users Tab

This page displays the familiar settings that can be accessed through the admin dashboard.

The "Users" tab.
It can be easier to edit and add users when everything’s listed on one page.

If you’re not all that familiar with these pages, check out these pages from the WordPress Codex: Users Screen, Users Add New Screen and Users Your Profile Screen.

The Themes Tab

On this page, you should see a list of globally deactivated themes.

The themes tab on the "Edit Site" page.
The themes tab on the “Edit Site” page.

Updating a theme through the editor is possible by hovering over the title and clicking Edit, but it’s the best way to edit a theme since the changes are lost when an upgrade occurs.

Below each of the theme titles, you can select the Enable link to make the theme available for use on a per-site basis.

The Settings Tab

While some options aren’t too exciting, this is where the bulk of the powerful changes you can make are housed, but not all the options are up for editing. Some settings are deactivated and the field is populated with the words SERIALIZED DATA.

Serialized data displayed on the settings tab.
Seeing the words “serialized data” on the settings tab can be confusing, but it’s nothing to be alarmed about.

This means the data for this option is being stored in the database in a way that makes it uneditable.

Even though you won’t be able to edit these options in the site settings, you can find most of them in your dashboard to change what you need from there.

The following settings on this tab have serialized data:

  • Active Plugins
  • Sticky Posts
  • Widget Categories
  • Widget Text
  • Widget RSS
  • Uninstall Plugins
  • Widget Search
  • Widget Recent-posts
  • Widget Recent-comments
  • Widget Archives
  • Widget Meta
  • Sidebars Widgets
  • Rewrite Rules

If your Multisite isn’t a brand new installation, you may notice many other settings that are not covered. These are options that are added from plugins and widgets you have installed. Sometimes changing something through the dashboard also creates new site settings.

The site settings aren’t as scary as they may look. Let’s break them down now:

Siteurl: This is a copy of the same option we already covered from the Info tab.

Home: This option is for the URL of your homepage, the first page you want users to see when they type in your domain. The link you enter into this field ends up being the page that’s loaded.

Just as with the site URL, changing the home URL affects your search engine rankings. It can also break a portion or your entire site if all instances of your site’s URL aren’t changed in your database.

There usually won’t be a problem on installs with no content uploaded. Creating backups are still recommended.

The settings tab.
The settings tab can look more and more confusing as you scroll down the page.

Blogname: This is the field for the title of your blog. If you enabled your theme to display the blog title instead of an image, this is what displays on the front end.

Blogdescription: The tagline for your site goes here. This field shows up only if you have enabled this option in your theme.

Users Can Register: By default, this field is set to zero for false and editing has no effect since users need to register through the network and then become added to a site.

Admin Email: This is simply the email address for the administrator of the site where standard WordPress emails are sent.

Start Of Week: This option sets the day that the week starts on for the site.

There are – of course – seven different values you can enter:

  • Sunday –  0
  • Monday – 1
  • Tuesday – 2
  • Wednesday – 3
  • Thursday – 4
  • Friday – 5
  • Saturday – 6

Use BalanceTags: This option asks whether you want your tags balanced for you. What this means is any tags you leave open are closed for you. For example, in the code below, the list tags are left open:

Enabling Use BalanceTags closes the tags for you like in this example:

It’s not particularly pretty, but it gets the job done. It also can’t be found in the dashboard. The default is false (0) and true (2).

Use Smilies: This feature enables you to use smileys on posts and pages.

Comment with smilies
Smilies can quickly show emotions to help save you time when typing comments.

The editing options are false (0) and true (2) which is the default.

While this option won’t break your site, it can affect your writing at times as you may end up with an accidental smiley showing instead of your intended full sentence.

Normally, this setting is displayed on single installs of WordPress, but that’s not the case for Multisite. For networks, the only way to enable this feature is through the site settings.

Require Name Email: When someone comments on a post or page, you can control whether or not the user needs to fill out both their name and email in order to comment. If set to true and both fields aren’t filled out, it results in an error message.

The editing options are false (0) and true (2) which is the default.

For most sites out there, comment spam is a problem even with this option enabled. If you choose to disable it, you may see an increase in comment spam since there’s one less step needed for comments to be published.

Comments Notify: The site administrator can be notified when a comment is submitted with this option remaining enabled.

The editing options are false (0) and true (2) which is the default.

Posts Per RSS: You can choose how many posts to display on your most recent posts RSS feed with this option. The default amount is 10.

RSS Use Excerpt: On your RSS feed, you can choose whether to display an excerpt or the full length of your posts. The editing options are the default, full-text (0) and summary (2).

Mailserver URL: The cluster of mail server options on this page have to do with connecting an email address to a WordPress site.

This is used for the URL of the server where your email address is stored. If you would like to make use of these settings but aren’t sure what to type here, consult your email provider or hosting company if you set up an email there.

It may be important to note that only the body of the email and the subject line are published. The body publishes as the content of the post and the subject line becomes the title.

Connecting an email address through these settings means that each email that’s sent to the address you specify gets automatically published using POP3 access. This includes spam if you receive it.

It’s important to keep the email you use is secret and not guessable. Setting up an email with a random string of letters and numbers helps keep spam out of your inbox and off your site.

For example, you could create an email such as 3M5nfvYJ@your-site.com since it won’t be easy to guess. Just make sure not to use this example and create one of your own.

It’s also important to make sure the email has its catch-all setting disabled. This ensures that any mail sent to an address that is typed incorrectly does not get sent to this email anyway.

This option is removed for Multisite so this is the only place you can access this feature for your network.

Mailserver Login: This is the email address you created to post to your site.

Mailserver Pass: This is the password of the secret email address you created to use with WordPress only.

Mailserver Port: This is the port that your email server uses. It’s best to check with your email provider or hosting company if you’re not sure what to put here.

Default Category: This option sets the default category ID for your posts. To find the ID of a category you want to use, go to Posts > Categories, then hover over the name of the category you would like to make the default option.

At the bottom of your browser window, a link should be displayed. I should look something like this:

The Id can be found after category&tag_ID= in the URL string. In this example, the category ID is two.

Default Comment Status: When you write a post, one of the settings on the post editor page is for allowing comments on the post. This is where you can adjust the default setting for this feature.

You can disable comments on posts (closed) and enable them (open).

The "allow pingbacks" option in the post editor.
There are multiple ways to disable pingbacks.

Default Ping Status: This feature is displayed after the enabling comments checkbox under the post editor.

It sets whether you want to allow pingbacks on posts by default.

You can disable pingbacks on posts (closed) and enable them (open).

For more information on cutting down on pingback and trackback spam, check out one of our other posts called How to Stop WordPress Trackback and Pingback Spam.

Default Pingback Flag: Attempts to notify any blogs that you link to on your own posts. If they have pingbacks enabled, they are notified and a comment is displayed on their post with the link to your post. The editing options are false (0) and true (2) which is the default.

Posts Per Page: You can set how many blog posts to display on the page at one time. The default amount is 10.

Date Format: You can choose exactly how you want the date displayed when posts and pages are published.

Here are all the possible values to use in any combination:

  • d – Displays the day of the month, leading with a zero. For example, September 01.
  • j – Displays the day of the month without leading with a zero. For example, September 1.
  • S – Adds the appropriate suffix to days of the month. For example, st, nd, rd and th for overall results such as “1st,” “2nd,” “3rd” and “4th.”
  • l – A lowercase “L” displays the full word for the days of the week. For example, Sunday.
  • D – Displays the first three letters for days of the week as a short form. For example, Mon for “Monday.”
  • m – Displays the numeric value for the month, leading with a zero. For example, 09 for “September” and 10 for “October.”
  • n – This one is similar to the last as it displays the numeric value for the month, but without leading with a zero. For example, 9 for “September” and 1 for “January.”
  • F – Writes out the entire word for the month. For example, January and February.
  • M – This value also adds the month, but only the first three letters. For example, Sep for “September” and Oct or “October.”
  • Y – Displays the year as four numbers. For example, 2015 or 2016.
  • y – Also displays the year, except only the last two numbers. For example, 15 for “2015” or 16 for “2016.”

You can also add other characters such as commas and hyphens to break up these values since they will be displayed literally.

Time Format: Just like the Date Format option, this setting displays the time for published posts.

Here are all the possible values to use in any combination:

  • a – Displays am or pm in lowercase for the 12-hour clock.
  • A – As you may have guessed, this value displays AM or PM in uppercase for the 12-hour clock.
  • h – Displays the hour for the 12-hour clock with a zero in front. For example, 01 for one o’clock in the afternoon.
  • g – This value also displays the hour for the 12-hour clock, except without a zero in front. For example, 1 for one o’clock in the afternoon.
  • H – You can display the hour in military time with a zero. For example, 08 for eight o’clock in the morning or 18 for six o’clock in the evening.
  • G – This value also displays the hour in military time, but without a zero in front. For example, 6 for six o’clock in the morning or 13 for one o’clock in the early afternoon.
  • i – To display minutes with a zero at the beginning, use this value. For example, 01 for one minute as in 5:01 AM or 35 as in 6:35 PM.
  • s – This value displays seconds with a zero in front. For example, 09 for nine seconds as 5:01:09 AM or 59 as in 6:35:59 PM.
  • T – Displays the timezone abbreviation. For example, EST for Eastern Standard time or GMT for Greenwich Mean Time.

There are also two ways to display the full date and time:

  • c – To display the ISO 8601 format. For example, 2004-02-12T15:19:21+00:00.
  • r – This value displays the time in the RFC 2822 format. For example, Thu, 21 Dec 2000 16:01:07 +0200.

It’s also similar when it comes to punctuation. You can add colons and hyphens to display literally with the time.

Links Updated Date Format: This setting displays the date with the values you choose for any place where the links_updated_date_format string is used. For example, in the twenty fifteen default theme, this string is used for comments.

Comment Moderation: Choose whether a comment should be manually approved before being published. The editing options are false (0) and true (2) which is the default.

If you choose not to manually approve comments, be sure you have an efficient plugin installed for detecting and filtering out spam comments such as Akismet or Antispam Bee. It’s common for comment spam to get a bit out of hand at times.

Spam comment in the queue
Receiving spam comments isn’t uncommon if you don’t have a spam plugin installed.

Moderation Notify: If you would like the site administrator to be notified when comments are held for moderation, this is the setting you would need to configure. The editing options are false (0) and true (2) which is the default.

Permalink Structure: You can choose your permalink structure in this text field.

The possible values you can put in any combination are:

  • %year% – Displays the year as four digits. For example, 2015 or 2016.
  • %monthnum% – This value displays the numeric month with a zero in front. For example, 09 for “September” or 10 for “October.”
  • %day% – Displays the day of the month. For example, 07 for “September 7th” or 15 for “September 15th.”
  • %hour% – You can display the hour of the day in military time. For example, 09 for nine o’clock in the morning or 20 for eight o’clock at night.
  • %minute% – Shows the minutes of the hour. For example, 35 in “18:35.”
  • %second% – Displays the seconds with a zero at the beginning.
  • %post_id% – This value shows the unique post ID number.
  • %postname% – Displays the post’s slug. For example, a title such as To Kill a Mockingbird shows up as to-kill-a-mockingbird.
  • %category% – Displays the category slug.
  • %author% –  Shows the post author’s username.

Keep in mind that each value can be separated by a forward slash if you would like, but it’s not mandatory, although, you do need one forward slash at the beginning of your permalink structure.

Here’s an example of two valid combinations you could use:

These aren’t necessarily structures you should use for yourself, but it gives you an idea of how you can format permalinks.

Gzipcompression: Some browsers allow and even ask for articles to be compressed with gzip. The editing options are the default false (0) and true (2).

If this feature is enabled, WordPress compresses your posts if a browser can handle it to drastically reduce a visitor’s bandwidth usage.

Hack File: This is a deprecated file so you can safely ignore this field.

Blog Charset: This field lists the type of character encoding that’s enabled. It’s the set of characters that are uploaded to your WordPress site.

Moderation Keys: An option to add a list of words – one word per line. If any of the words appear in a comment, it will be held for moderation.

Category Base: You can choose the slug to use for the base of your category names. The structure looks like this:

The category_base value is what this option changes.

Ping Sites: When you update your site, you can choose to notify sites so they have a chance to advertise your new updates. You can add the URLs of the sites you would like to notify in this field.

Advanced Edit: This is an option in reference to a deprecated editing screen so you can skip this setting.

Comment Max Links: By entering a number in this field, you can limit the amount of links allowed in a comment before it’s held for moderation.

GMT Offset: This option refers to the timezone your site is in, differing from the default zero value for GMT (Greenwich Mean Time). You can enter in a number in the negatives if you need to in order to adjust your timezone correctly.

For example, to set your timezone to the EDT (Eastern Daylight Time), you would type in -4 in this field.

Default Email Category: If you choose to publish posts via email, you can choose which default category your posts should be automatically sorted in. You can make this selection by entering the ID number of the category you want to make a default.[/pic_left]

Recently Edited: This option tracks the last five files you have edited, but this can’t be changed.

Template: This field reports the folder name of the currently activated theme.

Stylesheet: What’s displayed is the stylesheet of the currently activated theme.

Comment Whitelist: You can choose whether a comment author needs to have a previously approved comment to publish more comments automatically. The editing options are false (0) and true (2) which is the default.

Blacklist Keys: An option to add a list of words – one word per line. If any of the words appear in a comment, it will be marked as spam.

Comment Registration: If user registration has been disabled in the network, then current users must be logged in to post a comment.

HTML Type: Sets the default MIME type for blog pages such as text/html or xml+html. The default setting for this option is text/html.

Use Trackback: You can enable or disable receiving trackbacks with this field. The editing options are the default false (0) and true (2).

Default Role: This field sets the default role for newly registered users. The possible values for this option are: subscriber (ddefault), admin, editor, author, and contributor.

User roles drop down box on the "Edit Site" page.
Choose the default roles for your users carefully since certain roles can make a lot of changes.

Unless you have a specific reason to change the default role from subscriber, it’s best to leave this option alone since the other options give users more access to your site to edit settings you may not want changed.

It also gives hackers more access to your site if the account becomes compromised.

Db Version: Reports the version of your WordPress database. If you try to edit this option, it won’t have any effect.

Upload Path: This is the path of the folder where your site’s uploads are held, relative to the WordPress root.

Blog Public: This option dictates the visibility of your blog. The editing options are false (0) to discourage search engines from accessing your site, but human visitors still have full access. The value true (2) is the default and gives access to everyone.

Default Link Category: This field sets the default category for link posts. You can enter the ID of the category you would like these kinds of posts to be published under by default.

Show On Front: Reports the page that displays as the site’s homepage. Editing this field won’t change anything.

Tag Base: You can choose the slug to use for the base of your tag names. The structure looks like this:

The tag_base value is what this option changes. You can change this to whatever you would like, as long as it contains the characters permitted for URLs.

Show Avatars: This field controls avatars and if they are displayed. The editing options are not to display avatars (0) and to display them (2) which is the default.

Avatar Rating: This field displays and sets the maturity rating for avatars.

The possible values for this option are:

  • G – The default and used for sites that are suitable for all audiences.
  • PG – Used for sites that are possibly offensive and suitable for audiences aged 13 and above.
  • R – For sites that are intended for an audience of people aged 17 and above.
  • X – Sites that should be restricted for an even more mature audience than the R rating above.

Upload URL Path: The URL of the upload folder for the site. This field has the folder written as a direct URL.

Thumbnail Size W: Sets the width in pixels for thumbnail images. You can also find this option under Settings > Media > Thumbnail size.

Images sizes under Settings > Media.
Setting the max size to zero ensures no extra image sizes are created since too many images can bloat your site.

Thumbnail Size H: Sets the height in pixels for thumbnail images.

Thumbnail Crop: With this field, you can choose to allow images to be cropped to the size you set for thumbnails when this size is selected for images that are being placed in posts or pages. The editing options are false (0) and true (2) which is the default.

Medium Size W: The width in pixels for medium-sized images.

Medium Size H: The height in pixels for medium-sized images.

Avatar Default: This field displays the type of avatar to show on the site, but  it cannot be edited through the Edit Site page.

Large Size W: Sets the maximum width in pixels for large-sized images.

Large Size H: The maximum height in pixels for large-sized images.

Image Default Link Type

Attachment display settings
Setting image defaults that work for your specific needs can help make writing posts faster.

When you insert an image into a post by clicking the Add Media button above the post editor, you can select the destination of the image when it’s clicked under the drop down box named Link to.

This field sets the default type of link that’s selected in the drop down box.

The possible values for this option are:

  • file – Enter this value to link images to its media file.
  • post – This value can be entered for the attachment page option.
  • custom – This is the value for the custom URL option.
  • none – Enter this value in order to not set a link for images.

Image Default Size: You can set the default size for images being inserted to a post or page. The possible values for this option are thumbnail, medium and large.

Image Default Align: This options sets your prefered image alignment as default. The possible values for this option are none (default), left, center and right.

Close Comments For Old Posts: With this field, you can choose to close comments on older posts or keep them open to receiving more comments. The editing options are the default false (0) and true (2).

Close Comments Days Old: To automatically close comments older than a certain number of days, type in your preferred number of days into this field. The default value is 14 for 14 days.

Thread Comments: With this option, you can enable or disable the WordPress native threaded (nested) comments system. The editing options are false (0) and true (2) which is the default.

Thread Comments Depth: If threaded comments are enabled, you can choose how many levels deep comments can go. The default number of levels is five and you can choose up up tp 10.

Page Comments: You can choose to enable or disable breaking comments into pages with this field. The editing options are false (0) and true (2) which is the default.

Comments Per Page: If the Page comments option above this one is enabled, you can choose how many comments to list before they are paginated. By default, posts and pages can display 50 comments before they are separated into different pages.

Default Comments Page: Select whether the first or last page of comments should be displayed first. You can enter first or last (default).

Comment Order: Sets which comments should be listed at the top of that section on post or page.

You can enter the values older (default) or newer.

Timezone String: Displays the timezone selected in the dashboard unless a GMT offset timezone is selected.

Page For Posts: When you choose to display a static page for the homepage of your site, you need to choose a different page to display your posts. This field is where you would place the ID number of the page you would like to choose for the blog page.

Page On Front: If you selected a static page to display as the homepage, this field sets the page that should be displayed. Type in the ID number of the page you wish to turn into the homepage into this field.

Default Post Format

Post formats in the post editor
Setting a default post format to one you use often can help speed things up.

Normally, you can find this option in the back end for single installs of WordPress, but this isn’t the case for Multisite networks. This option sets the default for the post formats.

Since WordPress version 3.1, you can choose between different types of posts you can publish. You don’t have to blog only text anymore.

The values you can enter are 0 (for the default standard post), asidechatgallerylinkimagequotestatusvideo and audio.

Link Manager Enabled: This is a deprecated option so you can safely ignore this field.

Finish Splitting Shared Terms: This field lists the ID numbers of terms that were split after once sharing a term ID. The WordPress Plugin Handbook explains this confusing option best in their entry titled Working with “split terms” in WP 4.2+.

WPLANG: The language that’s set for the individual site whose settings you’re currently viewing.

Site Upload Space Quota: This field sets the maximum allowed storage space for an individual network site and is measured in megabytes.

If you set this number too high, you may risk over packing your server and running out of storage space. If this happens, your whole network will be booted offline and you would need to speak with your hosting provider to get your site back up and online again.

Conclusion

It’s a huge list, but we managed to go through all the site options almost secretly hidden away in a Multisite network. Some of the options may sound scary, but in reality, many of these options can make quick improvements to a site within the network and even the main site.

Which of these site options could you see yourself using in your network? Do you still prefer making changes through the back end of your site? Feel free to share your thoughts in the comments below.

Image credits: epSos .de, leoplus.

WordPress in 2016: How the REST API and Calypso Will Force Change

$
0
0

This year has undeniably been a big year for WordPress. From the good (the REST API being merged into core), the bad (the REST API being merged into core, if you’re scared of JavaScript) to the ugly (#wpdrama, anyone?), it’s been a year when WordPress seems to have puffed out its chest and finally started the process of maturing into an application platform.

The next year is set to be even bigger. The REST API will start to bed down and get more widespread usage, new tools for advanced development are coming on board (such as WP_CLI, which lets you interact with REST via the command line), and Calypso is likely to migrate from WordPress.com and Jetpack to self-hosted WordPress sites.

So what does this all mean for WordPress users and developers? It means a lot. The REST API, in particular, and the Calypso interface that makes use of it, will introduce WordPress to a new audience of developers who don’t work with PHP and users who’ve been put off by WordPress’, frankly, confusing interface.

So, what will this look like in detail? Let’s pull out the crystal ball and take a look…

The User Interface Will Improve

If you haven’t given Calypso a try yet, I recommend taking a look at it. While it doesn’t yet affect most of us who have self-hosted WordPress sites, it represents the biggest change to the admin interface since WordPress was launched more than 11 years ago. It’s been implemented in WordPress.com and in the Jetpack plugin, so if you’re running a self-hosted site with Jetpack installed, you’ll be able to use the new Calypso interface.

It’s worth mentioning that Calypso isn’t an alternative interface for your existing WordPress admin screens: it’s a completely separate application that interacts with your site using the REST API. To use it, you need to install and activate the WordPress.com desktop app or log in to WordPress.com and manage your self-hosted site from there. In both cases, you’ll need Jetpack installed and the Manage option activated.

Calypso’s features include:

  • A more intuitive interface, with less clutter (although the structure is essentially unchanged)
  • Much faster editing and publishing
  • Publish and edit posts and pages
  • Manage comments
  • Create and edit menus
  • Install themes and plugins
  • Edit site settings

The one thing you can’t do from the app is customize your theme. If you click on the Customize button you’ll be taken to the Customizer in your browser.

I have to admit, it feels a bit odd editing my site remotely but it’s no different from using the mobile WordPress apps in that regard, which many of us are used to.

The most significant improvement, however, is in speed. WordPress can be slow to implement changes made in the admin screens and the app makes this much quicker.

Calypso is very new and it’s safe to predict that it will go through significant review and UX improvements over the next year, as well as influencing other similar projects that make use of its open source codebase.

Calypso offers a single interface to manage all WordPress.com or Jetpack-enabled sites.
Calypso offers a single interface to manage all WordPress.com or Jetpack-enabled sites.

It Will be Easier to Publish to WordPress Using a Bespoke Interface

One of the big battles in the time that WordPress has been in existence has been between publicly available CMSes like WordPress, Drupal, Joomla and other commercial systems; and bespoke CMSes designed specifically for a given project.

The debate has been steadily moving away from bespoke CMSes and many of us who do client work will have experiences of helping clients migrate to WordPress from a bespoke CMS. This might be because it no longer meets their needs or is no longer supported because the agency that built it for them is has either ceased trading or the client doesn’t want to work with them anymore.

The beauty of WordPress is that it has a huge community of users, a vast library of online support and learning resources (including this blog), and that it ain’t going anywhere. Site owners choosing WordPress will be less isolated than those using a bespoke CMS and have less risk of problems further down the line.

But there are still plenty of organizations (including corporations and news agencies) that choose to have a custom CMS built for them that meets their needs exactly. It means they can develop an interface that fits with their workflow and makes them more efficient.

This could change in the future. The Calypso interface is just that: an interface that interacts with WordPress using the REST API. There’s nothing to stop anyone from building their own bespoke interface, which would look nothing like WordPress but would interact with data stored by WordPress.

This opens up opportunities not only for agencies building CMSes for clients but also for website builders such as our own edublogs and the happy tables restaurant website builder, which use a customized version of the WordPress admin. The happy tables team are involved in the REST project and I wouldn’t be at all surprised if it switched to a standalone interface using the REST API during 2016.

PHP Developers Will Have to Get Familiar with JavaScript

In Matt Mullenweg’s State of the Word address to WordCamp US on December 6 he made one thing very clear: the future is JavaScript:

“I believe quite strongly that JavaScript and API-driven interfaces are the future of not just WordPress but the web.”

As the possibilities offered by the REST API become more apparent, more WordPress developers will need to add JavaScript (specifically JSON) to their skill set.

This will enable them to create themes entirely built using front-end languages instead of PHP, with potentially significant performance gains.

To my mind, the REST API is a bit like quantum physics. As Richard Feynman famously said:

“If you think you understand quantum mechanics, you don’t understand quantum mechanics.”

Similarly:

“If you think you understand what the REST API means for WordPress, you don’t understand the REST API.”

In my view, we haven’t yet done much more than scratch the surface of how this new way of interacting with WordPress could change WordPress and how it’s used. So far people have been using it to develop themes built with frontend languages instead of PHP (see A Day of REST for an example) and a few mobile apps (showcased at WordCamp US). But it has much more potential than that. It means that just about any application could interact with WordPress in the future. From smartphone apps and admin interfaces to stock management systems and smart fridges, the possibilities are almost endless. Who knows, maybe a WordPress-powered app will help get human beings to Mars one day??

This means that developers working at the cutting edge of WordPress development, the people pushing the limits of what can be done with the platform, will need to learn a whole new skill-set in order to do it.

A New Community of Developers Will Start Working with WordPress

I’ve already predicted (as has Matt, I don’t claim credit here) that WordPress developers will need to become familiar with JavaScript. But there’s more to it than that: JavaScript and other front-end developers will come into the WordPress fold and start building applications that interact with the WordPress APIs. It’s those people, not constrained by experience of being in the WordPress bubble, who I believe will come up with the most innovative ways of using the REST API.

We'l be welcoming a new community of JavaScript developers.
We’l be welcoming a new community of JavaScript developers.

There are plenty of agencies now with separate teams of front-end and backend developers, and it’s normally the backend devs who are doing the bespoke WordPress work. This will change. As well as many of these backend devs starting to work with front-end languages more, front-end devs will be brought in to create applications and interfaces that interact with WordPress.

It’ll be more than just adding interactions and effects on top of the underlying PHP of a WordPress site: it’ll be interacting with WordPress in much more fundamental ways to create completely new types of site and application.

But these developers will have to develop some familiarity with PHP: as Matt said in his State of the Word address, PHP isn’t going anywhere. It will still be the language on which WordPress’s foundations – its APIs – are built.

This will all have an impact on the WordPress community…

The WordPress Community Will Have to Adapt

This year hasn’t been an easy year for WordPress in some respects, or at least it hasn’t always been easy for the community.

The #wpdrama episode over the summer stirred strong emotions on both sides of a debate that was about copyright as well as the power held by Matt Mullenweg and Automattic over other parts of the WordPress community and individuals within it. At the time it felt like something could be starting that would seriously damage the community in the long run, but then it all blew over and we’ve gone back to being the same merry band we always were, happily sharing ideas, experiences and code with each other.

But the influx of all these non-WordPress people, people who are drawn in by the new possibilities and the ability to use their skills with WordPress, will change the community to some extent.

This doesn’t necessarily mean the community’s ethos or essential nature will change, but it does mean that it will be made up of different people, some of whom won’t have the longstanding loyalty to (or stubborn adherence to, depending on how you see it) the way WordPress has done things for so many years.

There will be people coming in from enterprise backgrounds who find it difficult to adjust to the way open source communities work, and there will be existing members of the community who find it hard to get used to having front-end coders and app developers in their midst.

But I believe that the community is resilient and will adapt and grow with the new skills and outlooks from which it will be able to benefit. WordPress has already evolved from a blogging platform into a CMS, which brought significantly more people into the community, especially people doing client work. We’ve all gained from this and we can all benefit from the changes in store.

But It’s Not All About the REST API

However, not everything in store for WordPress in 2016 is related to the WordPress API. There are other changes and improvements in store which will expand WordPress’s audience and make it more accessible to users in different parts of the world, users with disabilities and people using different devices.

1. Translation

The biggest of these is the ongoing drive for translation. The polyglots team has been working hard to ensure that WordPress is translated into as many languages as possible and with each release this grows. Over 2016 the team will continuing to translate the biggest themes and plugins, making it easier for WordPress’s global community to interact with them. That can only be a good thing.

2. Accessibility

The accessibility of the admin interface is also improving, with over 200 accessibility-related tickets addressed in version 4.4. JavaScript-driven interfaces like Calypso will give developers more scope to create interfaces that work for users with sensory impairments, with the option to turn specific accessibility features on and off using JavaScript.

3. Responsive Images

WordPress is also firmly embracing the shift towards mobile web use with the adoption of true responsive images in release 4.4. This means that on small screens, not only will images look smaller in your WordPress site, they’ll actually be smaller. All without you lifting a finger. This is a great example of WordPress developers working hand in hand with the web standards community (who, let’s face it, were a little sniffy about WordPress a few years back) to make WordPress a modern platform.

4. The Customizer

The Customizer also isn’t going anywhere. For users this means more as-live editing of your site’s settings, widgets, menus and more, with the possibility of admin pages being replaced by their sections in the Customizer.

For theme developers this means you need to start incorporating the Customizer in your themes and replace existing theme options screens with customizer sections. This will be challenging for developers of some of the more complex themes, but is clearly where WordPress is going. There may also be possibilities to create bespoke versions of the Customizer using JavaScript-driven interfaces, which is great news for drag-and-drop theme builders.

Wrapping Up

Every year we like to look back on the previous year for WordPress and anticipate what’c coming in the next 12 months, but it feels different this year. I believe that WordPress is on the cusp of some huge changes, which will affect its codebase, its user base, its interface and its community. Exciting times!

What are your predictions for WordPress in 2016? Let us know in the comments below.

How to Install XAMPP and WordPress Locally on PC/Windows

$
0
0

Setting up XAMPP on your Windows machine is by far no easy feat, let me tell you! But once it’s installed, it’s a breeze to run and will save you a bunch of time if you need to run WordPress locally. In fact, you’ll forget it’s even there.

Having a localhost environment is an essential part of my WordPress workflow – I couldn’t do my day job without it. I regularly set up new installs of WordPress to test and play with new versions of themes and plugins, and I have multiple Multisite installs set up, too.

Not only do sites hosted locally run much quicker than they otherwise would online, but they’re also more secure and provide an ideal testing environment on your computer, away from prying eyes or hackers.

We originally published a version of this post in mid-2014 and it quickly became one of our top 10 posts with well over 150 comments. Since then, XAMPP 5.6.15 is now available and Windows itself has undergone a few updates. So here’s a shiny new updated guide on how to set up XAMPP on Windows, with added information on how to get around pesky firewall and port issues.

What is XAMPP?

XAMPP stands for cross-platform, Apache, MySQL, PHP and Perl. It’s a simple and lightweight solution that allows you to create a local web server for testing purposes.

Since XAMPP is cross-platform, it also works on Mac and Linux, but today we’re going to focus on how to set up XAMPP on Windows 10.

WordPress isn’t a stand-alone application and requires server software in order to run. XAMPP provides the necessary environment needed to run WordPress on a local machine.

Installing XAMPP

Go to the Apache Friends website and download XAMPP.

The Apache Friends website.
The Apache Friends website.

The XAMPP file is 109MB. Once downloaded, launch the installer.

During the install process, you may receive warnings such as Windows asking you if you’re sure you want to install the software and the installer prompting you about antivirus software. As you would when installing any software on Windows, use your best judgment, but you probably want to click “Yes” to continue with the install.

The XAMPP setup wizard will guide you through the installation. Click Next.

The XAMPP setup wizard.
The XAMPP setup wizard.

In the next window you will be asked to select which components of the software you would like to install and which ones you don’t want. Some options, such as Apache and PHP are essential to running the software and will at automatically installed, so they are greyed out so you can’t select them.

It’s up to you which components you want to install. Since we want to run WordPress in our localhost environment, leave MySQL and phpMyAdmin checked and uncheck the remaining options.

Choose the options you want to install.
Choose the options you want to install.

Next, select the folder where you would like to install XAMPP on your machine. I’m going to create a new folder in C:\Program Files\XAMPP.

Enter the path where you would like to install XAMPP.
Enter the path where you would like to install XAMPP.

In the next window, you’ll be asked whether you would like to install Bitnami for XAMPP, which offers free tools for installing WordPress, Drupal and Joomla! on top of XAMPP.

Since we’re going to install WordPress manually later in this turorial and don’t need free installers, untick “Learn more about Bitnami for XAMPP” and click Next.

We don't want to install any free installers.
We don’t want to install any free installers.

After going through all those initial installation steps, XAMPP is now finally ready to install. Click Next.

Installing XAMPP.
Almost there…

Once installed, you’ll be asked whether you would like to start the XAMPP Control Panel, which provides an interface for running your localhost environment. Leave this option ticked and click Finish.

The installation process is quick and painless, though it's not uncommon for Windows to throw up warnings every now and then.
The installation process is quick and painless, though it’s not uncommon for Windows to throw up warnings every now and then.

The Control Panel will automatically open, but if you unchecked the option in the prevous window, you can go to the XAMPP folder on you computer and open XAMPP Control Panel instead.

If the installation process went well and everything is running smoothly, the control panel will open with black and blue text updates at the bottom. But if there are issues…

Gah! Errors :/
Gah! Errors!

… Well, look at that – red text! It looks like I’ve run into some errors already. Not to fear, it looks like a port conflict.

Fixing Port Errors

The main reason why XAMPP throws up errors like this is due to another program on your machine using ports 80 or 443 – the ports Apache and MySQL need in order to run.

If you’re using Windows 10, World Wide Web Publishing Service is most likely using post 80. This program, which is for Internet Information Services (IIS) for Windows® Server, comes pre-installed and if you’re not using it, you can simply stop the service running on your machine or even delete it.

To stop the service running, do the following:

  1. Go to Start, type in “services.msc” and select the best match
  2. Scroll down in the Services window to find World Wide Web Publishing Service
  3. Right click on it and select Stop
  4. This should free up port 80. When you restart XAMPP it should run without errors

If that doesn’t resolve the issue, you can set up a new firewall rule to forceably unblock the ports:

  1. Open Windows Firewall on your machine and > click on Advanced Settings on the left
  2. Click on Inbound on the left then on the far right click New Rule
  3. Click Port and then TCP. In the field below for Specific Ports type in “80, 443” and click Next
  4. Check Allow the Connection then click Next
  5. Make sure all options are checked and click Next
  6. In the name field, enter whatever you want, but for the sake of consistency let’s type in LOCALHOST1. Click Finish
  7. Now repeat steps 1-6, but name this new rule LOCALHOST2 and click Finish
  8. Restart your computer

Ports 80 and 443 should now be open locally on your computer.

I should also mention at this stage that if you get any security/firewall warnings while installing or using XAMPP (such as the prompt pictured below), make sure you check “Private networks, such as my home or work network” and click “Allow access.” This is very important. If you don’t allow access, XAMPP won’t work.

You need to allow access so XAMPP can work.
You need to allow access so XAMPP can work.

Running XAMPP

Now, let’s see if everything works smoothly.

If you previously quit the control panel to fix a port issue, restart XAMPP. Then start up both Apache and MySQL.

You have no idea how happy I am to see both Apache and MySQL working, or maybe you do!
You have no idea how happy I am to see both Apache and MySQL working, or maybe you do!

Both services are running fine. Excellent!

You can check if your new local server is installed by visiting http://localhost in your browser.

Woohoo! Successfully set up.
Woohoo! Successfully set up.

Setting Up Your MySQL Database

Before we install WordPress, we need a database.

In your XAMPP Control Panel, click the Admin button in the MySQL section.

Click “Admin” to set up MySQL.
Click “Admin” to set up MySQL.

A new browser window will automatically open with the phpMyAdmin interface.

Click “Admin” to set up MySQL or go to “localhost/phpmyadmin” in your browser.
Click “Admin” to set up MySQL or go to “localhost/phpmyadmin” in your browser.

Click on Databases near the top-left and you’ll be prompted to create a new database. I’ve called mine “WP.”

When you’ve entered a name, click Create and close the window.

Quickly and easily set up a new MySQL database for WordPress.
Quickly and easily set up a new MySQL database for WordPress.

Download and Install WordPress

Download the latest version of WordPress.

In order to get WordPress working with XAMPP we need to unzip WordPress in the right folder. Go to the XAMPP folder on your computer and open the htdocs folder – C:/Program Files/XAMPP/htdocs.

Unzip WordPress into its own folder and rename it whatever you like. For consistency, I’m going to call this installation of WordPress “WP” to match the name of the database I just created.

My installation of WordPress is called “WP.”
My installation of WordPress is called “WP.”

Open the WP folder where you saved WordPress, find the wp-config-sample.php file and rename it wp-config.php. Open the file and scroll down until you see the following lines:

Update your wp-config.php file with your database details.
Update your wp-config.php file with your database details.

These lines of code define the login details for your database:

  • Replace“database_name_here” with the name of your database, which in my case is “WP”
  • Replace “username_here” with “root” and leave “password_here” blank
  • Save the file and close it

Now we can get on with actually installing WordPress.

Open your browser and go to http://localhost/wp/

You should see the translation screen that comes before the famous five minute WordPress installation process.

Choose the language you want to use WordPress in.
Choose the language you want to use WordPress in.

Once you’ve chosen your language, continue onto the next screen and enter you username and password details. Click Install WordPress.

Your WordPress installation is now complete!

Setting up WordPress Multisite

Having Multisite setup locally provides an efficient way to test themes and plugins in a Multisite environment, but also makes it a quick and easy to have multiple instances of Multisite set up.

Open your wp-config.php file again and add/edit the following lines to activate Multisite’s installation mode:

 

Open XAMPP and ensure Apache and MySQL are running.

Login to your localhost site in your browser and under Tools you will now have a new option, Network Setup.

Enter a name for your network and your email address, then click “Install.”

WordPress will prompt you to edit your wp-config.php and .htaccess files.

Following the onscreen instructions, open wp-config.php and add the following lines underneath your previous edit:

Next, open .htaccess. If you can’t find it, make sure hidden files are displaying on your computer. If you do not have a .htaccess file already, then create it in the same directory as your wp-config.php file. If you do have a .htaccess file, replace any existing lines with these new ones:

Multisite should now be installed.

You’ll need to log in again, and when you do you’ll see the WordPress dashboard from where you’ll be able to access individual sites in your network.

Wrapping Up

XAMPP provides an easy way to run a local server environment on your Windows machine, allowing you to test and develop locally, rather than installing WordPress on a live site. It will also save you a bunch of time since you won’t have to install and uninstall WordPress each time you test themes and plugins.

The great thing about XAMPP is it’s free and open source. You can set up as many installations of WordPress as you want and it’s just as easy to get Multisite up and running.

Do you use XAMPP? Have you had trouble setting it up or was it a breeze to install? Let us know what you think in the comments below.

25 Pro Tips for Improving Your CSS Workflow

$
0
0

Writing CSS can be messy, slow and take ages to debug when you’ve got a whole lot of design and layout changes going on in one stylesheet.

So let’s get straight to it: I’ve compiled some of the most useful tricks and techniques below to help improve your efficiency when coding CSS. It may even provide a handy reference for when you’re developing your next project.

Let’s dig in.

1. Bundle Properties

If you find you’re writing the same properties over and over, see if you can truncate them by removing unnecessary classes and IDs. Then, add all the common properties into the remaining sections.

If you can pair down your sections, you can help create a more efficient file to run and it’s a lot quicker to code as well. This is also where planning your stylesheet beforehand really comes in handy.

2. Use IDs for Constants

The unfortunate limitation of CSS is that you can’t define constants like you can in PHP. Constants are terms you can define once that hold the applicable data you want to use.

You could stop typing several styles over and over and only type one term that you set for your design block. Since CSS wasn’t created to program your site, but only to act as an interior designer so to speak, it doesn’t have the capability of creating constants.

Still, it’s something that would be so useful, especially in the event that bundling your properties just isn’t going to work out for you.

What you could do is create an ID that includes all the styles you need. When you actually need to use it, just add the selectors you need to the declaration. It definitely makes writing CSS a whole lot quicker.

3. Comment Your Constants

Sure, CSS doesn’t include constants, but that doesn’t mean you still can’t write a reference for what would otherwise be constants. Why not list your common styles in a multi-line comment?

How you type it out is up to you, but you can place it after your table of contents so it looks similar to this example:

This is particularly helpful for me since I often forget my color scheme half way through my stylesheet. Having a reminder close by helps speed up the coding process since you know exactly where to look and you won’t have to search through a mountain of CSS to find the point where you last referenced a certain style.

4. Group Selectors

Why stop there, though? While you’re at it, why not group as many selectors as you can together? You could potentially save yourself from typing out even more of the same styles.

While this might not work in all cases and the above example probably won’t apply to your specific needs, it can serve as a reminder for the next time you code some CSS to help you save time and save on space.

5. Use a Preprocessor

A CSS preprocessor is an extension of the regular CSS language that helps you code faster while also adding a lot of other features that wouldn’t normally be available for you to use.

The most common CSS preprocessors for WordPress are SASS and LESS and you can learn how to use them both by checking out our CSS resource list we recently published. In it, there are many links that are included for learning everything you need to start using SASS and LESS right away.

CSS preprocessors are gaining a lot of steam and it’s not difficult to see why once you see just how fast you can create your stylesheets with them.

6. LoVe/HAte Pseudo Classes

As CSS expert Eric Meyer explains, listing your link styles in a certain order is important. Otherwise, you could end up with link styling that doesn’t work the way you had hoped.

You can combat this and save yourself time not having to troubleshoot in the future by following a simple order for link pseudo classes. You can remember this order with the mnemonic device LoVe/HAte and it goes something like this:

Unvisited link styles are listed first, then visited, hover and active links follow. Truthfully, unvisited and hover links can be interchanged, but then the order would be a bit more difficult to remember.

Unfortunately, this doesn’t include the focus pseudo class, but it can be placed before the active link styles. There’s also a mnemonic phrasing that includes this pseudo class and it’s LoVe’s Hurts Fade Away:

7. Use Shorthand CSS

If you want to code with speed and efficiency, but without the steeper learning curve of using a preprocessor, you can code with CSS shorthand. The rules are a lot simpler to learn so you can get started using it quicker.

With CSS shorthand, you can condense multiple lines into one, without losing on functionality. For example, below are three lines defining a border style:

They can be condensed into one line like this:

You can probably imagine how much time you could save not having to write a whole bunch of extra properties and values so I’ll cut to the chase: W3C has an excellent reference for CSS shorthand. It includes everything you need to know and it’s a short article so you can keep it bookmarked for quick reference later on.

Not only is it a time saver, but it saves on some space as well. The only downside is it can be difficult for others to understand when they’re reviewing your CSS.

If you’re writing a stylesheet for a theme or plugin you’re planning on releasing to the public, it may be a good idea to limit the amount of shorthand you use, especially if you’re going to submit it to the directory.

On the other hand, if you’re coding for yourself or to create a premium theme or plugin, using CSS shorthand is more likely to be the perfect solution to help you speed up production.

8. At Least Use Shorthand for Colors

CSS shorthand may not always be the best solution for you, but you can adopt one of the shorthand rules for color codes.

If you find you’re using a hexadecimal color code where the hex values for each channel are the same, you can shorten it.

Simply put, if you look at a color code as having pairs – the first and second value, the third and fourth, and the last two values – where each pair have the same character. you can omit one of them from each pair.

It might not save as much time as adopting shorthand fully, but the seconds you save adds up and since everyone familiar with CSS can still understand this shorthand code is a color, you don’t have to worry about your stylesheet not being clear.

9. The TRouBLed Shorthand Order

If you do decide to use CSS shorthand, just remember the mnemonic device TRouBLed for listing margins, padding and borders so you can help prevent errors and the need for troubleshooting.

The capital letters stand for top, right, bottom and left. This is the order you should enter your measurements when you’re styling an element.

Simple syntax errors can slip your mind and make troubleshooting trickier. I know it does for me since I tend to plan for the worst case scenario and forget it could be a tiny error I previously overlooked.

10. Don’t Use Units for Zero Values

Sure, for most values when listing properties you need to add a unit of measurement, such as pixels or percent, but not always. With the exception of line height, values for properties need to have a unit directly after unless the value is zero.

Don’t waste your time typing a unit is you don’t need it. While it may not save you loads of time by itself, all these speed tips can save you quite a bit of time altogether.

11. Don’t Redeclare Inherited Values

Don’t re-type something you already have down. It may seem like a no-brainer, but that’s exactly what you would be doing if you decide to redeclare inherited values.

Web developer Roger Johansson explains in his top CSS tips that many child elements inherit their parent values. This being the case, there’s no need to add the same values twice.

12. Links Don’t Need Quotes and Spaces

When you’re adding a URI to your stylesheet, the regular and proper format includes spaces and either single or double quotes like in this example:

After url( there is a space and quotations and after the URL, there’s another set of closing quotations and a space. These are actually optional.

To save you a bit more time and space, this same line can be written like this:

13. Put Standards Compliant Browsers First

When you’re writing your stylesheet, it can save you a lot of time if instead of trying to think of workarounds for all those pesky browsers that won’t play nice, write your CSS for all the standards compliant browsers first. From there, work your way back to the others.

That way, it becomes a lot more likely for your site to be as up-to-date for the current standards as possible. Since you may sometimes find your modifications for older browsers rely on what styles you write for modern browsers, it just makes sense to start with coding for modern browsers first to save you from having to change things later on.

14. Hide Your Stylesheet from Old Browsers

Older browsers won’t be able to process and display much of your CSS a lot of the time. Since few people use them anymore – and that number’s only getting smaller by the day – it doesn’t make much sense to create some specific styles fit for those older browsers. It’s increasingly making more sense to just hide modern styles from older browsers.

Importing was introduced in CSS2 so if you import your stylesheet into your pages, older browsers that can only process the original CSS such as IE4 won’t be able to see your stylesheet. You can basically hide your modern styles to help prevent many compatibility issues with those older browsers.

Here’s how you can hide your stylesheet with the import rule:

Keep in mind that the path to your stylesheet may need to be updated according to your particular setup, but this example should, at least, give you a start.

There are many articles out there that provide this tip, but this tip isn’t necessarily the right option for your site. The thing is, you’re better off following the WordPress Codex and using enqueue to load your stylesheets in your functions.php file.

Luckily, Daniel Pataki already published a post here on WPMU DEV to teach you exactly how to properly enqueue your styles. So ditch the import rule and enqueue instead.

15. Reset Your Margin and Padding

Since all browsers have their own set of default settings for pages and they aren’t all the same across the board when it comes to margin and padding, it’s a good idea to start with a clean slate and, in a manner of speaking, erase or ignore what those browsers have set and start from margins and paddings of zero. This is called a reset.

Before you start adding your own styles, enter in a reset first. It saves you time trying to enter styles to compensate for every browser.

A simple reset can look something like the example below, but there are many out there you can use such as Eric Meyer’s Reset and which one you use is up to you and your specific needs.

You can certainly tailor this to your need by adding your own selectors and in fact, I recommend it since it won’t necessarily be ideal for everyone.

16.  Don’t Use Conditional Comments for IE

There are many articles floating around on the internet that tell you to use Microsoft’s conditional comments for correcting compatibility issues in earlier versions of Internet Explorer.

This is all well and good, except these conditional comments are not deprecated. Instead, use enqueue in your functions.php file to load IE specific styles.

Here’s an example straight out of the Twenty Sixteen theme to give you an idea of how to make it happen:

This is the most current way to load separate CSS files you created to deal with older browser rules.

17. Create Your Pages First

An easy way to ensure you can code faster is by leaving out unnecessary elements in your stylesheet and you can do this by first fleshing it all out. Instead of coding your stylesheet then having to go back and edit it once you actually create your pages, you can save time by coding your layout and creating a markup in your WordPress header, footer, and all the different page PHP files.

It’s even more efficient than planning your layout and design by creating a table of contents for your stylesheet so it’s a good idea to work out your other files first.

18. Use the Right Editor

Everyone certainly has their favorite editing programs for writing code, but not all of them can have you working more efficiently. When I first started out, I coded pages through the control panel of my hosting account.

It was hugely inefficient in so many ways right down to the fact that I couldn’t press “Tab” on my keyboard to create indents. That key had no effect. Needless to say, my sites looked horrible and so did my code.

The memory makes me shudder just thinking about it and if you’re in a similar situation in that you aren’t particularly fond of your editor, take a look at Sublime Text Editor. There’s a free and premium version for Mac, Windows and Linux, and it makes coding super fast. I’m sure it would make even the Flash jealous.

You can change all instances of the same classes and IDs you use by just editing one of them, with just a couple clicks you can minify and upload your files to your server, see results of your code without refreshing your browser, instantly optimize your code and a heck of a lot more.

It’s definitely an editor that’s worth taking a look at, but no matter what software you use to code, make sure it works efficiently for you.

19. Analyze Your CS

It’s important to look over your stylesheet once you’re done to make sure it’s as clean and lightweight as possible. This can be a pain, though, especially since it can take quite a while to do.

Fortunately, there are free tools out there such as CSS Analyzer, CSS Dig and CSS Lint. All you need to do is enter your code, select some options and click a button to instantly get a report card for your CSS code.

CSS Lint even promises to be mean and hurt your feelings all in the name of progress and helping you see where you can improve your coding skills. At the end of the day, that’s all that’s important so I suppose we should just make like Taylor Swift and “Shake it Off.”

Either way, these are all easy options available to help you make quick work of editing your stylesheet to make sure it’s as structurally sound as possible.

20. Use a CSS Cleaner Tool

When you’re writing your stylesheet, consistency is key. Whether or not you choose to include or omit optional spacing or quotations is up to you, but it’s important to be consistent throughout your stylesheet.

For an easy way to make sure you’re consistent, there’s a free online tool called Format CSS where you can enter your valid CSS, pick some options, then click a button to instantly clean up your CSS to make sure it follows the same formatting throughout.

It saves you from painstakingly going through each line of your code to manually check for formatting errors. Sweet deal.

21. Don’t Write Mixed Case IDs and Classes

HTML and XHTML are case sensitive so many elements on your site can break easily if you forget this simple rule. Troubleshooting can get much more time consuming if you’re searching for tiny syntax errors. For me, this can be downright exhausting.

All this extra time spent troubleshooting can be avoided if you simply don’t use capital letters in your CSS IDs and classes.

Instead of using mixed case selectors such as in the example above, try making them all lower case:

It’s an optional tip for sure, but it can be easy to make a mistake later so you can consider this as a sort of preemptive strike.

22. Check for Proper Syntax

On that note, as you’re coding away, be aware of your syntax and make sure it’s correct. Sometimes, just a simple character can break many elements of your design so rather than expect the worst and try to rewrite the section that seems broken, check to make sure everything looks right as you go.

For example, check to make sure your IDs follow the proper naming structure: They can’t start with a hyphen or a number and can only consist of letters and numbers, both lower and upper case.

This is a big one for me since I used to find that I’d rather rewrite everything than spend much time figuring out why something didn’t work, but honestly, it’s a lot quicker to double check your syntax as you write your stylesheet than having to go through it later.

It can be handy to have a reference on hand for this, especially since memorizing everything is quite difficult. Mozilla has a great developer’s quick reference sheet for CSS syntax that you can bookmark to help you with this part of troubleshooting.

23. Validate Your CSS

As I already started mentioning, before you get heavy handed with your troubleshooting, you can instantly check your syntax and CSS by validating it. This is a super quick way to make sure any errors in your code aren’t structural.

The W3C has a free online CSS validator. You just need to upload your CSS file and in the click of a button, you can validate your code. I’m not sure it can get any easier than that.

24. Update Whenever Possible

This may be an obvious tip for most people, but it bears repeating since the WP Tavern has reported statistics for plugin updates. They found that nearly half of the plugins in the WordPRess Directory aren’t updated after two years.

Of course, there are many reasons for this including a lack of time or funding, but it’s hardly an optional step. Since updates to the world of WordPress are numerous and frequent, it’s not a question of when there could be changes that may break your site, but when.

It’s important to keep yourself up-to-date in the latest coding standards and one of the best ways to do this is to sign up for our free WhiP newsletter since we condense all the latest WordPress news into an easily digestible post. Some of the news you read may not go down as easily as a cookie, but at least you know when you need to update your CSS and other files.

25. Use a Framework

All these tips can potentially save you a bunch of time, but sometimes, it’s just way easier and faster to use a framework. Since most of the nuts and bolts are already laid out for you, there’s no need to get as heavy-handed with coding.

There are many frameworks out there like Twitter Bootstrap and as for WordPress theme frameworks, there’s tons of those as well including our own Upfront theme. For a list of other theme frameworks, check out one of our other posts called Choosing a WordPress Theme Framework – The Ultimate Guide.

Wrapping Up

For a list of the top resources for learning CSS from start to finish including learning how to use preprocessors and Bootstrap, check out one of our other posts: A Mega Guide to Learning and Referencing CSS for WordPress: 150+ Resources.

What are your best tips for a faster workflow when coding CSS? I would love to hear your thoughts so feel free to share your experience in the comments below.

33 Beautiful, Lightweight and Responsive WordPress Themes

$
0
0
Looking for a beautiful and responsive WordPress theme?
View themes

Picking the right theme is one of the biggest decisions you’ll face when creating your WordPress site. Luckily, there have never been more lightweight, top-quality, totally free themes out there to chose from.

In this piece we’ll run through 33 of the very best options with an eye on standout design throughout.

  • 1. Casper

    casper-theme

    The arrival of slick new platforms like Ghost and Medium over the last couple of years forced many WordPress site owners – bloggers in particular – to reassess their current designs.

    Luckily, it wasn’t long before the theming community rose to the challenge, and Casper is one of the more popular free themes that seeks to replicate the default Ghost theme.

    Take it for a spin and you’ll be treated to a slick, one-column responsive theme with beautiful typography that’s easily tweaked via the Customizer.

  • 2. Eighties

    eighties-theme

    The Eighties theme grabs the eye immediately with an extremely prominent header image, and backs that initial impact up with nicely considered default typography options that naturally lead the eye down the page. It’s an excellent option if you’re looking to set up a stylish blog in a hurry.

    The main menu and sidebar are set up to be revealed only when they’re actually needed which makes it a solid choice on devices of any size. The theme is translation-ready, includes RTL language support, and there is a sister plugin available to help style bbPress forums.

    The one slight knock against it is that it’s perhaps overdue for an update, but there’s no disputing the quality of the current version.

  • 3. GeneratePress

    generatepress-theme

    GeneratePress boasts over 400,000 downloads with a solid five-star rating on the Theme Directory, and it’s not hard to see why. Weighing in at under 1MB zipped, it’s an impressively stripped down theme that still manages to more than deliver in terms of styling and functionality.

    GeneratePress is fully responsive, translatable, and compatible with WPML, WooCommerce, bbPress and BuddyPress. Customization is a snap via the Customizer and there are a host of hooks and filters available if you want to tweak things yourself via code.

    In contrast to many free themes, GeneratePress has comprehensive and well-presented documentation online along with active support forums.

    A range of commercial add-ons is also available in the form of GP Premium if you are looking to take the free version of the theme to the next level.

  • 4. Twenty Sixteen

    twenty-sixteen-theme

    The WordPress default themes have been steadily improving on both the design and functionality front for the last few years. They’re always an excellent option when you’re looking for a bloat-free theme that’s guaranteed to be high-quality and give you a slick design base to expand from.

    Twenty Fifteen was something of a high-water mark for blog-based design, and Twenty Sixteen (also by Takashi Irie) maintains the standards set by its predecessor.

    A nicely implemented responsive grid gives you the perfect framework for making your content pop on all devices and, as a default WordPress theme, you’re naturally covered when it comes to translation and integration with most major plugins. Twenty Sixteen won’t blow your visitors away out of the box, but it’s hard to beat as a free, lightweight, easily customizable foundation for further styling.

  • 5. Sydney

    sydney-theme

    Sydney is a free, responsive theme from aThemes that will get you up and running quickly if you need a stylish and lightweight base for your business site.

    The theme includes options for easily arranging content blocks on your home page, support for parallax backgrounds, Google Fonts, and header sliders.

    There’s decent documentation for the theme available on the aThemes site covering pretty much all major functionality, along with a number of niche-specific child themes such as Bistro.

  • 6. Quill

    quill-theme

    Law firms aren’t exactly the first group that spring to mind when you think of stylish, fast-loading websites, but that could be set to change with aTheme’s Quill. It’s a responsive theme designed specifically with the legal profession in mind and makes intelligent use of custom headers, front page blocks and its support for Font Awesome icons.

    All theme options are tweakable via the Customizer and powerful CSS3 animations are subtly used to give some life to what could otherwise be very dry content. The theme is also optimized for Contact Form 7 support to give you the best possible chance of chasing down those valuable leads.

  • 7. aReview

    areview

    The aReview theme from aThemes is another solid and stylish free theme that admirably fulfils a niche need. In this case, it’s targeted at users looking to put together a good-looking review site, possibly with a view to cashing in on some affiliate riches down the line.

    Five custom widgets are provided – including a handy top-rated widget to highlight your product picks – and there are built-in review modes for products, movies, and games. You’ve also got the option of including author bios.

    The one slight mark against the theme is the relative lack of recent upgrades, but if you’re looking for an option for a product review site that will look pretty slick right out of the box, this one is well worth exploring.

  • 8. Intro

    intro-theme

    Our final selection from the aThemes list of free themes is Intro, a stylish and lightweight business theme suitable for both individuals and companies.

    It’s got support for an eye-catching animated text header, easy layout of the home page via custom blocks, and parallax headers and backgrounds. As with many of the free aThemes offerings, there is online documentation with video tutorials for you to refer to.

  • 9. Perfetta

    perfetta-theme

    Perfetta is a responsive, food-focused theme that’s perfect for putting together a simple but stylish site for a café, bar, or restaurant.

    The overall intent is to let your content speak for itself by putting the focus on posts in a one-column layout rather than extraneous bells and whistles. You’ve got two widget areas to play with alongside support for featured images and a social icons menu.

    The majority of configuration can be carried out via the Customizer and there’s decent online documentation available also. If you’re a budding food blogger or looking to put together a slick online presence for a food-related business, Perfetta is well worth a look.

  • 10. Illustratr

    illustratr

    Made by Automattic, Illustratr is a pared down, responsive portfolio theme aimed primarily at designers and photographers. If you’re looking to showcase recent work, this modern-looking one-column theme can have you displaying your wares to the world in no time.

    A custom Portfolio content type enables you to stylishly present your work on even the smallest of screens. A large number of social icons can be easily integrated into custom menus in order to give well-designed shoutouts to your portfolio work on sites such as Dribbble, Github, and Flickr.

    As you’d expect from an Automattic theme, RTL language support, featured image, and flexible header options come as standard and the theme is fully translation ready.

  • 11. Baskerville

    baskerville-theme

    Baskerville is an extremely slick, responsive and retina-ready masonry theme from Sweden’s Anders Noren. The masonry design can be turned to a number of uses and lends itself to magazine style layouts as well as image-focused blogs.

    Confident typography and full support for all nine post formats mean your content is bound to shine from the get go and you can take advantage of three custom widgets to showcase Flickr, Dribbble and video content. As a nice additional touch, Baskerville includes a contributor template page you can use to quickly showcase individual writers if you’re running a site that relies on multiple contributors.

  • 12. Garfunkel

    garfunkel-theme

    Pinterest has exploded in popularity over the last number of years and its card-based layout is a natural fit for all sorts of image-heavy content. The responsive and retina ready Garfunkel theme is a simple and clean way of transforming your WordPress site into a Pinterest-style affair.

    Garfunkel includes support for six distinctively styled post formats and enables you to highlight custom content such as links and quotes. Logos and background images can be easily altered via the Customizer and the theme comes with support for Jetpack’s Infinite Scroll built in.

  • 13. Lingonberry

    lingonberry-theme

    The Lingonberry theme is a stylish but minimal one-column, responsive and retina ready theme that’s perfect for bloggers looking for a simple but eye-catching foundation to build their sites on. If you’re a fan of many classic Tumblr designs over the years, this pared down approach to content could be a perfect fit.

  • 14. Gadgetry

    gadgetry-theme

    Gadgetry is a free theme from ThemeFuse which really delivers in terms of design while packing in a lot of functionality. Custom page templates, a slick HTML 5 animated slider and a nicely integrated option for changing accent colors sitewide give you plenty of possibilities for showcasing your content appropriately.

    A number of back end modules covering elements such as the built-in contact form, sidebars and shortcodes are there to ease your life as a site owner. Take the underlying Fuse Framework for a spin by popping over to ThemeFuse’s TestLabs area which lets you step through any of their themes in detail.

    You can also take advantage of a one-click install of demo content to get your site instantly looking like the impressive Gadgetry demo site.

    The basic version of the theme is free, but you’ll need to shell out $25 for the Pro version to access premium support.

  • 15. Virtue

    virtue-theme

    Virtue is a Bootstrap-based, versatile free theme from Kadence Themes that’s equally suitable for use with a WooCommerce installation or a small business site.

    Portfolio posts and pages allow you to showcase your current projects and a quick look at the demo site shows that it gives you a robust default look for e-commerce sites.

    Virtue also ships with a handy options panel to enable you to customize elements such as the home page layout and slider implementation without having to dive into any code.

  • 16. Syntax

    syntax

    Another Automattic production, Syntax is aimed squarely at those who are concentrating on heavily text-based content, but that doesn’t mean it’s any less visually impressive.

    The theme is designed with writing and reading in mind and really strips away unnecessary elements to keep distraction at a minimum. Large, easy to read and beautifully spaced typography within a one-column format means your writing will be grabbing all the attention. A nicely integrated horizontal reveal menu gives your readers discrete access to navigation options with a single click.

    If you’re looking for a free blogging orientated theme with some of the panache of platforms such as Medium, Syntax is an excellent choice.

  • 17. Omega

    omega-theme

    If you’re partial to building out from a parent theme, Omega makes an excellent stripped-down starting point to set sail from.

    It’s a free, responsive theme framework from Themehall that’s responsive, Multisite and translation ready, and easily customized via the Customizer.

  • 18. Zerif Lite

    zerif-lite-theme

    Zerif Lite is one of the most popular free themes on the WordPress Theme Directory and boasts over 80,000 active installs. The theme is built on Bootstrap and comes fully WooCommerce and WPML compatible out of the box.

    As an SEO-friendly option with parallax and full screen image support, Zerif Lite makes an excellent starter theme for both personal and small business sites. A more fully featured upgrade is also available in the shape of Zerif Pro which retails at $99.

    A range of Zerif Lite child themes targeting specific niches are available in the Theme Directory including ResponsiveBoat and Zerius.

  • 19. Unite

    unite-theme

    Wedding sites are a booming niche as more and more of the planning surrounding the big day moves online. Unite from Colorlib is a stylish, responsive WordPress wedding theme that includes WooCommerce support if you’re looking to take care of a gift list to boot.

    Unite is translation ready, optimized to integrate smoothly with popular plugins such as Contact Form 7 and Jetpack and offers easy customization of colors and graphic elements to match the look and feel of the wedding in question. Documentation covering the basics of installation and configuration is available online.

  • 20. Sparkling

    sparkling-theme

    Fans of material design will appreciate the effort that’s gone into making Sparkling fast, functional and eye-catching.

    The flat design of Sparkling lends itself to all manner of sites and would work equally well on portfolio, blog or magazine implementations. The theme is compatible with WooCommerce and integrates well with other leading plugins such as Gravity Forms, Contact Form 7, W3 Total Cache, WPML, bbPress and many more.

    You’ll find dozens of options available to tweak via the Customizer in this Bootstrap-based theme, many of which are detailed in the online documentation.

  • 21. Catch Base

    catch-base-theme

    Catch Base from Catch Themes gives you a clean responsive base from which to build out your own designs. Customization via the Customizer is straightforward and a number of free child themes such as Clean Journal and Catch Adaptive show the range of uses it can be put to.

  • 22. Storefront

    storefront-theme

    If you’re looking for a stylish and performant free theme for your WooCommerce site, why not go straight to the source? The Storefront theme from WooThemes offers you bulletproof WooCommerce integration and a hefty degree of future-proofing when it comes to worrying about future updates of the e-commerce plugin.

    Storefront is based on Automattic’s Underscores starter theme and ships with a flexible, nestable grid system and Schema markup for enhanced SEO.

    Storefront takes being lightweight seriously and deliberately excludes any extraneous shortcodes, sliders, or page builders so you can be sure you’re getting a stripped down set of carefully considered options that just work right out of the gate.

  • 23. Underscores

    underscores-theme

    As referenced above, Underscores is well worth a look in its own right if you’re after a solidly designed starter theme with very little additional cruft to bog you down.

    If you’re choosing Underscores as a starter theme, you’ll benefit from its strict adherence to WordPress standards and lessons learned by the Automattic team in putting together themes that have to perform for literally millions of users across WordPress.com.

    This is one where you’ll have to roll up your sleeves and dive into the code to bend it to your will, but the effort is more than worth it – the majority of free and premium themes developed by Automattic in the last couple of years have Underscores at their base somewhere.

    Check out the 1000-hour head start tutorial for first steps and WP Tavern’s interview with Konstantin Obenland for more background information.

  • 24. Fashionistas

    fashionista

    Fashionistas is a straightforward, Bootstrap-based, stylish theme perfect for getting a fashion blog up and running in record time.Clean typography, Google Font support, easy customization, and five custom widgets (including options for Flickr and tabbed content) combine to give you all you need to make a mark in the world of

    Clean typography, Google Font support, easy customization, and five custom widgets (including options for Flickr and tabbed content) combine to give you all you need to quickly make a mark in the world of haute couture.

  • 25. Pure & Simple

    pure-and-simple-theme

    Pure & Simple from Styled Themes lives up to its name and provides a good-looking, clean, responsive theme with plenty of room for customization.

    Multiple page templates and blog layouts, along with theme options that can be tweaked via the Customizer, put you in control without overwhelming you with options. The theme is also fully optimized for Jetpack to enable you to take advantage of wider functionality without hassle.

    Extensive setup tutorials are online to get you up and running and a premium version of the theme (including support for bbPress and WooCommerce) is available for $39.

  • 26. Forever

    forever-theme

    Forever is another Automattic production and is targeted at the wedding site niche. A clean bold design gives you more than enough room to showcase the key elements of the big day without drowning in detail, and you can easily take advantage of custom headers to make the design your own.

  • 27. Spacious

    spacious-theme

    The Spacious theme from ThemeGrill is a multi-purpose responsive theme that keeps the look and feel of your pages lightweight and pleasing to the eye while offering a lot of flexibility behind the scenes.

    Spacious ships with four layouts, two extra templates for business sites and contact pages, and five custom widgets aimed at commercial sites. The online demo will give you an excellent overview of how these play out in a live setting and cleanly laid out documentation is there to walk you through first steps.

    A pro version of the theme with support for WooCommerce and WPML is also available for $55.

  • 28. Hueman

    hueman-theme

    Hueman is a slick, responsive theme from Alexander Agnarson that’s perfect for blogs and magazines. Flexible layout options enable you to easily experiment with sidebar and widget options and the theme shapes up particularly well on retina screens.

    Hueman is well set up for child theming and the integrated OptionTree plugin makes setting your options a breeze.

  • 29. Customizr

    customizr-theme

    Customizr is an incredibly popular free, responsive theme that’s flexible enough to be put into service on a blog, e-commerce, magazine or small business site.

    With over a million downloads, 100,000+ active installs, and a consistent five-star rating, you can be pretty sure you’re in good hands with this excellently supported theme.

    As befits its name, you can customize over 130 options directly via the Customizer and more advanced tinkering is possible via the Hooks API. Customizr plays nicely with WooCommerce, bbPress, Jetpack and many other popular plugins and provides comprehensive online documentation.

    A pro version of the theme is also available with pricing starting at $44.95 for a single site license.

  • 30. Responsive

    responsive-theme

    CyberChimps are known for their range of high-quality premium themes, but they’ve also got a number of excellent free themes available for download with the pithily named Responsive near the top of the list.

    Responsive gives you a flexible and lightweight foundation to build out any type of site on top of, and includes nine page templates, 11 widget areas, and four menu positions for you to play with. The theme works smoothly with WPML, WooCommerce and most leading plugins and a premium version with more advanced built-in customization options is also available.

  • 31. Fruitful

    fruitful

    The Fruitful theme from Fruitful Code is a classic combination of simplicity, elegance and power. You’ve got a custom theme options panel to fly through most configuration options, full support for all WordPress 4.0 post formats, and a generally clean and crisp look and feel that works across a multitude of site types.

    Fruitful has already been translated to Spanish, German and Russian and also integrates nicely with WooCommerce, BuddyPress, WPML, and Contact Form 7. You can get more of a feel for the possibilities by browsing the online documentation and live sample sites.

  • 32. Graphy

    graphy-theme

    Graphy by Takao Utsumi is another one for the typographic purists and gives writers of all genres a stylish and fully functional base to showcase their words.

    Graphy is based on Underscores, supports translation and is already translated into Japanese, German, French, Portugese and Swedish. You’re free to perform basic customization via the Customizer, add custom headers, and integrate with popular plugins such as Jetpack and Contact Form 7.

  • 33. Auberge

    auberge-theme

    Our final theme Auberge takes some stylistic cues from the likes of Squarespace and serves up a fresh responsive helping of design goodness that’s perfect for restaurants and food-related websites across the board.

    The theme is set up to integrate well with the popular Beaver Builder page layout plugin and also works nicely with Jetpack so you’ve got a range of wider functionality to lean on when dialing in your designs.

    Auberge is another popular theme that’s based on Underscores under the hood and is excellently documented. It’s a solid, lightweight theme that looks great across all devices by default, but that leaves you plenty of room to customize.

    A premium upgrade at $39 unlocks WPML support and options for stylishly integrating recipes into your site.

We’d love to get your take on the latest options out there. Are there stunning lightweight themes we’ve missed? Get in touch via the comments and let us know!

How to Use FTP Properly with WordPress

$
0
0

File Transfer Protocol, or FTP, provides a fast and easy way to transfer files to and from your WordPress site.

In the early days of web development, FTP was the main means of interacting with the backend of your site and uploading content. Since then, however, WordPress has simplified the process of setting up and managing a website, allowing you to upload content directly via your browser, and using FTP has become less of a necessity.

But should you write it off? Not just yet.

There are still many reasons why you might need to use FTP (or File Transfer Protocol Secure, FTPS). Whether you need to upload large files to your site or even delete them ,or change file and directory permissions, knowing how to use FTP properly is a handy skill to have up your sleeve.

In this post, I’ll show you how to use FTP with WordPress and how to get around some of the common problems you may encounter along the way.

Setting Up and Using FTP

In order to transfer files to and from your server, you first need to download and install an FTP client onto your computer. There are a number of different clients available and no real right answer when it comes to choosing. It all depends on your operating system and which one you’re most comfortable using.

These are all FTP clients you can download and use today:

  • FileZilla – Free and open source for all platforms. FileZilla is definitely the most popular solution.
  • SmartFTP – An FTP client for Windows users only. It also comes with a price tag of either $60 or $120 depending on the version you want. There is a free trial available.
  • WinSCP – A free and open source option, but only for Windows users.
  • Macfusion – This is a free FTP client for Mac OS X users only and you must also have Google’s MacFUSE installed to use it.
  • LFTP – This FTP client works for Linux systems and it’s also free.
  • FireFTP – It’s free, but only works with FireFox. Outside this requirement, you can use it with any OS.
  • Cyberduck – Available for Mac and Windows and it’s also free and open source.
  • Core FTP – This is a free FTP client, but for Windows OS only. There’s also a premium version with more features available.
  • Free FTP – You likely already assumed by the name of this client that’s it’s free to use and you would assume correctly, though, it’s only available on Windows systems.
  • Transmit – It’s available for Mac OS X and while there is a free trial available, the full version comes at a cost of $34.

There are other clients out there, but I omitted many from the list simply because they are no longer updated or maintained. While many are still solid and usable, you’re ultimately using them at your own risk.

When you have picked a client and have it installed, it’s time to fire it up and enter your server details.

No matter the FTP, here’s the information you need:

  • IP Address – Your dedicated IP address or if you don’t have one, the regular IP address for your site.
  • FTP Account username and password – If you don’t already have an FTP account, you need to set one up.

Every hosting company is a little bit different so if none of the tips here are helpful for finding out where you can access this information, it’s best to ask your hosting provider and they can provide you with the best answer.

The "Expand Stats" link is highlighted in cPanel after logging in.
Expand the list of account stats if it’s not already displayed.

In cPanel, you can find your IP address after you have logged in. It’s listed on the left-hand side.

This is where you should find your IP address to log into your server from your chosen FTP client. But before you try logging in, you need to be sure to have your FTP account details handy.

On this page, click on Files > FTP Accounts and check to see if you already have a username listed under FTP Accounts.

If you do, you have everything you need to start transferring files. If not, you need to create a new account with the form at the top of the page.

New FTP account form is filled out.
It’s paramount that you enter a very strong password when creating an account to help keep your site secure.

Enter your desired username, password and be sure to select the correct directory. If your goal is to transfer files to install WordPress, for example, you need to choose the root of your site’s files in this section.

If you just want to add files to a specific folder, you can select it here, although, you can also select that specific folder once you have accessed your server through your FTP client so it’s not entirely necessary to be specific in this Directory field.

You can also select the Unlimited radio button under Quota to ensure you can transfer all the files you need without being interrupted, but keep in mind that the number of files you transfer is counted against your available bandwidth transfer limit that is a part of your hosting plan. If you reach this limit, your hosting provider could decide to shut your site down until you upgrade or until the next pay period begins.

You can check your limit in cPanel on the left-hand side on the homepage where you found your IP address. It’s listed under Monthly Bandwidth Transfer and you can see how much you have used of your limit there.

If you have a strict limit that you don’t want to surpass, you can choose to enter an amount in megabytes under Quota instead when filling out the form to create an FTP account.

Don’t forget to click the Create FTP Account button at the bottom of the form to ensure your account is created. Once that’s done, you’re ready to use your FTP client.

When you open FileZilla, for example, you can choose to quickly connect to your server without entering any custom settings.

The username, password and port fields are filled out in the main screen of FileZilla.
You can choose the Quick Connect option in FileZilla or you can enter custom settings.

Enter in the following information which you have just collected:

  • Host – Your site’s IP address or dedicated IP address
  • Username – This is the name you entered for your new FTP account. Be sure to enter the full username that’s listed in cPanel. For example, enter username@your-site.com if that’s what’s listed or else it could result in a login error.
  • Password – This is the one you entered when you created your FTP account.
  • Port – Typically, you can simply use the default which is 21. If you get an error, ask your hosting provider which port is best for you to use.
A successful connection message in FileZilla.
You should see a message stating “directory listing successful” on a completed connection.

When these values are entered in, click the Quick Connect button and you’re on your way. If you are connected successfully, you should see a message appear in the area below the login form.

If you have an SSL certificate installed on your server, you may see a pop-up suddenly displayed asking you to accept the certificate.

Look over the information that’s listed. If your SSL certificate is listed, the information looks correct and you trust the certificate, go ahead and click OK to continue connecting.

If you run into errors, check out on of our other articles detailing fixes for common FTP problems.

You can also choose to add custom settings to your connection, especially if you see errors pop up while trying to establish a connection. To do this, go to File > Site Manager and click the New Site button toward the bottom of the pop-up that displays.

The new site settings pop-up in FileZilla.
If you aren’t able to connect and you know your login credentials are correct, try adding a new site instead of the quick connect method.

From this dialog box, you can choose to connect in different ways such as options if you don’t have an SSL certificate installed on your server. You can find this setting under the Encryption drop down box. There are also many other options here that may come in handy depending on your situation.

It may also be important to note that if you’re having difficulties connecting, it may be an issue with your SSL certificate. FileZilla has switched their default settings to FTPS instead of FTP. This means that FileZilla assumes you have an SSL certificate installed on your server and tries to establish a connection with it. If you don’t have an SSL certificate installed or it’s not configured properly, it results in an error.

To fix or test if this is the issue, try connecting using the option Site Manager > Encryption > Only use plain FTP (insecure). If you can successfully connect, then you likely have an issue with your SSL certificate being accepted or you don’t have one installed.

If you find that this is the case, contact your SSL certificate issuer since they are equipped to help you in these kinds of situations. Otherwise, install an SSL certificate or keep the plain FTP option intact.

Once you have entered all your desired settings, click the Connect button at the bottom of the pop-up to start establishing your new connection.

If you still run into problems and you see error codes even after trying the suggestions in one of our other posts 3 Common FTP Upload Errors and How to Fix Them, check with your FTP client’s documentation or ask them for support if you can’t find a resolution.

How to Transfer Files

Now that you’re connected, you’re ready to transfer your desired files. This is also step four in WordPress’ Famous Five-Minute Install.

You should see several different areas in FileZilla. On the left is the Local site section and on the right is your Remote Site.

Sections in the FileZilla client.
Understanding the FTP client layout is the key to knowing how to transfer files.

The first box under the message area shows you all the folders currently on your computer. When you click on them, the box directly below it populates with all the files and folders currently inside the selection you made.

This same principle applies to the remote site box on the right, underneath the message area. It shows the current main folders on your server. When you click on them, the box directly below it should populate with its containing files and folders. If this doesn’t happen, you may not be properly connected.

At the bottom of the window is the transfer queue with the status of your pending transfers.

All you need to do to start transferring files and folders is to select (or bulk select) your desired files and folders from the left side of the client, then click, drag and drop them to the remote site section on the right.

Selected files are clicked, dragged and dropped from the lower local site section on the left to the lower remote site section on the right of the FileZilla client.
Transferring files with FTP is easy.

You can click, drag and drop files and folders form either top or bottom box on the left or right to the other side. This means you can upload files to your server by dropping files to the remote site side on the right or download files to your computer from your server by dropping files to the left.

On the very bottom of the window, there are also a few tabs displayed: Queued files, Failed transfers and Successful transfers. The first tab is the default and shows all your current processes. The last tab displays all your files and folders that are completed and the Failed transfers tab shows you a list of – you guessed it – all your files and folders that weren’t transferred.

If you see a number displayed after the Failed transfers label, that means that there are that many of your files that have not been transferred. You can place them back in the queue by selecting that tab, right-clicking on a file name for Windows or click and pressing the command key for Mac OS X and selecting the option Reset and requeue all.

If all your files are successfully transferred, you’re done. Your selected files and folders are now on your server.

Bulk Uploading Media Files with FTP

Transferring your files and folders seems easy enough, but things get a little bit tricky if you try and transfer files to your wp-content/uploads/ folder. You may notice that any files you transfer there via FTP don’t show up in your media folder. What gives?

Unfortunately, when you transfer files this way, the media library doesn’t register your files. WordPress just doesn’t recognize files that aren’t uploaded from the dashboard through the media library or through the Add Media button when creating a post or page.

Fortunately, there is a quick and easy solution and that’s to use the Add from Server plugin. It’s updated regularly and works on both single and Multisite installations. For networks, this plugin can be network activated. In either case, this plugin can be accessed through Media > Add from Server in the dashboard.

Once you have added your files to the uploads folder, click on that directory from the list to access a list of the unregistered files you uploaded. This plugin also lets you register files that you have uploaded to any folder in your WordPress install which is a bonus.

The main page of the Add from Server plugin.
Click on the directory in the list to find the files you uploaded via FTP.

You can also click one of the Quick Jump links toward the top of the page to access common folders a lot faster.

Once you find your files, check the boxes for all the ones you want to register or check the box next to File to select all of them, then click the Import button at the bottom of the list.

The "File" checkbox has been clicked and the Import button is highlighted.
Click the files you want to add then import in a couple clicks.

It may take a while for the images or files to be processed, especially if you selected many images so don’t be alarmed and grab a quick break. You should come back to being greeted with a success message.

Now you can check out your media library. Your images should be listed and ready for you to use.

Keeping Your Connection Safe

I would be remiss if I didn’t mention how to keep your server and your site when using FTP because there are some risks that can, fortunately, be avoided.

If you don’t have an SSL certificate installed on your server which means you’re using FTP instead of FTPS, it’s much less secure to say the least and your connection could be hijacked by hackers. Your files and all the information stored on your site and server including usernames, passwords, email addresses and all other personal information is at risk and could be stolen.

If you’re using shared hosting, your site is most likely protected since your hosting provider is responsible for your server’s security, but if you have a VPS or dedicated server, you are solely responsible for your site and server’s security. If you have your own server and you haven’t installed an SSL certificate, your site and server is at risk every time you use FTP.

While having an SSL certificate isn’t the only security measure you should take, it definitely is an important step I recommend you take. If you would like to peruse some more details on SSL certificates and how to purchase and install one, check out one of or other posts called How to Use SSL and HTTPS with WordPress.

It’s also important to delete the FTP account you created when you’re done uploading or downloading files since this information can also be vulnerable. Hackers could potentially get a hold of this information and upload or download files at their leisure.

Some hosting companies automatically delete FTP accounts after a certain period of time, but if this isn’t a service available to you, then don’t forget to manually delete the account when you’re done.

To do this in cPanel, go to Files > FTP Accounts and click the Delete link next to your listed login information.

The delete link is highlighted and listed beside an FTP account.
Don’t forget to delete your FTP account when you’re done.

Next, select either the Delete Account button to delete your FTP account and keep the files in that directory or click the Delete Account and Files button to trash your account and files.

Keep in mind that if your FTP account is attached to a main folder such as the root of your site, all files in that directory are deleted if you choose to delete your account and files. In such as case, this means you could delete all your site’s files so when in doubt, just click the Delete Account button.

When you want to transfer some files again, just create a new account, then delete it again when you’re done.

Wrapping Up

Now you’re all set and ready to start using FTP and FTPS to make transferring files to your WordPress site a piece of cake. You can even register uploaded files that normally wouldn’t be included in the media library.

Transferring some files is one thing, but transferring an entire site can be a bit tricky so if you need to migrate your site check out a couple of our other posts: Migrating WordPress (And Multisite!) to a New Server and Moving Multisite to a New Domain (Without Errors!).

Do you often transfer files via FTP or FTPS? What method or client is your favorite? Do you use any other plugins or FTP client to assist you in transferring files? Share your experience in the comments below.


4 Top WordPress Multisite Backup Solutions Tested and Reviewed

$
0
0

Is your Multisite install ready if – and when – disaster hits? Many aren’t, but there’s one thing you can do right now to minimize your network’s recovery time in the event of a natural – or unnatural – disaster (I’m looking at you, hackers!).

When you make regular backups, you can quickly replace any broken or hacked sites with a previous copy that’s unaffected. The trouble is, creating backups manually can be time-consuming and easily forgotten about and not all options available are necessarily network-ready.

We field a lot of questions in our forums and on the blog about backup solutions for Multisite, so to help you out I’ve reviewed the best premium options for you and laid out each of their strengths and points of improvement.

Let’s get started.

Comparing Multisite Backup Plugins

Deciding which backup plugin is right for you isn’t an easy task since there are many great options available, but each one has their particular strengths, which is why I have compared the top four Multisite backup plugins in five categories: ease of use, speed and accuracy, backup quality, restoring power, and price.

In rating the plugin below, I’ve taken into consideration how easy they are to use out-of-the-box, whether backups and restores are produced at top speeds without missing or corrupting files, if full backups of files and database tables – including custom ones – are produced without errors, whether restoring options are available and can be successfully applied with ease, and if the price is reasonable for the number of features and the quality you get for your money.

These features are all important when considering an automated backup service, and a suitable restore option is no exception. Many people don’t realize that restoring is just as important as backing up, as Rachel McCollin pointed out on our blog in a recent post. Each plugin is activated as a super admin and can’t be accessed by individual sites. There are also varying degrees of backup features so it’s important to explore each feature thoroughly.

I have investigated these plugins and searched their nooks and crannies to help you best understand where these plugins excel. When you have identified which features are most important to you, check out the corresponding ratings for these plugins so you can pick the best solution for your network.

VaultPress

VaultPress plugin

WPMU DEV Rating

2.6/5

The Good

  • You can restore to a live or test site
  • There's a one-click restore option
  • Easy to navigate in the dashboard

The Bad

  • Only backs up common files for Multisite networks
  • Each site needs its own subscription to run the plugin network-wide
  • The monthly subscription is per-site so it can potentially get very expensive

Our Verdict

  • Ease of Use: 5/5
  • Speed and Accuracy: 2.5/5
  • Backup Quality: 1.5/5
  • Restoring Power: 1.5/5
  • Price: 2.5/5
  • Overall: 2.6/5

The Bottom Line

VaultPress is a trusted name for backing up your WordPress site, especially since it's built and maintained by Automattic, the team behind WordPress.com. While it has speedy backups and recoveries, when it comes to a Multisite network, not everything can be backed up, which means you could be left to fend for yourself if you find you need to restore your site.

VaultPress Reviewed

Ease of Use

In the backend of VaultPress, it’s definitely as quick to get around as it is easy on the eyes. All of the settings are laid out nicely and are easy to understand. Creating backups and restoring sites in your network is fairly simple and straightforward.

Speed and Accuracy

The main issue with VaultPress, for Multisite specifically, is that not all files and database tables are backed up – only the common files and data that come with a fresh install of Multisite can be backed up, which means no matter what you do you won’t ever be able to backup and restore any site in your network with VaultPress for Multisite.

In some cases, this may actually be a benefit. For example, if you have a demo site to showcase themes or plugins you designed, you wouldn’t want any user-submitted changes saved. It’s not as ideal for situations where you need to backup posts, pages, comments and other similar pieces of your network.

Beyond that, backing up and restoring is fast – but that’s probably because everything in your network isn’t included in the backup.

Backup Quality

Assuming you only need to back up inherent Multisite files, VaultPress saves a history of your backups so you can choose exactly which one you want to restore. There is also a scheduling feature available so you can automatically backup sites in your network on a daily basis.

For the Basic package of VaultPress – without the security features included in a separate kind of subscription – there’s also an included option, which allows you to see what is being backed up in real-time to give you a first-hand glimpse of your backup’s progress.

For the main site in your network, user tables, plugins and themes are included in the backup, but just not for any sub-sites in the network.

Restoring Power

With the FTP or SSH connection details you provide on the settings page beforehand, you can restore a site in just one click. You also have the option of restoring to a live or test site. You aren’t limited to restoring to the same site that was backed up, although, options to that end are a bit limited.

Price

With a Multisite installation, each site in the network needs to have its own subscription to run VaultPress, which can be limiting to some. Support is included in each package and the price for VaultPress Lite is $5 per month or $55 per year. For a couple extra features, including unlimited backup archive and real-time backups, the VaultPress Basic package can be a great option for $15 per month or $165 per year.

It’s also worth keeping in mind that VaultPress offers other plans that include security features in case you’re looking to reduce the numbers of plugins you use in your network.


Snapshot Pro

SnapShot plugin

WPMU DEV Rating

4.5/5

The Good

  • Backups are incredibly flexible
  • One-click restores available for each site in a network
  • You can migrate sites with this plugin

The Bad

  • Has less off-site saving options than some of the other options
  • It's potentially the most expensive option based on price alone
  • Included plugins and themes must be installed and activated on the site before restoring

Our Verdict

  • Ease of Use: 4.5/5
  • Speed and Accuracy: 4.5/5
  • Backup Quality: 5/5
  • Restoring Power: 5/5
  • Price: 3.5/5
  • Overall: 4.5/5

The Bottom Line

SnapShot has one-click backups and restores and also gives you many advanced options that the other plugins just don't have to ensure your network stays safe, but also to help make scaling a breeze since Snapshot can handle large networks. If your network grows, backing up and restoring won't have to be an issue.

Backups and restores also don't exhaust your server's resources since there are advanced settings for this, too. It may not have as many off-site locations for storing your backups as other plugins, but you can also migrate sites, scheduling backups are flexible and one subscription works on an unlimited number of sites and also gives you access to well over 100 additional plugins and themes. The number of settings can get overwhelming, but they also provide the most features out of all the plugins listed here.

Snapshot Pro

Ease of Use

It can be tricky to figure it out at first since there are quite a few advanced settings, but first time Snapshot users are guided through the settings to help you get your head around how it works. You can use this plugin out-of-the-box and save your backups to your web server, but for larger sites and networks it’s best to err on the side of caution and go through the settings fully before creating your first backup.

There’s also a guide to backing up with Snapshot available to make the process that much easier.

Speed and Accuracy

Backing up and restoring with Snapshot can take longer than the other plugins in this review because you are directed to a page that shows you what’s being backed up or restored in real-time. There’s also an Abort button that appears beside each item as it’s being processed so you can choose to cancel an item when you realize after the fact that you don’t need it. Since the plugin gives you a few seconds to cancel items, this also means backing up and restoring takes a bit of extra time and it’s typical for the process to take a few minutes and possibly longer for larger networks.

You can backup and restore sites seamlessly in one click and an added feature of site migration has also been recently added, though you need to have the same plugins and themes installed and activated on the site where you want to apply a restore to finish the site migration process.

Since you can migrate sites for multiple different situations, you aren’t limited to only network-wide migrations, which is one of the major differences between this plugin and others on this list. This does mean there are additional settings to work with as a result, but we’ve got a handy guide, How to Backup Your WordPress Website (and Multisite) Using Snapshot, that shows you the ins and out of how to use it.

Backup Quality

Backing up with Snapshot is incredibly flexible. You can backup to your web server, email, Dropbox, Amazon S3, FTP, SFTP and Google Drive. You can choose to schedule backups multiple times a day as often as every five minutes for busier networks, which isn’t possible at all with the other plugins. Once you create your snapshot profiles for each of the sites in your network, you can set them all to backup whenever you want, although you can only set up one site to be backed up per snapshot profile. Even still, you can choose to backup everything or just select files and tables.

Snapshot also has the capability to adjust your php5.ini file and segment the backup to reduce server load and help eliminate timeouts. You can choose how many backups you want to keep at a time so older ones are deleted automatically in order to save on space. You won’t ever have to worry about being overrun with backups and running out of space in the cloud.

Restoring Power

You can restore a site in one click and cancel items as you would with backups. As long as you create a snapshot profile to backup an entire site in the network, it can be fully restored. It couldn’t be easier.

Price

With a WPMU DEVsubscription, you can backup and restore unlimited sites and you also get access to all other plugins and themes. Support and updates are also included. A subscription is $49.50 for the first month, then $99 there after. The monthly price also goes down if you switch to a quarterly or yearly package.


BackWPup Pro

BackWPup Pro plugin

WPMU DEV Rating

3.7/5

The Good

  • Backups are incredibly fast
  • You can backup sites in your network right out-of-the-box
  • There are many off-site integrated locations available to save your backups

The Bad

  • Restore options aren't included at all
  • No frills plugin without many enhanced capabilities compared to others
  • Price is quite high when you consider other plugins have more features at a comparable price

Our Verdict

  • Ease of Use: 4.5/5
  • Speed and Accuracy: 5/5
  • Backup Quality: 5/5
  • Restoring Power: 0.5/5
  • Price: 3.5/5
  • Overall: 3.7/5

The Bottom Line

With BackWPup Pro, you can easily and quickly backup your entire network all in one go, but recovering sites is completely up to you since this plugin does not include any options for restoring. Backups are lightning fast for smaller networks, but are still fast for larger ones. It's a solid plugin with standard features that fit the needs of most, but when it comes to value, the price point is on the higher end if you consider some of the other plugins on this list include a much more impressive feature-set.

BackWPup Pro

Ease of Use

The main page of the BackWPup Pro plugin offers quick suggestions on how to get started with the plugin, which makes it easier to set everything up. You can create a backup out-of-the-box, but your backup could be reduced in quality if you choose this option since the settings have options to reduce the load on your server. They also offer different backup locations and other important settings that, if missed, could cause you to create a backup without the specific files and tables you need, hor example.

Speed and Accuracy

Backups are incredibly fast, even with multiple sites and tables. You can backup your database only in one click, but this can also be an Achilles heal to less experienced users since only backing up your database isn’t enough. This can potentially cause accuracy issues and could result in a backup that doesn’t restore everything. This is why it’s important to go through the settings properly to avoid restoring issues.

Backup Quality

All files and tables in a network, including all sites, can be selected for backup at once, which can speed up the process. As long as you select all the applicable files and tables, you can restore your site and network without issue, otherwise errors could be a result.

You also have the option to schedule and create differential backups as well as import settings that you have saved for BackWPup Pro.

Options to save your backups include to your web server, through email, FTP, Sugarsync, Rackspace, Dropbox, Amazon S3, Microsoft Azure, Google Drive and Amazon Glacier.

Restoring Power

BackWPup doesn’t have any automatic restoring options whatsoever. If being able to restore your sites quickly is an important feature for you, then this plugin isn’t for you as you can only restore manually.

Price

For one site, including updates and support, the subscription is $75 per year and $45 per year starting at the second year. For five sites, a subscription is $95 per year and $55 a year after that. For a subscription that includes ten sites, the cost is $190 per year and $110 per year thereafter. If you develop and maintain more than ten sites, you would need to purchase multiple subscriptions.


UpdraftPlus Premium

UpdraftPlus Premium plugin

WPMU DEV Rating

4.2/5

The Good

  • You can backup everything, including plugin, theme and custom files, and tables
  • The price point is the lowest of all plugins on the list
  • Creating a new site in the network from a backup is possible

The Bad

  • Can restore only one sub-site at a time
  • Out-of-the-box, your backups could be affected in ways you don't want
  • It can be difficult to navigate all the settings and find what you need

Our Verdict

  • Ease of Use: 3/5
  • Speed and Accuracy: 5/5
  • Backup Quality: 5/5
  • Restoring Power: 3.5/5
  • Price: 4.5/5
  • Overall: 4.2/5

The Bottom Line

UpdraftPlus Premium provides solid, full backups at one of the lowest price points available. There are many off-site storage locations available, along with a couple extra features thrown in to add more value such as site migration and in-house cloud storage, though, these benefits don't come without a few technical limitations. If you run this plugin out-of-the-box, it could affect your backup negatively and there are some features that aren't best-suited for high volume networks.

UpdraftPlus Premium

Ease of Use

There are so many settings to go though that it can be difficult to wrap your head around all of them if you’re not prepared. While a lot of the settings are easy enough to understand, there are some worth reading up on in the documentation to make sure you get them right, if only to avoid unwanted errors. The settings are laid out well enough that it’s easy to navigate once you get a handle on how to understand them, but it’s way too easy to miss many important options.

Similar to other plugins in this list, backups can be completed out-of-the-box, but you really shouldn’t since you could include or miss unwanted files and data, not to mention other settings that could cause errors when restoring a site. For smaller Multisite installations, this may not be noticable, but larger networks could find errors or timeouts appear if the settings aren’t selected carefully.

Speed and Accuracy

UpdraftPlus Premium is lightning fast. Each site in your network typically takes only a few seconds to backup and missing files are commonly not an issue. Restoring your site is just as fast.

Backup Quality

You can use this plugin to backup everything in each site in your network including plugin, theme and custom files and tables. For older versions of WordPress, your mu-plugins folder is backed up separately to match how WordPress stores it independent from the uploads folder.

Backups can only be created for one site at a time, but you can backup your site in any time frame you choose, though, the settings are tucked away.

Restoring Power

Similar to creating backups, you can only restore a site in your network one at a time. You do have the option of creating a new site in your network and restoring a backup to it for basic site migration, although, other types of migrations aren’t possible.

Price

For two sites, you can get a subscription for $70 per year. For 10 sites, the subscription runs at $95 per year and for unlimited sites, the cost is $145 per year. Each subscription includes support and updates. It’s certainly the lowest cost option and includes most of the options that a typical super admin would need, but for larger networks, it just won’t cut it.

That being said, UpdraftPlus Premium has the most integrated locations available to save your backups including on your web server, through email, WebDAV, OneDrive, Copy.com, DFTP, FTPS, SCP, Dropbox, Rackspace, Amazon S3, Google Drive and 1GB of storage in their own cloud solution called UpdraftPlus Vault.


Conclusion

Choosing the right backup plugin for your site can be challenging on its own when there are so many options out there, but choosing a backup plugin that’s also compatible with Multisite can be even trickier. With the best options compared by feature-set, you should have enough information to pick what suits your network’s needs.

Which Multisite backup plugin is the best of the best? Well, that’s really a matter of opinion. Since each network has its own individual requirements, there isn’t one single plugin that offers a one-size-fits-all solution. One plugin may work great for you, but may not be as ideal for other site admins. That’s why it’s important to decide which features are most important to you, then pick a plugin that’s strong in those categories.

Have you tried any of these Multisite backup plugins? How did they fair? Which plugin do you want to try next? Share your thoughts in the comments below.

Mass Managing Your WordPress Plugins With Pro Sites and Multisite Plugin Manager

$
0
0

Our Pro Sites plugin gives you the power to build the next Edublogs.org or WordPress.com with premium upgrades and subscriptions for your Multisite users. And when paired with Multisite Plugin Manager, you can take your network to the next level and mass manage your network’s plugins in a single click.

With these two plugins installed, you can choose which plugins should be included on every site and activate them on the spot. You can also toggle whether a particular plugin should no longer be free to all users and deactivate it on all sites, then set it as a premium upgrade.

This plugin combination also comes in handy if a plugin in your network is outdated and no longer maintained, giving you the power to mass deactivate it across all sites in your network to prevent any future issues.

In this post, we’ll look at Pro Sites and how you can use it with Multisite Plugin Manager to manage plugins that you want to include in your network as free or premium upgrades. I’ll also show you how you can mass activate and deactivate plugins in your network in one click.

What is Pro Sites?

If you’re new to Pro Sites and have never used it before, let’s catch you up on what this heavy duty plugin can do for your Multisite network.

Pro Sites is designed to make quick work of creating a tiered subscription service in your WordPress Multisite network. Users can sign up for a paid membership and have limits to their account’s capabilities until they upgrade to a bigger, better subscription level.

Pro Sites text
You can create the next WordPress.com with Pro Sites.

It’s also designed for heavy duty projects so you don’t have to worry about whether or not it can scale for your project.

It was first developed for Edublogs – our sister site – which is one of the largest, most profitable Multisite networks, and hosts over three million blogs including leading universities.

It’s also the plugin used on WPMU DEV to manage over 375,000 members. Even though Pro Sites can handle massive projects, you don’t need to have a huge blogging network planned to use Pro Sites. For example, you can integrate Events+ to create an events site where users need to upgrade their plan in order to post their concert, seminar or theater production.

You can also use our Jobs and Experts plugin with Pro Sites to create a membership site where businesses can upgrade their subscription to find and hire qualified professionals for their projects. Creating a classifieds site like Craigslist isn’t out of reach either. You can also install our Classifieds plugin to let members upgrade to post more ads.

If you want to create free and paid subscription plans for your network, then you’re only limited by your imagination and you can monetize your network with Pro Sites.

Example blue pricing table.
You can create pricing tables with Pro Sites.

It also integrates well with BuddyPress so you create a blogging network or social community. It’s packed with professional features without being bloated.

You can create stunning pricing tables and includes four major payment methods including PayPal Express, PayPal Pro, manual payments and Stripe.

There are many core features available to help grow your business and site:

  • Automates sign ups and subscriptions
  • Handles refunds and cancelations
  • Built-in advertising
  • Automated Email Notifications
  • Free Trials and Coupons
  • One-time setup fees and recurring subscriptions
  • Google Analytics Ecommerce Tracking
  • Front-end checkout
  • Unlimited free and paid access levels
  • Powerful statistics
  • Track subscriptions
  • Custom payment screens
  • Complete custom branding
  • Manual payments and subscription adjustments
  • Individual site modifications
  • Includes 24 currencies, EU VAT and Taxamo Integration
  • and nearly too many more features to count

Enhanced integration with Domain Mapping, Pretty Plugins and Multisite Theme Manager are included so you can really bring your network to the next level. There are also so many options when it comes to creating subscription plans and you can limit just about anything in order to sell it as a premium upgrade.

There are so many readily available options for you to include in one of your subscriptions such as:

  • Display ads or ad-free
  • BuddyPress group creation and messaging
  • Limit publishing and post types
  • Pay to blog
  • Post, page and upload quotas
  • Premium plugins and themes
  • Offer premium support
  • Upgrade admin menu links
  • Unfilter HTML
  • Post Throttling
  • Premium widgets
  • Restrict XML-RPC
  • Bulk upgrades
  • and tons more

Even though there are certain plugins that you won’t be able to include as an upgrade right out of the box, there’s a way around that.

Getting Started

Install and network activate Multisite Plugin Manager, then install and activate the Pro Sites plugin. Also, install any plugins you want to include as a premium upgrade, but don’t activate them network-wide.

For a complete guide to installing and activating plugins in WordPress Multisite, check out Installing WordPress Plugins and Activating WordPress Plugins Network-Wide.

Set up Pro Sites, along with your premium upgrades and subscriptions. You can check out Adding Premium Upgrades to Your Multisite Network with Pro Sites and the Pro Sites Usage page for details on how to get this done.

Go to Pro Sites > Modules in the super admin dashboard and be sure that the Premium Plugins option is not checked, then click Save Changes if you made an adjustment. This module is incompatible with Multisite Plugin Manager since you get the same options, plus more in the plugin manager.

Mass Managing Your Network’s Plugins

Now go to Plugins > Plugin Management in your super admin dashboard. Under the User Control column, select an option from the drop down boxes for each plugin you want to manage.

The "User Control" column
You can toggle access to plugins for your entire network.

When you’re done, click the Update Options button to save your changes.

Each option has a different use:

  • None – No one can activate or deactivate the plugin but the super admin
  • Pro Sites – The plugin is available for Pro Sites users only
  • All Users – All users have the option to activate or deactivate the plugin
  • Auto-Activate (All Users) – The plugin is automatically activated for all users for new sites

You can also activate or deactivate a plugin across all sites in the network at once. Click the Activate All link beside a listed plugin to activate the plugin on all sites and click the Deactivate All link to deactivate a listed plugin from all sites in the network.

Settings page
You can also mass activate and deactivate plugins in one click.

Now you can manage the plugins that are available for your subscriptions on the Pro Sites > Premium Plugins page.

Conclusion

Managing the plugins across your entire network can be a hassle, especially when you decide you no longer want to support a plugin and include it in your network. Now you know how to mass activate and decativate plugins across all sites to make managing your network quicker and easier.

For more tips on managing your network, check out one of our other posts Managing Multiple WordPress Sites: The Ultimate Guide.

How do you manage plugins in your network? How do you use Pro Sites or how would you want to use it for your network? Feel free to share your experience in the comments below.

Building Meetup.com with Events+ and Membership 2 Pro for WordPress

$
0
0

Creating a premium events site for your members, like Meetup.com, Ticketmaster or EventBrite, isn’t out of reach with WordPress – and is easily done when you pair our Events+ and Membership 2 Pro plugins.

Integrating these plugins allows you to create a site – or network – where visitors can sign up to view event information and buy tickets. You could even create a premium membership subscription for members who want to create their own events, and let free members upgrade to a premium subscription to access this feature.

In this article, I’ll walk you through how to create a member’s only events site on a single or Multisite installation. I’ll also go through our Events+ and Membership 2 Pro plugins in a bit more depth, and show you how to create free and premium memberships, how to limit features for free accounts, and how to make them available to premium members only.


The Events+ plugin
You can create and manage all your events with Events+.

What is Events+?

With Events+, you can create and manage events on your WordPress site and sell tickets for them, too.

You can also create stunning events pages that match your branding and seamlessly blend in with the look and feel of your site.

The events pages can be created with all the necessary details, plus much more:

  • Integrates with PayPal
  • One-click RSVP
  • Facebook and Twitter login
  • Display event attendee avatars
  • Compatible with any theme
  • Create recurring events
  • Auto-scheduling
  • Front page event editing
  • Countdown timer
  • Easy cancellations
  • Ability to set guest cap
  • Export events to iCal
  • Many WPMU DEV plugin integrations
  • BuddyPress integration
  • Social media sharing
  • many more cool features

You can share events on your single or Multisite install and update your visitors on what’s happening. You can even earn extra income by selling tickets.

The Membership 2 Pro plugin
Create a profitable membership site with Membership 2 Pro.

What is Membership 2 Pro?

With Membership 2 Pro you can build a scalable subscription-based membership site – and everything you need to run it is included.

You can create just about any kind of membership site you want with standard, free, guest, and drip content membership types.

You can limit the Read More section of posts, offer digital reading subscriptions just like the New York Times, or create a full-blown social media site.

There are tons of features that are included right out-of-the-box so you can build and manage your membership site with ease:

  • Built-in invoices
  • Automatic and manual page creation
  • Free trials
  • Coupon and invitation system
  • Place content behind a paywall
  • Taxamo for EU VAT regulations
  • Protect just about anything
  • Assign membership to user role
  • Shortcodes to protect content selections
  • Protect dashboard access
  • Integrates with BuddyPress and bbPress
  • Many WPMU DEV plugin integrations
  • Protect custom post types
  • Even protect shortcodes and URLs
  • Pro-rate accounts upon upgrading
  • More features than Batman’s utility belt

Membership 2 Pro is great on its own for limiting any content you want to certain members, but when you integrate Events+, you can create a complete solution for a premium events site.

Getting Started

First, install and activate the Events+ and Membership 2 Pro plugins. You can install them on a single site, network-wide or site-by-site in your network. It all depends on the setup you’re trying to achieve.

For more details on how to install and activate plugins in WordPress, check out our guides Installing WordPress Plugins and Activating WordPress Plugins Network Wide.

Configure your memberships and set up the ones you need for your site. For details on how to do this, check out Build an Online Community With WordPress and Membership 2 Pro.

You can create both free and premium memberships and limit creating events to premium members only while allowing both types of accounts to purchase tickets. You can also add other premium features as you see fit.

It all starts with setting up the Events+ plugin.

Setting Up Events+

Go to Events > Settings in your admin dashboard and enter the slug where you want events displayed. For example, if you enter concerts, new events will be displayed at www.your-site.com/concerts/new-concert and if you were to go to www.your-site.com/concerts, you would see an archived list of all the events that have been created to date.

The plugin settings page for Events+.
Enter the slug where you want your events to be located.

Also, check the first box so you can accept payments and, depending on your needs, check the boxes to enable Facebook and Twitter logins as well as public RSVPs. If you enable this last option, members can click a button to let you or the event organizer know whether they are or aren’t able to attend the event.

When you’re happy with your selections, click Save Changes at the bottom of the page, then go to the next menu item to enter the appearance settings where you can choose an optional style template. If you chose to allow Facebook and Twitter logins, you can enter the API settings for those social media sites on the API Settings tab.

You can get more information on setting up this plugin by checking out the Events+ plugin’s usage guide.

Next, enter your PayPal email address on the Payment Settings page to be able to accept ticket payments. You can also integrate the MarketPress eCommerce plugin to be able to access many more payment gateways.

If you want your members to be able to get event tickets for free when they sign up for a free or premium account, you can skip the payment settings.

The Add-ons tab with the "Capabilities" add-on activated and highlighted.
You can activate many of the over 40 add-ons.

Now, go to the Add-ons tab and activate the Capabilities and Front-End Editing extensions. Keep in mind that both of these add-ons are optional.

The Capabilities add-on lets you edit the default WordPress user roles to include access to event features.

The Front-end editing add-on provides the option of creating and editing events on the front-end, rather than in the dashboard.

You can edit the user roles through the Capabilities add-on or through Membership 2 Pro so choosing which method you use to manage your membership features all depends on how you want your members to access the features you enable, how you want to organize the back-end, and where you are most comfortable managing these features in the future. No matter which option you choose, the end result should be similar.

You can also enable the Events Maps Options add-on to display maps for events if you also install and activate our Google Maps plugin. There are many more add-ons for you to choose from as well that majorly extend the functionality of Events+, so don’t be too quick to pass them over without taking a good look first.

Next, go to Events > Shortcodes to see the list of available shortcodes and options you can use on your posts or pages or anywhere else they can fit with your site’s design. For example, you could use the [eab_calendar] shortcode on a page you create to display a calendar of all the current events that are open to selling or reserving tickets.

When you’re happy with the settings you’ve entered, you can use the Membership 2 Pro settings to protect the event pages and anything else you would like by protecting the URL or by making use of the other protection settings. If you’re not sure how to do this, you can check out the Membership 2 Pro usage guide.

Adjusting Member Capabilities

When you’ve protected all the content you need for your specific situation, you can change the user roles for your memberships so that only premium users can create events. There are also three ways you can accomplish this so you can go ahead and choose the method that works best for your site.

1. Editing Capabilities in Events+

Enable the Capabilities add-on under Events > Settings > Add-ons if you haven’t already and click the new Event Capabilities tab that’s displayed. Choose the role you want to edit to reveal a list of options.

Event capabilities settings page
You can edit user role capabilities to include event features.

The subscriber role is the default role that’s given to members when they sign up so you could keep the settings as-is without adding additional capabilities. Instead, you could add features to the contributor role since the default settings aren’t set as high as editors or administrators. though, it’s up to you and what you need for your site.

There’s also a checkbox toward the bottom of the page to restrict the media files to the author only and you can check it if you want to let only the person who uploaded event media to be able to use and edit the content.

When you’re done making your selections, click the Save Changes button on the bottom right and go to Membership 2 > Add-ons. Find the Member Capabilities add-on and click the toggle button to enable it.

Then, go to Membership 2 > Protection Rules > User Roles and hover over the user role you edited in the Events+ settings. Click the Modify Access link that appears, then select the membership level you want to apply to the adjusted user role.

The "User Roles" tab in the Membership 2 settings.
You can choose a user role to be applied to a membership of your choice.

Your changes are saved automatically and once completed, all visitors who sign up for the membership you selected should be assigned the user role you picked. This means that these members have access to the events features you selected for the user role you edited.

If you prefer to keep all the user role settings in one place, you can adjust them all within the Membership 2 Pro plugin settings.

2. Adjusting Capabilities with Membership 2

Instead of activating the Capabilities add-on in the Events+ settings, go to Membership 2 > Add-ons and click the toggle button on the Admin Side Protection extension.

The "Member Capabilities" inline pop-up with an advanced feature.
Adding Advanced Capabilities gives you more options to protect.

You can enable the Member Capabilities add-on and click the Details link to display an additional option. Enable the option for Advanced Capability Protection.

Go to Membership 2 > Protection Rules > Admin Side and scroll to the events links that are displayed in the dashboard.

Hover over the event pages you want to protect and click the Modify Access link, then choose the membership whose members you want to have access to this page.

The "Admin Side" settings page.
You can protect the Events+ pages that appear in the dashboard.

You can also add other user role capabilities to your memberships by going to Membership 2 > Protection Rules > Capabilities. Hover over the capability you want to make available to users and click the Modify Access link, then choose the membership where you want to add the access.

The Membership 2 Pro capabilities settings.
You can choose to assign advanced capabilities to memberships.

It’s important to note that you need to be fully aware of what each of these advanced capabilities actually does to your site and network. It’s possible to give too much access or not enough to your members. You could end up giving access to features you don’t want users to be able to change, such as your site’s theme or page editing to name a few since all the capabilities to your site are listed on this settings page.

You may also accidentally give too few features to a membership which could severely cripple your users’ ability to get around and use your site so be sure the changes you choose are in fact the ones you need before applying them.

Once you’re done, your visitors who sign up for a membership on your site should have access to the features you selected.

3. Enabling Front-Page Editing

It’s possible to enable event editing and creation on the front-end so your users don’t need to have access to your site’s dashboard in order to take part in managing events on your site.

Go to Events > Add-ons and activate the Front-end editing option. You can also go to the Events > Shortcodes page to find the [eab_event_editor] shortcode and all the additional options that are available to add front-end event management to your site.

Create a new page and include the [eab_event_editor] shortcode in it with any options you would like to add. Publish the page, then protect it with the settings in the page editor or under Membership 2 > Protection Rules > Pages.

Your new fron-end event managing page should have all the features your members need to create events while being styled to fit your site’s design so it fits seamlessly with your business.

The front-end editor visible on a newly created page with the add-on shortcode.
The front-end editing add-on enabled on the TwentySixteen default theme.

As long as you grant access to the event managing page to your premium membership type, your free members won’t be able to access this page, but your premium members will and they can easily create events on their own.

Wrapping Up

Integrating our Events+ and Membership 2 Pro plugins lets you create a scalable premium events site so you can give your members special access to event creation tools while earning extra income from enabling this exclusive feature.

You can even use these plugins to edit the default WordPress user roles and capabilities to further customize your memberships and give access to advanced features for your premium members.

For more information on user roles and capabilities and how to edit them with code, check out one of our other posts WordPress Roles and Capabilities Explained (Plus Code-Based Tweaks).

Now that you have everything you need to create your own events site, what features and capabilities do you want to add to your site or network? What are your plans for these plugins and your membership site? Feel free to share your thoughts in the comments below.

Stress Testing Your WordPress Site So You’re Ready for Traffic Spikes

$
0
0

It’s important to know just how well your WordPress website can handle large amounts of traffic in the event you get a sudden traffic spike. With Tsung, you can stress test your site for free, see your server’s limits first-hand, and use the data to create a plan to scale your site.

Tsung (formerly IDX-Tsunami) is an open source distributed load testing tool that works on most servers and can stress test many platforms, including HTTP and MySQL. You can run it via SSH and it simulates a sudden amount of high traffic being sent to your site from a single machine, although, you can also create clusters.

Tsung is developed in Erlang and even though it is used to stress test your site, the actual processes it sends are lightweight so you can see how much your site can handle without breaking it or crashing Tsung.

Unfortunately, the official documentation for Tsung isn’t completely up-to-date, so in this post I’ll show you how to install Tsung using Wget. I’ll also walk you through how to generate reports for each test you run so you can analyze the data that Tsung generates after a successful load test.

What is Tsung?

The development of a distributed load stress test tool began in 2001 by Nicolas Niclausse, but it was meant to be used internally by IDEALX (now OpenTrust) and it wasn’t until several months later that it evolved into an open source project.

A simple graph drawing.
Graph reports can be generated from Tsung.

Tsung simulates real users on a server and can stress test many platforms, including HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and Jabber / XMPP servers.

It can be used to test your site and send high load tests from 12,000 to 10 million simultaneous users.

In fact, these numbers weren’t just pulled out of nowhere – it has been successfully used this way in the past.

Tsung is now an industrial-strength tool that has been used by many high profile companies and institutions including Oracle, for its Moodle software platform, and the French Finance Ministry (Direction Générale des Impôts or DGI).

You can run the tool through SSH on clients such as Terminal for Mac OS X or PuTTY for Windows. Fire up your favorite SSH client to get started right away.

Server Requirements

There are a few requirements needed in order to run Tsung so it’s important that they’re installed and taken care of first. Tsung can be installed on Linux, Solaris, BSD, Win32 and Mac OS X servers and you need to have root access to your server in order to install and run Tsung.

You can use sudo or yum to run commands as the root user and you can check out the official documentation for these options to reference their installation:

You also need to have the latest version of PHP installed on your server. You can check out the Getting Started and the Installation and Configuration guides for reference on how to install them.

After logging into the root via SSH, you can check which version of PHP you’re running by entering in php -v.

Installing Tsung and its Dependencies

Now you’re ready to start installing the programs that are necessary for Tsung to run. Many of them are already packaged into Tsung, but there are a few others you need to make sure you have installed as well.

While you can install Tsung and its dependencies in many ways depending on your server, the installation process is covered here using Wget. If you don’t already have Wget installed on your server, you can check out the Introduction to GNU Wget guide.

Start by installing Erlang, a programming language. You can grab a link to the latest version on Erlang’s official download page and you can install it with Wget:

Keep in mind that you should make sure you’re installing the latest version of Erlang. Replace the URL in this example with the URL of the most up to date version from Erlang’s download page.

Next, unpack the compressed file, but be sure you replace otp_src_18.2.1.tar.gz with the name of the file you called with wget. It may not be the same if there have been updates since the time this article was written.

Go to the directory you just created by entering this command, but don’t forget to replace otp_src_18.2.1 if needed:

Now it’s time to configure, build and install Erlang now that it’s uncompressed and on your server. You can use the following command and you don’t have to change anything:

This last step may take a few minutes so feel free to grab some water or a cup of coffee in the meantime. Once that’s complete, you can install Perl5 and Gnuplot in the same way if you don’t already have them installed. These are used to produce the text and image graphs and data after you run a stress test.

You can also find the download file of Gnuplot on Sourceforge, but I found the installation was a bit trickier, though, only because I wasn’t paying close enough attention.

When using wget to add the compressed file from SourceForge onto your server, I eventually noticed that I couldn’t uncompress the file using tar xvzf gnuplot-5.0.3 because that wasn’t what the compressed file was called. Instead, I needed to unpack it with this command:

I was only then able to go to the directory with the more obvious name:

Aftward, I could finish by configuring and installing Gnuplot as you normally would for most other programs.

It’s a good idea to do what I didn’t do at first, which is pay attention to details such as file names since it could be the reason why you get mysterious errors that, in truth, have easy fixes.

The last step is to install Tsung and you can get the URL of the latest version from Tsung’s download page. Once you have the link, you can use wget to unpack and install it on your server just as described above for Erlang.

Running a Stress Test

After you have successfully installed Tsung and its dependencies, you’re ready to start your first stress test. This usually requires creating an XML file with the specifics on the type of test you want to run, but Tsung does come pre-loaded with sample files that are great to use.

You can find these files by going into the secondary tsung directory, then to the examples folder by entering this command into your SSH client:

Now you should be in the /tsung/examples/ directory from the root of your server, but you won’t be able to see any files listed until you enter ls to list all the files in this directory. Once they’re all listed, you can decide which script you want to run.

Sample XML files are listed on the PuTTY client.
The list of examples files have been generated.

Not all of the example files listed are going to be relevant to stress testing a WordPress site so be careful not to pick just any one of them.

If you’re not exactly sure which one to try out, you can start with the http_simple.xml file. This is a great basic test to run for your WordPress site.

Once you decided on an XML file, you can run your stress test. Just be sure your SSH client is pointed to the directory where your file is located before entering the command to start the test.

I decided to use the basic http_simple.xml so this is the command I would use to begin the test, though you could replace it with the file you want to use:

A message should display saying “Starting Tsung,” then another line should follow with a message that looks similar to this one:

Log directory is: /root/.tsung/log/20160311-1644

This is where that data for the results of your stress test are stored. Make a note of it since you need it to generate and view a report. The log file itself is written to show the date and time of the stress test so it’s easier to keep track of all of them. It starts with the numeric year, the month and the day, followed by a hyphen, then the time in the 24-hour format.

When your stress test is complete, you should know because you’re able to type in another command.

Generating a Report

Once your stress test has been completed, you can view a report of how it went, but first you need to generate one. You also can choose to generate one as the test is being completed so you can monitor the progress if you want.

First, go back to the root by typing in cd ~, then go to the directory with your log. In keeping with the example above, here’s the kind of command you would enter to get there:

If you’re not sure what the direct path is to your root, you can replace /root in the above example with a ~ punctuation to get the same result.

To generate the report, type in the following command:

Your reports should have been created and you can view them in the path you noted earlier. Once in that directory, you can enter the ls command to view the available report files.

You can view them using an SSH browser such as links or other server-based browsers with graphics enabled. Links works on most servers and you can learn how to download and install links by checking out the Twibright Lab’s Links Download guide.

Once it’s configured and installed and the graphics have been enabled, you can go to the directory where your logs are stored as shown above. Once you’re there, run the links command for the report page:

The page should display similar to a regular browser page and you should be able to view your report.

An HTML output of the stress test data.
An example of a report that’s generated by Tsung.

The report is divided into sections to show you information on the simulated traffic:

  • request – Response time of each request
  • page – A group of requests and the response time of each
  • connect – Duration of the established connection
  • reconnect – Number of times a reconnection occurred
  • size_rcv – Size of responses in bytes
  • size_sent – Size of requests in bytes
  • session – Duration of a simulated user’s session
  • users – Number of simultaneous simulated users that started a session, but didn’t finish
  • connected – Number of users with an opened connection
  • mean response time –Average response time that’s calculated every 10 seconds and then resets

It may be important to note that since the mean response time is reset every 10 seconds, there are likely to be different averages through different points during the test. This is why a lowest, highest and overall mean response time is calculated so you can see what your high and low points were along with how you did overall.

One of the most important sections to look at when running a stress test on your site is the HTTP Return Code section. This is only something you should watch out for if you’re running an HTTP test.

In such cases, if the code section shows anything higher than in the 200-300 range and reaches into the 400-500 range, your server needs some big changes or there are bugs.

You may have had too many simultaneous requests in the test, which means your server isn’t quite scaling or there are bugs on your site, server or in the XML file you used for the test. Overall, this is a great indicator of a successful – or not so successful – test of your site and server.

You could also create your own XML files to fully customize the test if you would like and the details on how to do this are in the Tsung official documentation.

Finishing the Stress Test

Stress testing your site and server is a great way to learn whether or not improvements can be made and if your site is set up well for scalability. With Tsung, you can not only run these kinds of tests for free, but detailed reports are also generated so you can see how your server handles a sudden traffic spike.

You can also run the tsung -h command to get a useful lists of options available to run a tsung stress test. If you need more help and need to ask a question, there are many companies pitching in to offer support and you can find a complete list on the support page on the Tsung website.

You can also check out the bug tracker on GitHub to submit an issue if you find one, although, it may be important to note that you may not get proper support if you have an issue with using Tsung, rather than if you were reporting a bug.

Have you every used Tsung or tried stress testing your server? Do you know of other tools for stress testing that you prefer over Tsung? Share your experiences in the comments below.

Automatically Assign User Roles on Signup with Membership 2 Pro for WordPress

$
0
0

Manually adding members to your site who need different user roles is a real time waster. With Membership 2 Pro, you can easily automate your site’s signups and enable visitors to sign up with a user role or custom capability.

Membership 2 Pro comes with add-ons out-of-the-box that let you choose a user role or capability for your members automatically when they sign up. You can assign a user roles or capabilities to all your memberships and voilà, you won’t have to lift a finger the next time a member needs to have access to specific parts of your site.

If you want your memberships with these assigned roles and capabilities to be private and by invitation only, you can do this, too, with one of the other included add-ons. When it comes to powerful and automated memberships and signups, you ain’t seen nothing yet.

In this post, I’ll give you a more detailed rundown of what Membership 2 Pro can do for you and I’ll show you how to set up your own memberships with different user roles or capabilities.

The "Create a New Membership" settings page with four membership types listed.
You can create four different membership types to cover any kind of site.

What is Membership 2 Pro?

You can create any kind of membership site you want with Membership 2 Pro. It’s intuitive and easy to use, flexible, and comes with payment gateways so you can accept both free or premium signups.

You can set up free memberships or set a price for each of them. You can even set the premium memberships to be set up indefinitely, let them expire after a certain point, or set up a recurring subscription for some extra regular income.

There are four different kinds of memberships so creating any site you can imagine isn’t out of reach:

  • Standard – You can set free or premium subscriptions and hide selected content to visitors who aren’t logged in.
  • Dripped Content – Content can be released a little at a time based on the dates you set and the membership can be free or premium.
  • Guest – Only logged-out users can see the content you select for this membership so you could try to entice visitors to sign up without having existing members see it.
  • Default – This is a free membership level that you can have users sign up for by default to allow them to comment only or to give them some free content, for example, then prompt them to upgrade for more.

There are also many popular payment gateways included out of the box including Stripe single and subscription, PayPal single and standard, Authorize.net, 2Checkout and manual payment gateways.

Add-ons enabled on the "Add-ons" settings page.
Enable as few or as many add-ons as you want.

You can also protect just about any content on your site from parts of pages to media, specific URLs, categories, a single or all posts, shortcodes and so much more.

It’s also possible to offer free trials, coupons and invitation codes with the included add-ons to fully customize your memberships.

Speaking of add-ons, there are over 25 of them from enabling VAT tax and pro-rating capabilities to custom registration fields and MailChimp, bbPress and BuddyPress integrations. Enable one or enable them all. It’s all up to you.

Membership 2 Pro is flexible enough to use for so many different purposes:

  • Build your own NY Times-style site
  • Sell subscriptions to your plugins
  • Set up a social media site
  • Give staff custom access
  • Post lecture notes to students
  • Offline group membership dues
  • Health coaches can drip-feed tips
  • Create your own stock photo site
  • Charge for technical support
  • Offer sign ups for whole recipes
  • Book appointments after sign up
  • Anything else you can imagine

Membership 2 Pro also has enhanced integration with our Affiliates, Custom Sidebars Pro, Events+, PopUp Pro and Appointments+ plugins to give even more flexibility for the type of memberships you want to setup.

The Bottom line: Whether your site is big or small, Membership 2 Pro can handle it all. If you need to set up up memberships or restrict certain content to some visitors and not others, you can make it happen.

What are User Roles and Capabilities?

With Membership 2 Pro, you can also customize what members can see on your site right down to the user roles and capabilities that come with WordPress. WordPress lets you choose certain levels for different users so that they don’t have access to certain features such as deleting or editing other users’ posts.

There are six different types of user roles:

  • Super admin (for Multisite)
  • Administrator
  • Editor
  • Author
  • Contributor
  • Subscriber

Each user role has access to certain capabilities which means there are pre-set actions that can be completed while other actions are blocked. Super admins have access to everything in a network and administrators have full range of their site, while on the other end of the spectrum, subscribers can only comment and can’t add, edit or delete posts and pages.

User roles and their capabilities are an important part of WordPress because they can help prevent a user from accidentally completing an action that they shouldn’t do. For example, it wouldn’t make sense to let a visitor to your site sign up and be able to completely change your theme and plugins. WordPress’ user roles and capabilities help prevent that from happening.

Membership 2 Pro can also edit the capabilities members have or assign a user role for your different memberships, but as Spiderman’s uncle Ben told him in Spider-Man (2002):

“With great power comes great responsibility.”

It was true for Spiderman and it’s also true for Membership 2 Pro. Since you can customize what members can have access to right down to the default WordPress capabilities, it’s possible to accidentally give not enough or too much access to a member.

If you’re not sure of what any given capability actually does and you grant access to it, you could be allowing a basic member to edit pages or even memberships. On the flip side, if you’re too cautious, you could prevent members from accessing the content you want them to see or revoke access to commenting.

Since the Member Capabilities and Admin Side Protection add-ons let you completely change the default capabilities that would otherwise come with a membership, it also means that any users not inside those memberships would have these capabilities revoked from them, even if they would otherwise have access to it by default.

Even though you need to be cautious with these add-ons, the upside is you truly get to create any kind of membership site you want.

With the Member Capabilities and Admin Side Protection add-ons, there are so many membership possibilities:

  • Setup company memberships and grant access based on job descriptions
  • Hire freelancers to blog for you
  • Developers can sign up to contribute to open source projects
  • Members can create events when you integrate Events+
  • You can give commissions on sales to members with Affiliates
  • Let a support technician into your site with specific access
  • Basically, any other scenario you can think up

You can also choose to make these kinds of memberships private and by invitation only.

For more details on user roles and capabilities you can check out one of our other posts: WordPress Roles and Capabilities Explained (Plus Code-Based Tweaks).

Getting Started Setting Up User Roles

When you’re ready to setup your memberships with custom user roles and capabilities, start by installing and activating our Membership 2 Pro plugin onto your single or Multisite installation of WordPress.

For full details on how to do this, check out our guides: Installing WordPress PluginsActivating WordPress Plugins Network Wide and Activating and Deactivating Plugins on a Per Site Basis.

When that’s all done, create all the memberships you need for your particular setup. You can catch all the details in our Membership 2 Pro usage guide and in our post Build an Online Community With WordPress and Membership 2 Pro.

Customizing User Roles and Capabilities

Once you’re all set up, go to Membership 2 > Add-ons and find the Admin Side Protection and Member Capabilities add-ons in the list. Depending o your needs, you can activate one or both of them and you can do this by clicking on the toggle button on the top right of each add-on.

The "Admin Side Protection" add-on is enabled and the toggle switch has been clicked, enabling the add-on.
Enable the add-ons you need by clicking the toggle switch.

The Admin Side Protection option lets you control the pages, tabs and even meta boxes that a user has access to in the admin dashboard. You can choose to let users in a membership type to create a new blog post or view all of them, for example.

To choose the options for this add-on, go to Membership 2> Protection Rules and click on Admin Side in the menu on the left. Hover over one of the listed options to reveal the Modify Access link.

The "Modify Access" link is displayed next to an option and it's highlighted. It has also been clicked to reveal a list of memberships to choose.
You can modify the access of all tabs and pages in the admin dashboard.

Click on it to choose a membership that should have access to this option in the admin dashboard. You can choose to assign a membership to as many of the dashboard pages as you need.

Multiple memberships have been selected for a single option.
You can choose one or all of your memberships to include access.

Once you click one of the memberships, you should see it appear in a text-like field. You can click on the X next to the membership name to delete its access.

You can also click on the empty part of the field to choose more memberships to provide access to the admin dashboard page.

You can include as many memberships as you want – even choose all of them if you want. Even though all the regular user roles are affected, the admin roles aren’t for security reasons. You won’t have to worry about suddenly losing access to part of the dashboard when you’re signed in as an admin.

When you enable the Member Capabilities add-on, you can choose the user roles for each of your memberships. For example, if you were to set the Contributor role to a membership made for bloggers you hire, you could let freelancers sign up to your site and automatically have access to writing and editing their own posts for you or a user with the Editor role to review and publish.

In the advanced settings for this add-on, you can assign memberships access right down to the specific capability. If you wanted, you could set up a membership for your freelance bloggers and set up their capabilities to also let them publish their own posts which they normally wouldn’t be able to do by default.

The "Modify Access" button is displaying and is also highlighted. The membership list is also visible beneath the link.
Click the Modify Access link to choose a membership to assign to this user role.

Once you have enabled this add-on, go to Membership 2 > Protection Rules and click on the User Roles menu item on the left of the page.

You can hover over a user role and click the Modify Access link that appears to select a membership so visitors who sign up automatically are assigned that user role.

Just as with the Admin Side Protection add-on above, you can choose multiple or all memberships for a user role. You can even assign multiple user roles for a single membership if you want, but the admin user roles aren’t included on the list for security purposes.

To customize memberships right down to the individual WordPress capabilities, go to Membership 2 > Add-ons and click the Details link on the bottom-right corner of the Member Capabilities box to reveal an advanced option.

The Details" link is highlighted in the "Member Capabilities" section of the page.
You can enable the advanced options for the Member Capabilities add-on.

An inline pop-up should appear where you can click the toggle button to enable the Advanced Capability Protection option.

Next, go to Membership 2 > Protection Rules and you should see the User Role menu item has changed to Capabilities. Similar to the other add-ons above, hover over one of the capabilities on the list to display the Modify Access button. Click on it to choose the memberships where you want members to have the capability you selected. The capabilities aren’t written in plain English so be cautious when selecting memberships for them.

Choose a capability to add to a membership or search for one.
Choose a capability to add to a membership or search for one.

You can also search for specific capabilities using the Search Capability box or navigate to each page with the pagination buttons on the top-right. Pagination and the search box is also included for the Admin Side Protection add-on settings page as well in case you don’t see what you want listed on the first page.

Once your memberships are selected or unselected for any of the add-on options, all members will be automatically updated accordingly.

Wrapping Up

Customizing the user roles for the members of your site is easy with the Membership 2 Pro plugin. You can grant or revoke access in just one click as well.

When the add-ons included in this plugin are used responsibly, it can offer a huge range of possibilities for your site. Whether you’re running your own membership site or you just want more control over what your members can and can’t see, the Membership 2 Pro plugin can do it all.

There’s also the User Role Editor plugin that’s available in the WordPress Plugin Directory if you’re interested in actually editing the capabilities for a default WordPress user role.

For more ideas on what you could do with Membership 2 Pro, check out some of our other posts: Building Meetup.com with Events+ and Membership 2 Pro for WordPressSpend Less Time Building, More Time Teaching With Membership 2 and CoursePress and Creating Automated Welcome Emails With Automessage and Membership 2.

What kind of memberships do you have or want for your site? How could you see yourself using these add-ons for your site or network? Share your experience in the comments below.

WordPress Multisite Masterclass: Getting Started

$
0
0

If you’re like us here at WPMU DEV, you’re super keen to get the most out of Multisite, so we’ve put together this six-part course to help you master this powerful WordPress feature.

Multisite is a powerful tool that will help you create a network of sites to fulfill a variety of purposes, and which you can customize to make life easier for your users and help your network run more efficiently and make you money.

Over the next six weeks, you’ll learn everything you need to know to create your own network, add sites to it or let users add their own, and manage the network. You’ll learn how to ensure your network is secure and high performing and how to create a successful community of users and sites.

In this first tutorial, I’ll give you an introduction to WordPress Multisite and what it can do. I’ll cover:

  • Introduction to Multisite – what it is and what it isn’t
  • The benefits of Multisite
  • The differences between Multisite and standalone sites
  • Uses for Multisite

Let’s get started.

Create a network
Multisite became part of WordPress core in version 3.0

Introduction to WordPress Multisite

WordPress Multisite is a feature of WordPress core. It used to be a standalone system called WPMU but was merged into WordPress core in version 3.0.

This means that you can easily activate Multisite in any existing standalone installation, even one you’ve been running for months or years. There’s one key difference when you install Multisite on an existing WordPress installation as compared to a new one, though, and that relates to subdomains and subdirectories. I’ll cover this in more detail later in this post when I look at the structure of Multisite networks.

We had to do some serious work scaling WordPress Multisite for Edublogs
We had to do some serious work scaling WordPress Multisite for Edublogs

Multisite lets you run a network of sites, meaning that with one installation of WordPress, you can have as many sites as you like.

And yes, I really mean as many sites as you like. WordPress.com is a Multisite installation powering over 10% of all websites, and our own Edublogs is also a Multisite installation that runs over 3 million educational blogs. As you can imagine, there are some extra considerations when it comes to managing a vast network like this, such as distributing storage across multiple servers. But the basic setup is one WordPress installation with one Multisite network running on it.

In this course, you won’t learn how to create and manage an immense network like Edublogs – that takes years of experience, sometimes painful – but what you will learn is how to create your own network of sites that you can use for one or more of a variety of purposes, which may or may not earn you money.

Here’s the definition of Multisite from the WordPress Codex:

A Multisite network is a collection of sites that all share the same WordPress installation. They can also share plugins and themes. The individual sites in the network are virtual sites in the sense that they do not have their own directories on your server, although they do have separate directories for media uploads within the shared installation, and they do have separate tables in the database.

So, Multisite is a WordPress feature that lets you create your own network of sites. Each of those sites can be managed separately and have its own domain pointing to it, so that when people visit it, you’d never know it’s on a network. This can make life much easier for you if you manage lots of sites and don’t want the hassle of keeping a separate eye on them all – updating plugins, dealing with performance and security, adding users, etc. It’s also incredibly useful if you want to let your users communicate with each other via a community, which you can host on your network.

The Benefits of Multisite

WordPress Multisite has a few key benefits when compared to managing multiple sites each on their own WordPress installation. These are:

  • Storage space. You only have one set of WordPress files and one copy of each theme and plugin to store on your server.
  • Updates. When you update WordPress, themes and plugins, you only have to do it once instead of once for each site. (But test on a development site first!)
  • Community. You can use a Multisite network to create a community of sites and users. Options including cross-posting content, letting users follow each other and more. I’ll cover this in detail later in this course.
  • Site creation. Multisite lets you allow users to create their own sites on your network. This is great if you’re running a community network for a school or club, or if you want to charge people to create sites. There’s a part on site creation later in this course.

Multisite vs Standalone Sites: Key Differences

Before you start working with Multisite there are some key differences between it and a standard (what I’ll call standalone) WordPress installation. It helps to understand these first, as they’ll help you decide whether Multisite is the right tool for you and to be more effective when you start creating and managing your network. Let’s take a look at some of those differences.

Note on terminology: If you’re used to standard WordPress sites, you’ll probably think of your installation as your site. In this course the terminology I’ll use will be different. The network is the WordPress installation, which includes a number of sites. A site is one site on that network. In earlier versions of Multisite they were thought of as blogs, but that changed with WordPress version 3.5.

Network Administration

When you create a Multisite network, you’ll become the network administrator, or super admin. This means you have the ability to manage the network as well as individual sites within it.

When you activate Multisite, you’ll see some extra links in your admin screens, shown in the screenshot:

Multisite dashboard screen

The additional menu items are:

  • In the admin you’ll see a My Sites link
  • In the admin bar at the top, a My Sites link will be added that takes you to the network management screens.

The network management screens are where you install and activate themes and plugins and create and manage sites and users:

Multisite network admin dashboard

The network admin menu includes six sections:

  • Dashboard – Manage updates and network upgrades from here.
  • Sites – Create sites in your network and manage users, themes and settings for each of them.
  • Users – Add users to your network in the same way as you would for a standalone site.
  • Themes – Install themes, which you can then network enable or just enable for one or more individual sites in your network.
  • Plugins – Install plugins here and network activate them if relevant. Some plugins can only be activated for the entire network, such as backup plugins, while others can be activated for the whole network if you want them to run on all sites, or site administrators can choose to activate them on their site.
  • Settings – Manage the settings for your network.

There are a few aspects of network management that can be confusing for beginners:

  • Base site. When you create a network, there will be one site to start with – the base site. This is the site you started with in your original WordPress installation. This will have the base URL as its domain name. You as the network administrator will also be the site administrator for that site, and you can add other users just as you would for an individual site. You can’t remove this site from the network. If you want to activate themes or plugins on the base site, you do so in the same way as you would for any other site in your network.
  • Theme and plugin activation. You might expect to activate themes and plugins in the same way but you don’t. You install both of them via the network admin screens, but that’s where the similarity ends. With plugins, you can network activate them or not activate them at all, in which case they have to be activated via the Plugins screen in each individual site where they will run. For themes, you can network enable them, which makes them available for individual site administrators to activate on their site. Or you can enable themes for individual sites via the Sites admin screens, which means only those sites can activate them and the other site admins can’t see them. This is useful if you’re running a network of client sites each of which has its own theme.
  • User creation. Users can be added by the network administrator or by site administrators. If you add a user via the network admin screens, they have a user account on the network  but don’t have any privileges for other sites (including the base site). If a site administrator adds a user, they will just have user access to that site, but site administrators for other sites can also add them to their own site.
  • Updates. When you update themes, plugins and WordPress itself, you do it from the network admin screens and it will apply to all of the sites in your network. This is why it’s very important to test any updates on a development site before applying them to your live network – if a plugin update breaks something, it could affect one site, or thousands! You can install a plugin that helps you to identify which sites are running which themes and plugins, which I’ll look at in detail in a later part of this course.
network admin - plugins screen
Install, activate and update plugins via the network admin screens

As a network administrator you have additional capabilities compared to a site administrator:

  • Capabilities relating to the network held by the superadmin are manage_network, manage_sites, manage_network_users, manage_network_plugins, manage_network_themes and manage_network_options.
  • Capabilities which a site admin would have in a standard installation but which are only held by the superadmin in a Multisite network are update_core, update_plugins, update_themes, install_plugins, install_themes, delete_themes, delete_plugins, edit_plugins, edit_themes, edit_files, edit_users, create_users, delete_users and unfiltered_html.
  • Capabilities held by both site admins and network admins are activate_plugins, delete_others_pages, delete_others_posts, delete_pages, delete_posts, delete_private_pages, delete_private_posts, delete_published_pages, delete_published_posts, edit_dashboard, edit_others_pages, edit_others_posts, edit_pages, edit_posts, edit_private_pages, edit_private_posts, edit_published_pages, edit_published_posts, edit_theme_options, export, import, list_users, manage_categories, manage_links, manage_options, moderate_comments, promote_users, publish_pages, publish_posts, read_private_pages, read_private_posts, read, remove_users, switch_themes and upload_files.

This means that as network administrator you can also edit and manage the individual sites on your network.

Site Administration

Whenever a new site is created on your network, it will have a site administrator. If the site is created by the network administrator, then the site administrator will be the same person. If the site is created via the signup screens, then the person creating the site will be the site administrator. It’s possible to add additional administrators to each site just as it is for a standalone WordPress site.

For site administrators, the screens they will have access to and the capabilities they have will be different from a standalone installation. The key differences are:

  • Installing plugins and themes. Site admins can’t install plugins or themes. If a theme has been network enabled or enabled for their site, they can activate it via the Themes screen. If the network administrator gives site administrators access to plugin management, they can activate plugins. They can’t see any plugins that have been network activated in the Plugins screen. Site administrators can’t update plugins or themes.
  • Managing Settings. There are some site settings that only network administrators have access to. These include maximum file upload size, user registration and new site settings.

Site administrators have all the same capabilities and screens for creating and editing content as they would on a standalone site. They can also add users to their site, including users already registered on the network and new users.

site admin screens - user creation
Site administrators can create new users or add existing users on the network to their site.

If the network administrator has enabled it via the network settings, site administrators can also activate plugins that haven’t been network activated. This is useful if you’re letting people create and manage their own sites in a similar way to edublogs or WordPress.com.

File Structure

A Multisite network includes the same WordPress files as any other installation, so the files in the root folder, in wp-admin and wp-includes will be the same. The plugin and theme folders in wp-content will also be the same. This is a much more efficient way of storing all of these files if you’re managing multiple sites: instead of storing each theme or plugin many times on many sites, you just have one network with one copy of the theme or plugin and as many sites as you need.

The one difference is in the way the uploads folder is structured inside wp-content. In a standard installation, the uploads folder will contain one folder for each year since the site was created, with each of those having folders for the months in which media was uploaded. In a Multisite installation, the uploads for each of the sites are stored separately.

The uploads for the base site will be stored in exactly the same way as for a standalone site. It’s important that this works in the same way, as if you activate Multisite on a site that you’ve already added content and uploads to, you still want those uploads to work. But all of the other sites will have their own folder for uploads. In the wp-content/uploads folder, a new folder is created called sites. Within that there is a folder for each site created on your network, with its name being the ID of the site.  Each site has its own unique numerical ID, starting with 2. Then within that numbered folder the uploads will have the same structure as for a standalone site, with folders for each year and then month.

folder stricture in WordPress Multisite
The structure of the wp-content/uploads folder in Multisite

This means that if you upload a file called media.png to the site with the ID of 10 during March 2016, it will be stored as wp-content/uploads/sites/10/2016/03/media.png.

Database Structure

The database for a Multisite installation will also have a different structure from that of a standalone site. A standard WordPress site has eleven database tables:

  • wp_posts
  • wp_postmeta
  • wp_comments
  • wp_commentmeta
  • wp_links
  • wp_term_relationships
  • wp_term_taxonomy
  • wp_terms
  • wp_options
  • wp_users
  • wp_usermeta

In a Multisite installation, the tables are separated out for each site. So there will still be a copy of each of these tables, plus extra tables for each site. Nine of the tables are duplicated for each site – everything except wp_users and wp_usermeta.

The two tables with user data are just held once, as any users are users across your entire network and not just for one site. Each of the other nine is duplicated for each site, with the site ID added to its prefix. So the site with ID 10 will have the following tables for its content:

  • wp_10_posts
  • wp_10_postmeta
  • wp_10_comments
  • wp_10_commentmeta
  • wp_10_links
  • wp_10_term_relationships
  • wp_10_term_taxonomy
  • wp_10_terms
  • wp_10_options

In addition, WordPress creates some extra tables which store data relating to the network itself. These are:

  • wp_blogs
  • wp_blog_versions
  • wp_registration_log
  • wp_signups
  • wp_site
  • wp_sitemeta
  • wp_sitecategories (optional)

These store data relating to network settings and sites created. For more details of the database tables and how they work with Multisite, read this guide.

Domains

Another difference with Multisite is the domains used for each site in the network. Each one has its own domain, which is created using either a subdomain or a subdirectory of the main site’s url. These work as follows:

  • Using subdomains means that each site will have a url like http://site1.yournetwork.com. If you’re planning to let people create their own site, you’ll need to have wild card subdomains activated for your hosting.
  • Using subdirectories means that each site will have a url like http://yournetwork.com/site1. You can’t choose this option on an established site that you’re converting to a network as it may cause clashes with urls already created in your site.

If you’re activating Multisite on a local site (i.e. one on your local machine using MAMP or similar to run WordPress), then you won’t be allowed to use subdomains when setting things up – you’ll have to use subdirectories. If you’re activating Multisite on a WordPress installation that’s over a month old, you won’t be given the option to use subfolders: you’ll have to use subdomains. This is because your site may already include posts or pages with slugs that would conflict with the subdirectory for a new site being set up on the network.

In order to avoid slug clashes, the blog in your base site will have its permlainks changed when you activate Multisite using subfolders, so if you have pretty permalionks enabled, a post at http://yoursite.com/name-of-my-post will move to http://yoursite.com/blog/name-of-my-post. Again this is to avoid conflicts between your post titles and any subfolders.

I’ll cover domains, wildcard domains and domain mapping in more detail in a later part of this course.

Uses for WordPress Multisite

Multisite has a variety of uses you can put it to. Some of these will support comities, others will be great for business. They include:

  • Managing your own sites
  • Hosting sites for clients
  • Hosting multiple sites for one organization
  • Charging people to create sites
  • Supporting a community

Let’s take a look at each of these.

Managing Your Own Sites

I talk to a lot of WordPress users and developer who have lots and lots of their own sites. Maybe they support personal projects, perhaps they’re for different businesses or maybe (like me) they demonstrate different techniques.

I have a Multisite network at rachelmccollin.co.uk which includes dozens of sites I’ve created to demonstrate techniques that I’ve written about in tutorials, books and articles. Most of these sites are small, with one plugin or theme activated that uses the code in a tutorial. Others are bigger, and support an entire book.

Being able to keep all these in one place saves me lots of work when I need to update plugins, themes, or WordPress itself. Lots of the themes I use for tutorials are child themes of the Twenty Sixteen default WordPress themes, and so I only need to store and update one copy of Twenty Sixteen.

If you’re one of those people who likes to create personal sites, then Multisite is a great way to look after them. And with domain mapping, you can use a separate domain for each of them – no-one will ever know they’re running on a network.

Hosting Sites for Clients

Using Multisite to host client sites is another way to be more efficient and use less server space.

My agency, Compass Design, develops and hosts websites for small business clients. I don’t host all of my client sites in one network, as some are too bespoke, but a sizeable proportion of the sites I host are small sites with less than 20 pages. All of these are built using a child of the same framework theme, which I built myself. If I ever update the framework theme I only need to do it once on my network, and the same applies for plugins. This makes the process of updating much quicker and more efficient.  And domain mapping means that each site has its own unique domain, so my client’s customers never know that their site is hosted on my network.

By using plugins such as Support System and Snapshot, I can use my Multisite network to improve the service I offer clients. Snapshot is Multisite-compatible and lets me configure all my backup options from one place, and Support System lets me receive and respond to support requests from clients.

support system plugin on WPMU DEV
Support System lets you respond to your users’ support queries

If you’re using Multisite like this, the same caveat applies when doing updates – test on a development site first! I have a local copy of my network, which I activate any updates on and test before doing so on the live sites. These are client sites, treat them with care!

Hosting Multiple Sites for One Organization

Imagine you’re the website manager for a large organization that works in many countries. You might have separate websites for each of those countries, with the headache of managing them all. Or you could have multiple sites in the same language, maybe for different departments.

BBC America website
BBC America uses Multisite to host a network of blogs

Multisite makes it easy to have separate sites but manage them all from one place.

If all your sites are using one child theme, you only need to store and keep it updated once. If you’re using the same plugins across all your sites, there are more efficiencies. And even better, you can allow cross–posting of content between sites, create a community of users across your organization and set up a template site for use every time a new site is created for a new country or department.

Making Money with Multisite

Multisite is a tool you can use to support a business and make money. If you set up a network that allows people to create their own sites, then there are a variety of charging models you can use to make money from that network.

These include:

  • Charging for site creation
  • Charging for enhanced features
  • Charging for specific plugins or themes
  • Charging for support or extra services
  • Charging people to use their own domain

We use some of these on Edublogs. Creating a site is free, but if you want advanced features and extra plugins, you need to pay. WordPress.com works in a similar way.

WordPress.com pricing plans
One way to make money from a network is by having premium options, in a similar way to WordPress.com

There will be a whole part of this course dedicated to the process of setting up site creation for users which will include content on charging for sites or features.

Supporting a Community

Multisite isn’t just about running a business and making money: it’s a great tool for supporting communities. It lets you create a network of sites run by users who are all part of a community. That could be a club or a loose grouping of people with similar interests.

Multisite lets your community members not only create sites but also communicate with each other, follow each other’s posts and share content. It can provide a useful resource for the members of your community and let them be better connected.

Multisite Has Many Uses and Benefits

Now that you’ve read this first part in our Multisite course, you’ll know how useful and versatile WordPress Multisite can be. In the later parts of this course we’ll go into the more practical aspects of creating and managing a WordPress network, including activating Multisite and configuring your network; enabling and enhancing site creation for users; domain mapping; creating a community; and managing your network.

I look forward to working through this series with you!

Missed a tutorial in our Multisite masterclass series? You can catch up on all six posts here:

Did you find this tutorial helpful? Why do you want to learn about WordPress Multisite? What do you want to know more about? Let us know in the comments below.

Q&A: Everything You Ever Wanted to Know About WordPress Multisite Answered

$
0
0

If you’re a keen follower of this blog, you’ll have noticed my series of posts on WordPress Multisite a few weeks ago. And if you’re learning about Multisite, you may have signed up to my Academy course on the subject.

The comments, questions and discussions that the courses and posts have generated have been awesome, to say the least. Dozens of you have talked about what you’re doing with Multisite, shared your experiences and asked questions. And there are some questions that have been particularly useful for other readers or have come up again and again.

So in this post, I’m going to answer some of those questions. I’ll answer some of the questions I get asked about Multisite when I speak at WordPress events and WordCamps, the questions posted in the Academy course and on the blog, and questions which I’ve thought of while I’ve been writing but haven’t had the space to cover in my blog posts.

I’m going to posit this into six topics:

  • Activation and installation
  • Hosting and domains
  • Administering your network
  • Creating sites
  • Multisite for communities
  • Business and SEO

So here goes!

Activation and Installation

Question #1: Can I run Multisite on my local machine?

You certainly can. Install WordPress using MAMP as you would with a standalone installation, then activate Multisite just as you would on a remote server. There’s just one difference: You can’t use subdomains on a local machine.

mama website
Use MAMP to install WordPress and activate Multisite on your local machine

Question #2: Can I activate Multisite without editing files? I’m not comfortable delving into the code.

Sorry, but no. Multisite is too fundamental a change to your WordPress installation to be able to do it just with a plugin. But you are given very clear instructions on editing those files when you go through the activation process.

Question #3: I don’t have access to my files. How do I set Multisite up?

Speak to your hosting provider and ask them to give you access. If they won’t, upgrade your plan or switch to a better provider. It’s your site, you should have access to your files.

Question #4: Will each site in my network have its own .htaccess file?

No. There’s just one for the whole network, which is in your root directory.

Hosting and Domains

Question #5: Do I need VPS (Virtual Private Server) if I’m running Multisite? My hosting provider has said I should get it.

VPS can help if you’re setting up a network but it’s not essential. For me it depends on the size of the network and what you’re using it for – for client sites you minimize the risk of downtime with VPS but with a small personal network you don’t really need it. Don’t let your hosting provider sell it to you if it’s not necessary – you can always upgrade at a later date.

Question #6: Could you give recommendations on hosting providers for Multisite and how this will differ from a single WordPress install?

I’m not a hosting expert and I’m always wary of recommending hosting providers. However if you look on our blog you’ll find that Daniel Pataki has written some great reviews of hosting providers, and it’s also worth looking at the WordPress Codex. My only recommendation would be to remember that you get what you pay for. Make sure your hosting provider gives you full access to DNS management, cPanel and doesn’t restrict you in any way. And that they have great support!

Question #7: Can I use SSL with Multisite? How do I do it?

There are two approaches to this: get an SSL certificate for your network’s domain, or get it for any domains you’re redirecting to your network using domain mapping.

If you get SSL for your network’s domain and you’re using subdomains, you’ll need wild card SSL which costs a little more – order that from your SSL provider instead of a standard SSL certificate. If you’re using subdirectories you won’t need wild card SSL. And if you’re using domain mapping you’ll need an SSL certificate for each domain you’re mapping (NOT the network’s domain as your visitors don’t see that).

Administering Your Network

Question #8: How do plugins work with Multisite? Do I have to install them more than once for multiple sites?

No you don’t. Install the plugin once on your network then activate it for the sites you want it to run on. Or network activate it if you want to run it on every site. Then when the plugin is updated you only need to do that once. It makes updates much quicker.

plugin updates screen Multisite network
Update the plugins for all the sites on your networks in just one place with a Multisite network

Question #9: My main concern is resources. Multisite “feels” like it may be more resource intensive than standalone. Is this a problem?

It depends how many sites you have on your network. If you’re running more than three or four, I’d say Multisite is definitely less resource-intensive than all the separate WordPress installs. Both in terms of servers and time. And don’t forget it’s possible to host millions of sites on a Multisite install, as with our Edublogs network.

MULTISITE

We are the Multisite Experts. Period.

We’ve been developing plugins for WordPress Multisite for the past 10 years. With WPMU DEV you get our most popular plugins like Domain Mapping, Snapshot, Pro Sites, Support System, User Switching and bucket loads of others tailored specifically for Multisite! Woop!

LEARN MORE

Question #10: When I log in as network admin I don’t see the sites in my network in the “My Sites” list in the admin bar.

You need to check that you’re registered against each of those sites. Go to Sites in the network admin menu, then for each of them click the Edit link, then go to the Users tab. If you’re not shown as a user, add yourself as a user to each site, using the username you’re using for the network as a whole.

But remember you don’t always need to be able to access all of your sites in this way. If your network is large and the sites are run by other people, I’d advise against it. If you need to access their sites, you can always use the User Switching plugin to see the site as if you’re logged in as another user.

site users screen in network admin
Add yourself as a user to sites you can’t see in the ‘My Sites’ menu

Question #11: Can I keep a local copy of my Multisite network for testing?

Yes you can. I keep a local development installation of my sites for testing/development plus a remote live one. They’re not exact mirrors as the database isn’t mirrored but the themes/plugins etc. are. If you want to copy your network to a development installation on a  local machine you’ll need to install WordPress locally first, and then copy your network. I use Github for version control with my local files, which means I can then use SSH to deploy changes to my live network.

Question #12: I’ve set up domain mapping but the domain isn’t redirecting to my network. Help!

The first thing to do is be patient. It takes time for DNS changes to propagate so it won’t work straight away. Keep checking your DNS to be sure. But if your domain still isn’t redirecting after a couple of days, there’s probably something wrong with your configuration. Try following the steps in our post on domain mapping again – they work every time for me so they should work for you. If all else fails, contact your domain registrar or hosting provider.

whats my dos site
A DNS checker will help you identify when your DNS changes have propagated and domain mapping should be working

Creating Sites

Question #13: Can I provide a starting template for new sites in my network with specific pages etc. set up?

Yes, you can do this with our New Blog Templates plugin. For instructions on using the plugin see this guide.

Question #14: Can I use subdomains for some sites on my network and subdirectories for others?

No, sorry. You have to pick one when you set up your network, and then you’re stuck with it forever (yes, until the end of time….).

Question #15: Does every site in my network have to run a child theme? Or the same theme?

No, you can run whatever theme(s) you want on your sites. Some of them could be running the same theme, some could have their own unique theme, and others might have a child theme. For my client sites I use a parent theme for all of them and then each one has its own child theme. But for my personal network, it’s much more mixed: some have standalone themes I’ve built, some have themes from WPMU DEV or from the theme directory, while others have child themes of any of the above. It’s up to you!

Question #16: If someone does a search on a site in my network, will the results show content from the whole network?

No. A search will just apply to that site.

Question #17: When I register a new site and follow the activation link sent to my email, I get a 404 error. What’s gone wrong?

Check that your .htaccess rules are correct – you can find them in Network Setup in the network admin screens. And if you’re using subdomain installation make sure wildcards are set up.

network settings screen
You can find the rules that should be in your .htaccess file again if you’re having problems

Question #18: Can I import a standalone site into my Multisite network?

Yes, you can. You can either do this using a plugin or by copying the files and database tables. The first option is easier but less robust. For instructions follow this tutorial.

Question #19: Can I export one of the sites in my network to a standalone site?

You sure can. It’s like importing, but the other way round. Follow this tutorial for instructions.

Multisite for Communities

Question #20: I’m using Membership 2 Pro to restrict access to BuddyPress and bbPress community on my main site, and I’m wondering if that’s overkill. I want to offer a “private community” as an added value.

I think that may be overkill. Personally, I’d approach this by putting my BuddyPress community on a sub-site and restricting access to that. You can use redirects to make the whole thing feel seamless, along with the same theme for the main site and the BuddyPress site. But you may be able to use BuddyPress in a way that keeps all of your community content private to members anyway – I recommend experimenting with your BuddyPress settings.

Business and SEO

Question #21: Can I use Multisite with e-commerce sites?

There’s a quick answer to this: yes! I host clients’ stores on a Multisite network and it works smoothly. Bear in mind that you’ll need SSL for any e-commerce site, for security reasons. I’d recommend using domain mapping and getting an SSL certificate for the domain you’re mapping. Then you won’t need SSL for your network (unless you need/want it).

Question #22: How does using Multisite affect SEO?

This question gets asked a lot. The answer depends on how you’re using domains:

  • If you’re using subdirectories, search engines will treat the entire network as if it’s one site.
  • If you’re using subdomains, search engines will crawl each site separately, treating each subdomain as a separate site.
  • If you’re using domain mapping, search engines won’t even know you’re using Multisite – they’ll treat each site as a separate site on its own domain. This is the same whether your network is set up using subdomains or subdirectories.

Question #23: Are SEO Plugins compatible with Multisite?

In my experience, the major SEO plugins play nicely with Multisite, although some commenters on the blog have said otherwise. If you use our SmartCrawl plugin you can be confident it’ll be Multisite compatible, as that’s what we specialize in.

Question #24: I want to use Multisite to create a platform for tech-savvy individuals to use for all their business/personal/family communications. Kind of like Facebook meets LinkedIn meets wordpress.com. How can I make this work?

Woah, hold your horses! It’s important to do your research and identify a niche market and a targeted product that meets their needs well. Talk to potential clients and find out what they want – don’t jump in before you know you’ve got a market. Release your product as soon as you can (it will never be perfect) and be prepared to adapt according to what clients need. James Farmer’s course on marketing will help you identify your niche. If you aim too wide and you don’t have a marketing budget of billions, you will fail. Tough but true.

Got Any More Questions?

Hopefully I’ve answered the burning question you had on your mind when you started reading this post. I haven’t covered everything as a lot is dealt with in my series on WordPress Multisite. So if you still want to know more, I recommend checking out the series:


Moving a WordPress Site Into a Multisite Network – The Tricky But Thorough Way

$
0
0

In a recent post, I demonstrated the easy way to move a WordPress site into a Multisite network, using plugins. For many sites, this method works perfectly fine. But what if your site’s settings are a bit more complex?

If you move your site using plugins, you’ll be able to move two things: your content (posts, pages, custom post types, menus – all of your content) and widgets. But what it doesn’t let you move is the settings for your site. If you’ve got some heavy plugins installed (like an e-commerce plugin) or you’ve made lots of tweaks to your site’s settings, you;’ll then have to go into the admin screens for your new site and set those up manually, copying what you did for your old site.

This can be a pain. It takes time and it’s not entirely reliable. What if you miss something important? If your site has a lot of settings, it’s not easy to make sure you’ve caught everything.

So in this post, I’m going to show you a more thorough and reliable way to move your site into your Multisite network.

Moving Your Site Manually – an Overview

This involves 6 steps, many of which are the same as if you’d just used plugins:

  1. Create the new (empty) site in your network.
  2. Create a copy of your old site’s wp_options database table and edit it.
  3. Create a copy of your old site’s themes and plugins and upload them to your network’s wp-content directory.
  4. Run an export and import of your content and users.
  5. Import the database table you’ve edited to your new site.
  6. Run an export of your old site’s widget settings and import them to your new site.

That’s quite a lot of steps, and it’s not something you should undertake lightly. It requires being comfortable uploading files and database tables manually.

Note: If you’re used to moving a single site from one place to another manually, you might think that this process is very long winded. That’s because of the way Multisite stores user data. With a single site, we could simply copy all of the content and database tables from the one site and import them into the second site. But with Multisite the users are stored once for the entire network, not individually for each site. This means that if you want to import your users from your old site to the new one and assign the correct content to them, you’ll need to use the importer tool.

What You’ll Need

To follow along with this post you’ll need these tools:.

  • An FTP client such as FileZilla or a code editor with FTP built in, such as Coda.
  • Access to your sites’ databases via phpMyAdmin, a tool which your hosting provider should give you access to.
FileZilla is a great, free FTP client.
FileZilla is a great, free FTP client.

So let’s get started!

Before You Start – Backing Up

Before you do anything, make a backup of your Multisite network. Don’t skip this step – if anything goes wrong, you’ll need a backup to reinstate. I recommend using our Snapshot Pro plugin to do this.

Creating a New Site in Your Network

Create a new site in your Multisite network in the normal way. Once you’ve done this make a note of its ID: Multisite gives each site in a network a unique numerical ID. You can find this by going to the Sites screen in your network admin screens, finding the new site and clicking Edit.

This will open the editing screen for your new site:

edit-site

In your browser check the URL for this screen. The site’s ID will be the final two digits at the end of the URL. Make a note of that.

Copying Your Themes and Plugins

The first step is to make a copy of your old site’s themes and plugins as well as the wp_options table from the database. Let’s start with the themes, plugins and uploads.

Here’s my starting site:

starting-site

Downloading Themes and Plugins

Open your FTP program or code editor, and navigate to the wp-content directory in the site you want to move (which I’ll refer to as your old site). Download a copy of these folders:

  • themes
  • plugins

Save these to your local machine somewhere you can find them easily – I always set up a dedicated folder when I’m doing this.

Uploading Themes and Plugins to the Network

Now you need to upload the themes and plugins you copied from your old site to your network.

Find the wp-content directory in your network and open each of the themes and plugins folders in turn.

Upload the file or folder for each theme and plugin to the correct directory. If any of the plugins or theme from your old site are already installed in the network, you don’t need to upload them again.

Note: If you’d rather not do this manually, you can just install the relevant themes and plugins in your network. I prefer to do it manually as it’s quicker. If you do take this route, you don’t need to activate the themes and plugins – that will happen automatically once you’ve imported the database table.

MULTISITE

We are the Multisite Experts. Period.

We’ve been developing plugins for WordPress Multisite for the past 10 years. With WPMU DEV you get our most popular plugins like Domain Mapping, Snapshot, Pro Sites, Support System, User Switching and bucket loads of others tailored specifically for Multisite! Woop!

TRY OUR MULTISITE PLUGINS FREE LEARN MORE

Copying and Editing the wp_options Table

My preferred way to export the database table is by using phpMyAdmin. You’ll need to use this for importing the table to the new site anyway so you may as well start now.

Exporting the Table

In your hosting provider’s admin screens for your old site, go to phpMyAdmin and find the database that’s running your old site.

Note: If you’ve got more than one database running, you can find out which one is behind the site you want to migrate by checking that site’s wp-config.php file.

Find the wp_options table and select it:

export-wp-options

Now scroll down and find the With selected: drop-down list. Select Export. When prompted click the Go button.

This will download an SQL file to your local machine. Copy that to the folder you’ve created to keep your files.

Editing the SQL File

Open the SQL file that you’ve downloaded. Using your FTP editor, select the Find & Replace option (in many editors it’s Ctrl-F or Cmd-F).

In the Find field type wp_, and in the replace field type wp_XX_, where XX is the two digit ID of your new site in the network. (in my case it’s wp_71_, I’ve got a lot of sites in my network!)

Click the All button if your code editor has one, or Replace all if that’s what your program gives you. Wait for the program to run the replace.

Now repeat this step for your site’s URL. In the Find field, type the URL for your old site and in the Replace field type the URL for your new site. Make sure that any backslashes are consistent. I prefer to miss out any http:// or www and just use the root URL, e.g rachelmccollin.com.

Note: If you’ll be redirecting your old domain name to your new site using domain mapping, don’t worry about this yet. You’ll set up domain mapping once you’ve migrated your site. For now use the URL generated by your network.

Save the file and close it.

Exporting and Importing Content

The next step is to use the WordPress importer tool to export the content from your old site and import it to your new one.

Exporting Content from the Old Site

In the admin screens for your old site, go to Tools > Export:

export-screen

Unless you just want to export certain post types, keep the All content option selected and click the Download Export File button. WordPress will create an XML file and download it to your computer. Save it in the folder you’ve created for your working files.

Importing Content to the New Site

Before you import the content from your old site, delete any dummy content that’s been created for you when you created the site.

Before you can import the content from your old site, you’ll need to install the WordPress Importer plugin. Go to your Plugins screen in the network admin and install that (you’ll need to search for WordPress Importer).

Now in your new site’s admin screens, go to Tools > Import and scroll down to WordPress at the bottom of the list. Click the Run Importer link.

WordPress will ask you to select a file to upload:

import-file

Click the Choose File button and then select the file from your machine (it will be in your downloads folder unless you’ve moved it). Remember you’re looking for an XML file. Once you’ve done that, click the Upload file and import button.

Next, you’ll be prompted to assign content to existing authors on your network, or import authors. Select whichever option applies to you. I’m assigning my posts to my existing username, but you may need to import authors.

Finally, select the Download and import file attachments option to copy media files from your old site and insert them in the correct place in your new one.

Click Submit and the importer will import the content, after which you’ll see the All done! message.

Note: this only imports those users who have content assigned to them. If you have other users on your site, such as subscribers, you’ll need to import them separately. You can use the Cimy User Manager plugin to do this.

Importing the Table to your Network’s Database

Now you need to import the wp_options table for your site into the database for your network. It’s important that you do this after uploading themes and plugins as many of these settings will relate to those themes and plugins.

Open phpMyAdmin for your network. Find the wp_options table for your new site (in my case it’s wp_71_options) and select it:

drop-table

Scroll down and select Drop in the With selected drop-down list. When prompted, click the Yes button.

Now click the Import tab at the top of the phpMyAdmin screen to view the import screen:

import-table

Click the Choose file button and select the SQL file that you’ve edited. Then click the Go button.

The import will run and you’ll see a screen telling you it’s been successful:

import-successful

Importing Widget Settings

The last thing to import from your old site is your widget settings.

Exporting Widgets from Your Old Site

Go to the admin screens for your old site and install and activate the widget settings plugin there too. Go to Tools > Widget Settings Export to see the exporter screen:

widget-export

Unless you just want to select some of the widgets from your old site (and not all of them), select the Select All Active Widgets checkbox. Click the Export Widget Settings button to download the export file. This will be called widget_data.json.

Importing Widgets into Your New Site

Now switch to your new site, and go to Tools > Widget Settings Import:

Click the Select a file button and find the file where you downloaded it. Note that you’re looking for a son file this time, not an XML file. Then click the Show widget settings button to see the widgets in the file:

widget-import

Select the widgets you want to import, or just click on the Select All Active Widgets button, and make sure the Clear Current Widgets Before Import button is selected. Then click the Import Widget Settings button.

That’s it! Your content, authors, and widgets are all imported, as well as your settings.

Moving Your Site In This Way Takes Longer but is More Thorough

You’ve now moved everything across. You’ve followed a fair few steps and used a mix of plugins and manual imports and uploads, but you’ll now find that you don’t need to make any tweaks to your site’s settings. Here’s my new site:

final-site

If your site has lots of installed plugins, customizations and settings configured, you’ll find this method is more reliable and in the long run saves you time. Just make sure you take that backup at the beginning (just in case) and that you follow each step in the correct order.

Introducing WPMU DEV Multisite Hosting – Join the Beta Program!

$
0
0

Did you know that over the past 10 years we’ve become the largest hosting provider for WordPress in education? It’s been an extraordinary ride and today I’m thrilled to announce we’re expanding this to the rest of the web. Introducing WPMU DEV Hosting, the ultimate enterprise-level WordPress Multisite solution.

 

CampusPress… But For Everyone!

The very genesis of our parent company, Incsub, is rooted in WordPress Multisite. From the inception of Edublogs to the development of CampusPress (formerly Edublogs Campus) and WPMU DEV itself, we’ve solved problems and provided opportunities for WordPress Multisite users.

CampusPress, the original WordPress Multisite host.
CampusPress, the original WordPress Multisite host.

And along the way we’ve developed an infrastructure capable of deploying, managing, customizing and supporting Multisite like no other, so it really is an absolute no-brainer to bring it to you today and invite you to join our beta program.

We’re looking to roll out the service in full in early 2017, but in the interim we’d like to give WPMU DEV members the opportunity to find out more, take a free trial of the environment, and inform our final feature set.

Addressing Challenges of WordPress Multisite

Odds are, if you’re reading this you’ll be very aware of the challenges you face when setting up and managing a Multisite environment, but as a reminder here’s a brief introduction.

Scalability, Load, Traffic and Capacity

It’s incredibly hard to scale Multisite beyond a few hundred sites due to the demands placed on your hosting infrastructure and consequent limitations placed on the software by pretty much every WordPress host.

From the small matter of limited storage, bandwidth and inadequate (or non-existent) backups to simply coping with the demands of traffic, to the implications of replicated high load plugins and themes and the sheer amount of resources consumed by the platform… attempting to manage an even moderately successful Multisite environment can be an absolute nightmare.

Which is something we’ve completely resolved with over 3 million sites hosted on just Edublogs and over 1000 institutions managed by CampusPress, and which, along with unlimited bandwidth, storage and multilayered backups is one of the core aspects of this new service.

Complexity, Technical Expertise & Developers

If you’re not already a skilled WordPress developer and sysadmin, you’re going to struggle to do much with a Multisite setup on your own.

From scaling plugins to the challenges of compatibility, security, stability and customization, even a talented developer can struggle with not only deploying but then maintaining, upgrading and adding to a Multisite environment.

Essentially, to run your own successful Multisite network you need a team of developers and sysadmins.

Which stops being a problem when you have access to the entire WPMU DEV expert support, development and sysadmin team as literally no other company has longer or more combined experience in dealing with Multisite that we do.

Limitations, Support & Training

Due largely to what I outlined above, you’ll often find Multisite environments and hosts to be a highly locked-down experience with any number of plugins or themes excluded either by force or through the challenges inherent in running them at a Multisite level.

Along with not only the support required for your end users (be they clients, staff or users) but the complexity and challenges of running a site as a super admin.

Which, you guessed it, we’ve also managed to overcome through offering curated third party plugins and themes (like Divi and Woocommerce) along with providing custom git management so your technical team can commit and have reviewed any custom code.

Along with providing your own account manager, customized training program, 24/7 expert support and even – should you want it – support for all of your users.

Everything You Ever Wanted From a Multisite Host

So, having addressed the core challenges, now’s the time for the fun stuff that really sets us apart.

AWS, Geo-Located Infrastructure

Built on the back of Amazon Web Services, we have fine-tuned enterprise grade hosting for WordPress.

Additionally, we have infrastructure in the United States (Virginia), Australia (Sydney), Canada (Toronto) and the United Kingdom (Portsmouth), so you can select where you would like to be hosted.

No matter where you're located, we have the infrastructure to support you.
No matter where you’re located, we have the infrastructure to support you.

Security Monitoring

The biggest security challenges are usually caused by outdated and unpatched plugins and themes, along with the WordPress core software itself. Not anymore if you host with us. We’ll take care of every security update and patch as soon as they become available (if not before… We’ve reported a bunch of security issues in core and products in the past!)

Alongside optional CloudFlare protection for DDOS mitigation and increased site performance, and together with WP Defender-based automated logging, manual code inspections, and routine audits around our security practices.

Full 99.9% Service Level Agreement

We guarantee 99.9% uptime, which we'll keep an eye on for you but, of course, you can monitor yourself, too.
We guarantee 99.9% uptime, which we’ll keep an eye on for you but, of course, you can monitor yourself, too.

Nobody likes downtime, but we’re especially fanatical about it and most months you won’t see a minute of it as we aim to hit 100% uptime.

However, we will guarantee you a 99.9% uptime and availability Service Level Agreement, which you will be able to monitor through third party platforms or via our own internal tools.

Your Very Own Dedicated Account Manager

Making WordPress a better place, one Multisite install at a time.
Making WordPress a better place, one Multisite install at a time.

In addition to 24/7 support, you’ll also have a dedicated and experienced account manager who you can contact anytime for any reason.

This means you’ll have a direct number and email for a real person you can talk to for anything out of the ordinary, billing or any other inquiry.

Full WPMU DEV Product Suite (Plus Third Party Products!)

Of course, you'll have access to the full suite of WPMU DEV products and services.
Of course, you’ll have access to the full suite of WPMU DEV products and services.

As well as all WPMU DEV products, we will also install, configure and provide training in third party plugins like Divi, WooCommerce or Gravity Forms.

In fact, we’re pretty much plugin and theme agnostic when it comes to hosting – our main requirement is that it passes our security, reliability and stability testing (we manually review any and all custom code) – and are happy to investigate any and all submissions through our customized git system.

Custom Design and Development

Need help with custom design and development? We've got you covered.
Need help with custom design and development? We’ve got you covered.

We often aim to do this by expanding our existing offerings (which is great, because it means you’ll benefit from other client requests too!) but we’re happy to do custom work.

And lastly, in an entirely new direction for WPMU DEV, we’re also offering hosting clients the opportunity to engage with our team of talented designers and developers to put together themes, plugins, integrations and other custom features specific to your site.

Questions? Requests? Feedback?

Well, first up please feel free to head over to the WPMU DEV Hosting page where we have an FAQ section which will hopefully take care of a most of your queries.

And, if your question isn’t answered there and you’d like to speak to one of our sales specialists, then please feel free to use the form on the site.

You can also request a demo or a free trial on the site, too :)

But, as ever, we’re more than happy to answer all and any questions you might have in the comments below, so fire away!

How to Customize the WordPress Multisite Activation Email with a Plugin

$
0
0

One of Multisite’s useful features is the way it lets you change the experience users get when they first register a site on your network. You can edit their welcome email and change the default content that’s created for their site.

You do this by configuring your network settings in Settings > Network Settings.

But there are two emails that are sent out and this is the second of them. Before the site is activated, WordPress sends out an activation email with a link the user must click on in order to make their site active. Unfortunately, the settings screens don’t give you the option to edit this.

So is there a workaround? The good news is yes, you can write a plugin that amends this email. And in this post I’ll show you just how to do that.

Getting Started Customizing Your Multisite Activation Email

Before you start, you’ll need a few things:

  • A development WordPress installation with Multisite activated – don’t try this on your live network until you’re happy with it.
  • A code editor with FTP access, or a code editor and a FTP client.

If you still need to activate Multisite, our uptime guide to Multisite will show you how.

In this post, I’ll walk you through the code in a core WordPress file but you won’t be editing that file. Editing core file is a very bad idea: it could break WordPress and it means all your changes will be lost next time you upgrade. Instead, we’ll write a plugin that you’ll save in your site’s plugins folder and activate for your network.

The Default Email and Code

Here’s the default activation email that’s sent out when someone registers a site on your network:

WordPress Multisite - default activation email

The email subject is ‘Activate [link]’ where [link] is the link to the new site. All a bit uninviting, in my humble opinion!

The code that generates this is in the ms-functions.php file in the wp-includes folder of your WordPress installation. There are two filter hooks, one for the content of the email and the other for the subject.

The first is called wpmu_signup_blog_notification_email and it lets you filter the default contents of the email itself. In the current version (3.6.1) it’s at line 820 in the ms-functions.php file:

This uses placeholders for internationalization and it also uses variables which are defined immediately above that filter. We’ll be using the $content variable to define the new version of the content. Each instance of \n is a line break and \n%s inserts the path to the blog. We’ll use those again in our plugin.

Note: For more on internationalization and placeholders, see our developer’s guide to internationalization.

The second filter is wpmu_signup_blog_notification_subject, which defines the subject line of the email. Here’s the code (at line 844):

Creating the Plugin

So now we know which filters we’ll be targeting, we can write our plugin with functions that’ll be hooked to those filters.

Create a new file for your plugin (in the wp-content/plugins folder) and give it a suitable name: I’m calling mine wpmu-ms-activation-email.php.

Add an opening to your plugin to tell WordPress what it is:

Editing the Email Subject

First let’s create a function that defines the subject of our new version of the email.

Start by creating an empty function and hooking it to the correct filter hook:

Now let’s populate that function. Inside the braces, add this code:

That has some new text but it also uses the $1$s placeholder to show the value of the network’s title, which is provided in the original file by the $from_name variable.

Save your plugin file and we’ll move on to editing the email content.

MULTISITE

We are the Multisite Experts. Period.

We’ve been developing plugins for WordPress Multisite for the past 10 years. With WPMU DEV you get our most popular plugins like Domain Mapping, Snapshot, Pro Sites, Support System, User Switching and bucket loads of others tailored specifically for Multisite! Woop!

TRY OUR MULTISITE PLUGINS FREE LEARN MORE

Editing the Email Content

The second function will amend the contents of the email.

In your plugin file, add a second empty function hooked to the correct filter hook:

Now populate that function with the following:

Again that’s using a placeholder: this time it’s n%s, which displays the link to the new site and is provided by the $activate_url variable in the original function in the core file.

Here’s the full content of your plugin:

Activating and Testing the Plugin

Now save your file and go to the Plugins screen in your network admin screens. Network activate the new plugin.

Sign out of your site and go to http://mydomain.com/wp-signup.php, where mydomain is your own network’s domain name.

Work through the site creation process and wait for the system to send you the activation email. You should find it’s changed.

Here’s mine:

The updated network activation email

Customizing the Activation Email Improves the Experience for Your Users

So you now have a plugin that customizes the site activation email and makes it more appropriate to your network and more user-friendly. I think a friendly email like this improves the user experience and should reduce the number of people who don’t get past this part of the site creation process.

You can edit the text in my plugin so that it’s better for your network and your users, and you might want to try testing it on some users too before you go live. You should also take the time to edit the welcome email that users will receive once they’ve gone through the activation process – you can do that via the Network Settings screen.

Note: If you’d like to copy the original code fom my plugin or use it for your own site, you can find it on Github.

WordPress Multisite and SEO: All Your Questions Answered

$
0
0
One topic that comes up time and time again in the comments on our Multisite posts is SEO. People often want to know how running a Multisite network will affect SEO, both for the main site and for other sites or blogs in the network. There isn’t a simple answer to the question “How will Multisite affect […]

How to Use WordPress Multisite for Different Divisions in a Company Website

$
0
0
WordPress Multisite has many uses. You can use it to create a profitable network of sites which people create themselves, to manage your own sites, to host sites for clients and much more. But something that clients often ask me about is using it to power a network of sites for a company that has separate divisions with […]
Viewing all 126 articles
Browse latest View live