Better WordPress Theme Onboarding with Merlin WP

Better WordPress Theme Onboarding with Merlin WP

You get one chance to make a fantastic first impression. Just one. WordPress itself isn’t particularly known for its first impressions, and WordPress themes in general are notoriously difficult to get rolling.

Sure, it’s easy to install WordPress and upload a theme. But what happens next? Why not make this first impression blow the user away, offering a simple, intuitive, and clever interface to help them get started?

Introducing Merlin WP

Merlin WP (GitHub) is my stab at addressing the tedious and exhausting WordPress theme setup and onboarding process. It makes installing a new WordPress theme, its recommended WordPress plugins, Customizer settings, widgets, and demo content, an exciting and gratifying user experience.

A while back, David Baker created a clever setup wizard class (Github), inspired by the WooCommerce welcome wizard. While it’s a solid move in the right direction, I wanted to build an onboarding wizard that was even more refined. So I did.

Here’s a really short demo video I drew up to showcase the Merlin WP experience:

And while I originally developed Merlin WP as a side-project to exclusively include in my own theme catalog, I soon pivoted and committed to building the class to be easily deployed within most WordPress themes.

How does Merlin WP work?

I’m building Merlin WP to be added directly into theme files. Once added, you need to include the class, the merlin-config.php file and then your own demo content files (content, widgets & Customizer data).

The configuration file makes it easy to customize any text string throughout Merlin WP, as well as set the class directory and demo content locations.

And if you have TGMPA included in your theme, Merlin WP will “just work” with it, pulling the recommended plugins right into the wizard.

I’m also working in support for EDD Software Licensing, which I use to power my own WordPress shop, so that users can activate their license key during the onboarding phase.

So why did I build Merlin WP?

There are a few WordPress plugins currently available, such as One Click Demo Import (OCDI), which import content well, but leave the user experience with quite a bit of room for improvement.

Even with an OCDM compatible WordPress theme, the user is required to install  OCDI (likely using TGM Plugin Activation), navigate to the OCDI admin page, and then run the importer.

But wait, let’s backtrack to TGMPA. Now there’s another process added to the mix. The user needs to perform a plugin install and activation process to get any other recommended WordPress plugins ready to go. Sure, TGMPA makes the process of downloading, installing, and activating plugins simple-ish, but it has a convoluted approach that is not particularly user friendly. And let’s not forget, any custom post type plugins not installed — will not be imported.

Now, if your theme is not compatible with OCDI (or any other importer), then the process is compounded extensively. You’re locating XML files, installing and running the WordPress importer,  Customizer Export/Import, and Widget Export/Import plugins, and then setting the home and blog pages.

That’s not easy for any user, not just beginners.

When will Merlin WP be available?

I’m working on the finishing touches, EDD Software Licensing support and a few odds and ends, but I’m shooting for the end of August. I’ll be reaching out about beta testing Merlin WP as well, so if you’re interested click here to subscribe.

Edit: The beta is up on GitHub!

In Closing

Merlin WP is my stab at dramatically improving the WordPress theme onboarding experience. I’m really excited about how easy Merlin WP (GitHub) makes installing and setting up WordPress themes — it’s really “next-level.”

Hit me up on Twitter, or email me directly if you have any questions!


Also published on Medium.

  1. Love it! GREAT job Rich. I’ve been preaching about FTUX (first-time UX) for 3 years and Merlin looks like a major step into fixing the broken FTUX many themes have today. Regarding the license activation, can you develop it with extensibility in mind? We’d love to integrate it with Freemius license activation.

    1. I appreciate the kind words Vova! That’s the plan! I’m adding the beta to Github soon, after a few more tests locally and with a select few authors. Extensibility is major here, as it needs to be suitable for developers all around. Plus, I’m sure it’ll be ripe for commits! 🐞

  2. This looks really great! All the animations and sleek loading process makes it really a nice user experience. We’re going to look into adding something very similar into our plugin to do very similar tasks like setting up appropriate pages, importing content, etc. I’m going to keep my eye on Merlin WP.

    1. Thanks Devin! That’s great (love GiveWP btw)! Like Vova mentioned above, improving the first-time user experience is necessary for both themes and plugins. It literally helps everyone; a better customer experience means less time supporting customers through the initial setup. 🙌

  3. Rich, I always knew you’re something special. This looks outstanding! Thank you very much for mentioning our OCDI (you refer to it as OCD*E*, consider fixing) project. We know it’s not the optimal experience and I love to see how you’ve eager to fix it!

    I’ll share this within a team, maybe we can help you on your way.

    1. Thanks Primoz! Fixed! OCDI is a well-done solution (especially compared to having no set up help). What would be great is if we could combine Merlin WP with OCDI’s full-scale functionality! 🙌

  4. Loving this! 👏
    We’re right now in the process of re-building the onboarding process for our themes so this might be the greatest thing ever. 🙂
    Thanks for putting the time -and your mind- behind it, Rich!

  5. Onboarding was the single biggest thing we wanted to solve when we built LayersWP, so I’m pretty happy to see you trying to solve it on a global level Rich, congrats!

  6. I think this would be perfect for setting up a sub site on a multisite network. So many weird steps go into that process from site setup, domain mapping, users, themes, plugins, customizations, etc. Really appreciate your hard work on getting this coded up and releasing it as open source.

  7. Hi Rich,

    This looks cool and very slick, but I’m not sure what the use case is. Who is this for?

    For example, where does the content come from that is being imported? How do you know what plugins a user will need in advance?

    1. Thanks Keith! It’s primarily for fellow theme developers and shops who’re providing/selling themes to customers to include in their themes. The content is added to the theme as well — I detail that in the GitHub doc.

      One of the biggest hassles new/novice theme users have and support requests received by shops is “How do I set up X to look just like your demo”; Merlin WP aims to make that process of setting up a theme to look just like the demo super easy — to alleviate those. 👍

  8. Hi Rich, this looks really good! Providing a proper onboarding experience (especially for beginner users) is something where WP needs to do much better. Ideally there would be something like this in core. But since that’s not the case (yet), there are really smart people like you taking care of it. Absolutely well done! 😉

  9. Always had something like this in mind for a quite long after I saw the David’s post on Envato Forums. But, never got time to do it myself.

    But, now after MerlinWP, I think Theme Onboarding will be a super awesome experience for our Theme customers. They are going to love it.

    Thanks for creating it Rich. Amazing Work!

Leave a Reply to Collins Agbonghama Cancel reply

Your email address will not be published. Required fields are marked *

Up Next:

6 Bite-Size Takeaways from my Experience at PressNomics

6 Bite-Size Takeaways from my Experience at PressNomics