WordPress theme change check list

I came across this post, with a self explanatory title – “13 Most Important Things to do When Changing the WordPress Theme“.  This is particularly relevant to me, since I am updating my theme right this moment.   And so, I thought, I’d just revisit the list items of that post with my own comments, since they are so fresh.

  • Take a backup of your current theme folder. That is always a good advice.   Better even, take full backup of your blog, including the database dump.   Why is the dump relevant for theme upgrade?  No, not because I am obsessed with backups now that I lost all my archives.  But because most themes these days include dynamic sidebars, which you usually fill with widgets.  Widgets configuration is kept in the database.  And when you are moving to a new theme, your dynamic sidebars often get out of sync, and you try to fix it fast by re-arranging widgets again.  In case things go very wrong, it’ll help to have a database dump as well, which, when restored, will bring back your widget configuration.
  • Check for broken links.  A new theme will hardly affect links in your content, but everything around it – headers, footers, sidebars, links to RSS feeds, etc – can easily get damaged.  This happens especially often when you use a testing or development environment which is separate from your main production blog.
  • Look for possible security loopholes. Ideally, you should do this BEFORE you move your site to the new theme.  The best approach here is to combine manual and automatic checks. Manual checks include reading the theme source code, checking the site in different browsers, from different IP address, while logged in with different access levels, as well as logged out altogether, etc. Automatic checks are provided by a whole bunch of applications, including some security oriented WordPress plugins.
  • Remove unnecessary code from your WordPress header. This has a lot to do with tightening up the security of your WordPress installation.  The less information you give out to potential attackers, the better.  I have no idea why this item is separated in that list from the previous one.
  • Make sure your RSS subscription link is correct.  If you link to several feeds (posts, comments, category, etc) – check them all.  Also make sure that you have them in your header for RSS auto-discovery to work.  The best approach here is to use WordPress builtin functions for RSS links, not hardcode them by hand.
  • Check if all your pages are listed properly.  Again, it’s not always possible to code your menus and navigation to work in every theme out there, but sticking to WordPress Codex ways you guarantee to minimize the troubles for yourself.
  • Put back your stats tracking code.  I suggest to find and install the suitable plugin.  There are many available for practically any statistics package.  The plugin will usually take care of installing all the necessary codes, goal tracking, conversions, and the rest.  Plus you’ll keep you configuration in simple and easy way via administration interface, rather than editing theme source files directly.
  • Check your website from different browsers.  That’s the second best advice after taking a backup before even starting.  Cross-browser issues are the most common to appear and the most nerve-breaking to fix.  Even if you don’t know how to fix them yourself, still check your new theme for any glitches in different browsers, to at least know that you have them.  Fixing them can be arranged separately.  If you don’t have different browser versions available at hand, ask your friends or readers to help, or use web tools, such as BrowserShots.
  • Check if you sidebar content is correct.  Especially so, if you had custom sidebars for the front page, categories, posts, pages, search results, archives, etc.  Even more so, if you are using widgets (see above).
  • Re-evaluate your plugin usage.  As the original post mentions, it’s a good time to see if you still need all those plugins you were using before.  And there is another side to this too.  Many heavily customized themes keep some functionality code in functions.php file.  When moving to another theme, the functions.php from the old theme might not necessarily work under the new one.  Maybe it’s a good time to move some of that code into more generic plugins and widgets.
  • Put back your AdSense / other ads code.  This is somewhat similar to your statistics.  If you use AdSense or any other well-known advertising service, you’d be better of with installing and configuring an appropriate plugin.  If the ads are customized, than you should probably move them out of the theme code into separate files and then just include() where appropriate.  Definitely worth a check after the move is done.  While checking the site in different browsers, take a look at the ads as well, just to make sure all your visitors can see them properly.
  • Check if your favicon is proper.  Ideally, this shouldn’t break by your theme change.  While there is a way to specify favicon’s location in your theme’s header, I find it better to drop the favicon into root folder of your site – most browsers will pick it up from their automatically.  And it will work even when your blog is horribly broken.  Additionally, I don’t think changing your favicon often (even if ever) is a good idea.  Favicon is like your site’s avatar.  It takes time for people to get used to it and recognize it.  Why change it when some of your visitors just got used to this one?  Unless, of course, your favicon doesn’t represent your site at all anymore.  Then – yes.
  • Look how you can optimize your blog.  Yeah, well, true.  However, before you start optimizing anything, make sure that you have the full backup (try restoring from it to a test blog), make sure that everything works before you start optimization, and make sure that there is any need for optimization at all.  Premature optimization is evil.
  • Put up a post about the new design.  This is a good idea.  Before you do a full blown post however, maybe you should post a short update to your Twitter account (you do have a Twitter account, don’t you?).  This way, your followers can point out any bugs in time to fix them before you notify the whole blogosphere, search engines, and RSS feeds.  Once you are completely sure that everything works – yes, indeed, blog about it.  Tell your readers why you changed the theme, if there are any new features, and how much effort it took you to put it up.  A post like this would usually inspire at least a few of your readers to do something with their blogs.  And that’s something that we definitely need – more and better blogs.

P.S.: even though the original post’s title says “13 things“, there are in fact 14 items on that list.  I guess the counting went off, because it started from 0 and not 1.

Theme fixes, improvements, and polish

If you have a lot of attention for details, you probably noticed a few things moving around and changing on this blog in the last few days. You weren’t dreaming – I indeed moved changed a few things. Here is a round-up for those of you who enjoy these sort of things:

  • List of categories moved up. Since I am interested in and blog about many different things, I don’t blame you if you would like to skip some of them and read only things that you care about. I moved the list of categories higher up in the sidebar, so that you could jump directly to the topic of your choice.
  • Full posts in categories, tags, and archives. This should also make reading posts about specific things easier. You won’t need to jump to the full post page all that often now. Less clicks and all.
  • Category header images. Some categories (see Photography, Movies, and Technology for examples) will greet you with different header images (once again, thanks to Igor Gorbulinsky for his talent and time). This feature should help you out a bit while navigating the site – instant indicator of where you are.
  • Highlight of category name, tag, and search query. When you navigate to posts of a specific tag or category, you should see the term at the top of the page. Sometimes the term is highlighted, like, for example, in case of search query. Also, sometimes, you have a link to RSS feed which provides easier access to similar posts.
  • Improved RSS feed auto-discovery. Depending on where you are on the site, your browser will suggest a different set of RSS feeds to subscribe to. I’m trying to make these things as intuitive as possible.
  • Improved browser compatibility and standard compliance. A few small glitches here and there were fixed. All RSS feeds are valid now, except for those rare cases when content of specific posts causes problems. CSS is now valid and many warnings are fixed. HTML is now almost valid. There are a few issues which which are caused by WordPress bugs, but fixes for these seem to be available in the upcoming version of WordPress. In any case, it seems all theme and plugin specific issues were fixed.
  • Upgraded WordPress to version 2.3.3 .  This is the latest version with all the security fixes and such.

As you can see from the list above, all of these changes are rather cosmetic and can be classified as web site polish. None of them should cause any issues to you or your browser, and much of the misbehaving functionality should be fixed now.

If you have any ideas on suggestions on further improvements, or if you notice any misbehavior at all, please let me know.