Budget Travel is an online travel blog with resources, tips and tools to plan an affordable and fun trip that contracted us to redesign and rebuild their online image.
The old site had a cluttered and clunky UI/UX experience. Ads littered the layout making it hard for users to consume the content. And the disorganized category groupings made it challenging to search and filter.
Challenges and Accomplishments
Budget Travel already had an extensive online presence and a high volume of content. We wrote a custom plugin to import 9,500+ articles, thousands of categories, and 20,000+ image assets into the new Craft CMS build.
Next, we integrated with Google Analytics to calculate daily popularity and trending scores. Articles with high popularity and trending scores are featured.
Finally, to help users find content, we integrated with Algolia to deliver lightening-fast search results. We also used popularity and trending scores to rank articles in the search results.
Our initial attempts to import articles failed. We assumed wrongly that we could use one of two existing Craft plugins (Feed Me and Import). However, both plugins choked at the sheer volume of articles and kept giving us memory limit errors. We quickly realized that we had to write a custom plugin. After studying the Craft database structure and core element/entry creation methods, we wrote scripts that manually added and related the data to the appropriate tables in the database.
Despite the number of assets stored in their AWS instance, we were able to add methods to import the images and relate them to the appropriate articles.
Finally, we used the existing Craft service methods to import and relate the article categories with minimal issues and manual data entry in the CMS.
Popularity and Trending Scores
To calculate and store popularity and trending scores from Google Analytics, we used a combination of pre-existing and internal custom built plugins. For the API OAuth authorization, we used the OAuth plugin. We wrote custom plugins to connect with the Google Analytics API and retrieve page views and social interactions.
We also setup a CRON job to run once a day. The CRON job initiates a console command that retrieves the analytics metrics and calculates the trending and popularity scores. We based our calculations off of the Hacker News trending algorithm.
Lighting Fast Search
To provide users with lighting fast and relevant search results, we integrated with the Algolia search platform. Our custom plugin indexed the necessary data from the existing articles. We also wrote functionality that indexes new articles and any changes made to existing articles.
The Budget Travel rebuild officially launched in March 2017. It was a challenging yet rewarding project for everyone involved. We assigned some of our top developers as well as a highly experienced technical lead to meet the client's expectations and increase their online presence.