Migrating a website from WordPress to eZ Publish affords many benefits for content publishers looking to add robust front-end and back-end features to their site.
In addition to the breadth of content types, enhanced editorial workflows, and user roles that are built into eZ Publish, the platform also provides an opportunity to integrate a host of features and integrations that may not otherwise be possible, or as easy to implement.Here’s a look at a content migration Mugo Web undertook for a large publisher that had, in addition to its main website built in eZ Publish, several brand extensions on separate WordPress sites managed by different teams.
The publisher -- one of North America’s oldest independent news organizations -- was experiencing performance problems, security issues, editorial limitations, and limited functionality with its WordPress sites. One site was designed to provide business intelligence articles to paying subscribers, and the other was created to promote an award-winning documentary film. The site consisted of multimedia footage, written narrative, and an ongoing series of blog posts.The publisher opted to migrate its two sites to eZ Publish. This allowed the publisher to run their brand extensions in the same platform as its main website, and the publisher was able to add essential features such as a paywall and integrated email marketing tools.
Migrating content from WordPress to eZ Publish
At Mugo Web, whether we’re doing a manual or automated migration, our careful planning and testing process ensures that we account for all content needs, preserve site traffic, and maintain accrued SEO and search rankings. Here’s a simplified look at the content migration process we implemented with this publisher.
- Content inventory: First we took inventory of all the content on the WordPress sites to understand what we were migrating. This included posts and pages, text and images, links, and authors. We understand the XML-RPC standard for data migrations in WordPress, although in some cases we have to write raw SQL queries.
- Structure creation: Once we had a complete picture of what we were migrating, we created a content structure and data structure to receive the content into eZ Publish in an organized manner. Our framework for data imports into eZ Publish enables us to easily import data from a given data source (like XML or CSV documents) into the eZ Publish content tree.
- Order of import: In order to maintain content dependencies, we determined an appropriate order for the content import. For example, blog posts with attached authors depend on author pages for their author link. Therefore, we imported author pages first to maintain the link when blog content was imported. Other times, multiple passes were required. Often, a migration exposes the need for and opportunity to do content cleanup. We were able to merge and reorganize the taxonomies while carefully preserving category and tag relationships.
- Traffic and SEO preservation: We made sure to preserve the original URL structure where possible, in order to maintain traffic and SEO value. Where we cannot preserve the URL structure (or where there is no need to do so), we create redirect maps so that the old URLs automatically get redirected to the new URLs.
- HTML preservation: Because there isn't a clear separation of content and design in WordPress, we often have to write custom HTML parsers. There is a PHP extension called tidy that helps to clean up broken HTML but we are almost always writing additional parsers or regular expressions to extract, reuse, and future-proof repeated elements (such as embedded videos).
- Link conversion: In WordPress, internal links are often stored as full HTTP links and can rot over time as URL structures and domains change. In eZ Publish, we turn these into internal links where such changes in URLs are automatically resolved.
Feature integration in eZ Publish
The migration from WordPress to eZ Publish enabled us to create features for this publisher that it wasn’t able to achieve easily in WordPress. These included:
- Granular user roles and permissions: Our client needed defined user roles both on the back-end and front-end of the site, and eZ Publish’s role-based architecture made this possible. On the front-end, this involved creating roles that allowed specific levels of access for subscribers and non-paying guests. On the back-end, specific user roles created different levels of access for editors.
- Customized editorial workflows: eZ Publish makes it easy for content creators to publish and manage content on the back-end. In addition to user roles, we created a workflow that enabled editors to schedule posts and easily put together a newsletter by simply dragging and dropping content into a template integrated with their email marketing service. We also enabled editors to generate PDF reports they could share with potential subscribers.
- Content structure: Because eZ Publish separates content from design, and provides an intuitive tree structure for content similar to folders and files on your computer, it mirrors the site content hierarchy and makes it easy for content producers to locate content. To its original posts and pages from WordPress, we added a variety of new content types, including reports and briefings.
- Paywall: The publisher wanted new users to be able to register for a free trial of its content before committing to a paid subscription. We were able to automate this in eZ Publish so that editors didn’t have to set up the trials and subscriptions manually. We also implemented a combination paywall using special "hash" URLs to provide time-limited, full access to select articles.
- Member accounts and sub-accounts: We also set up user accounts that allowed individuals to subscribe to content, and organizations to purchase sub-accounts for their staff or members.
- Marketing and CRM integrations: We integrated Salesforce and Marketo (and later HubSpot) into the site to manage e-mail marketing and subscription sales. Most of the user profile data was stored in Salesforce, and we used the Marketo API to schedule e-mail newsletter campaigns with content produced in eZ Publish. The result was a flexible and powerful system to manage leads and e-mail campaigns.
- Enterprise search: With eZ’s built-in enterprise search engine, we enabled the publisher to offer more complex search options including filtering by region and sector, as well as a saved searches feature without the need for a plugin.
The result was a website that enhanced the reader experience while simplifying both editorial and marketing efforts so that staff could focus less on administrative tasks and more on optimizing the site’s overall experience.Need help migrating your WordPress content to eZ Publish? Contact Mugo Web anytime.
photo credit: James Jordan