Examine the requirements for multiple sites and decide on the best technical solutions | Jay Oliver | Sitecore Blog
There are a surprising number of different ways that Sitecore can be used to manage and publish multiple websites.
While recently working for Kumon Learning Centers, Parse3 simultaneously utilized more than one way to best satisfy the goals established by Kumon and their advertising agency, Mullen, to support multiple corporate websites in multiple languages as well as thousands of individual franchise sites within a single Sitecore installation.
The first, and perhaps most traditional approach Parse3 used was for Kumon’s corporate and franchising websites, each of which has a separate domain name and unique content, but share templates and user interface elements.
For this task, Parse3 took advantage of Sitecore’s ability to host multiple sites from within a single installation defining additional virtual site nodes within the web.config file. Sitecore uses this information to map every incoming request to a different root node in the content tree based on what host and domain the browser is requesting. Parse3 setup distinct root nodes for the Corporate site and the Franchising sites, which allowed them to have custom content, but still draw on layouts and other resources contained elsewhere in the content tree.
The second technique employed by Parse3 for Kumon was support multiple languages on Kumon’s Canadian sites. While in most cases, there is no need to use multiple sites in Sitecore to support multiple languages; Kumon had specific requirements that called for special measures.
Out of the box, Sitecore supports serving up content for a site in multiple languages with little to no special configuration above and beyond entering the content in each language. However, as Kumon already had a well-established web presence with strong conventions, some modifications had to be made.
The specific challenge that Parse3 faced was meeting Kumon’s desire to use their established .ca domains to serve up content without relying on locale tags (such as en-CA or fr-CA) in the paths of their URLs. The solution in this case was similar to the first in that additional sites defined in Sitecore’s configuration, but instead of creating and mapping to new root nodes in the content tree, each site set its own default language.
The third approach Parse3 used was to allow each individual Kumon franchise to have a site. On initial examination it may seem that the approaches used to solve the prior two challenges would apply here as well, but this proved untrue upon deeper investigation.
The requirements called for each local franchise to be able to have their own “site”, but nothing called for them to have their own domain names. Additionally, applying the previous solution comes with a serious drawback in situations where the list of websites would be frequently modified – each modification to the list would require every other site in the list to be restarted. While not a problem in the other two cases which had a small set of sites which were unlikely to change, the franchise site list would be changing frequently.
It was decided that instead of each site having a separate domain name that each site would instead be represented as a root level directory off of the corporate site. However, as there were thousands of franchise sites and there are negative performance implications for having that many content items in a single directory, Parse3 decided that the best way to go would be to actually store all of the franchise sites in completely different area of the content tree, divided up by region in order to keep the content tree manageable.
This solution made an overwhelming amount of sense from the technical perspective, but from the business side it was flawed in that it created very long URLs for each franchise site. The business users and franchisees wanted short, memorable URLs for each franchise site. In order to accommodate both the technical and business concerns, Parse3 decided to implement a custom content item resolver that allowed the franchise sites to have short, memorable urls that looked like immediate subdirectories off of the root of the corporate site while also maintaining an uncluttered and efficient content tree.
More information on this particular project can be found here Kumon multisite case study.