Sitecore Language Fallback – Why & When?

Sitecore has a very robust language fallback feature built in out of the box. The ‘How’ – on how to turn on and effectively configure this feature is very well documented in Sitecore documentation here – https://doc.sitecore.com/developers/90/sitecore-experience-manager/en/enable-and-set-up-language-fallback.html

In this blog post we will quickly cover the Why & When of using Fallback in Sitecore. 

To begin with, Sitecore allows us to configure a ‘Fallback Language’ for each language we add to our site. 

When you are implementing a multi-lingual solution, you definitely need to consider and decide whether fallback is going to be used in your solution.  

  • Decide whether fallback is to be used at all – If a particular piece of content or page does not exist in one of the languages your site is configured in, would you want the content or page to be displayed from a language-wise configured default language instead? If the answer here is no – you would not want to turn on fallback at all. 
    • If a page (say about-us) exists in the default language (say English), but doesn’t exist in the other languages (consider French in this case), while accessing the page in French, user will see a Page not found / 404 error. 
    • If the user searches for ‘About Us’ on the French site, they will see no results, even though the page exists in English. 
    • If a certain piece / section of content – say a datasource item of a component – is present in English but not in French, that component simply will not appear on the French page.
  • Decide whether to enable item level fallback – So, at this point, the client has decided that they DO want default language content to show up when the other language (in this case French) content is missing / not translated. The question now is – when should this default language content be shown? Item level fallback kicks in, when there is no version of the item in the current site language.  
    • So in our example, if a page (say about-us again) does not exist in French, having item level fallback enabled, will result in the English page being served up while accessing the French url. 
    • If a component datasource – does not have a French version, but it exists in the presentation of a French page, that component will show English data – provided item level fallback is enabled on this datasource item / template. 
    • As for search, you WILL see English results on your French search results page if you searched for a suitable search term from an English page – for which there is no corresponding French version. You do have an option to change this behavior though – refer my note below on Enforce Version Presence. 
  • Decide whether to enable field level fallback
    • An important note here first – Sitecore suggests that you should not use both item and field level fallback on the same item because it makes it difficult to maintain an overview of the versions that different items and fields fall back to.
    • This being said, enabling field level fallback will only default unset fields to the corresponding fallback language version field. I have found this to be most useful in media field types – in situations where the clients are very sure they don’t want default language text showing up on a specific language website, but they would like images & videos etc to utilize fallback.
    • Field level fallback can be applied to all the languages of an item, or it could also be enabled on specific languages – using the ‘Enable versioned field level fallback’ toggle.

A last note here, is about the Enforce Version Presence. This toggle makes sure that the relevant translated language version of the item must be available for it to be displayed on the site. 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s