Jesse J Heap & Son, Inc.

Home » Wordpress Plugins Category

'Wordpress Plugins' Category

Diagnosing and Fixing Web Performance Problems

Saturday, November 13th, 2010

As Pink Cake Box has grown over the years, we’ve had to focus more time on optimizing site performance. In aggregate, we receive over 1/2 million unique visitors a month with over 2 million pageviews per month. We’ve also taken the non-traditional approach of allowing other sites to link directly to our images. In combination, all this traffic was putting a strain on our web server and was causing performance issues and web site crashes.

In conversations with our web hosting provider they claimed our traffic was in the top .01% of sites they host and the implementation of our web server was not optimized to handle such a load. They suggested we take a look at NGINX which is a lighter and faster web server as compared to Apache. (Check out this web server comparison they did)

We decided to take a different route and ended up implementing three options which appeared to have helped:

1) Optimized Xcache values
2) Implemented a content delivery netowork for static assets using Amazon Cloudfront
3) Optimized wordpress plugins/queries

Here are some details for others who may be having similar issues:

Optimizing xCache

Our web hosting provider offers Xcache for caching php pages, but the default values were not doing the job. After reading through this excellent xcache post from Chris Meisinger, I started testing a variety of different values for the slot and cache sizes (xcache.size & xcache.slots) and finally settled on optimal sizes that worked best with our site.

I used apache benchmark tool to help test different configuration options:

ab -n 1000 -c 20

Implementing Amazon Cloudfront

Setting up Amazon cloudfront was a breeze. Dreamhost holds your hand through the process and the only work I really had to do was update our wordpress database and any HTML files to point to our new

We noticed a TREMENDOUS performance boost from this approach and it also helped ease the burden on Apache.

Note there are plenty of plugins to help ease the process of integrating Amazon Cloudfront/S3 with WordPress. I personally did not try any of them.

Optimized wordpress plugins/queries

Last but not least I spent time tuning some of my existing plugins and identified some troublesome bottlenecks in third-party plugins. I used this excellent plugin from Frank Bültge which lists all your wordpress queries with timings.

As a result of this exercise I was able to tune my search tags plugin as documented here.

The other bottleneck I had was with Version of SexyBookmarks. It was adding 5 seconds of load time to my main blog page. I did NOT investigate if these performance issues were specific to the plugin itself or perhaps a conflict the Sexy Boomarks plugin and another plugin on the site.

All I know is that as soon as I disabled the plugin my wordpress load time decreased by 5 seconds. The folks at do a great job maintaining this plugin so I’m more apt to believe it was some issue specific with our wordpress site (which is highly customized so I wouldn’t be surprised).

Search Tags Plugin Performance Improvement

Sunday, August 29th, 2010

Loïc Mahé brought to my attention a performance issue with the search tags plugin (it’s not noticeable in wordpress implementations with a small number of tags, but is much more noticeable for folks with 1000+ tags).

So I took a look at the queries I wrote for searching tags and realized they were incredibly inefficient.So I rewrote them and performance has greatly improved.

The positive here is that search on Pink Cake Box is now noticeable faster. For example a search across Wedding Cakes is not greatly improved…

Thanks Loïc!

Download the latest version of the plugin here

Wp-PHPList Plugin now with Internationalization Support

Saturday, November 21st, 2009

Thanks to Le Foie gras (I’m sorry I don’t know his/her name) WP-PHPLIST now has Internationalization support for the following:
* en-US
* en-UK
* fr-FR

The admin panel isn’t done yet, but the key user-facing pieces are completed. Download the latest version here:


Cakes via Google Maps

Monday, July 13th, 2009

I’m excited about the latest project I just finished up for Pink Cake Box. The idea for the project came from Matt McGee’s Small Business Search Engine Marketing blog. (Sidenote: Matt’s blog has some of the most actionable advice for small businesses – check his small business marketing section for great SMB advice.)

The idea is to use Google Maps as a vehicle for displaying one’s product. On Matt’s blog he originally profiled a lawn care company in PA who implemented the idea for their lawn care customers. Matt followed that post up with another implementation by a florist in Anaheim CA.

I figured this would be a great idea for our cake company. It could help visually depict our delivery radius and also help us showcase some of our cakes/cupcakes. I explored following the traditional user-created content approach for google maps (called Google My Maps) but that meant manually maintaining data that is already available on our website.

So I took another route – I created a wordpress plugin that automatically pulls data from our existing blog posts. I setup two custom fields for every post – “Lat/Lng” and “Venue”.


If the “Lat/Lng” field is populated, the plugin will automatically extract additional information from the post and display it on the map based on the latitude and longtitude coordinates:


We even placed a marking in Denver, CO for a cake we created while taping for the Food Network Cake Challenge. And I expect to create another marker in California for another televised cake challenge as soon as we are contractually allowed to talk about it ;) Also, I added functionality to link directly to items on the map using the post id. So for example, this link will take you directly to the Food Network cake in Denver.

The one downside of this approach is we don’t get the SEO benefits of using Google My Maps. Google My Maps can show up in Google Map search results. But the advantage of having this tightly integrated with our blog is a great timesaver and outweighs the cons of not having the map show up in google map search results.

WordPress Plugin Model

Friday, June 19th, 2009

wordpress_icon-20070711-003313The spirit of the wordpress plugin model for developers is obviously not centered around money. I had two main motivations for releasing my plugins to the public. First off, I wanted to use the plugins as a vehicle to help promote our small business. Secondly I enjoy creating things and watching other people benefit and use them.

Now creating is fun, but support is another story. The support process can be times time consuming and sometimes thankless. I initially kept up with the support requests, but now turn people away due to time constraints and other priorities.

So today I was thinking about ways the wordpress community could continue to encourage development and support of existing plugins.

I think the Top 1000 WordPress Plugin Authors list by W-Shadow is a step in the right direction. Recognition is a powerful motivator and I think the WordPress community would benefit if we continued to recognize the contributions of plugin authors in meaningful ways…

For example, how about rewarding the top 10 plugin authors with some prize? Even something like a wordpress t-shirt would probably go a long way to helping encourage more plugin development and support.

Just my thoughts…

Widgetized WP-PHPList

Friday, June 19th, 2009

Unfortunately I’ve been too busy with school, work and cakes to really put much work into my plugins.

However, I’m happy to announce that WP-PHPList now supports widgets! This was perhaps the most requested featured for the plugin.

And the best part is I didn’t have to do any work to add this feature! Credit goes to Rob Z at Web Geek Blog for widgetizing the plugin.

Click here for the WP-PHPList Plugin Page

Thanks Rob!

WP-PHPList – adding additional fields

Wednesday, April 22nd, 2009

Ron has put together a code example explaining how to add additional fields to the PHPList plugin. Thanks Ron!

Great wordpress plugin resource

Saturday, August 16th, 2008

I have a great appreciation for wordpress plugin developers. Having released a few simple plugins myself, I understand the time it takes to develop and test a quality plugin. On top of that, devoting time to support the plugin and keep it up-to-date as wordpress rapidly evolves is another effort in itself.

That’s why I appreciate the plugins Joost de Valk has been churning out.

Just recently I setup his Search Suggest plugin on our cake blog. This plugin offers a clever way to mimic some of the useful spelling suggest features offered by major search engines.

This is especially important on our cake blog. Using search meter, we’ve found that many people are searching for cakes using common misspellings. And while we’ve developed a plugin to correct common mispellings, this tactic doesn’t scale well as it requires us to hardcode common misspellings.

Joost’s plugin allows us to cover a wider array of mispellings. A good addition to this plugin would be a feature to allow wordpress admins the ability to add overrides for commonly misspelled words. This would be useful because the Yahoo API doesn’t work as well for word combinations. For example, the API will catch the misspelling for Haloween, but does not catch misspelling for “Haloween Cake“.

I suggest wordpress admins check out Joost’s complete lists of plugins.

PHPList WordPress Plugin now with Multiple List Support

Sunday, March 16th, 2008

After many requests, I’ve finally added new functionality to the PHPList WordPress Integration plugin. The plugin now supports the ability to display multiple lists on the form. So if you manage multiple lists through PHPList and want to give the user the option of choosing which one to subscribe to, this is now supported the PHPList WordPress options panel.

Searching Tags in WordPress 2.3+

Friday, October 19th, 2007

I’m happy that wordpress developers included tagging as a core feature in their latest release. And I also appreciate their philosophy of including just the bare tagging essentials and relying on the plugin developer community to expand on those features.

With that being said, one of the features that is missing from the 2.3 tagging implementation is the ability to search for tags associated with a post. Christine’s UTW did this rather well and I found it was an essential feature for our wedding cake blog. We have several posts that have been tagged with words that don’t necessarily appear in the post – i.e. Wedding cupcake Stands, or Spring Themed wedding cakes

So I created a tag search plugin that will join against the appropriate tables to ensure you tags are searched. My hope is someone will take this search component and wrap it into a complete tag management plugin. (Similar to what Christine has started)