Saturday, January 30, 2016

9 Best Webinar Software for WordPress Users

Do you want to run a webinar on your WordPress site? Webinars provide an interactive way to reach users, share your experience, and grow your business. In this article, we will share some of the best webinar software for WordPress users.


Webinar software for WordPress users


What is Webinar Software and When You Need it?


The term webinar comes from seminar, a gathering to exchange ideas, learning, collaborate and meet. The only difference is that webinars take place on the web, and all the participants join in using their desktop or mobile devices.


Webinars are popular on websites that offer online classes. A webinar software allows multiple users to join in a video stream. The organizer and participants can all interact, share content, chat, and conference simultaneously.


If you want to run an online training website, then take a look at our guide on how to add a learning management system in WordPress.


Having said that, let's take a look at some of the best webinar software available for WordPress users.


1. GoToWebinar


GoToWebinar


GoToWebinar brought to you by GoToMeeting is one of the most popular choice for webinar software. They are known for their reliable platform and ease of use. It works beautifully on all devices and offers equally great user experience.


They have ‘pass the control' feature which allows you to give your keyboard and mouse control to any participant in the meeting. You can also share desktop applications, screen, presentations, and files.


Their training webinar solution allows easy registration and quick setup. The training webinar solution also offers live polls and surveys, course material sharing, and the ability to host large or small groups. All the features that a training provider would need from a webinar software are packed right in.


GoToWebinar comes with different pricing plans for different usage scenarios. Their starter plan starts from $89 per month for 100 attendees going up to $299 / month for 1000 attendees.


2. Webinars OnAir


Webinars OnAir


One disadvantage of using Google Hangouts is that you cannot charge users directly. Webinars OnAir is built around Google Hangouts and allows you to charge users for joining a webinar.


It comes with all the features of Hangouts and then some more. It has a built-in retargeting pixel which allows you to track your audience across the web. You can show special offers to your attendees during the webinar, generate leads, and automatically save webinar to YouTube.


Webinars OnAir pricing starts from $19.97 per month for maximum 25 participants. For $99.97 per month you can have maximum 5000 participants and all the features.


3. WebinarJam


Webinar Jam


WebinarJam is another webinar software that uses Google Hangouts and adds marketing features to it. This allows you to host very large webinars with all the powerful features of a professional webinar tool.


WebinarJam allows you to manage registrations, use screen and file sharing, interact with participants all under the same software. It is built for marketers and has custom landing pages that you can use for registration, email notifications, polls, quizzes, and live offers during sessions.


It also automatically records all webinar sessions, you can decide whether you want to publish them to YouTube. You can also replay them whenever you want.


Pricing starts from $497/year, which makes it one of the most affordable options.


4. StealthSeminar


StealthSeminar


StealthSeminar is another easy to use webinar software. It not only offers the live webinar software, it also combines it with recorded webinars or automated hybrid webinars. This allows you to completely automate the process of running a webinar.


You get powerful moderation tools to control the discussions and user flow. StealthSeminar also integrates easily with email service providers like MailChimp, AWeber, etc.


There are quite a lot of features for marketers, like placing unlimited call to actions that can be fired automatically at any given time. It also provides detailed analytics and split testing so that you can analyze your performance and improve on that.


Stealth seminar costs $97.00 in registration fee, then $69.95 per month for 150 users plan.


5. Google Hangouts


Google Hangouts


Google Hangouts is probably the most easy to use webinar software currently available. It is incredibly fast and free. Anyone with a Google account can use it.


Apart from the usual voice and video calling, it allows multiple users to join a hangout. Users can share files, chat, share computer screens, and so much more.


Hangouts on Air allow you to live broadcast webinars and share them with the world of specific people. You can also record your hangouts and share them on YouTube.


The downside is that it does not have paid user registrations or any marketing features that you would need to run a professional webinar.


Take a look at our guide on how to embed a live Google+ Hangout session in WordPress and how to add a Google+ Hangout event countdown in WordPress.


6. Cisco WebEx


Cisco WebEx


Cisco WebEx is one of the industry leaders in premium web conferencing and organizing professional webinars. It has all the professional tools you will need to conduct professional meetings.


WebEx's training center allows you to create webinars targeted towards teaching and learning. It has additional tools to take live polls, quizzes, track performances, conduct tests and surveys, etc. Users can also share any apps, screens, notes, and files.


Pricing starts from $24 per month for 8 users to $69 per month for upto 100 users.


7. Zoom


Zoom


Another powerful contender in the webinar software industry is Zoom. It allows you to host highly interactive video conferences and meetings with HD quality audio and video.


One of the most interesting features of Zoom is the ability to share mobile screens from your phone or tablet. You can also split the screen in two to show the panelists and the shared screen at the same time.


Zoom has a free plan with limited features. Their basic plan starts at $14.99 per month. They also have an educational plan for learning centers of all shapes and sizes.


8. AnyMeeting


AnyMeeting


AnyMeeting offers solutions for hosting large and small webinars. It comes with all the standard features you would expect from a professional webinar software.


It allows you to host large group calls, video and audio conferences, with screen and file sharing features. As a training tool it also includes polls, quizzes, follow up tests, notes, presentations, and large groups of upto 1000 attendees.


AnyMeeting's pricing plans start from $18/month for 30 participants to $298 per month for 1000 participants.


9. Adobe Connect


Adobe Connect


Adobe Connect is one of the most powerful and feature rich webinar software in the market. It offers all the bells and whistles that you would expect from a platform created by one of the IT giants.


Adobe Connect makes it super easy to host online meetings and conferences, run webinars, training, and online courses. Their highly interactive platform makes sharing easier for both the audiences and the host.


Users and experts have repeatedly praised the user experience, ease of use, reliability and performance of Adobe Connect.


It has different pricing plans billed annually. For Adobe Connect Webinars, the pricing starts from $1250/year/webinar manager for upto 100 users.


We hope this article helped find some of the best webinar software for WordPress users. You may also want to see our list of 40 useful tools to manage and grow your WordPress blog


If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.


The post 9 Best Webinar Software for WordPress Users appeared first on WPBeginner.


WP-CRM System: A Total CRM Solution for WordPress

Are you a freelancer, or small business owner who has been struggling to keep projects, or tasks organized? Have you looked into using a Customer Relationship Management (CRM) system, but were either turned off by the cost or the complexity of the system? WP-CRM System is the solution you have been looking for.


How to Hide the WordPress Toolbar on Your Website for Good

WordPress automatically displays a toolbar at the top of the page when you’re logged in. Whether you're using your site in the backend or checking it out on the front-end, the toolbar is always there – and for many it's really annoying.


For developers, the toolbar can slightly throw off a theme's design, especially if you have some CSS styling that may not be visible with the admin bar in the way. For others, the toolbar is simply distracting.


Either way, it’s easy to disable the toolbar. Here are a few quick ways to hide it.


1. Turn Off the Admin Toolbar in Settings


To remove the toolbar from your site, go to Users > Your Profile. Scroll down to “Toolbar” and uncheck “Show Toolbar when viewing site."



Check the toolbar option to turn it off when viewing your site on the front-end.
Check the toolbar option to turn it off when viewing your site on the front-end.


And that’s all you need to do. The toolbar will no longer appear on your site… only on the front-end, that is. The toolbar will continue to display on the backend of your site.


Since the toolbar displays useful information, such as quick links to the front-end of your site, creating new posts and pages, and to access your profile, it's best to leave this particular toolbar as is – it does contain important information about your site, after all.


2. Remove the Admin Toolbar with Code


If you would rather remove the toolbar completely with code, just drop the following snippet into your functions.php file:




This code will stop the toolbar from displaying on the front-end of your site.


It's a good idea to create a child theme if you're planning to implement this method rather than edit your raw functions.php file. If you're not sure how, or need a refresher, check out our comprehensive guide How to Create a WordPress Child Theme.


3. Remove the Admin Toolbar with a Plugin


If you don't want to muck around with code, your best option is to use a plugin.


One of the most popular options in the WordPress Plugin Directory is WP Admin Bar Removal. It's a simple plugin that, once installed and activated, automatically hides the toolbar on the front and backend of your site. It even removes the toolbar option on your user profile page.



The backend of my site, sans admin toolbar.
The backend of my site, sans admin toolbar.


Did you try out this tweak on your site? What other tweaks have you made to your install to customize WordPress to suit you? Let us know in the comments below.


Adding Company Info to Your WordPress Site with Global Variables

A client I recently built a site for wanted to display company contact details in multiple places on the front-end of his site.


A simple enough task, yes, but also one I knew would quickly become tedious – not only would I have to copy and paste the same information in many different places but if the client wanted to update his contact details they would have to be edited in various locations.


The solution? Global variables. Unfortunately, WordPress doesn’t provide a way to set up and use global variables by default, so I went about putting together a custom solution that would allow my client to easily input his details in one place so they could be disseminated and published across his site.


Here’s how.


Creating a New Admin Setting


In order to make it super easy for my client to enter his contact details, I created a new setting in the backend that he could access: Settings > Contact Info.


This new screen allows him to enter his company information, including phone number, fax number and email address.


Here's a peek at what we'll be building:



The new Contact Info screen.
The new Contact Info screen.


In order to implement this solution on your own site, you need to add some code to your functions.php file. However, it's always best to create a child theme rather than mess around making changes to functions.php. If you're not sure how to create a child theme or need a refresher, check out our comprehensive guide How to Create a WordPress Child Theme.


Here's the code, which I'll go through it in more detail below.




The code is fairly self-explanatory with the comments, but here's what it does in a nutshell:


The first function, theme_settings_page, sets up the Contact Info screen in the backend of the site, while the next three functions pull in the user's phone, fax and email information.


Next, the code tells WordPress what needs to be enqueued in the form area of the screen, specifically using the add_settings_section, add_settings_field and register_setting functions.


Lastly, in order to add a sub-menu page to the Settings main menu, we use the add_options_page function.


Displaying Contact Info on the Front-end


Now that the client can input his details in the backend, we need to actually display that information on the front-end of his site.


Add the following snippet to your site on the page where you want the contact information to display:




This snippet checks if the phone number is filled out and if it is then the number is displayed, otherwise the message "Support silence is golden" is shown instead.


It looks like this on the client's website:



The client's contact information is displayed on his site using a global variable.
The client's contact information is displayed on his site using a global variable.


If the client later updates his information and forgets to enter his information, it would display like this instead:



Oh oh! The client forgot to add his phone number.
Oh oh! The client forgot to add his phone number.


Wrapping Up


Using global variables allows you to quickly and easily display the same set of information anywhere on your site without the need for manually entering data each time it changes.


This snippet is especially helpful if you work on sites for clients that own physical locations and need to display contact information, or have online details such as a phone number or email address they want listed in multiple places on their site.


Do you think this kind of customization would be useful on your site? Have you customized your WordPress site in a similar way before? Let us know your ideas for tweaking this snippet in the comments below.


Saturday, January 23, 2016

How to Fix WordPress RSS Feed Errors

Are you encountering a RSS feed error on your WordPress site? Recently one of our readers asked us how to fix WordPress RSS feed errors. There are multiple type of RSS feed errors and they can be caused by changes in plugins and themes. In this article, we will show you how to find and fix WordPress RSS feed errors.


WordPress RSS feed error


Most Common WordPress RSS Feed Errors


Most common WordPress RSS feed errors are caused by poor formatting. WordPress outputs RSS feeds in XML which is a strict markup language. A missing line break or an extra tab can break your RSS feed.


The RSS error message will look something like this:



XML Parsing Error: XML or text declaration not at start of entity

Location: http://example.com/feed

Line Number 2, Column 1:


Depending on what browser you are using, your RSS feed error message may vary.


You can also see this error message when visiting your feed in a browser.


Warning: Cannot modify header information – headers already sent by (output started at /home/username/example.com/wp-content/themes/twentysixteen/functions.php:433) in /home/username/example.com/wp-includes/pluggable.php on line 1228


If you are using FeedBurner, then your errors may look different.


Having said that, let's take a look at what causes these RSS feed errors and how to fix them.


Manually Fixing RSS Feed Errors in WordPress


The most likely reason for your RSS feeds to show error is poor formatting. This poor formatting can be caused by a blank space after closing php tag in a plugin or in your theme's functions.php file.


If you recently added a code snippet to your theme or child theme‘s functions.php file. Then you need to edit your functions file.


If there is a closing php tag at the end of your functions file, make sure that there is no extra space or line breaks after it.


Ideally, the closing PHP tag is not required at the end of the file. This is why it would be best if you remove the closing php tag altogether.


This should fix the problem in most cases. However, if it does not fix your RSS feed error, then continue reading.


Fixing WordPress RSS Feed Errors Using Plugin


First thing you need to do is install and activate the Fix My Feed RSS Repair plugin. Upon activation, simply go to Tools » RSS Feed Fix page.


Fix RSS feed button


Click on the Fix feed button and that's all.


You can now visit your feed in a browser window or test it with a feed validator tool.


We hope this article helped you fix WordPress RSS feed errors on your site. You may also want to take a look at our guide on how to make separate RSS feed for each category in WordPress.


If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.


The post How to Fix WordPress RSS Feed Errors appeared first on WPBeginner.


Understanding CSS3 Flexbox for Clean, Hack-Free Responsive Design

Remember how hard it used to be to vertically center content on your site? If you’re struggling with the words “used to be” in that last sentence, you obviously haven’t cottoned onto flexbox yet and need to read on.


CSS wasn’t originally designed to handle the complex template styling that we see on the web these days, forcing developers to come up with CSS hacks to get content looking right.


Flexbox, or flexible boxes, is a relatively new layout module in CSS3 designed to improve item alignment, direction and order in a container even when it’s dynamic or of an unknown size. It’s most important feature is the ability to modify the width or height of its children to fill the available space in the best possible way on different screen sizes.


In this post, I’ll walk you through how flexbox works and how to add it to your WordPress stylesheet so your website is up-to-date with the latest CSS standards.



What is Flexbox?


Flexbox is one of the first modules designed for actual layout and makes styling with CSS easier and, in some cases, actually possible.


The module designed to enhance the CSS box model by allowing containers and their contents to be flexible. Using flexbox, a container and its children can be arranged in any direction: Left, right and even up or down. You can choose the order of elements on the page and reorder them, align your content from right to left with a single property, or even add any number of columns to your page. Size is also flexible since elements can grow to occupy unused space or shrink to prevent overflow.


The cool thing is that even though flexbox isn't yet officially a part of CSS3, all major browsers support it including Android and iOS.


When to Use Flexbox for Your Layout


I recently wrote about grid layouts, a similar improvement to CSS also designed for better layouts. There's a subtle difference between the two which makes one suitable for creating complete layouts and the other not so much.


While flexbox is technically capable of creating a full layout for your theme, it's not designed exclusively for this purpose. Rather, it's better suited for styling separate containers such as your main content area, sidebar, header and other similar sections. Grids are ideally used for creating an entire layout.


The difference lies in the way flexbox inherently interacts with major browsers that load progressively. The content that shows up first gets stretched horizontally to fit the entire screen. As more containers load, the full-width horizontal display adjusts and shrinks to include the surrounding elements.


As developer advocate for Chrome Jake Archibald notes in his article Don't Use Flexbox for Overall Page Layout, what an end user sees is a sudden jump of the layout from content appearing as full-width to the actual size, which may be a lot smaller. While this is only a concern for users with slower internet connections, it still poses a problem for user experience. With this in mind, you don't need to choose between the two –  use grids for layouts and flexbox for content within that layout.


Containers, Children, and Flex


Before you start coding your first flexbox, there are some important concepts that you need to understand first. According to the W3C's CSS Flexible latest working draft:



  • flexbox – A container becomes a flexbox after you include the display property and set it to flex or inline-flex

  • flex item – A child element within a flexbox

  • main axis / main dimension – The main axis of a flex container is the primary axis along which flex items are laid out. It extends in the main dimension

  • cross axis / cross dimension – The axis perpendicular to the main axis is called the cross axis. It extends in the cross dimension

  • main-start / main-end – The flex items are placed within the container starting on the main-start side and going toward the main-end side

  • cross-start / cross-end – Flex lines are filled with items and placed into the container starting on the cross-start side of the flex container and going toward the cross-end side

  • main size / main size property – A flex item’s width or height, whichever is in the main dimension, is the item’s main size. The flex item’s main size property is either the width or height property, whichever is in the main dimension.

  • cross size / cross size property – The width or height of a flex item, whichever is in the cross dimension, is the item’s cross size. The cross size property is whichever of width or height that is in the cross dimension.



The flexbox model, including all the properties used to describe the container and its children.
The flexbox model, including all the properties used to describe the container and its children.


There are also certain properties in CSS that don't have an effect on flexboxes since they aren't actually block containers:



  • column-*

  • float

  • clear

  • vertical-align

  • ::first-line and ::first-letter pseudo elements


Building a Container with HTML5


With that all out of the way, you can now start building your flexbox. To do this, you first need to add some HTML5 to the WordPress page of your choice, whether it's header.php, archive.php, page.php or whatever file ends up being seen by your visitors on the front end.


Create a div and a recognizable ID for it based on your needs, similar to the example below:




Within that container, you can add whatever content you want.


I'm going to build a custom homepage with a large area at the top for a call to action, three smaller sections underneath in separate columns where I'll place prompts and another section below it for additional information.


To accomplish this, I'll add the code below into my otherwise completed index.php file and I'll also add the div I included above.




When you have added your main div and all the other content you wish to include, you have the foundation you need to build your first flexbox. To accomplish this, you need – as you probably already guessed – some CSS.


Creating and Styling Your Flexbox


To create your flexbox, you need to define the display property for your container. It should look similar to the example below:




This creates your flexbox at block-level. Alternatively, if you wanted to apply styles inline, you would type inline-flex instead of flex.


Now you're free to add the styling for your flex items below your new flexbox you just created.


Though you have just made your first flexbox, you haven't yet added any flexbox-related properties to really see how much you can do with it. For example, you can use flexbox to help keep your content responsive so it views well across all devices.


Styling for Responsiveness


There are many properties you can include in your flexbox and to help create a page that's responsive, you can order your flex items.


To place your flex items in an order of your choosing, all you need is the order and shorthand flex property.


While there are a number of properties you can use to adjust your content such as the flex-basis, flex-grow and flex-shrink properties, the W3C recommends that you use shorthand and this comes in the form of a single property called flex.


Here's an example of what these properties look like in action with the homepage I'm creating:




I know, seems fine, but what does this all mean, right? It may seem a little tough to follow at first, but it's not too difficult to understand once you get the hang of it.


The order property simply needs a number to tell your browser which flex item to display before the others. Starting from one, you can choose which flex item to show first. An order of 2 would display the flex item second, order:3; would display an item third and so on.


You can also use negative numbers. If you suddenly realize in editing that you need to add a flex item before the first one that's already ordered, you can set the new flex item to order:-1; so it's displayed before the first flex item. Handy, isn't it?


The shorthand flex property is where things start looking a bit complicated. Fortunately, there's a fairly straightforward explanation: This property sets the flexible sizing of a flex item relative to the total size of the flexbox.


Essentially, you can set the size of a flex item to scale based on the available space. This means that if a user visits your site on a mobile device, you can set your content to automatically shrink to fit the screen size or in the case of desktop browsers, your content can grow to fit the entire size of the window.


Not all of your flex items have to do this, though, since you can disable flexible sizing for flex items that need to stay a certain size. For example, you may want a small ad to remain the same size on all screens since your client may get upset if you're charging the same price for truncated exposure on smaller screens.


So how can you make this happen? Here are the ins and outs of using flexible sizing with the shorthand flex property.


First off, it's comprised of three values from their longhand property counterparts:



  • flex-grow – Sets if and how big your flex item can scale to fit unoccupied space. It can only be a positive number.

  • flex-shrink – You can let your flex item shrink if the item is larger than the screen size. Negative numbers don't have an effect.

  • flex-basis – The initial size of the flex item before any flexible sizes are applied and before there is free space to occupy or a lack of space. Can be set as pixels or a percent.


Once you know how the longhand properties work, you can start coding in shorthand:



  • flex:initial or flex:0 1 auto – This setting makes the flex item size relative to the content that's inside of it. It grows if there's a lot of content and shrinks if there are only a few lines of text, for example. If there's free space available, the item doesn't grow to fit the whole area, but it is set to shrink if there's a shortage of room.

  • flex:auto or flex:1 1 auto – Either of these options lets your flex item shrink and grow as needed to fit any screen size where your page is viewed.

  • flex:none or flex:0 0 auto – This disables flexible sizing and sets your flex item size to be fixed and non-adjustable to the end user viewing your site on any screen size.

  • Relative flexible sizing with flex: 1 %px – The positive number you type first sets the portion of free space your flex item occupies relative to your other flex items if they use this same pattern. The second number lets the item shrink on smaller screens. The third value in either pixels or percent sets the initial size of the flex item, but keep in mind it also disables the flex-basis property which means this initial size isn't guaranteed. If there's enough space to display this initial sizing then it's shown, but if there isn't enough space, the exact sizing isn't displayed. This is especially true if the item's order appears lower in the list and other previous items in the order take up most of the space. An example of this option would be flex:2 1 0%.


For any of these options to work, you need to first set the size of your flexbox with a height and width. The size you choose completely depends on your specific needs.


Building upon the example stylesheet above, here's what your flexbox CSS might look like with sizing added:




With this setup, all of the flex items in this example show up on the same line. Since I want to display a call to action, with extra prompts directly beneath it and additional information displaying last and on a new line, I need to add the flex-flow property and set it to wrap content in rows.


To accomplish this setup, I need to add this property to the flexbox and here's what it looks like with the code I created for my homepage:




When one or more flex items occupy the length of the flexbox, the other flex items ordered after them are placed on a new row.


The basic structure is all set up now, but since I didn't add any extra styling such as background colors, it won't look like much when you view the page. To give you a better idea of what the final styling of my homepage should look like, I'll add some extra optional and basic styling:




I also added paragraph tags to the HTML portion so that I could style the text:




Just remember that if you choose to include the min-width property with your flexbox or flex items, it could cause your flexbox to not work as expected and could override your flexbox settings.


The end result creates a very basic front page to be sure, but it sets the foundation. With a little bit of work and some more styling, you can create the responsive WordPress page and the site you desire.



Wrapping Up


The advancements to version three of CSS as of late brought the @media rule and other improvements which made modern, responsive layouts and themes that much easier to create. Now, with the proposed flexbox in draft, you can create modern designs without the use of CSS hacks for cleaner code that's also much easier to write.


You now have all the tools you need to get started with flexbox right away, but there are so many more properties you can use to help achieve even more. Fortunately, you can access a complete list on the W3C's working draft of flexbox.


Since there could still be changes that are applied to flexbox, it's a good idea to keep an eye on the working document for flexbox to keep up-to-date on the latest developments.


If you want a fun way to help cement what you've learned in this post, I would highly recommend you check out Flexbox Freddy, a fun game designed to help you better understand how flexbox and its properties work.



Image credits: Scotch.io


What do you think of flexbox? Could you see yourself using it? Do you think it would save you time? Feel free to share your thoughts in the comments below.


Nonprofit Volunteer Management with Ease

For many nonprofits, volunteers are not only a fantastic way to help provide services to the community, but also an opportunity to develop a group of loyal supporters. Unfortunately, the process of recruiting, managing and tracking volunteers can become exhausting. And with so much else on your plate, the last thing you want is to pore over a spreadsheet of volunteers or spend your time tirelessly sending out reminder emails.


Got A WordPress Story? Share It! #Ilovewp

Yesterday WordPress said goodbye to its old testimonials page and said hello to a new one. In attempt to saturate the revamped page with new testimonials, WordPress has asked that its users write a story on their WordPress blog about what WordPress means to them and share it to Facebook and Twitter using the hashtag #ilovewp.





Even though blog stories are requested, the new testimonial page is already filled with Twitter responses from those who tweeted out as to why they love WordPress (sans linking to a story). Therefore, if you don’t have a story to write, you can still share why you love WordPress by using the hashtag #ilovewp for your chance to get featured.


Are you a WP Engine customer sharing your story? Tweet us @wpengine, as we'd love to hear your story too!


The post Got A WordPress Story? Share It! #Ilovewp appeared first on WP Engine.

Saturday, January 16, 2016

20+ Fresh Cooked Themes and Plugins for Your WordPress Project

Themes for clean news websites, interior design, flat long horizontal containers blogging, music-related posts, multiple purposes in clean style, oblique fashion blogging and eCommerce, agency home sites, motorsports blogging, portfolio headers, a curated collection of 30 parallax-featured themes.

The Ultimate Guide to WordPress Permalinks

Pretty permalinks are the default setting for URLs on WordPress sites, but what exactly makes them pretty? And if you’re new to WordPress, you might be wondering what is a permalink?

Permalinks, or permanent links, are URLs to individual pages and posts, as well as category and tag archives, on your website. They never change and are a permanent web address used to link to your content.

Well-organized permalinks are important in both attracting users to your site, making it easy for visitors and search engines to navigate and refer to your content.

In this post, we’ll explore how permalinks work in WordPress, how you can manage the settings in the backend of your site to optimize your SEO, and some advanced settings to ensure permalinks work correctly on your server.

Permalinks in WordPress

There are three basic types of permalink available:

"Ugly" Permalinks

This is the default option in WordPress and takes the form of a URL followed by a query string identifying the relevant post ID, for example, http://www.example.com/?p=138. This format isn't readable to humans (i.e. contains numbers rather than words), hence the name "ugly."

"Almost Pretty" Permalinks

Also referred to as PATHINFO permalinks, these are an improvement on ugly permalinks. They include index.php after the domain name followed by specific identifiers relating to a post, for example, http://www.example.com/index.php/yyyy/mm/dd/post-name/

"Pretty" Permalinks

These are the links you'll be most familiar with from the majority of modern sites, WordPress or otherwise. In this case, the domain name is followed by a clean string of identifiers targeting the individual post, for example, http://www.example.com/2016/01/09/my-new-post

Changing Your Permalink Structure

Go to Settings > Permalinks in the backend of your site to access the permalinks settings.You can choose from one of the more common permalink structures or enter your own in the

You can choose from one of the more common permalink structures or enter your own in the Custom Structure field.

Common permalink settings with the default selected.
Common permalink settings with the default selected.

There are six options to select from:

  • Plain: This is the "ugly" permalink setting
  • Day and name: This uses a year/month/date format followed by your post's name. The name here refers to the slug of your post
  • Month and name: This is the same as option two but without the day information
  • Numeric: This options just uses the ID of the post from the row in the wp_posts table of your database
  • Post name: This one uses the name of your post
  • Custom Structure: This last field allows you to define your own structure using the full set of structure tags available in WordPress

The default setting is plain, or "ugly" permalinks, which is automatically set when you install WordPress.

Creating Custom Permalinks

WordPress provides 10 structure tags for defining your own custom permalink structure. The first seven are the ones you'll come across most often:

  • %postname%: Your post's slug
  • %post_id%: A post's unique ID
  • %category%: The main category of a post
  • %year%: The year of the post
  • %monthnum%: The month a post was published
  • %day%: The numeric day a post was published
  • %author%: Potentially useful in multi-author, magazine type environments

If you want to get hyper-specific about timings with your permalinks, you can also use the %hour%, %minute% and %second% options, though it's hard to think of typical scenarios where these would actually be useful.

Bear in mind that when you're putting together your custom structure, you'll have to include at least one of %postname% or %post_id% in order for WordPress to be able to target a specific post – these are the only tags that give guaranteed unique identifiers to work with.

With all that in mind, if you wanted to create a custom permalink structure comprising solely if post IDs and post names, you would enter the following: /%id%/%postname%/

It's worth mentioning at this point that you've also got the option of setting custom category and tag bases for your site on the same screen under the Optional settings section.

Category and tag base settings.
Category and tag base settings can also be customized.

SEO-Friendly Permalinks

Permalinks and link structure are important from the point of view of search engines. While there's been a lot of hot SEO air expounded on this topic over the years, Google's guidelines on URL structure remain admirably straightforward – keep them as simple as possible and make them intelligible to humans.

In Google's search results, users are given four different pieces of information: the title, the description, the date, and the permalink. These details give users a quick indication of whether a page contains the content they are seeking. For example, if you have a post about mountain goats and you leave the default permalink settings enabled, the URL might be http://www.example.com/?p=135 whereas if you enable the post name setting the URL might be http://www.example.com/mountain-goats/, which is far easier for humans to read and understand. As such, ugly permalinks aren't so user-friendly and generally aren't recommended for best practice SEO.

A recent Moz.com article on the subject fleshed things out slightly further on this front but, again, the basics aren't hard to grasp:

  • Keep URLs short – ideally under 100 characters
  • Use keywords in URLs within reason, but don't attempt to keyword stuff
  • Remove dynamic properties where possible
  • Use hyphens as separators and omit stop words such as and, or, but, of, the

Choosing the Right Permalink Structure for Your Site

We've covered the basic options for taking control over your permalinks so far, but we still haven't grasped the nettle of what the ideal permalink structure for a WordPress site is. The short answer: it depends. Not every site will benefit from the same structure, but there are some general points to bear in mind.

The first is that you almost certainly want to be including your post name in your permalinks. Its combination of utility for both site users and search engines makes it something of a must-have, and it's often all you need. Browse around the WPMU DEV blog archives, for example, and you'll see that's the structure we use.

WPMU DEV site using post name permalinks.
Simple but effective post name permalinks in action on WPMU DEV.

If you're running a site that's primarily focused on news, there's a case to be made for including date information in your permalinks, but otherwise it's hard to justify. If you do want to include date information as a courtesy to the reader, it makes a lot more sense to simply include it in your post's meta information, where it's more easily scanned.

Date-based permalinks on The Guardian.
Date-based permalinks can make sense in the context of news sites.

Including category information in your URLs can make sense in the context of sites with discrete and well-defined sections of interest. Bear in mind that if you are using multiple categories for a post, only one will be displayed in the permalink and priority is given alphabetically. If you need more fine-grained control over this, consider using the WP Category Permalink plugin.

As long as you are including post name information in your URL, the precise solution you go for is unlikely to have an enormous impact one way or the other. Prior to WordPress 3.3, there was an issue where using post names in permalinks led to a performance hit, but those days are happily gone.

As Matt Cutts, former head of the web spam team at Google, points out, once you've got the basic info into the permalink, the exact structure you go for is largely a matter of personal choice.

Enabling Pretty Permalinks

Depending on the peculiarities of your particular hosting setup, you may need to ensure certain settings on the server are in place for permalinks to function correctly. Put simply, your web server needs some way of being able to translate permalinks into something it can actually target. How this is done will depend on which type of web server you're using. With many hosting providers, these details will already have been taken care of, but you might find yourself needing to pop the hood from time to time.

We'll introduce the most common setup below, but if you find yourself running into difficulty generally, the Fixing Permalink Problems of the Codex is an excellent place to start troubleshooting.

Using Permalinks on Apache

For the majority of WordPress sites, the web server being used will be Apache. If this is the case, you'll need to be sure that a few technical pre-requisites are present and correct.

Firstly, Apache's mod_rewrite module must be installed and activated. In WordPress' home directory, you'll also need the FollowSymLinks option enabled and FileInfo directives permitted – you can find a useful breakdown of how to do this in Apache configuration files over at Super User.

You'll then also need a .htaccess file in place that WordPress can use. If this doesn't exist, WordPress will try to create it when you activate pretty permalinks and will also need write access to the file.

Tinkering with .htaccess files can be a messy business at the best of times, so we'd advise against diving straight in here unless you have some prior experience. You can find detailed info on using .htaccess files in this context at the Using Permalinks WordPress Codex page.

Assuming those items are in place, you should then be able to manage your actual preferences from the WordPress backend.

Using Permalinks on Other Web Servers

Apache is, of course, far from the only server in widespread use. Popular alternatives include Nginx and Lighttpd. You'll find instructions for using permalinks with both in the WordPress Codex, along with tips on getting up and running with Windows servers and local installs on Mac and PCs.

Changing Permalinks on a Live Site

Ideally, you should decide on your preferred permalink structure prior to site launch and then stick with it over time.

You may, however, end up having to make changes on an existing site at some point. Bear in mind that this is a large step to take sitewide, and you are potentially playing with fire when it comes to existing external links and SEO rankings.

Making the changes in the WordPress backend should be straightforward enough, but you will need to 301 redirect all of your previous links to ensure you don't antagonize both users and search engines. Begin by making sure you have a complete list of both the previous URLs and what they will be redirecting to.

Ideally, you'll then want to use a plugin such as Redirection or SEO Redirection Plugin to handle the heavy lifting of making sure old links still find the right target. Be sure to check out our overview of 301 redirects in WordPress for a complete breakdown of the subject and guide to relevant plugins you can use.

Wrapping Up

Getting your permalink structure defined is one of the first decisions you will likely make on any new WordPress site.

From an SEO and performance perspective, it's best not to use the default "ugly" permalink settings and instead opt for a "pretty" permalink structure that is humanly readable. It's also important to keep Google's URL guides in mind when setting slugs for your site and when editing URLs for posts and pages.

Lastly, make sure you if you do decide to change your existing permalink structure on a live site, you do it with a large degree of caution and ensure you put in place tools to handle redirections.

If you have any questions about permalinks, leave a comment below and we'll do our best to help you out.

Report: WP Engine Leads Enterprise WordPress Charge

WordPress has evolved from a simple blogging tool to a sophisticated web and application platform upon which many of the world’s largest companies and most well-known brands trust critical business websites. That transformation is largely responsible for WordPress’ domination of the web—it currently powers a quarter of all websites.

DOWNLOAD THE FULL 451 RESEARCH REPORT ON ENTERPRISE WORDPRESS NOW

We’re both honored and excited to share a recent report from technology research and analysis firm 451 Research that credits WP Engine with leading the enterprise charge for WordPress. The report, titled WP Engine Helps to Push the Managed WordPress Hosting Model into the Enterprise, notes that WP Engine has been a major influencer on WordPress’ enterprise readiness through our expertise and contributions to the development of WordPress, and our customer-inspired approach to support and service.

WP Engine is a leader in the managed WordPress hosting space,” said 451 Research’s Liam Eagle. “Through its expertise, its platform, its innovation and its contribution to the broader WordPress community, WP Engine is influencing enterprise adoption of WordPress.

According to the report, WP Engine is blazing the enterprise WordPress trail through “expertise in operating WordPress, the performance of its platform, and its reputation and exposure within the WordPress open source community.” We strive to be significant contributors to WordPress core and to be involved in WordPress’ overall development, which helps us innovate and iterate on our own platform while staying in sync with the needs of the greater WordPress community.

The report adds that our proficiency with WordPress differentiates WP Engine in the growing and increasingly competitive managed WordPress hosting market. We specialize in WordPress, which helps us give our customers a world-class support and service experience that empowers them to focus on their business and on building their brands while we take on server and WordPress management and support.

Our laser focus on WordPress has helped us grow to serve more than 40,000 customers in 138 countries and to manage nearly half a million domains. It’s how we consistently achieve customer satisfaction ratings of 97 percent and above.

The report notes, “In the broader market, WP Engine believes it differentiates on the quality of its support and service. This is a common claim in the web hosting space. However, it is a realistic differentiator in the very specialized, and very performance-focused managed WordPress hosting market.”

Get exclusive access to the full 451 Research Impact Report now and learn why WP Engine is the platform on which to build your digital strategy.

The post Report: WP Engine Leads Enterprise WordPress Charge appeared first on WP Engine.

How to Add a Learning Management System in WordPress with WP Courseware

Do you want to create courses and manage classes in WordPress? Recently one of our readers asked us how they add a learning management system in WordPress? In this article, we will show you how to add a learning management system in WordPress with WP Courseware, so you can run courses, manage classes and students, track progress, and so on.

WP Courseware - Learning Management System for WordPress

Why Use WP Courseware as Your WordPress LMS

Most site owners who want to add a learning management system to their websites are not programmers or coders. You need a solution that takes care of all the complex programming and coding in the background. WP Courseware does that really well.

  • WP Courseware is extremely easy to setup and manage.
  • It comes with unlimited courses, lessons, quizzes, surveys and students.
  • Creating courses and lessons is as simple as drag and drop.
  • WP Courseware integrates beautifully with most popular WordPress membership plugins. You can sell courses with memberships on your site.
  • It also integrates with WooCommerce and Easy Digital Downloads, allowing you to sell courses as products.
  • There are extensive documentation and help available on the plugin's website. From the basic setup to advanced integrations, everything is well covered.

Getting Started with WP Courseware

First thing you will need to do is to install and activate the WP Courseware plugin.

WP Courseware is a premium plugin with prices starting from $99 for 2 sites with 1 year of support and updates.

Adding Courses

WP Courseware will add two new menu items labeled Training Courses and Course Units to your WordPress admin menu. Training courses is where you design your courses and modules. Course units is where you add actual lessons for your course.

Simply click on Training Courses » Add Course to create your first course.

Adding a new course in WP Courseware LMS

Provide a name and description for your course. After that you need to choose whether you want all course units to be visible to the users or just next course unit in the line.

Using the next unit in line option will restrict students from seeing the next course unit until they finish the previous unit.

Don't forget to click on save all details button to store your settings.

You will notice other tabs on the add new course window. These tabs allow you to change messages and emails that your students will receive when they join this course.

Creating Modules

A module is a collection of course units grouped together. Lessons in a series can be added into a module. Each training course can have as many modules as you want.

Course Modules

Simply visit Training Courses » Add Module to start adding your course modules. Provide a title for the module, select a training course, and enter the module description.

Adding Course Units

Course Units are like individual lessons that can be part of any module or training course in WP Courseware. Simply visit Course Units » Add New to create your first course unit.

Creating a course unit

You will see a basic post edit screen where you can create your course unit. You can add text, audio/video, images, or attach documents just like you would in any WordPress post. Once you are satisfied with the course unit, click on the Publish button.

Course units you create here are not part of any training course or module yet. We will come to that part later.

Adding Quizzes

WP Courseware comes with quizzes and survey. These quizzes can be added to any module or training course. You can even require a student to pass a quiz before they can move to new module or training course. Simply visit Training Courses » Add Quiz/Survey page.

Adding a quiz or survey

First you need to provide a title and description for the quiz/survey. After that you need to choose a Quiz Type. You can choose from survey mode, quiz mode – blocking, and quiz mode non-blocking.

Choosing the quiz mode – blocking as your quiz type, will require users to pass the quiz in order to move on to the next module or training course.

Next, you need to switch to Quiz Behavior Settings tab. This is where you can set the passing percentage, quiz attempts, and time restriction settings for the quiz.

Quiz behavior settings

Saving your quiz settings will show you the questions toolbar on the right. You can choose from adding multiple choice, true false, and open ended questions. You can allow users to upload documents as their quiz answers.

Question tools

Once you have enough questions in your quiz, click on the save all settings and questions button to store your quiz.

Adding Course Units and Quizzes into Modules and Courses

After creating your quizzes and course units, it is time to add them to your training courses and modules. Simply visit Training Courses page where you will see the list of all your training courses. Click on the modules, units, quiz ordering button under the actions column.

Adding units and quizzes to courses and modules

This will bring you to the order course modules and units screen. Here you can drag and drop the course units and quizzes to the modules.

Assigning units and quizzes to modules

Displaying Course Outline on Front-end

WP Courseware makes it quite easy to display your course online on the front-end. Start by creating a new WordPress page and add this shortcode:

[wpcourse course="1″]

Replace course="1″ with the ID of the course you want to display. You can find course ID on the main training course page.

Finding course ID

Controling Access and Selling Courses

WP Courseware offers multiple ways to control who can access the courses on your site and how you can sell the courses.

Method 1: Using WordPress Registration

You can use the default WordPress registration system to control who can access the courses. Using this method, you can create a custom login page with Theme My Login and allow users to register and login from the front-end of your site.

Simply visit Training Courses and edit your course. On the course edit screen, click on the User Access tab.

User access settings for a course

There are two options for you to select. The first one automatically allows any registered users access to the course, and the second option allows you to manually add users to the course.

If you choose the manual method, then here is how you will add users to a course. Visit the Users screen in WordPress admin area and click on the ‘Update Course Access Permissions' button next to a username.

Updating user access to a course

You can now simply check or uncheck the box under the Allowed Access column to give or remove access from a course.

Manually giving or revoking access to a course

Method 2: Using a WordPress Membership or eCommerce Plugin

This method is ideal if you want to sell courses along with memberships on your site. WP Courseware offers integrations with most popular membership and eCommerce plugins.

The integration list includes Easy Digital Downloads, WooCommerce, Magic Members, S2members, Paid Memberships Pro, etc. Most of these integrations are available as free addon plugins.

WPCourseware Integrations

We hope this article helped you add a learning management system in WordPress using WP Courseware. You may also want to see our guide on how to create a questions and answers site in WordPress.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Add a Learning Management System in WordPress with WP Courseware appeared first on WPBeginner.