Many years ago when I knew nuts about the existence of PHP programming language, I had longed to move my blog from Blogspot to my own web server. My aim was to be able to manage my entire website better, which consisted of pages and blog entries. Pages, to me, were more like permanent pages where visitors should have straight access, while blog entries could be archived into the individual months’ links as new entries took over the home page.
Blogspot, at that point of time, did not have the “pages” feature. Even with the late implementation, it did not flatter me with the additional directory URL “/p” on the left of every page’s original URL. I could mask my domain name to Blogspot’s server but I did not want my pages to appear like “http://sillydumb.com/p/introduction”.
Basically, sillydumb.com and my blog had been running on two separated servers – my personal server and Blogger’s server. I had actually synchronized the two websites by using the same layout with some tweaks in JavaScript codes that allowed proper linking of all the pages.
However, I did not like the fact that some friends had linked to my blog directly instead of my main website. I also had problems of having duplicated work whenever I needed to make any changes to the layout.
After years of battling with time, I had finally decided to pamper myself a little by installing WordPress to my server to house all details. It was not an easy task at all and I took much longer than estimated time with unforeseen problems.
Basically, I was not very sure of how WordPress was coded. I took the easy way out by modifying the existing template to fit my design. I was not able to get the final design exactly the same since I wanted to speed up the process badly. In fact, I had spent quite an amount of time just to even make the basic arrangement.
The most challenging task was to import the old entries directly from Blogspot over to my server. There was a WordPress plugin to do that but somehow it did not work. Instead, I started importing the blog entries to my test account at WordPress.com, which was a free blog host like Blogspot with the basic and limited WordPress features installed. After importing my old blog entries over to WordPress.com, I exported the blog entries to my harddisk as XML file. Next, I imported the XML file into my trial WordPress installation in Smart Tuition‘s Singapore server and it worked. After some configuration, I exported the blog entries as a fresh new XML file.
I met one of the toughest challenges when I tried to import the new XML file into my Canada server, which was the home to my personal website. There was an error stating that file size of 2 mb was over and I could guess that the cheap shared server had restricted its users. My Singapore server’s team was much kinder because of the much higher cost and that was why I could import the XML file in without facing such problem.
After doing some researches, I managed to find a solution. I separated the 9 mb XML file into five files. It was not very straightforward since the top and bottom of each file should have the same coding which each blog entry started and ended with both <item> and </item> tags. I uploaded the files one by one and it was a pain in the ass since the server was really slow. Then, I figured out that I could not import my blog entries directly from Blogspot due to the restriction in file size while WordPress.com, running on its own server, was much kinder.
My final task was to import the setting of the blog from my trial blog. I had experiences of backing up the WordPress database and restoring them but I faced another big problem this time since the full URL of my trial server differed from the intended one – http://sillydumb.com. Therefore, I had to start searching through the database tables and made amendments manually before I imported the SQL file directly.
I made quite a number of mistakes throughout the process and had reinstalled numerous copies of WordPress.
Right now, I have to give up on some old features such as my Calendar. Some contents’ display depends on JavaScript with external files and I have to replace them with static texts instead.