__Standard Values in Sitecore

In Sitecore, the __Standard Values item is one of those things that seems simple at first, but ends up being central to how Sitecore manages defaults, templates, and behavior.
Let’s break it down clearly and then walk through a practical example.
What is __Standard Values in Sitecore?
Every template in Sitecore can have a special item called:
__Standard Values
It acts as a default configuration + fallback layer for all items created from that template.
Think of it like:
- A blueprint
- A default settings file
- A base version of an item
What does it do?
1. Provides Default Field Values
When you create a new item from a template:
- If a field is empty → Sitecore pulls value from __Standard Values
2. Enables Fallback Behavior
If a field is not filled in the actual item:
- Sitecore automatically falls back to __Standard Values
3. Stores Presentation Details
You can define:
- Layout
- Renderings
- Placeholder settings
in __Standard Values so all items inherit them.
4. Supports Token Replacement
You can use tokens like:
- $name
- $id
- $parentname
These get dynamically replaced when an item is created.
Where is it located?
Inside the template:
/sitecore/templates/YourTemplate/__Standard Values
Example (Real-world Scenario)
Template: Blog Post
Fields:
- Title
- Author
- Publish Date
- Content
__Standard Values setup
| Field | Value |
|---|---|
| Title | $name |
| Author | Admin |
| Field | Value |
|---|---|
| Publish Date | $now |
| Content | Write here... |
What happens when you create a new item?
You create:
Item Name: My First Blog
Result:
| Field | Value | Why |
|---|---|---|
| Title | My First Blog | $name replaced |
| Author | Admin | default value |
| Publish Date | current date/time | $now replaced |
| Content | Write here... | default |
Fallback Example
Suppose you later:
- Clear the Author field in the item
Sitecore will still show:
Author = Admin
Because:
- It falls back to __Standard Values
Presentation Details Example
You can also define layout in __Standard Values:
Example:
- Assign a rendering: Blog Detail Component
- Set placeholder: main
Now:
- Every Blog Post automatically gets that layout
- No need to configure individually
Why is it important?
Without __Standard Values, you would need to:
- Manually fill fields every time
- Configure layout for every item
- Handle missing values in code
With it, you get:
- Consistency
- Faster content creation
- Cleaner code (less null checks)
Developer Perspective
In code (C#):
item["Author"]
If Author is empty in the item:
- Sitecore automatically returns value from __Standard Values
No extra logic needed.
Common Use Cases
- Default metadata (SEO fields)
- Default images/icons
- Base layouts
- Placeholder settings
- Workflow defaults
Important Notes
- __Standard Values is not an item users edit directly
- It affects all items of that template
- Changes apply globally (be careful!)
Quick Analogy
Think of it like:
A class constructor with default values in programming
or
A CSS base style applied to all elements unless overridden
Happy Coding!
