Go to main content

Get urls of a page's culture versions in Kentico

For SEO reasons you may need to generate alternate link tags with the hreflang attribute in your html output. In this quick tip I will show you a macro expression which generates these links for you in Kentico.

Get urls of a page's culture versions in Kentico

The macro simply goes through culture versions of the current page but for many people it is not obvious how to achieve that. Before you use the macro make sure you place following key into your web.config: <add key="CMSCheckPermissionsForDocumentCollection" value="false"/>. The reason for this is that developers of Kentico do not want to allow public user see documents collections via macro. This kind of security checks was present only in certain number of hotfixes in version 7 and 8. For more info go here: http://devnet.kentico.com/articles/page-macro-expressions-security

{% foreach (page in CurrentDocument.CultureVersions) {
  if (page.DocumentCulture != CurrentDocument.DocumentCulture) {
    "<link rel=\"alternate\" href=\""+ page.AbsoluteUrl + "\" hreflang=\""+ page.DocumentCulture +"\" />"

Further reading

all posts
  • Front-end & JavaScript

    Get visitor's country code in Node.js on Azure

    In this article I will provide you with a code snippet that gives you visitor's country code from a website running in the Node.js environment on Microsoft Azure.

  • Xperience by Kentico

    Hiding a widget property in Kentico Xperience Admin

    In this post, I will share a tip on how to hide a widget property in the Xperience Admin while it is still available in the backend code.

  • Xperience by Kentico

    How do we teach university students to use Kentico

    From time to time a Kentico partner ask me if I could relocate myself permanently and work for them full time. Unfortunately, I can’t do that because I am a freelancer and I am loy…