With all the Yahoo and Verizon shenanigans going on I decided to pull my Magento Quickies posts off Tumblr and hold them close again at my personal home page.
You can find all the old posts in the Programming Quickies category. DNS is doing its DNS thing, but
magento-quickies.alanstorm.com should eventually redirect to that same category page, and all the old URLs should be safely redirected to the right place. This post will be proof that the new IFTTT rule I’ve setup will make a link post to the remnant magento-quickies.tumblr.com, which I’m keeping around for folks who prefer getting their internet via the Tumblr dashboard. If you see something going wrong with anything, please don’t hesitate to let me know.
The rest of this article is some notes on the migration and the weird everything works but just barely nature of today’s web publishing software.
Notes on the Migration
Step one was getting all my content off Tumblr. I already have a small backup script that uses the Tumblr API to backup the site daily, but the thought of parsing those XML files and creating new posts in the (not exposed to the web) WordPress backend I’m using did not fill my head with visions of sugar plums.
Fortunately WordPress has a Tumblr import feature which works almost seamlessly. I say almost, because for — reasons? — the WordPress importer needed me to turn off my custom domain handling at Tumblr — meaning during the import
magento-quickies.alanstorm.com was offline.
Next, I had to deal with getting all these new posts imported into a single category in my WordPress site. StackExchange was surprisingly silent on this, but I did manage to cobble together an extension and some custom configuration that let me make the one time category assignment. (details in the aforementioned StackExchange post.
Trickier was what to do about the canonical URL problem. A while back Google introduced the concept of a
<link rel="canonical" href="http://alanstorm.com/pestle-1-4-2-now-available/" />
When this tag is present, you’re telling the world that
Hey — the text on this page? This is the real, canonical home for this content. If you see this content somewhere else without this tag, it’s a republishing via some syndicated/automated means but this URL is the real deal.
The problem? Tumblr adds a canonical
<link/> to all its posts, and this tag is not a part of the design template, and there’s no obvious way to change this. While I’m never too concerned about the Kafkaesque cargo cult around how this might effect my SEO, I am concerned about communicating clear intent to the internet at large, and two different canonical URLs for the same content seemed wrong.
Why two different URLs? Because while I’m redirecting all the old
magento-quickies.alanstorm.com URLs to their new homes at
alanstorm.com, I’ll still have a Tumblr blog at the Tumblr sub-domain (
magento-quickies.tumblr.com) with the incorrect canonical links.
So, one option was just deleting my Tumblr blog entirely — but that means anyone using Tumblr’s dashboard to check-in would stop getting updates from me. That seems wrong. So I opted for the still-destructive option two, which was deleting all the old posts at Tumblr after I flipped the switch.
Deleting all the old posts at Tumblr turned out to be another exercise in weird software hacks. Again, I probably could have re-learned the Tumblr API and written a script to delete everything for me, but did I really want to spend a day or two on that? The existing scripts I found seemed to work with an old version of the API or had less than clear instructions.
and then delete them. Do this five or six times and you’re done.
One last little bit of weirdness was discovering that Tumblr automatically posts AMP versions of all your posts. This makes sense from a mobile experience point of view, but given the weirdness of how Google users AMP as a signaling flag (for news sites only. so far.) that it’s OK to republish this content via their Google hosted CDN (i.e. not the original website), I’m not 100% comfortable with Tumblr doing this. They also don’t seem to allow you to edit the AMP/mobile page design either. All the more reason to get myself off Tumblr and back to my late 90s version of the web.