Moving From Self-Hosted WordPress to

Most people want to move from a hosted WordPress,.com site to a self-hosted site. I went the other way. here’s why and how I did it.

Most people move from the hosted to a self-hosted WordPress ( site. They want the flexibility of a self-hosted WordPress site. In my case I’m going the other way. I’m moving my self-hosted WordPress site to

Why am I doing this:

  • Simplicity – everything comes from WordPress and is hosted by them. I don’t have to worry about an update to WordPress breaking my theme or a plugin. won’t be perfect, but it is simpler.
  • No more updates – I’m paranoid and want security updates applied immediately. Even if the updates aren’t security related (although it seems most are these days) I hate running old software as I figure there’s a landmine in there just waiting to blow up on me. It seems like there’s a never ending string of updates these days so I spend more time doing maintenance than I do writing or exploring. it doesn’t help that these updates seem to arrive at the worst time.

Some “gotchas”

  • Technically, photos are not exported. They are imported if the old site is online and the photos are accessible by
  • Photos that use relative URLs in posts will not be imported because cannot find them. They must include the full URL.
  • Some of my photos did not get “attached” to the post although they still appeared in the post. This is more a media library management issue. It’s not something that affected me but it may affect you if you really need that mapping. They can be manually attached after the import. See step 8 for more information.
  • If you use the JetPack plugin on your self-hosted site and you want to migrate the data contact support. They can probably migrate the data. I did not use JetPack so did not deal with this.
  • It will cost $13/yr. to map your existing site domain name to the new site. This will allow all exiting external links to still work and search engines will not have to process and re-directions or site renames.
  • If your existing domain is used for anything other than your WordPress site you may need to research the DNS setup. provides good documentation and automation for using Google Apps email along with several other email providers. I use Google Apps for email. I don’t include those instructions here because the WordPress instructions worked fine.
  • There will be a DNS change at the end. To speed this up you may want to lower the TTL for your old sites DNS entries a couple days before making the change. This isn’t critical but may speed things up. I set mine to 30 minutes.

Doing the Move

So here’s the basic process I followed to move this site. The screenshots are from a blog I used to test this process (BWOTAE.COM).

I initially did all my testing and site design on a test blog with a small number of posts and comments. This meant that there was minimal time between when I imported the full site and I actually cut over since I already knew the settings I wanted and the tweaks that would have to be made.. This is recommended.

  1. You’ll need to create an account at, if you haven’t already.
  2. In your account select the “Create Another Blog” button in the “My Blogs” section of your account.
    Screenshot showing the create new blog selection
  3. On the next screen enter an address for your blog. Since we’re moving a blog that already has a domain name this isn’t very important. Do not enter your current blog address. We’re going to transfer the domain name along with the blog. But we need a sub-domain to get going. The first screenshot shows that the address I wanted is already in use.
    Screenshot showing my first selection is in use
    My preferred name is in use, but that’s OK

    Once I pick a name that’s available at I select the option to keep my blog private which means users will need a logon ID to see it. This will be changed once the site is ready to go on

    Then put in the name of your blog. This can be changed later, so you may want to name this slightly different than your other site so that you don’t get confused during the migration, but other than that there’s no reason not to use the same name as your self-hosted site.

    Then select the “No thanks, I’ll use the free address” selection.

    screenshot showing the initial blog selections
    Pick any available name, make the site private (for now), use the name from your self-hosted site and then use the free address.

    Scroll down the screen and click the “Create Blog” button under the “ Beginner” column. You can pick one of the packages if you absolutely know you want all the features. You can add these features later at the same bundle price if you want. There’s no benefit to picking them now. Personally, I do not use the bundles since the add-ons I want cost less than the bundle.

    Screenshot showing the "Create Blog" selection
    Go for it! Create the site
  4. You’ll receive the confirmation message once the blog is created (almost immediately). You can click “Visit your dashboard”
    screenshot of the confirmation message


  5. Check your privacy settings, You don’t want visitors and you don’t want your site indexed until it’s ready to go. Go to “Reading” under “Settings” and verify that the site visibility is private.
    screenshot showing the private setting
    No guests or search engines allowed.


  6. Now go to the Dashboard of you old site, the one that’s self-hosted. Go to the “Export” section under “Tools”. Verify “All Content” is selected as the items to export. Then download the export file.
    screenshot of the export settings
    Export everything

    You’ll be prompted to save the file. I just use the default name and save it to the desktop to make it easy to find. Just remember the name and location.
    screenshot of the file save dialogDo not shut down your old site or change the domain name. The site must remain online to import the photos and images.

  7. Once the file is saved, go back to your new site dashboard. It’s time to import. Select “Import” under “Tools” then click “WordPress as the import type.
    screenshot showing the import types
    Select WordPress as the import type.

    You’ll be prompted to select a file. Select the file you downloaded in the previous step and click “Upload and import”.

    screenshot showing the import file selection
    Pick the file you just downloaded and upload/import it.

    You’ll be prompted to map any authors. This does not mean the authors have any actual posts, just that they are set up as users. Map them as you see fit, which is probably all to your WordPress user. Click “Submit” when you are ready. As previously mentioned your old site must be online so the photos can be imported.

    screenshot showing the assigned authors
    Map your authors.

    You’ll be told that the import is running. Depending on the blog size and current load this may take several hours. (Up to 24 per

    screenshot of in progress status
    Now we need to wait for the completion email

    You’ll receive an email when the import is done. You may see posts and data appear before the email but be patient and wait for the email, it is still working to import and link things up.

  8. Photos seem to be the biggest import problem area, both in my testing and in the forums. After the import go to the “Media” section (of the new site) and select “Library”. Some things to check:
    Is the number of photos close to the number in your old site? Note that unused photos will not be imported.Do you have a lot of unattached photos? Is this more than what your old site had?

    screenshot iof the media library
    Any unattached photos?

    If you have a lot of new unattached photos you may want to contact support through the forums. In my case the difference was minimal and I didn’t meed them attached. They were in the library and appeared in the correct posts.

  9. Before you start cleaning things up go to “Settings” then “Discussion”. Uncheck “Attempt to notify any blogs linked to from the article”. You do not want to notify blogs just because your cleaning things up. You can turn this back on once the new site is live.
  10. At this point you want to pick your theme and site design and verify your settings. Then go through your posts and make sure they look OK. Due to the volume I mainly just checked the most recent year and the posts that get a lot of visitors. Your old site should still be up and running. If you post articles or get comments on the old self-hosted site you will need to transfer them over.

Once your new site is ready to go “live” here are the steps.

  1. If you use the JetPack plugin on your self-hosted site go in and disconnect it from If you don’t do this the old site will remain in your dashboard.
  2. Now we need to buy the domain mapping. In the dashboard of the new site select “Store” then click the “Buy Now” button for “Add a Domain”
    screenshot showing buying a domain
    Go to the store and Add a Domain

    Then select “Map a Domain Name You Already Own”

    screenshot showing order type
    Map a domain you already own

    Enter in the domain name used for your self-hosted site.

    screenshot showing domain entry screen
    Enter in your domain name

    Even though you already said you’ll be using your already owned name you’re told the domain is in use. Verify you didn’t make a typo and then select the option to use the domain.

    screenshot showing the domain already taken screen
    Pick the selection to use the domain.

    Complete the wizard to purchase the domain mapping option.

    The domain will be made the primary domain for your site. If you need to change it you can select “My Domains” under the Store section of the dashboard.

  3. You’ll need to change the DNS servers for your domain. This varies by registrar but the domain servers should be, and It may take some time for the DNS change to propagate. I’d recommend leaving your old site online for a couple of days to avoid people getting a site not found message.
  4. Time to go public. Navigate to the “Settings” -> “Reading” section of your new site and change the Site Visibility to “Allow Search Engines to index this site”.
screenshot of site visibility
Go Public!

Now your new site is alive an in public. You’ve moved from self-hosted WordPress to hosting. An external links will go to the correct page on the new site, no redirects needed.

WordPress and Other Security Concerns

Security ShieldThere’s been a lot of press recently about increased attacks on WordPress sites, and I run WordPress. At first I considered it BS since it seemed ike a standard brute force attack. Not that I didn’t think attacks were going on, a view of logs on my own small servers shows attacks all the time.  But Brian Krebs published an article about it and I figure he has a better BS detector than me in these matters. So maybe there has been an increase. I figure I’m pretty safe, I don’t use the default accounts and I do use long, complex unique random passwords.

Some reading I did also indicated that the volume of logon attempts could cause resource problems on the server, so I decided I would try to specifically block them. After a few other attempts I decided to go the plugin route and used the plugin Limit Login Attempts. It’s a nice simple plugin that does what its name says. I dislike adding plugins to WordPress but I made a exception in this case. Eventually I hope to figure out a way to block this at the server level. But this will give me some protection and any easy way to get stats on whether or not my site is actually being attacked this way.

I’ve always been good about keeping WordPress and my web server updated with the latest patches, but I decided to reboot it this past Friday to make sure all those updates were really in the running software. Maybe it’s because I come from the windows world where patch reboots are a monthly reboot, but I figured it would be a good thing after having the server online for 220 days. So apologies to anyone trying to access the site this past Friday during a certain 9 minutes (I decided to do a full backup with everything shutdown for good measure).

It’s only been a day, but so far the only lookout has been from my testing

Apple (and other) 2-Step Verification

Apple added 2-step verification to their iCloud and iTunes accounts. I have to admit I like it. I especially like that they turn off any sort of password recovery that could be socially engineered. If I lose all the registered devices and the emergency recovery key then I’m screwed. But I’ve always wanted the option to tell these high-value vendors to disable password resets based on those stupid “pet name” security questions. I usually answer them with garbage, but the fact they exist worries me. Not necessarily for every little account, but for any that protects something of value.

I’ve also been going through and adding two-step verification to my other accounts that support it. Some places have apps that generate a token, or use the Google Authenticator App, but codes sent via SMS seem to be the most common. I guess SMS can be spoofed, but I suspect that doing so would have to be highly targeted and take more effort than I’d be worth.

Updates, Updates, Updates and More Updates

Everyone got into the patch game recently. Microsoft patch Tuesday sent a half dozen or more patches to PCs. Windows 2011 got some care with a a rollup patch. Then my web server had updates for evey major component. Naturally, it’s this site, down last, but where the problems began.

There have been a lot of updates this past week. Much to my relief most of these updates went smoothly. The main problem were with the updates to this site but I half expected it so allowed extra time to get them done and I did plenty of backups before starting.

WHS 2011 Update Rollup 4 & More

I was happy to see WHS 2011 is alive and well within Microsoft, even if it has been marked for death. Tuesday’s patch bundle included Windows Home Server 2011 Update Rollup 4 with 10 documented fixes. I’m pretty aggressive in keeping my WHS box up to date so it was updated back in November, but it still had 8 patches waiting in addition to the rollup.

I generally take Microsoft’s default selections when I chose which patches to install then do the unselected ones after, if they are still needed. In this case I also unchecked UR4 and started the update.

A couple updates failed and I selected them and the other remaining updates after the reboot, only excluding UR4. It was fine this time and UR4 was successfully installed after that reboot. The connector updates were then pushed out to the clients automatically. This required a reboot, but that was done when the client patches were installed.

No problems so far.

Windows 7 & Windows 8 PCs

Lots of updates all around and they all needed reboots. Windows RT got its share of patches, including a firmware update. I haven’t noticed any difference but some report better performance.

Windows 8 threw in another patch on Thursday which also required a reboot. These are annoying since I run a lot of apps and unlike my Macs they don’t restore running apps automatically. So while the actual reboot is fast, it’s a frustrating 15 minutes of preparation and recovery.

Mac OS X

My new Mac Mini had a BIOS update related to HDMI monitor connections. I haven’t had an issue. My monitor goes through an adapter to the Mac’s HDMI port. I’ll be moving my old Windows monitor to the Mini and then it will be HDMI direct. So probably a good update to have.

The iTunes 11 update wasn’t problem free. But the new bugs were minor compared to the nightmare that is iTunes anyway. More on this in a future post.

Debian 6 and WordPress (My Web Server)

WordPress LogoThis was the big one for me. Just about every major software component of this server was slated for an update. Apache, MySQL, PHP and WordPress all had updates waiting. I held off on the Apache, MySQL and PHP updates until WordPress 3.5 was released. I’d do it in two phases – everything except WordPress, then WordPress. Of course, before starting I did a full server snapshot backup and a file system backup of my web server.

The OS updates and Apache, MySQL and PHP updates all went fine. Everything tested out OK after the update. Then the problems began.

The WordPress upgrades on my test sites only had issues on the ones using the new Twenty Twelve theme. The theme is now part of the core WordPress installation and I install through Subversion (svn). The sites were broken until I deleted the Twenty Twelve directory and re-ran the svn update. That wasn’t going to be a problem on this or my other production sites since they didn’t have the Twenty Twelve theme installed.

I saved this site until last, since it’s my biggest one. So naturally, that’s when the problems began. Short version – the SVN update went horribly wrong. It was possibly self-inflicted. I had deleted the old Twenty Ten theme since I never used it. SVN didn’t like that and threw an error. This must have affected the rest of the update. While pages were still being served from the cache, the site was basically down.

I spent some time trying to work around the error but without success. Finally I did a fresh WordPress installation to a temp directory using Subversion. Then I copied those files over the installation for this site, being careful not to overwrite or delete and files I added or changed. After that, and a restart of Apache all seems fine.

What I Use: Web Server

Continuing the series of posts about what I use, this one covers what keeps this website running.

Tools TileWith my recent web server changes it’s a good time to update what I use on my web server. I run the site on a “Linode 512” Virtual Private Server from Linode. I’ve been with them since December 2009 and signed up for another 2 years back in January. It’s been problem free and my initial server stayed online for over 300 days at one point, only getting a reboot when changes made it necessary and I did the reboot. It’s a VPS server without any control panel but it suits my needs. There’s no support beyond the making sure the server is running, but they have an extensive document library. All administration is over SSH and from the command line.

I switched to Debian 6 as the OS with this months move. I’d been running Ubuntu, which is Debian based, so there wasn’t much of a change. I’d been having a few minor issues with Ubuntu so decided to switch. I can’t say of the problems were introduced by the Ubuntu or something else.

I run Apache 2 as the web server. With the latest move I switched from using pre-fork MPM with Apache to using Worker MPM. For PHP is use mod_fcgid and mod_actions rather than mod_php. This certainly uses less memory resources, performance seems about the same although some benchmarks do show improvement.

The site runs on WordPress and uses the Catalyst Theme. I’ve been using WordPress since I first created  a website so I obviously like it. I also like the Catalyst Theme, my main complaint is shared with all framework type themes. There’s some lock-in if heavy use of theme-specific features are used. I use the following WordPress plugins: Akismet (anti-spam), Contextual Related Posts, Fast Secure Contact Form, FeedBurner Feedsmith, Google XML Sitemaps, No Self Pings, Recently Popular, Redirection, Skimlinks, WordPress Popular Posts, WP-Piwik, WP Super Cache, WPTouch Pro. I also use the Google Analyticator plugin but will be dropping it when I drop Google Analytics at the end of the month.

For site analytics I just started using Piwik, an open source counter-part to Google Analytics where I maintain the data. There’s also an iPhone/iPad app for viewing the data. As I write this I still use Google Analytics but plan to drop it at the end of the month.

For DNS I use DNS Made Easy for this websites DNS service rather than the registrar’s own DNS. I find it to be more reliable and has more features.

For backups I use Linode’s backup service to get a full server backup and snapshots before updates. My website files and databases get backed up to my home network using rsync.

Moving Day – A New Web Server

I moved to a new web server this past weekend. I’m still using Linode but I switched from Ubuntu to Debian as the OS and made some configuration changes to Apache. The move was a relatively smooth process. This is my move checklist along with some other comments.

Tools TileI completed moving this website to a new server over the past weekend. I’m still using Linode as my host and running on a 512 MB Virtual Private Server (VPS). The changes were minor and should be transparent. I moved from Ubuntu to Debian as the OS but since Ubuntu is based on Debian there’s not too much difference. I had a few strange things happen on Ubuntu after updates so I’m hoping for a little more stability without actually having too learn anything new. Of course, soon after going live I had problems which seemed to be related to an update on Debian. So much for stability as a reason.

As I was building the new server I also worked to squash some annoyances and did some testing. I’d been having problems posting updates through xmlrpc (for example, from Windows Live Writer) to all my sites except this one. That problem didn’t exist on the the new server. I also had some scripts which stopped working as expected and these worked fine on the new server.

The major change (relatively speaking) was I switched Apache from using pre-fork MPM and mod_php to using worker MPM and mod_fcgid.  Worker-MPM was the default when I installed Apache on Debian so it was easy enough to get Apache working. Getting mod_fcgid and mod_actions to handle php was a little more complicated but not too bad. This has reduced the memory usage by the server since php isn’t running with each Apache instance. Performance seems to be about the same.

I considered switching to nginx from Apache but I decided I didn’t want to much change and I didn’t want to spend the time learning nginx. Staying with Apache meant that I would be keeping most of my configuration. Maybe sometime in the future.

I only made a couple changes to WordPress itself. There were some updates related to security keys in the WordPress configuration file. It’s been awhile since I updated that file so I was missing a lot of keys. Now I have all the keys and salts used by the current version. I also changed the database name and user to match my current naming convention.

My checklist for the move is below:

  1. Set the DNS TTL for the domain(s) to a low value (300 seconds) so the DNS change will take effect quicker for the actual move. Do this a couple days in advance.
  2. Backup all website files.
  3. Backup the database
  4. Backup the Apache site file
  5. Create the database on the new server – use the same name as the old server
  6. Create the database user – use the same name/password as the old server
  7. Copy the website files from the backup to the new server
  8. Copy Apache site file to the new server – edit the file for any changes such as IP address the site is on
  9. Restore the database from the backup
  10. Edit hosts file on new server so that the server resolves to itself for the website
  11. Edit hosts file on my PC so it resolves to the new server for the website
  12. Edit my permissions scripts to set file permissions for the site. Run the script to set/test permissions (I have a script I keep updated that will set the proper permissions each night in case I change them and forget to change them back or they get changed in an update.)
  13. Edit backup scripts to include the new site.
  14. Edit WordPress update script to include the new site (I update WordPress through svn)
  15. Update logrotate to include the new site
  16. Connect to the new server’s WordPress site (using the PC with the modified hosts file)
  17. Delete cache files for WP-Supercache and restart plugin (this plugin seemed to dislike being moved). Check the rest of the plugins.
  18. Test the website on the new server
  19. Make a minor change on the new site so it can be identified
  20. Change the DNS from the old server to point to the new server
  21. Allow some time for the DNS change to propagate. Access the site from a different PC or remove the entries from the local hosts file. It may be necessary to flush the cache when changing the local hosts file.
  22. Allow a few days to pass. Check the logs on the old server and if there’s no access (except some search engines and other web spiders) the server can be shut down.

The move itself went smoothly.

The Annual Free But Worth More Awards

Most year-end awards are for commercial products. But there’s some good free stuff out there that’s free but worth paying for so it stays around.

Thumbs up graphicYear end brings a bunch of award and accolades, most of them for commercial products which provide a nice promotion bonus (which doesn’t mean they aren’t deserved). Year end is also when I go through and review the last year and make plans for the next (this has more to do with year end bonuses and financial planning rather than any great introspection). I try to support the things I use and like and this recent post does a good job of supporting my reasoning. Typically this is accomplished by opting for a premium level (such as Evernote & LastPass) But there’s some things I use which are free any typically have no direct paid alternative. WordPress plugins are an example. They (at least the ones I use) are free and usually done by someone scratching an itch rather than any business purpose. But WordPress changes and these plugins need upgrading, so I try to support the the important ones with donations as an incentive to keep going and make my life easier. This year I expanded to a couple podcasts I listen to regularly since most aren’t commercial ventures and they’re regular listens.

So while it doesn’t carry the same promotional weight as the Macworld Editors’ Choice Awards here are my “Free But Worth Paying For Awards” for 2011. The criteria is completely subjective and the only requirement is that there’s no commercial connection or “premium” alternative. Everything on this list is stuff I used all year (or since it became known to me) and I anticipate using all next year.So in no particular order…

WordPress Plugins

Fast Secure Contact Forms – used for the contact form on this site and has many features I’ve yet to use. It’s also frequently sup dated (sometimes to the point of annoyance) even though I haven’t had any problems.

Google Analyticator – Used to manage the Google Analytics code. Yet another plugin I’ve only scratched the surface with. I wanted a plugin that wouldn’t track my own visits and found this, but it does more and eventually I’ll dig into Google Analytics and find out what the other settings are for.

Google XML Sitemaps – It’s debatable whether or not a site map helps with search engines but I decided to go with one and have been using this one for years.

Redirection – A Plugin I’ve used since a long ago site redesign. Automatically creates redirects when a URL changes but useful for identifying broken URLs and changes so they can be fixed.

WP Super Cache – I’ve used this off an on over the years and it’s back on.


Home Server Show / BYOB – These two podcasts have already cost me a lot of money with all the software and tech they talk about.

Linux Outlaws – More news/interview oriented than tech tips but I still enjoy listening. Warning – the podcast gets the explicit tag for language. It’s mild but you’ve been warned.

Rathole Radio – A semi-weekly music podcast with a eclectic mix of music.

Anything else you use that’s free but worth paying for?

WordPress Stats Plugin Goes Jetpack Only

When visiting the admin panel recently I noticed a message that the WordPress Stats plugin would only get future updates via the Jetpack plugin. Both are from Automattic, the folks who run JetPack is a bundle of many plugins from Automattic. I have an instant aversion to bundles like this so I’ll be moving that site off of WordPress Stats. I’ve no idea when the lack of a separate upgrade will cause me problems but I’ll chose one of the options I’m testing on this site. Read on to see what I’ve been test driving…

Web Traffic GraphicI no longer use WordPress Stats on this site, but I still use it on one of my other sites. When visiting the admin panel recently I noticed a message that the WordPress Stats plugin would only get future updates via the Jetpack plugin. Both are from Automattic, the folks who run JetPack is a bundle of many plugins from Automattic. I have an instant aversion to bundles like this so I’ll be moving that other site off of WordPress Stats. I’ve no idea when the lack of a separate upgrade will cause me problems but I might as well replicate what I do on this site.

I’ve currently been trying out three stats options on this site. One is free, one is free for basic service with additional costs for larger logs, and the third has a small one time charge,

In the case of WordPress Stats it’s a plugin that maintains the stats on their own servers, taking the load off my own server. It provides summary data along with some search and post tracking. And it’s free, It integrates with the admin panel. So my requirements were admin panel integration and plugin support. Off site stats maintenance wasn’t a requirement.

Google Analytics


Pros: Free, Off site stats storage, Long-term historical data detail

Cons: More data to Google (some may consider this a con, others may not). I’m on the fence.

Plugin: Many. I use Google Analyticator.

Google Analytics is easy enough to use for basic stats although it becomes more complex as you dive into what’s available. Due to it’s popularity there’s a plethora of information about setting it up and books about using it.



Pros: Free for summary data and detail on the last 500 visits. Additional detail logs for a fee. Offsite stats storage.

Cons: Depending on how busy your site, the 500 line limit may not be enough, requiring added cost.

Plugin: Official StatCounter Plugin

StaCounter is easier to extract the detail information than Google Analytics. The downside is the log file size limits how much detail you can keep with one line equating to one page view. So the free 500 is good for 500 views. I like that the detail includes the search terms that bring visitors to the site and StatCounter makes it easy to view and analyze this information.

Personally I like StatCounter better than Google Analytics but would have to pay for additional logs to make it useful. Summary information is kept long term which is often all I want.


Website: Mint

Pros: You maintain the database and control the data. Flexible configuration, only track what I want.

Cons: $30/domain. You must maintain the database.

Plugin: Mint Analytics (which I’ve edited to ignore my visits)

Mint’s stats database can be on another server, but it needs to be a server you control. Since your installing the software and database locally it’s significantly more complicated than the other options. You can choose which plugins (called Peppers) to install. These peppers can be developed by the Mint community, not just the owners, I’ve had problems integrating some of the more complex features such as RSS feed tracking and on site search tracking, Some of these problems arise because of conflicts with some of my other choices, such as using a Google custom search for on site searches and aren’t necessarily the fault of Mint.


I want to like Mint because it lets me control the data. But I don’t like the hassle of maintaining it myself. While not a lot of effort once it’s installed, it’s more effort than the other options. In theory Mint would place more load on the server although I haven’t had any performance issues. Also, I had to manually edit the Mint plugin to not track my own visits, something the other options already include.

I also like StatCounter more than Google Analytics as I get to the data I care about easier than with Google Analytics. But I’ll have to pay for added log space in order to get the 30 days I’d want.

Finally Google Analytics has the long-term logging and is free. Still, I’m less and less confortable with all the eggs I’m putting in the Google Basket.

If you use WordPress Stats will you keep it once it’s part of jetpack? Do you use Jetpack already? Any other stats options you’d recommend?

WordPress 3.2.1 Released

Blue WordPress LogoLike clockwork, the first maintenance release after last week’s release of WordPress 3.2 has happened, WordPress 3.2.1 has been released. No info on what’s new as the change log is sill empty. The update is available through the admin panel (although I updated through svn). I already updated this site and my others. No database changes were made and a simple update to the files was all that was needed.

WordPress Plugins I Use

With the site redesign I figure it’s a good time to run through the WordPress plugins that I use. Previously I had kept the number of plugins to a minimum, looking for simplicity. Even though I’ve added some new plugins, I also eliminated some so I’m still at 15 plugins after the site redesign. Here’s the 15 plugins I use.

Blue WordPress LogoWith the site redesign I figure it’s a good time to run through the WordPress plugins that I use. I try to keep the number of plugins to a minimum, looking for simplicity. With my interim design attempt I was up to 27 plugins (up from 15), which is one of the things I didn’t like. Even though I’ve added some new plugins, I also eliminated some so I’m still at 15 plugins after the site redesign.

For compatibility information – I’m using WordPress 3.2 and running the the Catalyst Theme.

Tried and True

These a plugins I’ve been using for a log time and they’ve served me well.

Akismet – an anti-spam plugin that shipped with WordPress (at least it did when I started). I haven’t had a need to switch.

Contextual Related Posts – This displays the related articles at the bottom of my posts. I’ve looked at other but this seems to give me the best results.

Fast Secure Contact Form – The provides the contact form on my About page. The plugin is actively updated and has features well beyond my needs for a simple contact form.

FeedBurner Feedsmith – I’ve used Feedburner since before it was acquired by Google. This plugin redirects the site feeds to Feedburner without having to do any coding.

Google XML Sitemaps – A plugin that automatically creates and updates site map files whenever a WordPress post or page is updated. This is one of my “must have” plugins, so much so that I’ve donated to the author to keep things going.

Hyper Cache – A caching plugin that’s server me well over time. I switched to it when a previous plugin had compatibility problems long ago.

No Self Pings – I do a lot of linking within my site and this plugin stops generating trackbacks that link within the site. Prior to this plugin I used to go in and delete them manually.

Ozh’ Who Sees Ads – This plugin allows hiding certain elements (usually ads) to regular visitors. A regular visitor can be defined within the plugin.

Redirection – I started using this plugin long ago when I did a major site redesign. In addition to being able to manually set up redirects this plugin will monitor posts & pages for URL changes and automatically add redirects to handle any URL changes.

New Kids on the Block

These plugins are recent additions to my website.

Google Analyticator – I use this plugin to add the code but not track my own visits. The plugin also adds a Google Analytics widget with the last 30 days of stats into the admin panel.

Mint – I used Mint Analytics long ago and decided to give it a try again. Mainly because it puts the site stats on my server under my control. This plugin adds the code to my website. I modified the plugin to ignore my own visits since it doesn’t do that out of the box. Ultimately I’ll look at including this code directly since the plugin doesn’t do anything beyond adding the line of code needed but it was quicker to go the plugin route.

Official StatCounter Plugin – Another analytics service I’m trying out is StatCounter and this plugin adds their code to my site. It can also be set to ignore my own visits. The plugin also integrates the StatCounter website into the WordPress admin panel.

Recently Popular and WordPress Popular Posts both keep track of which posts get viewed the most over time. Since both require collecting stats over time I’ll run them in parallel for awhile and will eventually pick one.

WPtouch Pro – This is a paid plugin that provides the mobile version of my website.

Ready When Needed

These two plugins aren’t needed all the time so stay deactivated until needed.

Regenerate Thumbnails – A huge time saver during the redesign, Allowed me to re-size all the thumbnails in about 10 minutes.

Simple “Coming soon” And “Under construction” – A plugin that allows logged on users through but shows a Coming Soon or Maintenance page to all others. Useful when doing maintenance or firs building the site.

Any plugins you’d recommend in place of these, or in addition to them?

Blog Redesign Take-Two

Well, my weekend redesign/server move seemed to go well. But then I did a couple posts and tried to implement a few tweaks and things began to go downhill. My main problem was I picked the wrong theme for how I wanted to maintain this site. I used WP-Clear by Solostream which was a theme I liked the look of and it had some nice features. It wasn’t a bad theme and it actually suited the reason I picked it. The problem was – I had the wrong priorities.

I’d was moving from the now obsolete Frugal theme. I opted not to move to it’s replacement – Catalyst. My reason for not moving was that my testing showed there was no quick upgrade path if I wanted the same design. My thought was I wanted to spend less time on design and more time on content. Catalyst advertises 800+ settings available through its interface. I never counted, but it seems like a reasonable number. Plus it provides an easy way to inject code. With this many options I’ve been poking at it for weeks and yet up with something I liked. So I picked Solostream figuring it would quickly give me a good looking website. And it did. And I was happy. And I launched the new design.

And then I realized I didn’t want a fast, good look. I wanted to tweak and code. I found that the things I wanted to do in WP-Clear required going in and changing code in the template. Plus I was approaching 30 plugins to do the things I wanted without having to add code. That was asking for problems down the road when it came time to upgrade. And eventually I’d be forced to upgrade if only to keep up with WordPress.

So it was back to Catalyst. And the migration wasn’t as bad as I thought. Being forced into it made me do some more research and I found the Regenerate Thumbnails plugin. This was a huge time saver for the biggest problem I faced. Being able to re-size the thumbnails easily meant not being locked into the current design until I spent considerable effort redoing all the posts. In about 10 minutes I had all the thumbnails resized. Some of the original images didn’t look good after cropping but got me most of the way there. I decided to crop rather than maintain proportions as I want exact sizes going forward. Even though I may only use the plugin once it warranted a small donation since it solved a huge problem and seems to be the only one of its kind out there.

Once that was done it was pretty simple moving forward. It took some effort to cut out some plugins and replace them with some code. Catalyst makes it easy to add code and make changes since it’s a framework that support child themes which is where my changes are made. Plus it has numerous hooks to add PHP and HTML code without having to change files. And for things that need changing there are separate files for custom changes. The custom files don’t get overwritten in theme upgrades. The problem was figuring out the code, not implementing it.

I still have the problem that Catalyst is so customizable and powerful that I could (and do) spend hours and days lost in the tweaking.

Some things I could easily do in Catalyst that weren’t easy in WP-Clear:

  • The homepage has both a feature article and a list of the latest posts. While WP-Clear could do both I couldn’t find a look I liked without digging into the theme files themselves.
  • WP-Clear had pre-configured spaces for ads but I couldn’t find a way to limit ads so that regular visitors wouldn’t see them. (I define a regular visitor as anyone who’s viewed 4 pages over the last 30 days)
  • One of the things I liked in WP-Clear was the ease of highlighting the latest posts in selected categories so I carried that over to the new design.
  • Maybe it was me, but I couldn’t get Google custom search working right and I was having a heck of a time making the built in search look the way I liked.
  • Since I couldn’t easily add code I wanted I was forced to use plugins. Twenty seven at last count, while now I’m down to 17. All those plugins brought overhead I didn’t want. I didn’t do any timings, but I had a heck of a lot more scripts running and some parts of the site felt slow to me.

Intense Debate is gone. I made an attempt to use Intense Debate. Mainly hoping it would help reduce spam comments. Since I was unwilling to restrict comments just to people who have logged on this had the opposite affect.  When I got home tonight there were 22 comments awaiting moderation and all were spam. I suspect requiring a logon would resolve this but with the native WordPress comments and the Akismet plugin I still get the spam comments, but they get automatically moved to the spam folder and eventually deleted without me having to touch them. I haven’t noticed a problem with false positive for spam. With Intense Debate I was concerned I’d miss a legitimate comment in the haystack of spam. On the plus side, comments made while Intense Debate was running were preserved as promised.

Backups are good. In my haste to make some changes I actually destroyed all my databases on the server. Well, actually I restored some rather old  backups as I tried to restore a completely different DB. Luckily I had a backup from the night before and while I lost some recent design changes I was able to recreate them rather quickly after the restore. I also changed my backup strategy to avoid these fat-fingered overwrites in the future.

So apologizes if any of you visited and got the maintenance banner, or just saw some grossly unformatted page, but the dust has settled and I think things are working fine now.