As part of the Sitecore upgrade from 8.2 to 9.1, I was upgrading dynamic placeholder keys as per Sitecore 9.1 format. For this, I have got below blog which was very helpful.


But in my case placeholder keys with underscore are not working so I have updated few keys and replaced underscore with hyphen and that worked for me. I have seen many other blogs too where people have mentioned "Underscore" in key format.

My question is what is the right format of Sitecore 9 dynamic placeholder key?? Should this have hyphen or underscore?

1 Answer 1


By default Sitecore 9 generate dynamic placeholder key in this format

{placeholder key}-{rendering unique suffix}-{unique suffix within rendering}


placeholder key The static placeholder key is passed in.

rendering unique suffix The Unique Rendering ID of the component that contains the placeholder. This is auto-generated in Sitecore every time you insert a component or add it to the Presentation Details. Since the ID is unique is guarantees the uniqueness of the key across multiple renderings on a page.

unique suffix within rendering An index suffix to guarantee uniqueness within a rendering. Each occurrence of a dynamic placeholder is incremented by 1, starting at the seed value (default is 0)

So answer to your question is Sitecore 9 Dynamic Placeholder use hyphen instead of underscore

  • Thanks Swati. so this blog script is wrong?sitecorenutsbolts.net/2017/10/17/…
    – S.Kazmi
    Nov 7, 2019 at 5:09
  • Yes. You can see in this Sitecore document as well doc.sitecore.com/developers/90/sitecore-experience-manager/en/… Nov 7, 2019 at 6:13
  • Just want to add some additional information here, the above blog post will also not cover few things such as "rendering with a dynamic placeholder can contain another rendering with a dynamic placeholder" means nested dynamic placeholder and an item can have dynamic placeholders in multiple language versions of the final layout so please make sure check this as well based on your current implementation. Nov 7, 2019 at 8:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.