-
Continue reading →: Beyond Package Designer: A Better Way to Transfer Content in SitecoreIf you’ve worked with Sitecore for a while, you’ve probably used Package Designer to move content, templates, or media between environments. It was a reliable tool for many years, but with Sitecore AI and modern SaaS architecture, Package Designer has been deprecated. Instead, Sitecore now provides Content Transfer APIs and…
-
Continue reading →: Where Did __NEXT_DATA__ Go? Two Ways to Debug Sitecore Layout DataIf you’ve worked with Sitecore JSS on Next.js, you probably had a daily habit: open DevTools, type __NEXT_DATA__, and dig into layoutData. Route, placeholders, context — all in one place. After upgrading to the Sitecore Content SDK and Next.js App Router, that trick stops working. You’re not doing anything wrong. The data didn’t disappear —…
-
Continue reading →: OrderCloud Token Refresh in Next.js: A Production Pattern for SSR StorefrontsOrderCloud project I’ve worked on ships its first version with a token refresh bug. It rarely shows up in dev. It doesn’t show up in QA. It shows up in production — three weeks after launch, on a real device, when two requests happen to refresh at the same moment…
-
Continue reading →: Part 2 — Implementing a Reusable Sitecore Search + OrderCloud BridgeIn the first part, we discussed the architecture behind connecting Sitecore Search and OrderCloud through a centralized bridge. Now let’s look at the actual implementation approach. The idea was never to build something tightly coupled to a single project.The goal was to create a reusable pattern that can work across…
-
Continue reading →: Tracking Custom Click Events in Sitecore Search Using PageControllerProblem If you are using Sitecore Search (formerly Discover), it automatically tracks user interactions inside its official React widgets. For example: This works perfectly out of the box. However, real-world websites often contain CMS-driven components that are outside of Sitecore Search widgets, such as: Imagine a Hero Carousel managed by…
-
Continue reading →: Client-Side API Caching with IndexedDB in Sitecore XM CloudIn many Sitecore XM Cloud projects built with Next.js, components often call the same APIs or GraphQL queries multiple times. For example: Each time this happens, the browser sends the same request again. This leads to: In one of my projects, we noticed the same API being called repeatedly even…
-
Continue reading →: Handling Server Error (500) in a Sitecore JSS + Next.js Multisite Setup“Oh no… it’s a 500!” That all-too-familiar server error shows up and suddenly your site feels broken. The user sees a generic, ugly message — not the best experience, right? But what if we could handle server errors gracefully, even in a multisite Sitecore JSS + Next.js environment? This guide…
-
Continue reading →: Part 2: Optimizing Sitecore Context Injection with CachingIn Part 1, we saw how to inject global configuration data into the Sitecore context using a page-props-factory-plugin. While this reduces redundancy, repeatedly fetching this data from an external source can still impact performance. In this post, we’ll introduce a caching layer to avoid unnecessary API calls and further optimize…


