Last week Stack Exchange announced its new blog, revamped to publish company news and engineering posts. The first post on the blog, written by Jon Chan, Stack Overflow’s developer evangelist, made no small amount of fanfare over migrating from WordPress to Jekyll.
Chan’s explanation of the team’s process cites a few curious reasons for their dissatisfaction with WordPress:
During the original proposal stage for the engineering blog, we also had a conversation about what engine we would use. At the time, all of our blogs were running WordPress…which we weren’t so happy about. It was very buggy, difficult to log in to, not very performant, and has caused our SRE team more than a few headaches. If we were really going to revamp the new company blog, it seemed like a lot of work to try and wrestle with our WordPress installation.
With a little bit of WordPress skill, these seem like easy complaints to resolve, especially given that Chan said the team was inspired by blogs like Code as Craft and OkTrends, both powered by WordPress. However, anti-WordPress sentiments continue to run high within the Stack Overflow community, which recently ranked the software as the third most dreaded technology.
After a great deal of consideration, the Stack Exchange team opted to use a static engine, eventually landing on Jekyll. Chan outlined the advantages they perceived in the move:
- Posts are in Markdown, something most of our company was familiar with
- Jekyll is just static site generation, so it’s much more performant
- Complete flexibility for front end work, no need to wrestle with templates
- Open source with a strong community, which we love
- Not WordPress or PHP
Chan described the migration process, an endeavor that was fraught with obstacles. There is a Jekyll Exporter plugin available to those who want to migrate their blogs over, but Stack Exchange opted to use the exitwp tool to get them most of the way there.
Since Jekyll doesn’t offer native support for comments, one of the biggest challenges in the migration was preserving that content and porting it into a new system. The Stack Exchange team decided to use Disqus for comments but were unable to properly migrate their existing comments and had to craft an alternative solution.
“The worst part of this is how unsupported we were by the Disqus team,” Chan said. “We waited on the order of weeks for support responses and for over a month they went unresolved. Sending in official support tickets, emails, and posts on their Discuss forum went unnoticed.”
Despite their unsatisfactory experience with Disqus and the fact that they have to sacrifice Stack Exchange login capabilities in order to use it, Chan said they will continue with it going forward.
If you’re running a large, high profile blog on WordPress, it requires a certain level of expertise to customize themes and plugins and to ensure a high level of performance. It’s unclear whether or not the Stack Exchange team was lacking in expertise (based on some of the complaints cited) or simply unwilling to continue with WordPress after unsatisfactory experiences. No massive migration from one platform to another is ever going to be easy and bug-free, but Chan’s account offers some valuable insight on how difficult it currently is to move from WordPress to Jekyll while preserving all of your content.