Category Archives: General

General news not fitting into another category

Westward Ho!

This month we’re going to try something new. A meetup for our Western community. No, we’re not donning cowboy hats and spurs, we’re having an event at the new OPO Startups building in St. Charles!

Nice place they have there, eh?
Nice place they have there, eh?

This is a trial to see if a more westerly event can sustain itself within the community. If things go well, this will be an addition to our existing Developer and General meetups on the first Monday and third Wednesday of the month, respectively. We’re going to try for the fourth Monday of the month.  For this first go-rough, the talented Jason Yingling from Red8 Interactive will be talking about security using iThemes Security.

Join  us!

Quick WordPress Optimizing Tips

Last week I sat in on this great A List Apart: On Air event titled  “Designing for Performance” It was their first online-only panel with four great presenters. Along the way I picked up a few tips and tricks I wanted to share with you all.

Here’s a few quick things you can do to improve the performance of your WordPress site.

Introduction

Before we begin, if your site is accessible from the web, punch in its URL into one of the following tools (or both!).

Make a note of the scores you’re given. We’ll compare them at the end.

Use a caching solution

The first thing you can do? Install a caching plugin or setup an in-memory cache. For folks on shared hosts (Bluehost, Hostgator, etc) the easiest (and often only) option will be going with a plugin. My plugin of choice is WP Super Cache.  Why this one in particular? It’s been around for ages, is super easy to use while still being customizable, and it’s authors include Donncha O Caoimh and Automattic. A pretty good pedigree if you ask me.

If you don’t want to do much mucking around, just install the plugin and turn on caching. This will allow your site to serve static version of your pages. This make your site quicker as WordPress (and the PHP/MySQL behind the scenes) doesn’t have generate a new page for each visitor.

Advanced options that I like to use are in the screenshot below. I like to make sure I enable  compressing pages as less data has to get tossed around. “Don’t catch pages for known users.” is handy if you’re an individual editor (or have a small team). This tells WordPress to alway serve up a new page to folks who are logged in to your site. This way you always see your updates without having to clear the cache.

WP_Super_Cache_Advanced

Compress your theme’s images

Let’s say you’re building a theme from scratch, using a child theme, or even just uploading a nice crisp PNG for your site’s header image. In each case WordPress  will use images within the theme to display common elements – like that header image. When these elements appear on every page your site has to serve up that image to every viewer, every time.

One way to speed up your site is to make sure you compress these common images as much as possible. This doesn’t mean degrade their quality with heavy compression like jpg images, but to remove as much metadata and use more advanced compression algorithms as possible.

Side note: Another big win for leveraging smaller images is to make sure you’re not uploading giant images to only have them displayed at small sizes. That’s a whole ‘nother post on its own!

How do you do this? Grab an application like ImageOptim or RIOT.

With either of these apps you can drag and drop in your images and let the tool do its magic. This includes background images, header images, or even icons used across your navigation and widgets.

Here’s an example of a recent optimization from a theme I optimized. This is using ImageOptim. Either tool uses a whole suite of tools behind the scenes to make the best optimization quickly and with great results. imageoptim-example

I saved a whopping 47% on average in this theme. In the case of my background tile image I saved a whole 80%. Not to bad. (Here’s another example with less impressive, but still good, results.)

 

Set up a caching rule

Even with something like WP Super Cache in place you still might need to set up some rules about static content. Static content is things like images, documents, multimedia files, etc.

For these files, WordPress delivers the file for a visitor every time. Even if they leave and come back five minutes later!

The easiest way to do this is to modify your .htaccess file and add a few rules for static content. The .htaccess file tells your site to give folks a locally cached version of the file and to ‘expire’ the item in the cache after so many minutes. This greatly helps in the loading of those (newly optimized) theme images I mentioned in the last tip, and any other files visitors consume on a regular or repeat basis.

I’m going to direct you to this post that has the handy steps on caching static content.

 

Minify your CSS

You’re using a child theme, right? Or maybe a custom theme built from a starter framework? Once your site is ready for production you can shrink your CSS files to make things a little quicker.

Minifying your CSS takes the human-readable version of your CSS file, with all it’s great inline comments and indents, and strips all that junk out. The computer doesn’t need any of that!

Now you’ll want to keep an un-minifed version around for future changes. Take a copy of your style.css file in your theme directory and rename it. Call it style-original.css or something and set it aside.

Now, copy and past the content of your style.css file into a tool like CSS Minifier or CSS Compressor. These tools will strip out any comments or spaces (making your file pretty much unreadable by humans) and reduce the file size (and therefore load times) of your CSS.

Copy the minified CSS back into style.css and save. If you have to make new updates down the road (always in your dev environment first, right?) you can re-load your human-readable CSS file, make your edits, and minify again.

On a few sites I manage I was seeing upwards of 60% file size savings. When were talking about mobile devices in not-so-good coverage areas that could be the difference between your site loading and a visitor leaving.

 

Conclusion

This is just a few things you can do quickly to improve the performance of your site. Making your site load quickly for visitors make them more likely to hang around and helps with your search rankings.

How much of an impact does it make? Remember those tests I asked to your run at the beginning of this post? Here’s a before and after (totally unscientific) comparison to a site I manage. I ran the default tests from webpagetest.org. Just using these tips made one score go from a C to a B and another from an F to a B!

webpagetest-beforewebpagetest-after

If you have tips or tricks you use to make your site’s a little quicker, let me know in the comments below. Thanks for visiting and I hope to see you at one of our upcoming meetups!

Photo by _chrisUK – Licensed under Creative Commons

February general meetup notes – Multi-site and Multi-tennet

Multis

  • McCreary on multitenancy: “a simple solution to a complex problem”
  • Me: “To make things simple, you must first make them more complicated.”

Multisite

References

Continue reading February general meetup notes – Multi-site and Multi-tennet

WordCamp 2015

In case you haven’t heard, WordCamp 2015 is officially scheduled to take place Saturday March 14th and Sunday 15th at Washington University.

While we’re having the event in the same space as this year, the organizing team has some exciting new ideas that we’re going to be working hard over the next 16 weeks to bring to the WordCamp.

While we’ll still be posting news on this site, if you want to subscribe to the WordCamp specific mailing list, head over the 2015.stlouis.wordcamp.org, or follow the organizers on Twitter at @WordCampSTL.

See you all next March!

WordCamp San Francisco Viewing Party

We’re going to host a free viewing party for WordCamp San Francisco! They’re streaming all presentations across their two-day WordCamp. October 25-26.

This is one of the biggest WordCamps and their schedule is full of awesome presenters.

We’re going to use the amazing public space at Nebula Coworking at the corner of Jefferson and Cherokee St.. There will be two rooms, one streaming the Developer-focused track, the other the User-focused track.

We invite you to join us for both days. The presentations start at 11am (9am Pacific) each day so get there early! You can stay all day and hang out in between sessions, just like an in-person WordCamp. Check out the full schedule and RSVP today!

We’d like to have light breakfast options, snacks and drinks. If you can pitch in, please let us know. We’re also working on finding appropriate sponsorship.

For lunch we’re going to hit the town and enjoy the amazing restaurants along Cherokee. We’re working on getting some recommendations and menus for some of our favorite haunts.

This is a low-key event. Come as you are, relax, and soak up some amazing knowledge.

More details coming soon. Volunteers are needed. Sponsors are needed. Get in touch!

October General Meetup Notes

 

Thanks to everyone for coming out Wednesday night.  It was a really good turn out and we had some interesting discussions and questions.  I didn’t have slides to share so I thought I’d write a quick post to summarize everything we went over and aggregate the resources/links that were discussed. So without further ado…

The Basics of Theme Customization

In the broadest of terms, there are three “levels” of customization that we talked about.  They are, from easiest to hardest:

  1. Customizing using the built-in WordPress customizer
  2. Using a child theme to customize presentation
  3. Creating a copy of an existing theme and modifying

Using the built-in customizer

This approach, while also the easiest, is the most limited in scope.  For an option to be customizable via the customizer the theme developer needs to add functionality via the theme’s functions.php file.

The customizer can be accessed via the “Appearance” menu in the WordPress admin menu.

Screen Shot 2014-10-16 at 10.28.10 AM

The options that appear on this page vary from theme to theme, but most themes that include this functionality allow you to customize background colors, links colors, menu, widgets, and other similar things.  Certain theme “ecosystems” like ThemeForest or Elegant Themes, or frameworks like Genesis, have custom theme options that are independent of the built-in WordPress customizer but function similarly.

Building a Child Theme

If you’re looking to go beyond the basic customization allowed by the customizer (either built-in or custom), the recommended way to do this is to create a child theme.  Child themes inherit all of the functionality and presentation from the parent theme with the exception of the customizations you make.

We covered the basic steps to create a child theme:

  • Create a new folder in the wp-content/themes
  • Create a style.css file and copy the required header information from codex and modify for your new child theme.
  • Create a functions.php file and copy the code snippet from the codex that will tie your child theme to the parent theme.

Once you’ve done these steps, log in to your WordPress dashboard and activate your new theme.  If  you’ve done everything correctly your site will resemble the parent theme.  After you’ve verified that the new theme is working, feel free to add any of the custom CSS, HTML or PHP to make the theme your own.

ProTip: Use Chrome/Firefox/Safari inspector tools to find css and edit it “on the fly”.

A quick warning about using child themes; when the  parent theme updates there is a small chance that the developer may change something that breaks your customization (i.e. renaming an element’s id or class), but this isn’t considered to be a “best practice”  so you should mostly be fine.

“Forking” an Existing Theme

The most advanced way to customize a theme is to create your own theme by copying an existing theme and modifying  its theme files.  At the least, you’ll have to edit style.css so WordPress won’t attempt to update your new theme if the existing theme is updated.

If you purchased the theme  from Code Canyon, Theme Forest, or another, there may be some ramifications if you distribute the theme.  I would consult the license that came with the theme for specifics.  All the themes found on wordpress.org are open source, but it is a good practice to always give credit to the original author.

tl;dr

Useful plugins:

  • What The File – “adds an option to your toolbar showing what file and template parts are used to display the page you’re currently viewing”
  • Page Builder – “Build responsive page layouts using the widgets you know and love using simple drag and drop”

Relevant Codex Articles:

Helpful Sites:

  • WP Test – “A fantastically exhaustive set of test data to measure the integrity of your plugins and themes”
  • Stack Overflow – “a question and answer site for professional and enthusiast programmers”
  • WordPress Stack Exchange – WordPress specific section of Stack Overflow
  • GenerateWP – “The easiest and the fastest way to create custom and high quality code for your WordPress project using the latest WordPress coding standards and API’s”

Thanks again to those who came out to the meetup, I hope to see all of you again next month or at the WordCamp San Francisco watch party.  Feel free to reach out to me on twitter with any questions, I’m @coderaaron.

STLWP Code of Conduct

A Code of Conduct for a community as vibrant and successful as ours might seem rather strange, but we want to put in writing our intent and make public our thoughts on inclusion and equality.

We want to ensure that folks from all walks of life feel included in any of our events or activities.

In the hopefully rare occurance that a jerk sneaks in, we can also point to this in order to help deal with unpleasant situations.

Please take a moment to familiarize yourself with the St. Louis WordPress Community Code of Conduct.

This is a living document and is open to feedback.

August 2014 General WordPress Meetup Notes

We had a great turnout this month – even with the Cards game happening just a few blocks down the street. Thanks to everyone who came out!

Main Event

The main topic of the night was covering some handy tools that help you keep tabs on your WordPress site. We covered Uptime Robot, Infinite WP, and Google Analytics.

Uptime Robot

Screen Shot 2014-09-03 at 9.56.48 PMThis handy website lets you know when your site is down. When a site is down that means that visitors aren’t able to see the site and won’t know why! By using Uptime Robot you can setup alerts to be notified via email or SMS when your site is inaccessible.

This is a free service and you can track up to 50 sites! They don’t have to be WordPress sites at all – this works for any site you’re interested in tracking. The service is hosted, so there isn’t even an installation process. Just sign up, add your sites, set how frequently your site should be checked and wait!

It’s also super handy if you have multiple sites across clients. You can know before they do when a site is having an issue. You can quickly figure out what’s going on, and let your clients know preemptively!

Infinite WP

Screen Shot 2014-09-03 at 9.58.41 PM

Infinite WP makes managing plugins and theme updates across multiple separate WordPress installations a breeze. You install a simple client on your web host, a plugin on each of your sites, and away you go!

Infinite WP will let you know when your sites have an update available and you can update by site (all plugins at once), by plugin (this plugin on all sites where its installed), or even piece mail – one at a time. There are a ton of add-ons for Infinite WP that extend it’s capabilities even further.

A recent update also brings easy backups to your sites. So your workflow could be something like:

  1. Get a notification of an update via Infinite WP
  2. Backup your Dev/Test site.
  3. Update your Dev/Test site to make sure things are hunky-dory.
  4. Backup your Production site(s).
  5. Update your Production site(s) without leaving your beach chair.

All of that without leaving Infinite WP.

Google Analytics

Screen Shot 2014-09-03 at 10.05.20 PM

We could have easily spent multiple evenings covering the various ways you can leverage Google Analytics it’s that powerful. In a nutshell Google Analytics allows you to keep track on how visitors get to your site, what they do on your site, and some demographic information like geographic location and what browser it uses. It becomes even more powerful when you get into developing campaigns and set goals for your visitors.

Say for example you’re promoting a big event or a new item in your store. You can send out emails, tweets, and Facebook updates with a specific URL that will tell you, in Google Analytics, which outlet lead to that person arriving at your site, and what percentage of visits turned into ‘conversions’ – someone did something you wanted them to do like sign up for a newsletter or buy something.

Google has some great resources on getting started with Google Analytics. Integration with WordPress is a snap with numerous Google Analytics plugins. My particular fave is Google Analytics for WordPress by Joost de Valk.

Bonus Tools

A few other tools that were mentioned in the similar vein that we didn’t get to spend a lot of time on are listed below. Take a look and you might find a handy addition to your utility belt.

IFTTT – Hook up WordPress to hundreds of other services all with simple to create ‘recipes’. Want your Instragram photos to automatically publish to your blog? Easy peasy .
 

Piwik – Don’t like Google? Want to host your own analytics? Pwiki’s your solution.

Woopra – A real-time analytics package. See who’s on your site right this minute. Some say better than Google Analytics!

Next Month

In September we have the talented Gregory Ray taking us through the best practices and dark art secrets of Hardening WordPress. Join Gregory and the gang on Wednesday, September 17th at Lab1500.

Photo by Dean Gugler – Licensed under Creative Commons

More WordCamp St. Louis Videos

Two more videos have been published from WordCamp St. Louis 2014! This time we have Konstantin Obenland talking about options, transients, and theme mods – Oh My!

We also have the delightful Tom Harness and Leigh Caldwell who share their experience and advice on how to leverage your business’ blog like a rock star.

Keep track of all our great presentations as they come online at WordPress.tv!

Video Of the July General WordPress Meetup

We’re famous! Well, famous enough to have the talented Benjamin S. Hammond record our last Meetup. This impromptu recording in our new space was done by the fine folks over at STLTechTalk.com.

You can check out the first part below, and the rest on STL Tech Talk’s site.

They wanted to help us spread the word and we appreciate the support. Be sure to check out the rest of STLTechTalk.com and their podcasts!

Thanks to J.J., Ben, and everyone for coming out, we had a great meetup and look forward to seeing you all in August!

P.S. Benjamin, the fine gentlemen behind the camera, is a film producer and director. Check out his short film “Misery Mountain“. It’s a bit spooky, so make sure you watch it with headphones late at night – after the kids have gone to bed.