7 Tips for Better WordPress Theme Development

I gave this talk at WordCamp Norway 2013. It covers several tips and tricks that will make you a better theme developer.

You can follow the slides and the notes/transcript below. If you have any questions or comments, feel free to ping me here or on Twitter, I’m always happy to help :)

Continue reading

The WordPress Settings API Video

Here’s the video of my session about the Settings API in WordPress from WordCamp Sofia 2012. You can find the slides and notes/transcript in a post I published earlier: The WordPress Settings API.

If you’re interested in making the Settings API better and less painful to use, please chime in to the discussion on this core ticket: #18285. Have fun!

High Performance WordPress

A co-worker and friend of mine Iliya Polihronov gave this talk earlier this year at WordCamp San Francisco 2012. He walked through an optimal server configuration for a high-performance WordPress environment, including nginx, php-fpm, APC and memcached. His notes are on SlideShare.

I’ve been running an nginx and php-fpm configuration for over a year now, with a VPS from MediaTemple. I tried quite a lot of different configurations, including Batcache, W3 Total Cache, Varnish and more. I found that WP Super Cache with nginx and php-fpm works really well for my setup, where I have just over ten sites in a multisite environment, running on 512M of memory.

After watching Iliya’s talk and the performance improvements possible by APC, I have decided to give it a go some time later this year. My codebase is quite small, so I think I’ll manage to survive with much less than 32M dedicated to APC.

I’d also really love to run the Memcached Backend for WordPress’ object cache, but unable to at the time of writing, since one of my sites in the network has over a thousand “posts” published every day, but accessed only once or twice in their life time. If you’re wondering, they’re Twitter profiles for Foller.me.

As much as I’d like to avoid that, I’ll have to move the site out from the network, instead of hacking the Memcached plugin to avoid caching, based on a domain, which I think is also possible. I’ll keep looking into other solutions, and probably blog about how I solved that later.

In addition to the tools Iliya talked about, I’d like to mention one called ab, or the Apache server benchmarking utility. It has quite a few options to test and benchmark your (not necessarily Apache) web server performance.

What does your WordPress environment look like? Which caching plugins and techniques do you use? Are you planning to try something, or is your setup working well for you? Share your thoughts via the comments section. Thanks for reading!