Planning Your Move To Magento 2 (Part 1): Scoping your requirements

It’s hard to believe that Magento 2 is already approaching its second birthday. Builtwith estimates there are around 16,000 folks currently using Magento 2. But there’s also a massive number of people who haven’t yet migrated, or started the process of scoping their requirements.

If this is you, it’s time to take a look at what Magento 2 has to offer and how a migration might fit into your overall strategy.

I want to share two simple things that really helped me do some early scoping for Fooman’s move to Magento 2 (and understand how much work it’s realistically going to be):

  1. Stocktaking your extensions, themes and integrations
  2. Assessing your ecommerce strategy: Looking strategically at how your Magento 1 site is performing, and what improvements are overdue

But first, let’s talk timing.

There’s no rush to move over…. but you should at least be thinking about it

The initially communicated end of life for Magento 1 was 3 years after the release of Magento 2. However subsequently, at least for Magento Commerce, this has been pushed out to at least 2020. For Magento Open Source there is no clear announcement yet.

Since Magento Commerce is built on top of Magento Open Source, there’s no immediate need to rush into upgrading to Magento 2. But even if you don’t plan to move over in the immediate future, it still makes sense to do an initial assessment of what an upgrade would require, to inform your long term plans.

With the release of Magento 2.2, I believe the new platform has reached a good level of stability. The initial bugs have been ironed out, which makes it suitable for a wider range of merchants.

We’re also starting to see Magento 2 moving further ahead of Magento 1 in other areas, for example:

  1. The recent announcement about PWA being on the horizon for Magento 2
  2. The announcement by Creatuity to bring One-Click-Checkout to Magento 2 (likely 2.2.2)

Over time, your current M1 website will start to look dated compared to functionality your competitors will have on more modern platforms.

Even if you don’t plan to migrate your site for another year or three, I’d definitely encourage you to start thinking about your strategic requirements now (once any holiday rush is over). It will give you a much better understanding of the timeframes you’ll need to move to M2, and make the whole process much easier to manage (as well as avoid any big surprises later down the track).

Confession time

Even though the majority of our work at Fooman involves living and breathing Magento 2, our website is still operating on Magento 1. We’ve decided to take an incremental approach to our move to Magento 2 - preparing for our migration little by little, rather than doing it all at once.

Why? Our biggest hurdle to moving to M2 the sheer number of custom-built extensions we use to operate our M1 store (things like connecting our demo stores, allowing customers to download their extensions and our payment gateway implementation).

This is the exact problem that a lot of folks in our Magento community will face when looking at their move to Magento 2. Additionally not all Magento 1 extensions are available yet for Magento 2, or with the same feature set. It’s gotten a lot better over the last 6-12 months - but there’s still a lack of extensions in some areas compared to M1.

That’s why for the current year, we’ve decided to focus on developing our Magento 2 extensions, that will help more of our customers in the Magento community be ready for their move to M2.

Step 1: Stocktake your extensions

The first step in scoping your migration requirements is to stocktake what’s on your existing Magento 1 site - that means drawing up a list of all your current extensions, themes and integrations.

For the list of extensions, you don’t need to do this manually (phew!). I recommend using the excellent Magerun tool for this. Once installed, you can run:

n98-magerun.phar sys:modules:list

which will produce a list of all installed extensions in your store.

Then, you can create a CSV file of this list using the following command (it additionally removes Magento Core modules and only lists community and local extensions):

n98-magerun.phar sys:modules:list --format=csv --codepool=community > list-of-extensions.csv && n98-magerun.phar sys:modules:list --format=csv --codepool=local | grep -v codePool >> list-of-extensions.csv

This will generate a spreadsheet (a csv file named list-of-extensions.csv in your Magento root folder) which looks like this:

We then added a few extra columns to the spreadsheet to help us plan what’s needed for Magento 2:

  • Do we need this extension’s functionality for Magento 2? - When we did this, we removed some obsolete extensions we were previously using
  • Is the same extension available on Magento 2? - If Yes, we add the link/price/details
  • If No, is the extension available from another extension developer? - If Yes, we add the link/price/details for a closer assessment
  • New extensions we want to have on Magento 2, with the developer/price/details (on the Fooman site, we want to have some better marketing functionality, plus any tools to streamline processes and save valuable admin time - always a win in our eyes!)

You’ll start to see where your potential gaps might be, and the cost of upgrading your extensions as you move to Magento 2.

Themes are the least portable between Magento 1 and Magento 2, so work on a new theme will need to be added to your list. This is a considerable part of any site build. So it makes sense to align the Magento 2 upgrade with a refresh of your site’s design (especially if, like us, your site design was old and outdated!).

Step 2: Assess your ecommerce strategy - how is your current website performing?

Next, take a step back and look at your current website strategically. Ecommerce good practice has come a long way since the early Magento 1.0 days.

Check out these articles by Acquire Convert, Optimizely and Neil Patel for some ideas on where to start.

Take a good, hard look at your existing Magento 1 website. What is your website already doing well, that you want to carry through to Magento 2? What is a barrier to your customers purchasing easily, discovering useful products, completing your checkout, and spending more in your store? What additional content could you include that helps in your customer’s journey from browser to buyer?

Gather insights from everywhere you can:

  • Hire someone to audit your site and give you an honest critique of what could convert better (an expert perspective and fresh pair of eyes is well worth the money)
  • Mine your Google Analytics account for insights. How many customers are browsing on mobile? What pages have a high bounce rate? What content is most popular? Where are people dropping off your current sales funnel? (you can use our free Google Analytics extension to help you see this)
  • Survey your customers. Can they easily find everything they need when shopping on your site? What is their level of trust in your brand?
  • Commission a User Experience test
  • Run advanced analytics software (Crazy Egg and Hotjar both have free trials) to see how people actually use your site
  • Implement A/B testing on your current site

Think about what changes you might want/need in these areas:

  • User interface
  • Design/branding
  • Backend processes/integrations
  • Marketing functionality

Write it all down. Next, categorise your 'must haves’ vs your ‘nice to haves’. This will help you prioritise what you’re able to include right away within your available budget, versus what you might need to implement a bit later down the track. Add any new extension requirements to your CSV file from step 1.

I’m a firm believer in agile development - don’t wait until your site is 100% perfect because it never will be. Launch when it’s 70-80% good enough, then make improvements over time. An additional benefit of this approach is that you might be able to divert some of the unspent budget to opportunities you didn’t foresee or what you thought is required is no longer important.

How we’ve applied this to the Fooman rebuild

We’ve come up with an absolutely massive list of things we want to improve on our Magento 2 rebuild, to make it smarter and easier for our customers to discover our content, extensions and engage with our brand.

We know our current web design is a bit dated. It has been cobbled together over time without a big picture strategy, and doesn’t accurately reflect the energy of the Fooman brand and experience we’d like people to have. We also want to make me (Kristof) the face of the Fooman brand, to help us be more personal and stand out more in a crowded Magento development market.

So we started with a mini design refresh. It’s almost ready (sneak preview below!).

Design Preview

Since we now know that our M2 site rebuild is still some time away, we’ve decided to roll out our updated design as a mini refresh to our Magento 1 site. This will allow us to test what works with our design before choosing to adopt (or refresh) our design for Magento 2.

However, we truly applied the 80:20 rule to this mini refresh, and stopped short of making any major functionality changes - it’s simply not worth the effort of doing it twice (first on M1 then again on M2). Our functionality improvements effort (and budget!) will go directly into our M2 build.

One other thing we’ve done to lessen the amount of work for our M2 move is to separate our Help Centre functionality from our Magento CMS. We outgrew hosting our support resources on our Magento site, so are now in the process of moving these to be hosted by Helpscout, our customer support solution. Doing this now means one less requirement for our M2 rebuild.

I am comfortable starting development work for Magento 2 now, knowing that the increased API stability means we do not have massive changes in front of us (I say this having seen Magento 2 evolve from 2.0 to 2.2, and seeing how our extension compatibility has fared on each subsequent release). Even if we only are 100% ready to launch by the time Magento 2.4 is released, I estimate the extra amount of work to be minimal starting extension development on 2.2.

The one exception I’ll make to the above is holding back efforts on the implementation of our new theme - as I want to hear more on the PWA Studio announcement by Magento and what impact this will have.

Where to next?

This blog has given you plenty of homework to scope your strategic requirements!

In a future blog post, I will be exploring things to keep in mind when using the data migration tool as well as assessing options for automating the deployment of Magento 2. Comment below with any questions you have, and I’ll try my best to answer them.

Kristof Ringleff

Kristof Ringleff

Founder and Lead Developer at Fooman

Join the Fooman Community

We send our popular Fooman Developer Monthly email with Magento news, articles & developer tips, as well as occasional Fooman extension updates.