Thoughts

Changed all site URLs

I pushed through some major changes to site URLs tonight. Every single site URL has now changed as a result, but the change is good, and all old URLs should still work just fine, seamlessly redirecting visitors to the new URLs. Just in case though, please let me know if you find a non-working URL.

The changes have to do with how post, category and tag URLs appear. WordPress, my site’s platform, allows me to change URL rewrite rules (the way a certain URL is generated when you visit a page on my site). I’ve wanted to make this change for a long time, and finally bit the bullet after first trying it out on one of my other sites, Dignoscentia.

Here’s what this means for you:

These changes may not be important to some, but they are to me. Once I get something like this in my head, something that I think will help me organize my content a little better and make the URLs a little shorter and easier to type, I have to go through with it.

I have some more changes planned for the actual categories themselves, such as re-organizing my content into more logical categories. I also need to finish tagging all my posts (currently 1242 posts and counting).

This is all part of my long-term efforts to properly curate my content. You may want to have a look at the site news tag to see what other changes I’ve made to the site over time. It’s been an interesting journey with quite a bit of work behind the scenes, but I like doing this sort of stuff a lot.

Standard
Thoughts

Photos back in the site feed

A few weeks ago, I took my Flickr photos out of the site feed [reference]. Last night, I put them back in. Turns out taking them out cut their views by about 60-80%. That taught me two things:

  1. Showed me how few of the hundreds of people who’ve added me as a contact at Flickr actually care about viewing my photos, which was an interesting realization.
  2. Sometimes the desire to keep things organized and neat is trumped by convenience and practicality. Keeping my photos in the feed allows them to be viewed by more people, and for me at least, it’s no fun to share photos if no one looks at them.

The photos are back in the feed for now. We’ll see how long FeedBurner continues to offer the option to do this, or if they improve it to allow daily photo summaries, as they’ve been asked to do by others (including me). FeedBurner’s site has gone strangely silent lately (after their acquisition by Google), and I’m not sure how long they’ll stay in their current iteration. But don’t let that concern you.

Enjoy the photos!

Standard
Thoughts

Removing photos from my main feed

At least for now, I’m removing my Flickr feed from my main feed. If you are a feed subscriber, you’ve been able to see my Flickr photos appear as separate feed items in my main feed, thanks to a feature at FeedBurner that allows me to splice my site feed with my Flickr photos feed.

But I think the implementation of the feature isn’t well suited to my main site feed, because a separate feed item is created for each photo. Considering that I may publish 3-4 text articles per week but up to 25 photos, this means you’ll see 3-4 feed items for my articles, and up to 25 feed items for my photos, which skews the proportion of my content in a direction unacceptable (to me) for my main site feed.

I contacted FeedBurner to ask if at some point they might put through an enhancement that would allow users to select a “digest” option for the Flickr feed. It would work the same as the “digest” or summary option on their Link Splicer features, which publishes a single feed item with all of that day’s bookmarks. It’s been a while, I haven’t yet received a reply, and I’m not waiting any longer.

So, at least for now, the photos are out of the main site feed. You can still find them in my photography feed (they’ve been there all along), so if you’re interested in getting them along with my photography posts, please subscribe to that feed as well.

Do let me know if you really want to see them here in the main feed. If I get enough responses, I may put them back, but I didn’t want to distract or deter folks who are interested in reading my usual content.

Thanks for reading my stuff!

Standard
Thoughts

Where are the Condensed Knowledge posts?

Good question. Some of you have gotten quite accustomed to those daily Condensed Knowledge posts, and they’ve gone AWOL since last week. On the other hand, others have told me they were distracting, and detracted from the substance of my site.

I’d been giving the matter some thought myself, and in the end, sided with the folks who said I should stick to writing original content. You see, while I enjoy sharing the information with you, and while I also believe that it’s important to highlight valuable content on the Internet, those posts were distracting me from writing. Since I had something to post every day, other than my own writing, I tended to do less of it, and that was not good.

So, for the time being, no more Condensed Knowledge posts. That’s not to say you can’t access them anymore. You still can, but in a separate feed: feeds.feedburner.com/FavoriteBlogPosts. Subscribe to it if you’d like. The feed is actually more reliable than the method I used with the Condensed Knowledge posts, which was to share items from Google Reader, publish them to Twitter, then use the Twitter Tools plugin to collect them in a daily summary. That method was highly dependent on Twitter’s uptime/downtime, and that meant you weren’t getting the full link list every day. With the feed, you are getting everything I share from Google Reader.

I can’t deny I’d rather have the same link summaries present in my site feed, just like with my daily del.icio.us links, and perhaps at some point in the future that’ll be possible, but until then, the separate feed will do just fine.

If you have any questions, let me know in the comments and I’ll see if I can answer them.

Standard
How To

How I moved all my content from comeacross.info to raoulpop.com

A place in this world

Background info

As midnight approached this past New Year’s Eve, I was busy working on a long-term project. I was about to move all of my content (every article and post I’d written) from comeacross.info to raoulpop.com. There were many reasons for this, but consolidation was the most readily apparent.

As detailed on my About page, I’d already combined my content from other sites of mine onto comeacross.info, but there was one more piece of the puzzle that needed to fall into place. I’d alluded to it already. I was thinking about doing it in 2006, believe it or not. As a matter of fact, when I sat down and thought about whether to start writing at comeacross.info or raoulpop.com, I knew deep down I should choose to start writing on my personal domain, but worried it might be too difficult for people to remember and type the name.

After a year or so at ComeAcross, I realized that the subjects I was writing about were much too varied for a standalone site. I was writing in a personal voice, using a lot of 1st person, and it only made sense to have that sort of content reside on my personal site. Plus, there were so many splogs (spam blogs) on the .info TLD, that I worried whether I would be taken seriously if I stayed on .info. I’d owned raoulpop.com for a long time, I wasn’t really putting it to good use, and it didn’t make sense not to.

I set a deadline of 12/31, and got to work on planning and research. What better time for such a big change as this than New Year’s, right?

I’m documenting this for you because someone else might need to know how to do it. And I figure the thought process that went on behind the scenes is also worth knowing.

Planning and research

My biggest challenge was to figure out how to redirect all of the traffic from comeacross.info to raoulpop.com, reliably and accurately. I needed to make sure that every one of my articles and posts would redirect to my new domain automatically, so that a URL like

http://comeacross.info/2007/12/30/my-photographic-portfolio/

would automatically change to

https://raoulpop.com/2007/12/30/my-photographic-portfolio/

and the redirect would work in such a way that search engines would be properly notified and I wouldn’t lose my page rank.

I knew about 301 redirects, but I wasn’t sure how to accomplish them in the Linux/WordPress environment the way that I wanted them to work. I had worked mainly with Microsoft web servers until recent times, and Linux was and still is fairly new to me. I was using John Godley’s Redirection plugin for WP (it’s an awesome plugin btw), and I knew it could do 301 redirects quite nicely. I had been using it heavily when I changed post slugs or deleted/consolidated posts at ComeAcross.

I worked out a line of Regex code that I could use to create a site-wide redirection, I tested it and it worked fine. In case you’re wondering, you can easily test it by creating a 307 (temporary) redirection instead of a 301 (permanent) redirection. Here’s how to do it:

Create a new 301 redirection where the source URL is

/(.*)

and the target URL is

http://www.example.com/$1

Make sure you check the Regex box, add it, and you’re done.

Just to make sure, I contacted John Godley to confirm whether it was the best way to do things. He said that would certainly do the job, but there was a MUCH easier and faster way to do it, one that saves a lot of the overhead that comes into play when WP gets used. It works through the .htaccess file. He was kind enough to provide me with the code, which is reproduced below.

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

</IfModule>

Just paste that into your .htaccess file (remove all other code but make sure you back it up somewhere in case you need it), save it, upload it, and you’re done.

Don’t do anything yet though! Not before you’ve thoroughly backed up everything! Let me outline the steps for you, and keep in mind that I wanted to mirror all of my content from two separate WP sites using the same WP version, and to redirect from the first to the second. These two conditions have to be met in order for my advice to apply to your situation.

  1. Make sure both sites are on the latest and greatest version of WP, or at least they’re on the SAME version of WP
  2. Back up the database from the old domain
  3. Download all site files from the old domain
  4. Upload site files to new domain
  5. Restore database to new domain
  6. Make changes to .htaccess file as shown above
  7. Log into your new domain’s WP admin panel and change the site and blog URLs. Now you’re done! Check to make sure the redirection works properly and all of your content is there.

Upgrade your WP installs

The two sites have to be on the same version, or else things might not work as expected. Upgrade both sites to the latest and greatest, or at least make sure they’re on the SAME version before you do anything else. Go to WordPress, download and install the latest versions. There’s also an Automatic Upgrade plugin, but I haven’t tried it yet, so I can’t vouch for it.

BEFORE you do any sort of upgrade, you need to back up. Yes, you can’t get away from this… You’ll need to do two backups, one before you upgrade, and one after you upgrade, before you transfer the content.

Back up your content

This combines steps 2 and 3 listed above. Backing up your site files is easy. Use an FTP client to access the files on the web server and download them to your hard drive. I always keep a local copy of my site files. It just makes sense.

Backing up your database is a little more involved. Your database contains all of your site content (posts, links, comments, tags, categories, etc.) so you definitely don’t want to lose it. There are detailed instructions on backing up the database on the WordPress site. You can follow those, or you can go to your site’s Admin Panel >> Manage >> Export and download the WordPress WXR file, which you can import into your new site afterwards.

While this is great for backups, restores are another matter. I tried it and found that the import operation kept timing out at my web host. Given that I have thousands of posts, I didn’t want to sit there re-restoring the WXR file only to get a few posts done with every operation. I needed something quicker.

There is a plugin called WordPress Database Backup which lets you download a zipped SQL file of the database. You can use this to restore the database through the MySQL Admin Panel, if your webhost provides you access to it.

What I did was to simply point my new site install to my old database. This is a very handy and easy solution if you plan to host both sites with the same web host. But this still doesn’t excuse you from backing up the DB before you upgrade the WP install! 🙂

Restore your content to the new site

This is a two-step process (see #4 and #5 above) and involves reversing the steps you took during the backups. You will now upload your site files to the new domain, and you will restore the database to the new domain as well. If you’re in my situation, where you’re using the same web host, you can simply point the wpconfig.php file on your new domain to the old database.

Make sure all your content is properly restored before going on to the next step!

Make changes to the .htaccess file

You will need to make sure you don’t touch the .htaccess file before you transfer it to your new domain. Only the .htaccess file on your old domain needs to change. Remember this, or you’ll be wondering what’s going on with the redirects afterwards…

Use the code I’ve given you above, in the Planning and Research section, to make changes to the .htaccess file on your old domain, after you’ve made absolutely sure that all of your content is now mirrored on the new domain. Once this is done, the redirects will occur automatically and seamlessly.

Final checks and tweaks

This is very important. Surf to your old URL. You should get re-directed to your new URL. Do a search in the search engines for content of yours that you know is easily found. Click on the search results and make sure the links get redirected to your new site. Because you’re using 301 redirects, the search engines will automatically change their search results to reflect the URL changes without affecting your page rank, so you shouldn’t lose any search engine traffic if you execute the content move correctly.

There are a few more things you’ll need to check:

If you’d like to make changes to your site feed (and I did), you’ll need to handle that properly. I use FeedBurner, and there are people that subscribe to my content via RSS or via email. I needed to transfer both groups of subscribers to my new feed seamlessly. The FeedBurner folks helped me do just that, and I didn’t lose a single subscriber during the move. I detailed that process in this post.

What about internal links? If you’ve blogged for a while, you’ll have linked to older posts of yours. Those link URLs now contain the old domain, and you’ll need to change all of them at some point, or you’ll risk making those links invalid if you should ever stop renewing your old domain. Fortunately, there’s a Search and Replace plugin for WP that lets you do just that. It works directly with the database, it’s very powerful, and it’s very fast. That means you have to be VERY careful when you use it, because there’s no undo button. You can easily mess up all of your content if you don’t know what you’re doing.

What I did was to replace all instances of “.raoulpop.com/” with “.raoulpop.com/“. That did the trick nicely. I then did a regular site search for all instances of ComeAcross and manually made any needed changes to those posts. (Here’s a thought: back up the DB before you start replacing anything. This way you can restore if something should go wrong.)

Finally, if you’re using the Google Sitemaps Generator plugin, you’ll want to make sure you manually rebuild your site map. You don’t want to have your old site information in the site map as Google and the other search engines start to crawl your new domain.

That’s about all I did for the site content transfer. It occupied half my New Year’s Eve night, but it was worth it. It’s quite a bit of work, but if you plan it out, it should only take you 4-5 hours or less to execute the transfer, depending on your familiarity with this sort of thing, and the speed of your internet connection (keep in mind that upload speeds are a LOT slower than download speeds on most broadband connections).

Given how much work is involved, I was a bit surprised to see Matthew Mullenweg (founding developer of WordPress) talk about doing his own switch to a new domain in “2 seconds“. I think what he referred to is the changes to the .htaccess file and the blog URLs, which are the fastest parts of the process. There is, however, quite a bit of work that needs to take place behind the scenes before those switches can get flipped. And I also believe (someone correct me if I’m wrong) that he pointed both domains to the same web files — in other words, re-used his existing WP install — so he bypassed a lot of the steps that are otherwise required.

Hope this proves helpful to someone!

Standard