Import Blogger Beta to WordPress

Posted by on Tue, December 19, 2006

▼ A d v e r t i s e m e n t

This page is outdated. Please click here for the update. Comments are closed on this post.

As I have not heard anything about the solution to this problem, I wrote a script. This script is a simple but powerful 😉 script which extracts the posts and comments from RSS feeds at blogger.com.

Instructions:

Copy the script to your main WordPress directory and run it (http://your.name/blogger-beta-import.php). The options are self-explanatory. This means you can customize the category and user before importing.

Warning:

This script represents a security hazard if left on the server. Once you are finished, delete it. Don’t even rename or save a copy on the server. The script does not honor WordPress authentication and checks, but utilizes some of WordPress’ functions.

Limitations:

  • No handling of images (stay on blogger server)
  • Comments will have the names but not email or URL – limitation with RSS from Blogger
  • Unlikely to work if you use other comment systems
  • You need to enable RSS feed for comments – very important!

As for images, they will stay in blogger.com but I suggest you download them at once to your server as Blogger does not allow hot-linking (images will be blocked). You don’t have to do it one by one, you can use this plugin by Notions: Blogger Image Import. I’ve tried it and it worked well. One thing is that it depends on CURL to download images – servers without this extension will not execute the script. Let me know as I have a workaround for this, provided that your PHP version is later than 4.3.0.

Please don’t look at the code as it is written in 2 hours without so many cosmetic or improvements in efficiency. This script will work on existing WordPress installations but due to some assumptions made, it may break certain things like post counts for categories, etc. I suggest use it only on a virgin WordPress installation. However, I’ve tried it to import several different blogs and the result is awesome – it looks like multi-user blog :-)

This code will be short-lived, I think as Blogger is finalizing their system out of Beta. One little change on their system would mean disaster for this script, and I am not sure I will have the time to give any kind of support. So, be quick and import now, while the script still works!

I have not tested this script with blogs larger than 300, if you encounter problems do let me know, maybe we can split executions.

Download the script here:

blogger-beta-import.zip (2.81KB)
blogger-beta-import-0.2.zip (3.64KB)
blogger-beta-import-0.3.zip (3.69KB)
blogger-beta-import-0.4.zip (4.86KB)
blogger-beta-import-0.5.zip (4.94KB)

Changelog:

2006-12-22:

  • Added ability to add commentor URL and email since these data can’t be obtained from RSS.
  • Added extra checks to terminate script if something fails. No use wasting user time to wait for a broken result.

2007-01-01:

  • Bugfix: When a comment author’s name contains apostrophes it will fail to be loaded into the database. Update 0.3 fixed that – thanks to Dawn.

2007-01-11:

  • Added automated checking for feed retrieval mechanism (fopen or curl). If both are not available, the script will tell you and not run 😉
  • Added code for retrieval using curl.
  • Added ability to make step by step imports – useful for people having bandwidth or server speed problems. Requested by Dawn.
  • This script has only been tested in few sites, so if you encounter any problems do let me know.

2007-01-14:

  • Bugfix: First import does not work, page have to be refreshed to make it work – thanks to Jonas.

I suggest you download the script only from this site, especially if you’re not a programmer as PHP codes are easily modifiable for malicious intent.

I will not be liable for any problems you might have with your WordPress installation. Use this script at your own risk.

Comments are welcome but I may take some time to respond as my time is limited.

How to make sure full feeds are available:

Switch to Advanced Mode and make sure your settings are like this:

Blogger Feed Settings

Special Notes:

Thanks to Charles Wesley for his suggestions on using the CURL library.

Tested On WordPress versions:

  • 2.0.5 – Working.
  • 2.0.6 – Working.
  • 2.0.7 – Working.
  • 2.1 – Working. Thanks to Ricardo

TODO:

  • Import by a number of posts at a time (staged import) – done
  • Haloscan import support
  • Mapping of categories from blogger
  • Mapping of authors from blogger
  • As a plugin
  • Include an option to import all posts without staging
  • Maintain permalinks from blogger
Related Posts with Thumbnails

Tags:

Facebook Comment

WARNING & REMINDER: Comments are moderated and there is no exception. Comments unrelated to the post, too short, using phoney emails or funny names, will be marked as spam. Foul languages are filtered as spam. Your email will never be displayed on this site. If you would like to receive replies, use a valid email address and check the subscription box below.