Best Practices
Performance Optimization
Query Method Selection
Method
Best For
Performance
Security
Full Item Data
# SLOW - Retrieves all items then filters
$items = Get-ChildItem -Path "master:\content" -Recurse |
Where-Object { $_.TemplateName -eq "Sample Item" }
# FASTER - Uses Sitecore query to filter server-side
$items = Get-Item -Path "master:" -Query "/sitecore/content//*[@@templatename='Sample Item']"
# FASTEST - Uses the search index
# See Find-ItemBulk Update Performance
Memory Management
Caching Considerations
Security Best Practices
Validating Access
Code Organization
Function Structure
Error Handling
Progress Reporting
Language and Version Handling
Working with Multiple Languages
Version Management
Field Type Handling
Type-Safe Field Access
Date Handling
Testing and Validation
Dry Run Support
Validation Before Operations
Logging and Auditing
Comprehensive Logging
Common Anti-Patterns
❌ Anti-Pattern: Not Checking Item Existence
❌ Anti-Pattern: Inefficient Queries
❌ Anti-Pattern: Swallowing Errors
Performance Benchmarking
See Also
References
Last updated