I gave my mom my old weight loss blog a few years back. In spite of publishing it on its own domain (smart) I was still using Blogger (dumb) when I gave it to her. It is not that Blogger is bad, but that Wordpress offers so many customization options that allow you to effectively rank for a wider array of keywords, and thus earn more per word.
These are the steps I did to help move her blog over from Blogger to Wordpress.
Step 1: Download and install Wordpress (also requires setting up a MySQL database).
Step 2: Make Wordpress URL configurations.
- set the category base to /c and set the tag base to /t
- set the post slug to /%postname%/
Step 3: Cloned my mom's old blogger theme design using Themepress (cost $10), and then had to hack the CSS by hand for about 10 minutes.
After verifying the layout was fairly decent I deleted the blogroll links and the opening post.
Step 4: publish my mom's old blog onto blogspot.com so I could import it to Wordpress using the one click import located at domainname.com/wp-admin/import.php
After importing it I used Blogger to republish the blog back to her domain instead of leaving a copy on Blogspot, such that she does not have a stray cloned version of her site floating around.
Once import was complete I looked it over and verified it generally looked good. If you still have your old site up you can view the Wordpress blog version by going to yoursite.com/index.php (presuming you installed Wordpress in the root of your site).
Step 5: rewrite the .htaccess file to include both the Wordpress specific functions and rewrite rules needed to lose the dates from the URLs. The exact .htaccess file you need to write depends on your old URL structure and file extensions (the below one redirects html and shtml files). Our .htaccess file looked like this (note there were a few dozen lines like the first line, but I limited it to one in this example for brevity)
redirect 301 /2008_07_01_archive.html http://www.fattyweightloss.com/2008/07/
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule (\d{4})/(\d+)/(.*)\.shtml$ $3/ [L,R=301]
RewriteRule (\d{4})/(\d+)/(.*)\.html$ $3/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Please note that when Wordpress imports your blog some of the stop words are removed from the URLs, which can end up creating some mean 404 errors until you line up the new URLs with the old ones (which we deal with in step 7). Also, if you used Blogger tag pages then you might need to make your .htaccess file a bit more complex than the above one, adding entries to redirect the tag pages.
Step 6: Delete my mom's old static file archives.
If you are afraid that something might get hosed up with the move you can rename the old archive files and folders. For example:
- Name the root index.html to something like index5.html
- If you have a /2004/ folder make it something like /12004/
After these are renamed or deleted click around the site and verify it generally works.
Step 7: Installed a couple SEO related plug ins.
Akismet - comment anti-spam tool installed by default, but I had to get an API key and enable it.
SEO Title Tag - allows you to make the page title and H1 post heading different...great for on page optimization.
Redirection plug in - keeps track of 404 errors and allows you to redirect URLs.
What I did, rather than redirecting URLs, was find the URL slugs that did not align with the old URLs and rewrite the URL slugs to add the stop words into it (I believe the most common ones were and and the).
I monitored 404 errors logged by the redirection plug in for ~ 4 days and fixed everything I came across. I figure all the important, well linked to, and/or high traffic posts should have got traffic within the first 4 days.
After 8 weeks I will flush the 404 error log and look for any stray link equity that I am not capturing, and redirect those URLs to their new location.
WASABI Related Entries - this plug in automatically creates a list of related entries wherever you like in your theme (you can install it in the sidebar or possibly after your comments). The beauty of such a plug in is that it allows you to keep more of your PageRank flowing internally, and it allows you to put a bunch more keyword rich content within a page without it looking spammy. For instance, given the following image you know what the related post is about without even seeing it.
Lorell reviewed a variety of other related post plug ins.
Step 8: While I was fixing up my mom's URLs I helped offset the revenue shortfall from the short term traffic decline by using IE conditional comments to place an extra AdSense block on her 404 page when Internet Explorer viewers accessed the error page.
Step 9: Final window dressings :)
Use Xenu Link Sleuth to crawl the site to look for any broken links you need to fix. Please note that you may need to change the number of threads running or Xenu might get blocked by your server. I had no luck with 30 threads, but 4 worked ok.
Set up your robots.txt file to prevent Googlebot from trying to create search pages (?s=). Also prevent them from trying to index admin pages, feeds, trackback URLs, and the p= post URLs (presuming you are using post slugs as mentioned above).
User-agent: *
Disallow: /page/
Disallow: /*p=
Disallow: /?q=
Disallow: /?s=
Disallow: /*trackback
Disallow: /*feed
Disallow: /*wp-login
Disallow: /*wp-admin
Disallow: /*xmlrpc.php
Matt Cutts offers some tips to protect your Wordpress blog from getting hacked. Patrick Altoft offers tips on how to use a Google Alert to check if your blog gets hacked.
Map out keyword strategy and assign old posts to related categories. Set your default category to something that is useful rather than leaving it as uncategorized. While editing particularly high traffic posts it might make sense to see if the page title or page contents could be further improved to make the post even more successful. In some cases a post can rank for a wide array of related keywords.
While ensuring that are category pages are linked to sitewide, I used conditional PHP statements in the sidebar.php file for monthly archives such that they were linked to from the homepage, but not from the individual post pages. This drives more link equity toward the category level pages, while driving less to the date based archives (as we would rather rank for low fat recipes than for August 2007).
<?php if ( is_home() || is_page() ) { ?>
<li><p class="sidebar-title">Archives</p>
<ul>
<?php wp_get_archives('type=monthly'); ?>
</ul>
</li>
<?php } ?>
As a bonus, one could also add a plug in for editing default category pages, but we have not done that yet as we still have a long way to go with categorizing the current contents first. Anyone know of a good plug-in to edit category pages?
Step 10: (Only if Your Old Blog Was Published on Blogspot) redirect Blogspot address.
If you were hosting your blog at Blogspot and have some good inbound link equity coming into it you can redirect those links to your website by using this code in your Blogger template, which was an upgrade of the code orignally published here.