SEO Wins: Embedded Angular and Drupal
Improvements to one school’s middleware solution made while going through a Drupal 8 build, makes for some exciting improvements in SEO.
My colleague and I were invited to DrupalCon Global 2020 to discuss a particular client challenge and the lessons we learned along the way, as a pre-recorded session called Case study: Embedded Angular for the University of Toronto School of Continuing Studies.
Here’s what we learned:
University of Toronto's School of Continuing Studies uses a middleware solution to manage additional content to what can be managed through its DestinyOne student lifecycle courseware solution.
Built in-house by the school and named “MIMR”, this middleware plays an important role in housing data related to the University's program courses, but is not without its limitations.
- The content housed in MIMR is ‘hidden’ from search engine crawlers
- It is impossible to link to related content
- Only the data in ‘courses’ field gets picked up by search
- It takes up to four hours for new content to display
Image one: Illustration of legacy system connections.
WordPress to Drupal
The decision to move from WordPress for its public-facing website and onto Drupal, opened up new capabilities and options for the University. It was the perfect opportunity to resolve limitations of the legacy MIMR solution.
The school did not want all content moved into Drupal, so the best course of action was to deliver a dynamic client-side interface for MIMR content.
The result is a solution that allows MIMR content and data to be crawled by search engines (yessss!) in addition to being searchable within the Drupal public-facing site.
Image two: Illustration of current system connections
- Pages have friendly URLs, important for SEO
- Robust interlinking of content is now possible
- All content is indexed for search
- Immediate display of new content
The information returned in search results is now a true blend of data from MIMR, displayed using Angular, and content added into Drupal.
How We Did It
How is this possible? Angular JS embedded search functionality within the content, for starters. Stub data is imported to Drupal so core functionality can be used to manage and present information. During search indexing, a custom processor injects MIMR-provided JSON data.
Once again, for the full response, watch this on-demand recording at your leisure.
If you are upgrading from Drupal 7 to a newer version of Drupal, or coming from WordPress to Drupal and are wondering what to do about your own custom in-house middleware solution, we can help!