The title is not totally correct, it’s sort of like merge one blog into another one. I have many blogs beside this one you are reading, but they are no longer updated. I have been thinking for a long time whether if I should move those posts here and delete the old blog. If I delete the old blog, some websites which link to my posts will be failed to let visitors get what they come for. Finally, I concluded one acceptable resolution. I can still redirect visitors to new place thought it won’t be a 301 redirection, just a notice on old page. It’s okay for me.

Here is steps I have taken to move posts of five blogs into this one:

  • Resynchronize remaining comments on Disqus with Blogger
  • Export old blog and import on new blog
  • Apply special label
  • Add special label check in template for showing notice, so reader would know they are from old blog
  • Publish those imported posts
  • Import existing Blogger comments into Disqus
  • Update old blog’s template to show redirection notice
  • Redirect old blog’s feed to new blog’s feed
  • Transfer old blog to another Google account

1   Notices

One thing important is to let visitors know a post has been moved and a post is imported from another blog. The reason to let visitor knows a post is imported is because the post might be messed up due to difference of template.

The first notice on http://fedoratux.blogspot.com/2009/11/migrating-to-tmux-from-gnuscreen.html:

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqkMovij63EYDaO1iHglijEkxH931MLLMu6hWC_0nUsYLhjlSgVqtOjLA46ctejQiKNt_gAgJ3X8L7hlMpiaZOa8v5qGLtfysO0JPCquLcXvY_Ov69UUtlW31KbODYwoMSjhxyszWt8zw/s800/2015-05-16--05%25253A44%25253A31.png

I almost emptied the Blogger layout template to show just that. I was hoping I could direct print out the new link without JavaScript, but it’s not possible unless there is some unveiled Blogger expr function which I don’t know. Here is the template you can use:


<!DOCTYPE html>
<html>
<head>
<title><data:blog.pageTitle/> has been moved!</title>
<meta http-equiv="Content-Type" expr:content='"text/html; charset=" + data:blog.encoding'/>
<b:skin/>
<style>
* {
font-family: Arial;
}
#notice {
background-color: pink;
border: 3px solid pink;
border-radius: 3px;
box-shadow: 0 0 3px pink;
color: #fff;
font-size: 2em;
font-weight: bold;
padding: 1ex;
text-shadow: 0 0 3px #000;
}
#new_url {
color: red;
font-family: monospace;
}
</style>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'/>
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

<script>
$(function () {
var new_homepageUrl = 'https://yjlv.blogspot.com/';
var new_url = '<data:blog.url/>'.replace('<data:blog.homepageUrl/>', new_homepageUrl);
$('#new_url')
.css('color', '#fff')
.attr('href', new_url)
.text(new_url);
});
</script>
</head>
<body>

<h1 id='title'><data:blog.pageTitle/></h1>

<div id='notice'>
This page has been moved to <a id='new_url' href='#'>(Please enable JavaScript to see the new link)</a>.
</div>

</body>
</html>

Don’t forget to change new_homepageUrl variable if you are going to use.

The second notice was on new place, but I had removed it. I had something like the following code just below post date in layout template:


<b:if cond='data:post.labels'><b:loop values='data:post.labels' var='label'>
<b:if cond='data:label.name == &quot;SPECIAL LABEL&quot;'>
<div class='old-post-notice'>This post was imported from my old blog &amp;ldquo;BLOG NAME&amp;rdquo; on 2010-09-28. Some stuff in this post may be broken, please leave a comment if you see any, then I will try to fix it.</div>
</b:if>
</b:loop></b:if>

Notice that SPECIAL LABEL? You will need to apply a special label for those imported posts. I have OldBlogTuxWearsFedora for one blog’s posts.

2   Feed redirection and blog transfer

I set up feed redirection in old blog with new blog’s feed. I think it’s for readers who couldn’t notice any changes. After you set up the redirection, post a notice post in new blog to draw old blog’s readers’ attention, notify them to update feed link.

As for blog transfer, I created new account and move those blogs into that new account along with some other blogs which I don’t think I shouldn’t merge them but I don’t want to see them in my dashboard anymore.

3   Conclusion

There is one thing if you wonder — which was my question — what about the difference of timezones of two blogs? That may cause date changes but not for permalink, once you firstly post a post, then permalink is fixed and will never be changed.

I don’t like duplicates, some people may import and keep contents of old blog, not me. My method is only to touch template, the content is actually still on old blog untouched. You can see them as backup or archive.

Now, I only have five blogs in my dashboard, used to have 14. The list in FeedBurner is shorter, I am going to delete those Google Analytics profiles. I don’t think I would ever want to read old statistics. I think I can’t transfer few profiles of one account, therefore I only can delete them.

One more thing is about the comments. If you use Blogger comment system, there should have no problem for you. I use Disqus, I think those comments should be able to be imported, but Disqus currently seems having problem doing import. I hope that won’t cause duplicates but I will have to find out later.

3.1   Updated on 2010-09-29

Disqus has imported the comments and it didn’t make duplicates, I think. Here is the result:


Import Details

Status: Import completed
Threads: 502
Comments: 118 (110 new)

Created: 09/27/2010 11:11 PM
Finished: Yesterday 09:13 PM

After imported, 141 comments in Disqus but 150 comments in Blogger. Where the heck the difference of nine comments come from? And it actually only 126 out of 141 has been synced back to Blogger, these 15 should be the comments were on this new blog. Maybe I should export from both and check on my own, could those be duplicates? No idea and I really don’t care about it much.

3.3   Updated on 2015-05-16

Five old blogs are now deleted and Google Search knows page moved even without 301.