Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Hey WordPress Users, Want Some RUM With That?

DZone's Guide to

Hey WordPress Users, Want Some RUM With That?

Real user monitoring is essential. WordPress bloggers, learn how and why you can get some RUM.

· Performance Zone
Free Resource

Evolve your approach to Application Performance Monitoring by adopting five best practices that are outlined and explored in this e-book, brought to you in partnership with BMC.

ezgif.com-optimize

Recently I was in Chicago and had the pleasure of speaking with members of the Chicago Web Professionals Meetup Group. Many of these folks are sole proprietors and consultants building sites and integrating technologies for their customers.

Screen Shot 2015-07-23 at 2.21.24 PM

During my talk — Top 10 Mobile and Web Performance Lessons Learned from 2014 — I presented cases where site problems and outages could have been addressed by having detailed knowledge about the users of a site and their experience, such as:

  • which pages they are visiting and what they are doing
  • from which devices, using which operating systems
  • through which types of network connections
  • from where and at what times
  • how quickly do the site’s pages load

Real user monitoring (RUM) collects these metrics, and more, about the end-user experience and site performance.

From the attendees, I learned some interesting statistics and information about the WordPress platform. The more we talked about end-user experience and WordPress, the more interest grew in having this type of data to deliver better site performance and results. Let me share some of the conversation.

WordPress is Wildly Popular

WordPress is one of the popular design platforms on the web. I use it, too, as our blog is built with WordPress. What I learned from the participants is that:

What is Real User Monitoring, and Why Should You Care About It?

These site designers are already monitoring their sites with Google Analytics – it’s configured into WordPress. With Google Analytics, you can see how visitors are moving through the site, and if they are doing what you hope they will: whether that is making a purchase, getting a download, or just ending on a certain page.

Site designers have also read that web performance has an impact on user satisfaction. But how do you know how your site is performing for all of your users? This is where real user monitoring (RUM) brings the data.

mPulse website monitoringThe animation at the top of this post comes from a RUM tool that collects end-user experience data for every user accessing a website. If a page loads quickly (within 3 seconds), a green dot appears. For slower loads (3-7 seconds), a yellow dot appears. For the slowest page loads (>7 seconds), a red dot appears.

On average for this site, page load time is less than three seconds; though from the yellow and red dots, you can see that not every visitor is getting the same response time for every page. Each red dot may represent a user becoming frustrated at the slow page load time, ready to leave this site to visit another instead.

How do you know which pages are slow, for which users, and why? By collecting experience data from the browser for every page load your visitors experience, you get this information. RUM tools make it easy to see how site performance is affected by things such as:

  • complex page designs
  • large graphic files
  • quantity of scripts on a page
  • third-party script performance
  • CDN (content delivery network) issues
  • network speed and latency
  • browser and version
  • device and OS combination

A Waterfall of User Data

We looked at some slow-loading pages for a website to see why they loaded slowly and found some interesting things. Often, the slow page load was a result of third-party scripts that were blocking the rest of the page from rendering, so the user was left waiting until the script either finished loading or timed out.

Screen Shot 2015-07-28 at 3.00.35 PM

Here in this waterfall chart you can see that for this user, not only were some of our graphic resources taking a long time to load but also Google Analytics and other JavaScript plug-ins, taking more than 22 seconds! From other data about this visitor, we found that he was on a cellular connection so there may be some network latency and bandwidth issues affecting resource load time. But now with RUM, we have the data about every user and every page load so finding why users are having poor page performance is much easier.

Get RUM Faster Than You Can Publish a New Page

As fast as it is to create a new page in WordPress and publish it, you can activate real-user monitoring on your entire WordPress site, collecting user data for everyone who visits your site.

Here are four easy steps to get started:

  1. Add the mPulse plug-in to your site. Here’s the link to the mPulse download page in the WordPress plug-in directory.
  2. Click on the link to go to the mPulse site. Click on Free Trial and enter your account information to sign up for a free mPulse account.
  3. Set up your free mPulse account. Log into mPulse and click on the Central tab. The ‘Configure Your App’ dialog should open. Skip over steps 1 and 2 and find your API key below them. Select it and copy it.
  4. Activate the WordPress mPulse plug-in and enter your API key. Open ‘Settings’ and paste your API key from step 3 into the field and you’re done.

Evolve your approach to Application Performance Monitoring by adopting five best practices that are outlined and explored in this e-book, brought to you in partnership with BMC.

Topics:
performance ,real user monitoring ,rum

Published at DZone with permission of Tom Chavez, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}