<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">Blog posts by Stuart Greig Dev</title><link href="http://world.optimizely.com" /><updated>2026-04-17T12:45:00.0000000Z</updated><id>https://world.optimizely.com/blogs/stuart-greig-dev/</id> <generator uri="http://world.optimizely.com" version="2.0">Optimizely World</generator> <entry><title>Removing Unused Properties in Optimizely CMS 13</title><link href="https://stuartgreig.dev/blog/removing-unused-properties-in-optimizely-cms-13-what-changed-and-why/" /><id>Learn how to remove orphaned property definitions in Optimizely CMS 13. Explore API updates for IContentTypeRepository and how to safely use CreateWritableClone.</id><updated>2026-04-17T12:45:00.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Running Optimizely CMS on .NET 11 Preview</title><link href="https://stuartgreig.dev/blog/running-optimizely-cms-13-on-net-11-preview/" /><id>Learn how to run Optimizely CMS on the .NET 11 preview with a single-line change. Explore performance gains, PGO improvements, and future-proofing your stack.</id><updated>2026-04-15T17:15:00.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Optimizely CMS 13: The Evolution We’ve Earned</title><link href="https://stuartgreig.dev/blog/optimizely-cms-13-upgrade/" /><id>Tired of migration flashbacks? Optimizely CMS 13 is the evolution we’ve earned. Learn why the move to .NET 10 is easier and how AI-first orchestration changes the game</id><updated>2026-04-13T10:00:00.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Forcing Lowercase URLs in Optimizely CMS During Auto-Translation</title><link href="https://stuartgreig.dev/blog/forcing-lowercase-urls-in-optimizely-cms-during-auto-translation/" /><id>Learn how to fix uppercase and punctuation issues in Optimizely CMS 12 URL segments caused by LanguageManager auto-translation using a custom IUrlSegmentGenerator and event-based tracking.</id><updated>2026-04-02T15:15:00.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Automating Block Translations in Optimizely</title><link href="https://stuartgreig.dev/blog/automating-block-translations-in-optimizely/" /><id>Stop manual block-by-block translations. Learn how to use the TranslateOrCopyContentAreaChildrenBlockForTypes config to automate Optimizely CMS content workflows.</id><updated>2026-04-01T16:00:00.0000000Z</updated><summary type="html">Blog post</summary></entry> <entry><title>Schema.org as Native CMS Properties</title><link href="https://stuartgreig.dev/blog/schemaorg-as-native-cms-properties-a-pattern-for-optimizely/" /><id>Learn how to implement Schema.org structured data as native Optimizely CMS properties. Move SEO from hardcoded templates to a validated, content-managed model</id><updated>2026-03-20T14:55:00.0000000Z</updated><summary type="html">Blog post</summary></entry></feed>