Scandiweb was approached by a Swedish book publisher to help migrate from WordPress to Magento 2. Even though WordPress is the most popular CMS in the world, it’s way more efficient to opt for specialized platforms when it comes to managing eCommerce stores.
We were fully responsible for the development of the Magento 2 based website, from designs to data migration and Analytics setup. As the website was heavily relying on organic traffic (around 60% of the traffic share was organic traffic), the Scandiweb SEO team was also involved to ensure a flawless migration. The goal was to maintain the rankings for top keywords.
To ensure a flawless migration, we divided the process into 5 steps.
1) Requirements development
We reviewed the existing WordPress website in-depth from a technical and on-page SEO standpoint, benchmarked organic traffic KPIs, specified good practices and errors present, and suggested improvements.
The website ranked in high positions in Google for the main keywords because of the great content. However, it lacked many technical SEO requirements. Moreover, the WordPress website was slow. Pages could load for more than 18 seconds, not helping users or search engine bots.
We created detailed requirements for URL structure, Canonicals tags, robots.txt, meta robots, structured data markup, URL structure, XML sitemap, and robots.txt, etc. At the same time, developers worked on making the website user-friendly and fast, which directly supported the improvement of SEO performance.
To cover technical SEO requirements, we installed the Mageworx SEO extension, as default Magento functionality is limited when it comes to a more advanced SEO setup. It allows users to adjust the majority of SEO requirements directly from the admin panel. For the rest of the tasks, developers received very detailed documentation.
3) 301 mapping
We faced several challenges while preparing 301 mapping. For top-performing landing pages, we kept URLs intact as on WordPress. However, for the less prioritized pages, e.g., books, categories, we opted for the default Magento URL structure which was different from WordPress. A lot of duplicated, low-quality URLs, legacy 301 redirects, broken pages had appeared over the years.
We categorized and prioritized all internally linked URLs: those which receive organic traffic and have valuable backlinks to ensure that we have a clear list of URLs for mapping, as well as those that we can leave as 404 without harm to SEO and other traffic sources.
The website is in Swedish, so it has some language-specific characters. To ensure a cost-efficient 301 mapping process, we automated 301 mapping where possible, using combinations of Excel formulas for mapping URLs in bulk. For special cases, we performed manual mapping. Part of the mapping was passed to the client as performing manual mapping was more efficient for native Swedish speakers.
4) Pre-go-live audit
After fully migrating the product catalog and finalizing active website development, we ran an in-depth audit to ensure that there are no internal errors, e.g., in product titles, outdated URLs, etc. In total audit consists of performing more than 100 checks. The project is launched when we are sure there are no major bugs left.
5) Go-live support and post-go-live monitoring
Right after go-live, we saw a gradual decrease in traffic, however, it was mainly caused by yearly seasonality trends.
To exclude the effect of seasonality, we reviewed YoY data. We could see a 17.35% increase in YoY organic performance four months after launching the website.
Key success factors
- Significant upgrade of the platform in terms of speed and improved user experience & implementation of the best SEO practices
- The client was well aware of the importance of organic traffic, and we highlighted it as the focus area since the very beginning of the project.
- Involving the SEO team early on in the project helped to optimize the resources.
Are you interested in more suggestions regarding migration to M2? Need assistance and SEO supervision along the way? Don’t hesitate to reach out!