<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">Blog posts by Andy Blyth - Technical Dogsbody</title><link href="https://world.optimizely.com/blogs/andy-blyth---technical-dogsbody/" /><updated>2026-10-08T11:30:15.7270000Z</updated><id>https://world.optimizely.com/blogs/andy-blyth---technical-dogsbody/</id><generator uri="https://world.optimizely.com/blogs/andy-blyth---technical-dogsbody/" version="2.0">Optimizely World</generator><entry><title>How to Build Optimizely CMS 13 with Visual Builder in .NET</title><link href="https://www.technicaldogsbody.com/blog/how-to-build-optimizely-cms-13-with-visual-builder-in-net" /><id>https://www.technicaldogsbody.com/blog/how-to-build-optimizely-cms-13-with-visual-builder-in-net</id><published>2026-10-08T11:30:15.7270000Z</published><updated>2026-10-08T11:30:15.7270000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">A code-first guide for .NET developers moving from Optimizely CMS 12 to CMS 13, covering Visual Builder: ExperienceData, Sections, Elements, tag helpers and styles.</summary></entry><entry><title>The Fragment Conundrum</title><link href="https://www.technicaldogsbody.com/blog/the-fragment-conundrum" /><id>https://www.technicaldogsbody.com/blog/the-fragment-conundrum</id><published>2026-05-13T08:30:20.3070000Z</published><updated>2026-05-13T08:30:20.3070000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">Explore the challenges and opportunities of working with Optimizely SaaS, GraphQL fragments, and headless CMS architectures. Learn practical solutions with .NET BFF APIs, GraphQL.NET, and modular content strategies for modern front-end frameworks.</summary></entry><entry><title>Promoted and Certified</title><link href="https://www.technicaldogsbody.com/blog/promoted-and-certified" /><id>https://www.technicaldogsbody.com/blog/promoted-and-certified</id><published>2026-05-01T10:30:39.7930000Z</published><updated>2026-05-01T10:30:39.7930000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">What a busy week</summary></entry><entry><title>Your Optimizely Opal Is Probably Burning Carbon It Doesn't Need To</title><link href="https://www.technicaldogsbody.com/blog/optimizely-opal-burning-carbon-it-doesnt-need-to" /><id>https://www.technicaldogsbody.com/blog/optimizely-opal-burning-carbon-it-doesnt-need-to</id><published>2026-04-15T12:30:35.7870000Z</published><updated>2026-04-15T12:30:35.7870000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">Four patterns Optimizely practitioners could be getting wrong with Opal agents: inference levels, oversized tool responses, missing output constraints, and no agent response caching.</summary></entry><entry><title>How CMS Implementations Need to Change for GEO and AEO</title><link href="https://www.technicaldogsbody.com/blog/cms-implementations-changes-for-geo-and-aeo" /><id>https://www.technicaldogsbody.com/blog/cms-implementations-changes-for-geo-and-aeo</id><published>2026-03-27T15:30:20.0300000Z</published><updated>2026-03-27T15:30:20.0300000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">Search is changing. AI systems are increasingly the first point of contact between your content and your audience, and they don't behave like traditional search crawlers. If your CMS implementation was built purely with SEO in mind, it probably isn't ready for what's coming.</summary></entry><entry><title>Introducing MicroMediator: A Lightweight High-Performance Mediator for .NET</title><link href="https://www.technicaldogsbody.com/blog/introducing-micromediator-a-lightweight-high-performance-mediator-for-net" /><id>https://www.technicaldogsbody.com/blog/introducing-micromediator-a-lightweight-high-performance-mediator-for-net</id><published>2026-01-05T09:30:42.0800000Z</published><updated>2026-01-05T09:30:42.0800000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">A lightweight, high-performance mediator pattern library for .NET. Learn why MicroMediator exists, how it compares, and how it fits cleanly into many projects, including Optimizely CMS builds.</summary></entry><entry><title>Looking back at Optimizely in 2025</title><link href="https://www.technicaldogsbody.com/blog/looking-back-at-optimizely-in-2025" /><id>https://www.technicaldogsbody.com/blog/looking-back-at-optimizely-in-2025</id><published>2025-12-17T14:30:25.4030000Z</published><updated>2025-12-17T14:30:25.4030000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">Explore Optimizely's architectural shift in 2025, which removed coordination cost through a unified execution loop. Learn how agentic Opal AI and integrated data systems drive learning velocity for developers and marketing teams.</summary></entry><entry><title>Building Faster Feedback Loops with Opal: Two Hackathon Projects</title><link href="https://www.technicaldogsbody.com/blog/building-faster-feedback-loops-with-opal-two-hackathon-projects" /><id>https://www.technicaldogsbody.com/blog/building-faster-feedback-loops-with-opal-two-hackathon-projects</id><published>2025-09-03T14:03:29.3000000Z</published><updated>2025-09-03T14:03:29.3000000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">Two Opal Hackathon projects explored how to bridge data and action. Using the Optimizely.Opal.Tools SDK, we extended Opal with new tools, showing how it acts as an enablement layer for developers and marketers.</summary></entry><entry><title>Open Optimizely CMS in a New Tab – Instantly</title><link href="https://www.technicaldogsbody.com/blog/open-optimizely-cms-in-a-new-tab-instantly" /><id>https://www.technicaldogsbody.com/blog/open-optimizely-cms-in-a-new-tab-instantly</id><published>2025-07-18T14:30:53.1700000Z</published><updated>2025-07-18T14:30:53.1700000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">Speed up your Optimizely CMS workflow with this free Chrome Extension. Instantly open the live view of the page you're editing – no right click, open in new tab, no faff.</summary></entry><entry><title>From Agentic Theory to Practicality: Using Optimizely Opal’s Instructions Feature</title><link href="https://www.technicaldogsbody.com/blog/using-optimizely-opals-instructions" /><id>https://www.technicaldogsbody.com/blog/using-optimizely-opals-instructions</id><published>2025-05-19T14:00:55.7970000Z</published><updated>2025-05-19T14:00:55.7970000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">A practical look at Optimizely Opal’s Instructions feature — from built-in agents to creating and managing custom instruction workflows. Ideal for teams scaling AI-powered content with structure and intent.</summary></entry><entry><title>The Fragment Conundrum</title><link href="https://www.technicaldogsbody.com/blogs/the-fragment-conundrum" /><id>https://www.technicaldogsbody.com/blogs/the-fragment-conundrum</id><published>2025-03-21T08:30:58.7530000Z</published><updated>2025-03-21T08:30:58.7530000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">Explore the challenges and opportunities of working with Optimizely SaaS, GraphQL fragments, and headless CMS architectures. Learn practical solutions with .NET BFF APIs, GraphQL.NET, and modular content strategies for modern front-end frameworks.</summary></entry><entry><title>Leveraging Optimizely’s AI Agents: Embracing the Agentic Future</title><link href="https://www.technicaldogsbody.com/blog/optimizely-ai-agents-agentic-future" /><id>https://www.technicaldogsbody.com/blog/optimizely-ai-agents-agentic-future</id><published>2025-03-20T09:00:54.5930000Z</published><updated>2025-03-20T09:00:54.5930000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">Discover how Optimizely’s AI Agents leverage agentic AI to autonomously execute complex tasks, enhancing digital workflows and driving innovation for technical leaders.</summary></entry><entry><title>Adding Geolocation Personalisation to Optimizely CMS with Cloudflare</title><link href="https://www.technicaldogsbody.com/blog/adding-geolocation-personalisation-to-optimizely-cms-with-cloudflare" /><id>https://www.technicaldogsbody.com/blog/adding-geolocation-personalisation-to-optimizely-cms-with-cloudflare</id><published>2024-11-26T12:01:08.3800000Z</published><updated>2024-11-26T12:01:08.3800000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">Enhance your Optimizely CMS personalisation by integrating Cloudflare's geolocation headers. Learn how my Cloudflare Geo-location Criteria package simplifies visitor group targeting.</summary></entry><entry><title>Optimizely SaaS CMS DAM Picker (Interim)</title><link href="https://www.technicaldogsbody.com/blog/interim-optimizely-saas-cms-dam-picker" /><id>https://www.technicaldogsbody.com/blog/interim-optimizely-saas-cms-dam-picker</id><published>2024-11-21T11:00:58.3370000Z</published><updated>2024-11-21T11:00:58.3370000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">Simplify your Optimizely SaaS CMS workflow with the Interim DAM Picker Chrome extension. Seamlessly integrate your DAM system, streamlining asset selection and insertion. Enhance content creation efficiency and ensure brand consistency. Try it today!</summary></entry><entry><title>Optimizely CMS Roadmap</title><link href="https://www.technicaldogsbody.com/blog/optimizely-cms-roadmap" /><id>https://www.technicaldogsbody.com/blog/optimizely-cms-roadmap</id><published>2024-11-21T10:31:04.0100000Z</published><updated>2024-11-21T10:31:04.0100000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">Explore Optimizely CMS's latest roadmap, packed with developer-focused updates. From SaaS speed to Visual Builder enhancements, developer tooling upgrades, and Graph-first architecture in CMS 13, see how these innovations empower modern content delivery.</summary></entry><entry><title>Joining the Optimizely MVP Program</title><link href="https://www.technicaldogsbody.com/blog/andy-blyth-becomes-optimizely-omvp" /><id>https://www.technicaldogsbody.com/blog/andy-blyth-becomes-optimizely-omvp</id><published>2024-08-29T08:00:54.4370000Z</published><updated>2024-08-29T08:00:54.4370000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">Andy Blyth has been honoured as an Optimizely MVP, recognising his contributions to the Optimizely community. Learn how this achievement will enhance 26 DX’s ability to deliver cutting-edge digital solutions.</summary></entry><entry><title>Optimizely release SaaS CMS</title><link href="https://www.technicaldogsbody.com/blog/optimizely-release-saas-cms" /><id>https://www.technicaldogsbody.com/blog/optimizely-release-saas-cms</id><published>2024-07-17T15:00:48.7870000Z</published><updated>2024-07-17T15:00:48.7870000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">Discover the future of content management with Optimizely SaaS CMS. Enjoy seamless updates, reduced costs, and enhanced flexibility for developers and business practitioners. Boost your digital strategy with enterprise-grade security and an improved editorial experience. Learn more about Optimizely's innovative CMS solution today.</summary></entry><entry><title>Is Optimizely CMS PaaS the Preferred Choice?</title><link href="https://www.technicaldogsbody.com/blog/is-optimizely-cms-paas-the-preferred-choice" /><id>https://www.technicaldogsbody.com/blog/is-optimizely-cms-paas-the-preferred-choice</id><published>2024-05-02T14:01:11.7930000Z</published><updated>2024-05-02T14:01:11.7930000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">As always, it depends. With it's comprehensive and proven support for complex business needs across various deployment scenarios, it fits very well to enterprise needs. And you should always choose based on your needs, not on hype or buzzwords. If you know you are going to need a back-end-for-frontend layer, or your own custom APIs, you can do this with PaaS without having to involve yet another tech vendor. If you have this already, or require a completely segregated services approach, mixing...</summary></entry><entry><title>Why C# Developers Should Embrace Node.js</title><link href="https://www.technicaldogsbody.com/blog/why-c-developers-should-embrace-node-js" /><id>https://www.technicaldogsbody.com/blog/why-c-developers-should-embrace-node-js</id><published>2024-05-02T14:01:11.7930000Z</published><updated>2024-05-02T14:01:12.0000000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">Explore why C# developers should embrace Node.js especially with Optimizely's SaaS CMS on the horizon. Understand the shift towards agile web development and how mastering Node.js can open up new opportunities in the evolving digital landscape.</summary></entry><entry><title>Why C# Developers Should Embrace Node.js</title><link href="https://www.technicaldogsbody.com/blog/why-c-developers-should-embrace-node-js" /><id>https://www.technicaldogsbody.com/blog/why-c-developers-should-embrace-node-js</id><published>2024-04-02T05:32:00.0000000Z</published><updated>2024-04-05T05:32:49.0000000Z</updated><author><name>andy.blyth@msqdx.com</name></author><category term="Blog post" /><summary type="html">Explore why C# developers should embrace Node.js especially with Optimizely's SaaS CMS on the horizon. Understand the shift towards agile web development and how mastering Node.js can open up new opportunities in the evolving digital landscape.</summary></entry></feed>