Sitecore Articles / Blogs / Perficient https://blogs.perficient.com/category/partners/sitecore/ Expert Digital Insights Tue, 07 Oct 2025 17:10:29 +0000 en-US hourly 1 https://blogs.perficient.com/files/favicon-194x194-1-150x150.png Sitecore Articles / Blogs / Perficient https://blogs.perficient.com/category/partners/sitecore/ 32 32 30508587 Let’s Meet in Orlando at Sitecore Symposium 2025 https://blogs.perficient.com/2025/10/07/lets-meet-in-orlando-at-sitecore-symposium-2025/ https://blogs.perficient.com/2025/10/07/lets-meet-in-orlando-at-sitecore-symposium-2025/#respond Tue, 07 Oct 2025 17:10:29 +0000 https://blogs.perficient.com/?p=387634

We’re thrilled to announce that Perficient is a proud sponsor of Sitecore Symposium 2025, the premier event for digital experience leaders, marketers, and technologists. This year’s event takes place November 3-5 at the Walt Disney World Dolphin Resort in Orlando, FL. It promises to be a dynamic gathering of thought leaders and innovators, and Perficient is bringing a strong presence with four featured sessions that showcase our expertise in experience design, strategy, digital marketing, and analytics to create end-to-end solutions that deliver exceptional results.

As you’re mapping out your agenda, make sure to schedule some time to stop by our booth to meet our team of Sitecore MVPs, strategists, and technologists and catch a live demo of Sitecore’s products and our AI acceleration tools. Curious about the Sitecore and Gradial partnership and how you can benefit from agentic marketing? Our team would be thrilled to discuss our thoughts on what this can mean for your organization.

What We’re Talking About and When

We’re excited to take the stage with both Encompass Health and Evergy this year! If you’re looking to harness the power of customer data, design more inclusive experiences, or lead through change, our sessions offer something for everyone.

Sitecore Syzmposium 2025 Breakfast Panel

Back by popular demand, the first ever Women in Digital event that Perficient proudly co-sponsored with Sitecore last year is quickly becoming a “must attend” event on the conference schedule. This year’s theme is Leading Through Change and once again, Perficient’s own Megan Jensen will moderate a panel of inspiring women to dive into this topic.

Women and allies alike are welcome to experience this unique opportunity to hear from remarkable women, network with peers, and enjoy breakfast. Register early to reserve your spot. We look forward to seeing you there!

Women in Digital: Leading Through Change

In a landscape reshaped by AI, rerouted customer journeys, and the collapse of traditional content-to-commerce paths, leadership demands agility, empathy, and vision. This intimate breakfast panel brings together trailblazing women from across the digital ecosystem to explore how they’re navigating transformation—scaling trust, driving innovation, and fostering inclusion in real time. Join us for a candid conversation on what it means to lead now, what’s next, and how we build the future together.

What’s Your Data Doing for You? Learn How to Harness the Power of Your Data With Sitecore CDP

Your company possesses valuable customer data, but are you using it strategically? Join Perficient’s Eric Sanner, solutions architect and 2x Sitecore MVP, along with a marketing leader from Midwest utility company Evergy, to discuss how the company utilizes Sitecore CDP to combine data from multiple sources into one flexible, powerful, easy-to-use platform. Learn how to breathe new life into marketing strategies by creating sophisticated segmentation that targets high-value customers. See how CDP and Personalize can give marketers autonomy while reducing costs.

Designing Inclusive Experiences for Everyone: Build a Better Journey Map on Sitecore

Explore common disability tropes and stereotypes, the intersection of accessibility and representation, and the importance of showing diversity in advertising, marketing, and media. In this session, you’ll learn about UX challenges for disabled users, brainstorm improvements, and collaboratively design a user journey that addresses the needs of a disabled persona. These insights will help shape your understanding of the Sitecore products and platforms that enable inclusive experiences.

Unveiling Encompass Health’s Digital Transformation: A Panel on Lessons Learned With a Bit of SaaS

Join Perficient’s Stephen Tynes, national Sitecore sales advisor, and Mark Ursino, Sitecore principal, as they team up with marketing leaders from Encompass Health to share the organization’s digital transformation journey. Learn how the organization approached patient and caretaker research, fostered internal collaboration, and managed change with IT to drive success. We’ll address the challenges encountered, the outcomes achieved, and touch upon key topics such as the Sitecore roadmap and strategy to move from on-prem XP to SaaS XM Cloud.

A Sitecore Platinum Partner, Ready to Support You

Perficient is a global AI-first consultancy helping clients move faster, engage smarter, and connect deeper with customers. We’re a Sitecore 2024 Practice Excellence Award – Global winner with specialties in XM Cloud, CDP/Personalize, OrderCloud, Content Hub, and XP.

We’ll be on-site throughout the event to connect, collaborate, and share how we’re helping organizations unlock the full potential of Sitecore. Whether you’re exploring a move to XM Cloud, looking to optimize your personalization strategy, or simply want to chat about the future of digital experience, we’re here to help you make the most of your Symposium experience.

]]>
https://blogs.perficient.com/2025/10/07/lets-meet-in-orlando-at-sitecore-symposium-2025/feed/ 0 387634
Unlocking Advanced Personalization in Sitecore XM Cloud with Sitecore Personalize https://blogs.perficient.com/2025/09/30/unlocking-advanced-personalization-in-sitecore-xm-cloud-with-sitecore-personalize/ https://blogs.perficient.com/2025/09/30/unlocking-advanced-personalization-in-sitecore-xm-cloud-with-sitecore-personalize/#respond Tue, 30 Sep 2025 17:16:16 +0000 https://blogs.perficient.com/?p=387600

Over the past few months, I have shared a couple of blogs exploring embedded personalization in Sitecore XM Cloud:

While XM Cloud embedded personalization (found within Pages) offers an excellent, out-of-the-box solution for common personalization needs, it has a key limitation: it restricts you to a predefined set of marketer-friendly conditions. This streamlined, page-variant-based approach is quick to implement for scenarios like localizing content by geography or targeting new vs. returning visitors, making it a great starting point for content authors.

The Need for a Deeper Personalization Engine

But here’s the limitation: XM Cloud is built for speed, scalability, and a smooth content authoring experience. It doesn’t let you create custom conditions inside Pages. In legacy Sitecore XP, developers could extend the rule engine with custom C# code. In XM Cloud, the design is different. For any personalization logic beyond basic, marketer-friendly, out-of-the-box rules (like device type or referrer), Sitecore directs you to its dedicated, cloud-native platform – Sitecore Personalize.

This is where the world of digital experience often demands logic that goes beyond these basic audience segments. When you need to personalize based on proprietary business rules, custom data streams, or complex, multi-touchpoint journeys, the embedded tools won’t suffice.

This is where Sitecore Personalize becomes essential. Personalize is a standalone, cloud-native personalization and decisioning engine built to handle advanced scenarios.

Sitecore Personalize: The Technical Extension

Personalize acts as the key to unlocking limitless personalization power within your XM Cloud solution.

  • Custom Conditions: The most critical technical feature is the ability to define developer-written custom conditions. These conditions are authored in JavaScript within Personalize, built once by a developer, and then exposed to marketers for endless reuse within the XM Cloud Pages audience builder. This allows you to create highly tailored audience rules based on any data you can pipe into the platform.
  • Advanced Decisioning and Experimentation: Personalize is API-first, supporting complex decision models, A/B testing, and multi-variant experiments that can go far beyond simple page variants. It includes dedicated dashboards and robust analytics for measuring the performance of these sophisticated experiences.
  • Cross-Channel Orchestration: Personalize is designed to be truly cross-channel. Its capabilities extend beyond just the website, enabling you to orchestrate consistent, personalized experiences across email, mobile apps, and other API-driven touchpoints—leveraging a unified profile of the customer.

In short, Personalize extends XM Cloud’s personalization boundaries, making it possible to design highly tailored user journeys without being locked into out-of-the-box conditions.

This blog is the next step in the series: a developer-friendly deep dive into how Personalize works with XM Cloud.

XM Cloud and Personalize Integration

The seamless delivery of personalized content relies on a robust technical connection between your XM Cloud content management environment and the Sitecore Personalize decision engine. This part often feels like “black box magic,” so let’s clarify the two key phases: initial provisioning and run-time execution.

Provisioning & Tenant Setup

When an organization purchases a Sitecore Personalize license, the initial setup is managed by Sitecore Professional Services or your dedicated implementation partner. This process ensures the two separate cloud products are securely linked.

The typical process involves:

  • Tenant Mapping: Establishing a clear connection between your environments (e.g., XM Cloud Dev/Test connecting to a Non-Production Personalize tenant, and XM Cloud Production connecting to a Production Personalize tenant). This separation is crucial for ensuring you don’t mix test audiences and conditions with real production traffic.
  • Portal Access: You’ll receive invites to both the Sitecore Cloud Portal and the Personalize portal.
  • Site Identifier Configuration: A Site Identifier must be created and mapped within XM Cloud. This is a critical technical step that tells Personalize exactly which rendering host (your website) it’s communicating with.

Important: Don’t be surprised if you don’t see your new custom condition in XM Cloud Pages right away—always first check that the site identifier is configured correctly and that the tenant setup is complete. Once this is wired, your XM Cloud Pages environment can successfully surface custom conditions and experiences created in Personalize.

Runtime Architecture: How the Two Talk at Request Time

Once environments are provisioned, your XM Cloud rendering host (typically a Next.js application) needs to fetch the correct personalization decision for every page request.

The Sitecore Cloud SDK is the exclusive and recommended method for integrating personalization and A/B/n testing within JSS SDK Next.js applications hosted on XM Cloud. This is designed to leverage Next.js Middleware and server-side rendering (SSR) for optimal performance. But let us take a look at both the SDKs that can be used to integrate with Personalize:

Evaluation MethodDescriptionKey SDKUse Case & Impact
Server-Side (SSR / Edge)The Next.js rendering host calls Personalize at render-time (before the HTML is sent to the browser).Cloud SDKRecommended for XM Cloud. Ensures the variant is chosen before the page is delivered, eliminating the dreaded "flicker" of default content. Optimal for consistency and SEO.
Client-Side (Browser)The page loads first, then Personalize (via an SDK snippet) evaluates and applies the winning variant in the user's browser.Engage SDKSimpler for non-XM Cloud or highly component-specific scenarios. However, this approach can cause a flash of default content before the personalized swap occurs.

Personalization Data Flow Summary (SSR/Edge)

The personalization flow for a dynamic (SSR/Edge) page is a server-side handshake orchestrated by the Next.js Middleware and the Cloud SDK:

  • Initial Check (JSS/Next.js Experience Edge): The Next.js Middleware first queries Experience Edge to verify if any personalization variants exist for the page.
  • Decisioning Call (JSS/Next.js Personalize): If variants are found, the Middleware uses the Cloud SDK to send the visitor’s context to Sitecore Personalize.
  • Variant ID Returned (Personalize JSS/Next.js): Personalize evaluates all rules and returns the winning Variant ID (or the default ID) based on the evaluated rules.
  • Content Fetch (JSS/Next.js Experience Edge): The rendering host then makes a second request to Experience Edge, fetching the specific content layout matching the winning Variant ID.
  • Final Delivery: The fully personalized HTML is rendered on the server and delivered to the visitor, ensuring a flicker-free experience.

Static Site Generation (SSG) Personalization Flow

The personalization process for pages built with SSG differs slightly from SSR to gain performance benefits by leveraging pre-generated HTML:

  • Initial Request: When a visitor requests an SSG page, the Next.js application receives the standard HTTP request details (cookies, headers).
  • Pre-Render Check: The Personalize middleware first checks its cache to see if static HTML variants have already been pre-rendered for this page.If a static variant is found, the middleware skips the initial API query to Experience Edge, speeding up the process. If no static variants are found, the process falls back to the standard SSR flow to dynamically fetch personalized variants from the CMS/Edge.
  • Audience Decision: Assuming variants exist, the middleware sends a request to the Personalize (via the Cloud SDK) to identify which audience the current visitor belongs to.
  • Delivery:
    • If the visitor matches an audience and that variant was already pre-generated, the middleware simply returns the cached static HTML for the personalized variant immediately.
    • If the visitor matches an audience but the static variant has not yet been built, the Next.js application generates the page variant HTML on the fly and then caches that output to serve as a static asset for all future visitors belonging to that same audience.
    • If the visitor does not match any defined audience, the generic default static HTML page is returned.

This method allows high-traffic personalized pages to benefit from the speed of static hosting after the first request generates the variant HTML.

Wrapping Up

Bringing Sitecore XM Cloud and Sitecore Personalize together creates a powerful framework for delivering experiences that adapt in real time. While XM Cloud manages structured content and headless delivery, Personalize adds a decisioning layer that evaluates context, behaviors, and data signals to tailor each interaction.

This integration not only extends the personalization capabilities of XM Cloud beyond static rules but also enables continuous testing, optimization, and experimentation. For teams building modern digital experiences, this approach provides the agility to serve relevant, data-driven content at scale – while maintaining the flexibility of a cloud-native, headless architecture.

In my next blog, I’ll walk through creating custom conditions in Sitecore Personalize, so you can define personalization logic that truly aligns with the unique business needs.

 

]]>
https://blogs.perficient.com/2025/09/30/unlocking-advanced-personalization-in-sitecore-xm-cloud-with-sitecore-personalize/feed/ 0 387600
Sitecore’s AI-Powered Approach to Modular, Personalized Experiences  https://blogs.perficient.com/2025/09/30/sitecores-ai-powered-approach-to-modular-personalized-experiences/ https://blogs.perficient.com/2025/09/30/sitecores-ai-powered-approach-to-modular-personalized-experiences/#respond Tue, 30 Sep 2025 14:42:48 +0000 https://blogs.perficient.com/?p=386920

Sitecore has long positioned itself as a leader in composable digital experience platforms, offering flexibility and scalability for organizations looking to tailor their tech stacks. As AI becomes a central force in experience delivery, Sitecore is embedding agentic and Generative AI capabilities to help brands personalize at scale, streamline operations, and empower practitioners. 

Forrester’s report, The Impact of AI on Digital Experience Platforms, discusses how vendors like Sitecore are evolving their platforms to support intelligent orchestration and content creation. Sitecore’s modular architecture makes it uniquely suited to adopt these innovations. 

Empowering Practitioners With Agentic AI

Sitecore’s copilot launched in late 2024 and is designed to help marketers build hyper-personalized campaigns with less manual effort. These intelligent agents assist with segmentation, content recommendations, and campaign optimization all while integrating seamlessly into Sitecore’s composable stack. 

Perficient Sitecore Consulting Principal Mark Ursino has seen growing interest in Sitecore’s agentic AI capabilities, especially among clients looking to unify customer data and reduce friction in campaign execution. 

Ursino said, ” Sitecore’s AI orchestration capability, Stream, launched in late 2024 and is helping marketers move faster and smarter. We’re working with clients to integrate these tools into their workflows so they can focus on strategy while AI handles the complexity.” 

GenAI in a Composable World

Sitecore’s GenAI features are designed to complement its modular approach. Whether generating brand-consistent content, summarizing customer interactions, or supporting A/B testing, GenAI is helping teams deliver more relevant experiences without overhauling their existing infrastructure. 

“Sitecore’s composable architecture makes it easier to plug in GenAI capabilities where they’ll have the most impact. We’re helping clients identify those opportunities and align them with measurable goals,” said Ursino.  

Perficient Named 2025 Gold Globee® Winner for Best Artificial Intelligence Service Provider | Learn More 

Building a Responsible AI Foundation

Successful AI adoption requires more than just new features. Organizations must invest in strong data foundations, human oversight, and change management. That’s why we partner with clients to ensure these pillars are in place, especially when integrating AI into modular environments like Sitecore. 

We’re honored to have contributed to the research in an interview for Forrester’s report , The Impact of AI on Digital Experience Platforms. We believe it reflects our deep expertise in helping enterprise clients implement and optimize DXPs like Sitecore. Whether it’s orchestrating personalized journeys or deploying intelligent agents, we’re helping brands embrace AI responsibly and effectively. 

If you’re exploring how to bring AI into your DXP strategy, we invite you to connect with us and keep the conversation going. 

Access the report here (available to Forrester subscribers or for purchase).  

Learn more about our Sitecore expertise here 

Contact usto learn more. 

]]>
https://blogs.perficient.com/2025/09/30/sitecores-ai-powered-approach-to-modular-personalized-experiences/feed/ 0 386920
ChatGPT vs Microsoft Copilot: Solving Node & Sitecore Issues https://blogs.perficient.com/2025/09/17/chatpgt-vs-microsoft-copilot/ https://blogs.perficient.com/2025/09/17/chatpgt-vs-microsoft-copilot/#comments Wed, 17 Sep 2025 05:20:30 +0000 https://blogs.perficient.com/?p=386776

In today’s world of AI-powered development tools, ChatGPT and Microsoft Copilot are often compared side by side. Both promise to make coding easier, debugging faster, and problem-solving more efficient. But when it comes to solving real-world enterprise issues, the difference in their effectiveness becomes clear.

Recently, I faced a practical challenge while working with Sitecore 10.2.0 and Sitecore SXA 11.3.0, which presented a perfect case study for comparing the two AI assistants.

The Context: Node.js & Sitecore Compatibility

I was troubleshooting an issue with Sitecore SXA where certain commands (npm run build, sxa r Main, and sxa w) weren’t behaving as expected. Initially, my environment was running on Node.js v14.17.1, but I upgraded to v20.12.2. After the upgrade, I started suspecting a compatibility issue between Node.js and Sitecore’s front-end build setup.

Naturally, I decided to put both Microsoft Copilot and ChatGPT to the test to see which one handled things better.

My Experience with Microsoft Copilot

When I first used Copilot, I gave it a very specific and clear prompt:

I am facing an issue with Sitecore SXA 11.3.0 on Sitecore 10.2.0 using Node.js v20.12.2. The gulp tasks are not running properly. Is this a compatibility issue and what should I do?

Copilot’s Response

  • Copilot generated a generic suggestion about checking the gulp configuration.
  • It repeated standard troubleshooting steps such as “try reinstalling dependencies,” “check your package.json,” and “make sure Node is installed correctly.”
  • Despite rephrasing the prompt multiple times, it failed to recognize the known compatibility issue between Sitecore SXA’s front-end tooling and newer Node versions.

Takeaway: Copilot provided a starting point, but the guidance lacked the technical depth and contextual relevance required to move the solution forward. It felt more like a general suggestion than a targeted response to the specific challenge at hand.

My Experience with ChatGPT

I then tried the same prompt in ChatGPT.

ChatGPT’s Response

  • Immediately identified that Sitecore SXA 11.3.0 running on Sitecore 10.2.0 has known compatibility issues with Node.js 20+.
  • It suggested that I should switch to Node.js v18.20.7 because it’s stable and works well with Sitecore.
  • Recommended checking SXA version compatibility matrix to confirm the supported Node versions.
  • Also guided me on how to use Node Version Manager (NVM) to switch between multiple Node versions without affecting other projects.

This response was not only accurate but also actionable. By following the steps, I was able to resolve the issue and get the build running smoothly again.

Takeaway: ChatGPT felt like talking to a teammate who understands how Sitecore and Node.js really work. In contrast, Copilot seemed more like the suggestion tool, it offered helpful prompts but didn’t fully comprehend the broader context or the specific challenge I was addressing.

Key Differences I Observed

What I Looked At Microsoft Copilot ChatGPT
Understanding the problem Gave basic answers, missed deeper context Understood the issue well and gave thoughtful replies
Sitecore knowledge Limited understanding, especially with SXA Familiar with SXA and Sitecore, provided valuable insights
Node.js compatibility Missed the Node.js 20+ issue Spotted the problem and suggested the right fix
Suggested solutions Repeated generic advice Gave clear, specific steps that actually helped
Ease of Use Good for quick code snippets Great for solving tricky problems step by step

Takeaways for Developers

  1. Copilot is great for boilerplate code and inline suggestions – if you want quick syntax help, it works well.
  2. ChatGPT shines in debugging and architectural guidance – especially when working with enterprise systems like Sitecore or giving code suggestions.
  3. When you’re stuck on environment or compatibility issues, ChatGPT can save hours by pointing you in the right direction.
  4. Best workflow: Use Copilot for code-writing speed, and ChatGPT for solving bigger technical challenges.

Final Thoughts

Both Microsoft Copilot and ChatGPT are powerful AI tools, but they serve different purposes.

  • Copilot functions like a code suggestion tool integrated within your IDE.
  • ChatGPT feels like a senior consultant who understands the ecosystem and gives you actionable advice.

When working on complex platforms like Sitecore 10.2.0 with SXA 11.3.0, and specific Node.js compatibility issues, ChatGPT clearly comes out ahead.

]]>
https://blogs.perficient.com/2025/09/17/chatpgt-vs-microsoft-copilot/feed/ 1 386776
Perficient Interviewed for Forrester Report on AI’s Transformative Role in DXPs https://blogs.perficient.com/2025/09/08/perficient-interviewed-for-forrester-report-on-ais-transformative-role-in-dxps/ https://blogs.perficient.com/2025/09/08/perficient-interviewed-for-forrester-report-on-ais-transformative-role-in-dxps/#respond Mon, 08 Sep 2025 11:33:47 +0000 https://blogs.perficient.com/?p=386912

As artificial intelligence continues to reshape the digital landscape, organizations are seeking clarity on how to strategically integrate AI into their digital experience platforms (DXPs). In its latest report, The Impact of AI on Digital Experience Platforms, Forrester explores how DXP vendors are embedding AI agents to streamline experience operations and expand toolsets — from copilots to code generators. Perficient was proud to contribute its DXP and AI expertise to this research, joining the group of vendors and service providers interviewed for the report. 

“Generative AI (GenAI) is reshaping digital experience platforms (DXPs) by automating content and campaign creation, powering intelligent copilots for marketers and developers, and boosting customer engagement through predictive insights and personalization.” —Forrester, The Impact of AI on Digital Experience Platforms

Why AI Belongs in the DXP Conversation

Today’s tech leaders face a growing challenge: delivering consistent, personalized experiences across a fragmented landscape of devices, channels, and customer expectations. DXPs are uniquely positioned to address this complexity. As Forrester notes, DXPs are rich in customer interaction data, support high-value business outcomes, and serve a diverse set of practitioners — all of which make them fertile ground for AI innovation. 

DXP is a trove of trusted customer interaction data… Unleashing AI on this data enables organizations to understand audience intent and respond to that intent with irresistible offers.” — Forrester, The Impact of AI on Digital Experience Platforms

And Perficient’s experts agree that DXPs are a great place to start when integrating AI into experience delivery. 

“Marketing and IT leaders are under pressure to deliver personalized, omnichannel experiences at scale, and that’s exactly where DXPs shine. By embedding AI into the core of these platforms, clients can unlock the full value of their customer data and streamline operations across content, commerce, and campaigns,” said Mark Polly, Perficient Principal, Customer Experience Platforms.  

Agentic AI Ushers in a New Era of Experience Operations

The report highlights the rise of agentic AI and how these intelligent agents operate within DXPs to automate tasks, answer questions, and optimize workflows. These agents are transforming how marketers, developers, and content creators interact with their platforms, reducing friction and accelerating time to value. 

Perficient’s experience with orchestration tools and AI agents reinforces this trend. While many vendors offer orchestration capabilities, Perficient often helps clients integrate these tools across their broader tech ecosystem. 

” For marketing and IT leaders, true orchestration moves beyond linear workflows; it’s about integrating platforms like AEM and Optimizely to create a dynamic, responsive system. This integration is the key to driving operational efficiency and gaining the unified insights needed for deeper customer engagement. AI agents play a critical role here, transforming those rigid workflows into the real-time orchestration that a modern customer journey demands. Adoption is still in its early stages, which is where we help clients build a strategic advantage,” said Perficient digital strategy principal Grant Davies. 

Emerging GenAI Use Cases in DXPs

From brand-aware content creation to code generation and experimentation, GenAI is also rapidly expanding its footprint in DXP environments. Vendors like Adobe, Sitecore, and Salesforce are launching copilots and agents that empower users to create, test, and optimize experiences with unprecedented speed and precision. 

Perficient is already helping clients explore these capabilities and align them with business goals. 

Polly said, “We’re seeing real momentum around GenAI use cases in DXP from brand-consistent content creation to intelligent experimentation. These capabilities aren’t just flashy features; they’re solving real business problems like reducing time to market and improving conversion rates. The key is aligning AI with measurable outcomes and ensuring strong governance.” 

Perficient Wins 2025 Artificial Intelligence Excellence Award for GenAI Integrity Accelerator   Learn More

Strategic Adoption Requires Strong Foundations 

Successful AI adoption in DXPs requires more than just technology. Organizations must invest in strong data foundations, human oversight, and change management to ensure responsible and effective use of AI. These are areas where Perficient continues to guide clients with strategic consulting and hands-on implementation. 

We believe our inclusion in the research for Forrester’s report, The Impact of AI on Digital Experience Platforms, reflects our deep expertise in helping enterprise clients implement and optimize DXPs. Whether it’s integrating predictive analytics, deploying cognitive copilots, or improving data governance, our teams are leading the way in enabling AI-powered transformation. 

We’re honored to be interviewed for this research and proud to contribute to the evolving conversation around AI in digital experience. If you’re exploring how to bring AI into your DXP strategy, we invite you to connect with us and keep the conversation going. 

Access the report here (available to Forrester subscribers or for purchase).

Contact us to learn more. 

]]>
https://blogs.perficient.com/2025/09/08/perficient-interviewed-for-forrester-report-on-ais-transformative-role-in-dxps/feed/ 0 386912
Planning Sitecore Migration: Things to consider https://blogs.perficient.com/2025/08/29/planning-sitecore-migration-things-to-consider/ https://blogs.perficient.com/2025/08/29/planning-sitecore-migration-things-to-consider/#respond Fri, 29 Aug 2025 10:49:31 +0000 https://blogs.perficient.com/?p=386668

Migrating a website or upgrading to a new Sitecore platform is more than a technical lift — it’s a business transformation and an opportunity to align your site and platform with your business goals and take full advantage of Sitecore’s capabilities. A good migration protects functionality, reduces risk, and creates an opportunity to improve user experience, operational efficiency, and measurable business outcomes.

Before jumping to the newest version or the most hyped architecture, pause and assess. Start with a thorough discovery: review current architecture, understand what kind of migration is required, and decide what can realistically be reused versus what should be refactored or rebuilt, along with suitable topology and Sitecore products.

This blog expands the key considerations before committing to a Sitecore-specific migration, translating them into detailed, actionable architecture decisions and migration patterns that guide impactful implementation.

 

1) Clarifying client requirements

Before starting any Sitecore migration or implementation, it’s crucial to clarify client’s requirements thoroughly. This ensures the solution aligns with actual business needs, not just technical requests and helps avoid rework or misaligned outcomes.

Scope goes beyond just features: Don’t settle for “migrate this” as the requirement. Ask deeper questions to shape the right migration strategy:

  • Business goals: Is the aim a redesign, conversion uplift, version upgrade, multi-region rollout, or compliance?
  • Functional scope: Are we redesigning the entire site or specific flows like checkout/login, or making back office changes?
  • Non-functional needs: What are the performance SLAs, uptime expectations, compliance (e.g.: PCI/GDPR), and accessibility standards?
  • Timeline: Is a phased rollout preferred, or a big-bang launch?

Requirements can vary widely, from full redesigns using Sitecore MVC or headless (JSS/Next.js), to performance tuning (caching, CDN, media optimization), security enhancements (role-based access, secure publishing), or integrating new business flows into Sitecore workflows.
Sometimes, the client may not fully know what’s needed, it’s up to us to assess the current setup and recommend improvements. Don’t assume the ask equals the need, A full rewrite isn’t always the best path. A focused pilot or proof of value can deliver better outcomes and helps validate the direction before scaling.

 

2) Architecture of the client’s system

Migration complexity varies significantly based on what the client is currently using. You need to evaluate current system and its uses and reusability.

Key Considerations

  • If the client is already on Sitecore, the version matters. Older versions may require reworking the content model, templates, and custom code to align with modern Sitecore architecture (e.g.: SXA, JSS).
  • If the client is not on Sitecore, evaluate their current system, infrastructure, and architecture. Identify what can be reused—such as existing servers(in case of on-prem), services, or integrations—to reduce effort.
  • Legacy systems often include deprecated APIs, outdated connectors, or unsupported modules, which increase technical risk and require reengineering.
  • Historical content, such as outdated media, excessive versioning, or unused templates, can bloat the migration. It’s important to assess what should be migrated, cleaned, or archived.
  • Map out all customizations, third-party integrations, and deprecated modules to estimate the true scope, effort, and risk involved.
  • Understanding the current system’s age, architecture, and dependencies is essential for planning a realistic and efficient migration path.

 

3) Media Strategy

When planning a Sitecore migration or upgrade, media handling can lead to major performance issues post-launch. These areas are critical for user experience, scalability, and operational efficiency, so they need attention early in the planning phase. Digital Asset Management (DAM) determines how assets are stored, delivered, and governed.

Key Considerations

  • Inventory: Assess media size, formats, CDN references, metadata, and duplicates. Identify unused assets, and plat to adopt modern formats (e.g., WebP).
  • Storage Decisions: Analyze and decide whether assets stay in Sitecore Media Library, move to Content Hub, or use other cloud storage (Azure Blob, S3)?
  • Reference Updates: Plan for content reference updates to avoid broken links.

 

4) Analytics, personalization, A/B testing, and forms

These features often carry stateful data and behavioral dependencies that can easily break during migration if not planned for. Ignoring them can lead to data loss and degraded user experience.

Key Considerations

  • Analytics: Check if xDB, Google Analytics, or other trackers are in use? Decide how historical analytics data will be preserved, validated, and integrated into the new environment?
  • Personalization: Confirm use of Sitecore rules, xConnect collections, or an external personalization engine. Plan to migrate segments, conditions, and audience definitions accurately.
  • A/B Testing & Experiments: Draft a plan to export experiment definitions and results is present.
  • Forms: Analyze which forms collects data, and how do they integrate with CRM or marketing automation?

Above considerations play important role in choosing Sitecore topology, if there is vast use of analytics XP makes a suitable option, forms submission consent flows have different approach in different topologies.

 

5) Search Strategy

Search is critical for user experience, and a migration is the right time to reassess whether your current search approach still makes sense.

Key Considerations

  • Understand how users interact with the site, Is search a primary navigation tool or a secondary feature? Does it significantly impact conversion or engagement?
  • Identify current search engine if any. Access its features, if advanced capabilities like AI recommendations, synonyms, or personalization being used effectively.
  • If the current engine is underutilized, note that maintaining it may add unnecessary cost and complexity. If search is business-critical, ensure feature parity or enhancement in the new architecture.
  • Future Alignment:  Based on requirements, determine whether the roadmap supports:
    • Sitecore Search (SaaS) for composable and cloud-first strategies.
    • Solr for on-prem or PaaS environments.
    • Third-party engines for enterprise-wide search needs.

 

6) Integrations, APIs & Data Flows

Integrations are often the hidden complexity in Sitecore migrations. They connect critical business systems, and any disruption can lead to post-go-live incidents. For small, simple content-based sites with no integrations, migrations tend to be quick and straightforward. However, for more complex environments, it’s essential to analyze all layers of the architecture to understand where and how data flows. This includes:

Key Considerations

  • Integration Inventory: List all synchronous and asynchronous integrations, including APIs, webhooks, and data pipelines. Some integrations may rely on deprecated endpoints or legacy SDKs that need refactoring.
  • Criticality & Dependencies: Identify mission-critical integrations (e.g.: CRM, ERP, payment gateways).
  • Batch & Scheduled Jobs: Audit long-running processes, scheduled exports, and batch jobs. Migration may require re-scheduling or re-platforming these jobs.
  • Security & Compliance: Validate API authentication, token lifecycles, and data encryption. Moving to SaaS or composable may require new security patterns.

 

7) Identify Which Sitecore offerings are in use — and to what extent?

Before migration, it’s essential to document the current Sitecore ecosystem and evaluate what the future state should look like. This determines whether the path is a straight upgrade or a transition to a composable stack.

Key Considerations

  • Current Topology: Is the solution running on XP or XM? Assume that XP features (xDB, personalization) may not be needed if moving to composable.
  • Content Hub: Check if DAM or CMP is in use. If not, consider whether DAM is required for centralized asset management, brand consistency, and omnichannel delivery.
  • Sitecore Personalize & CDP: Assess if personalization is currently rule-based or if advanced testing and segmentation are required.
  • OrderCloud: If commerce capabilities exist today or are planned in the near future.

 

Target Topologies

This is one of the most critical decisions is choosing the target architecture. This choice impacts infrastructure, licensing, compliance, authoring experience, and long-term scalability. It’s not just a technical decision—it’s a business decision that shapes your future operating model.

Key Considerations

  • Business Needs & Compliance: Does your organization require on-prem hosting for regulatory reasons, or can you move to SaaS for agility?
  • Authoring Experience: Will content authors need Experience Editor, or is a headless-first approach acceptable?
  • Operational Overhead: How much infrastructure management can team handle post-migration?
  • Integration Landscape: Are there tight integrations with legacy systems that require full control over infrastructure?

Architecture Options & Assumptions

Option Best For Pros Cons Assumptions
XM (on-prem/PaaS) CMS-only needs, multilingual content, custom integrations Visual authoring via Experience Editor

Hosting control

Limited marketing features Teams want hosting flexibility and basic CMS capabilities but analytics is not needed
Classic XP (on-prem/PaaS) Advanced personalization, xDB, marketing automation Full control

Deep analytics

Advanced marketing Personalization

Complex infrastructure, high resource demand Marketing features are critical; infra-heavy setup is acceptable
XM Cloud (SaaS) Agility, fast time-to-market, composable DXP Reduced overhead

Automatic updates

Headless-ready

Limited low-level customization SaaS regions meet compliance, Needs easy upgrades

 

Along with topology its important to consider hosting and frontend delivery platform. Lets look at available hosting options with their pros and cons:

  • On-Prem(XM/XP): You can build the type of machine that you want.
    • Pros: Maximum control, full compliance for regulated industries, and ability to integrate with legacy systems.
    • Cons: High infrastructure cost, slower innovation, and manual upgrades, difficult to scale.
    • Best For: Organizations with strict data residency, air-gapped environments, or regulatory mandates.
    • Future roadmap may require migration to cloud, so plan for portability.
  • PaaS (Azure App Services, Managed Cloud – XM/XP)
    • Pros: Minimal up-front costs and you do not need to be concerned about the maintenance of the underlying machine.
    • Cons: Limited choice of computing options and functionality.
    • Best For: Organizations expecting to scale vertically and horizontally, often and quickly
  • IaaS (Infrastructure as a service – XM/XP)
    • This is same as on-premise, but with VMs you can tailor servers to meet your exact requirements.
  • SaaS (XM Cloud)
    • Pros: Zero infrastructure overhead, automatic upgrades, global scalability.
    • Cons: Limited deep customization at infra level.
    • Best For: Organizations aiming for composable DXP and agility.
    • Fully managed by Sitecore (SaaS).

For development, you have different options for example: .Net MVC, .Net Core, Next JS, React. Depending on topology suggested, selection of frontend delivery can be hybrid or headless:

.NET MVC → For traditional, web-only application.
Headless → For multi-channel, composable, SaaS-first strategy.
.NET Core Rendering → For hybrid modernization with .NET.

 

8) Security, Compliance & Data Residency

Security is non-negotiable during any Sitecore migration or upgrade. These factors influence architecture, hosting choices and operational processes.

Key Considerations

  • Authentication & Access: Validate SSO, SAML/OAuth configurations, API security, and secrets management. Assume that identity providers or token lifecycles may need reconfiguration in the new environment.
  • Compliance Requirements: Confirm obligations like PCI, HIPAA, GDPR, Accessibility and regional privacy laws. Assume these will impact data storage, encryption, and as AI is in picture now a days it will even have impact on development workflow.
  • Security Testing: Plan for automated vulnerability scans(decide tools you going to use for the scans) and manual penetration testing as part of discovery and pre go-live validation.

 

9) Performance

A migration is the perfect opportunity to identify and fix structural performance bottlenecks, but only if you know your starting point. Without a baseline, it’s impossible to measure improvement or detect regressions.

Key Considerations

  • Baseline Metrics: Capture current performance indicators like TTFB (Time to First Byte), LCP (Largest Contentful Paint), CLS (Cumulative Layout Shift), throughput, and error rates. These metrics will guide post-migration validation and SLA commitments.
  • Caching & Delivery: Document existing caching strategies, CDN usage, and image delivery methods. Current caching patterns may need reconfiguration in the new architecture.
  • Load & Stress Testing: Define peak traffic scenarios and plan load testing tools with Concurrent Users and Requests per Second.

 

10) Migration Strategies

Choosing the right migration strategy is critical to balance risk, cost, and business continuity. There’s no one size fits all approach—your suggestion/choice depends on timeline, technical debt and operational constraints.

Common Approaches

    • Lift & Shift
      Move the existing solution as is with minimal changes.
      This is low-risk migrations where speed is the priority. When the current solution is stable and technical debt is manageable.
      However with this approach the existing issues and inefficiencies stays as is which can be harmful.

 

    • Phased (Module-by-Module)
      Migrate critical areas first (e.g.: product pages, checkout) and roll out iteratively.
      This can be opted for large, complex sites where risk needs to be minimized, when business continuity is critical.
      With this approach, timelines are longer and requires dual maintenance during transition.

 

    • Rewrite & Cutover
      Rebuild the solution from scratch and switch over at once.
      This is can be chosen when the current system doesn’t align with future architecture. When business wants a clean slate for modernization.

 

 

Above options can be suggested based on several factors whether business tolerate downtime or dual maintenance. What are the Timelines, What’s the budget. If the current solution worth preserving, or is a rewrite inevitable? Does the strategy align with future goals?

 

Final Thoughts

Migrating to Sitecore is a strategic move that can unlock powerful capabilities for content management, personalization, and scalability. However, success lies in the preparation. By carefully evaluating your current architecture, integration needs and team readiness, you can avoid common pitfalls and ensure a smoother transition. Taking the time to plan thoroughly today will save time, cost, and effort tomorrow setting the stage for a future-proof digital experience platform.

 

]]>
https://blogs.perficient.com/2025/08/29/planning-sitecore-migration-things-to-consider/feed/ 0 386668
5 Reasons Companies Are Choosing Sitecore SaaS https://blogs.perficient.com/2025/08/27/5-reasons-companies-are-choosing-sitecore-saas/ https://blogs.perficient.com/2025/08/27/5-reasons-companies-are-choosing-sitecore-saas/#respond Wed, 27 Aug 2025 14:24:10 +0000 https://blogs.perficient.com/?p=386630

The move to SaaS is one of the biggest shifts happening in digital experience. It’s not just about technology, it’s about making platforms simpler, faster, and more adaptable to the pace of customer expectations.

Sitecore has leaned in with a clear vision: “It’s SaaS. It’s Simple. It’s Sitecore.”

Here are five reasons why more organizations are turning to Sitecore SaaS to power their digital experience strategies:

1. Simplicity: A Modern Foundation

Sitecore SaaS solutions like XM Cloud remove the burden of managing infrastructure and upgrades.

  • No more complex version upgrades, updates happen automatically.
  • Reduced reliance on IT for day-to-day maintenance.
  • A leaner, more cost-effective foundation for marketing teams.

By simplifying operations, companies can focus on what matters most; delivering exceptional digital experiences.

2. Speed-to-Value: Launch Faster

Traditional DXPs can take months (or more) to implement and optimize. Sitecore SaaS is designed for speed:

  • Faster deployments with prebuilt components.
  • Seamless integrations with other SaaS and cloud tools.
  • Empowerment for marketers to build and launch campaigns without heavy dev cycles.

Organizations adopting Sitecore SaaS are moving from planning to execution faster than ever.

3. Scalability: Grow Without Rebuilds

As customer expectations grow, so does the need to scale digital experiences quickly. Sitecore SaaS allows companies to:

  • Spin up new sites, regions, or languages without starting from scratch.
  • Adjust to spikes in demand without disruption.
  • Add capabilities as the business evolves — without heavy upfront investment.

This scalability ensures brands can adapt as fast as their audiences do.

4. Continuous Innovation: Always Current

One of the most frustrating parts of traditional platforms is the upgrade cycle. Sitecore SaaS solves this with:

  • Automatic access to the latest innovations — no disruptive “big bang” upgrades.
  • Built-in adoption of emerging technologies like AI and machine learning.
  • A platform that’s always modern, not years behind.

With Sitecore SaaS, companies get a future-proof DXP that evolves with them.

5. Composability Without the Complexity

Composable DXPs promise flexibility, but without the right foundation they can feel overwhelming. Sitecore SaaS makes composability practical:

  • Start with XM Cloud as a core CMS foundation.
  • Add personalization, commerce, or search when ready.
  • Use APIs to integrate best-of-breed tools, without losing control.

This approach ensures organizations adopt what they need, when they need it without the complexity of managing multiple disconnected systems.

Why it Matters

Companies aren’t moving to Sitecore SaaS just to keep up with technology. They’re moving because it makes their organizations more agile, efficient, and competitive. SaaS with Sitecore means simpler operations, faster launches, continuous innovation, and a platform that grows alongside your business.

]]>
https://blogs.perficient.com/2025/08/27/5-reasons-companies-are-choosing-sitecore-saas/feed/ 0 386630
Sitecore’s Content SDK: Everything You Need to Know https://blogs.perficient.com/2025/08/19/sitecore-content-sdk-everything-you-need-to-know/ https://blogs.perficient.com/2025/08/19/sitecore-content-sdk-everything-you-need-to-know/#respond Tue, 19 Aug 2025 14:42:00 +0000 https://blogs.perficient.com/?p=385940

What is the Content SDK?

If you’re familiar with Sitecore’s JSS SDK and have been building sites using it, you may be wondering why Sitecore has released a new SDK — the Content SDK. Why do we need it, and how does it differ from JSS?

Think of it like this:  Can you play football wearing regular sports shoes?

Football Shoes Vs Sneakers

Sure, you can! But would you want to? Probably not—unless you have no other option. Regular sports shoes aren’t designed for the grip and support needed on a football field. You’d likely prefer wearing football cleats (studs) that provide better traction and stability during the game.

Similarly, JSS was designed to support Sitecore’s headless implementation and could be used for XM and XP topologies. JSS was first released with Sitecore 9.1, and since then, it has evolved through multiple versions, up to version 22 as of this writing. However, with the launch of Sitecore XM Cloud, Sitecore continued to rely on JSS — until now.

Now, Sitecore has introduced Content SDK, which is specifically tailored to work with XM Cloud.

Features at a Glance

Easy Front-End Integration

The SDK comes with a ready-to-use Next.js starter project so you can quickly connect your app to Sitecore without setting up everything from scratch. It works well with server-side rendering (SSR) and static site generation (SSG), giving you flexibility in how you build your pages.

Personalization & Testing Built In

You can show different content versions (A/B/n testing) or customize pages for different audience segments—like changing banners based on language, or time zone—without writing a ton of extra code.

Multi-Site Management

If your company runs more than one website, the SDK supports multi-site setups so you can manage them all from a single XM Cloud environment.

Simple Content Fetching

It includes GraphQL APIs that make it easy to get: Page Layouts, Dictionary, Sitemap, and Error pages. All of this comes through one central SitecoreClient, so you don’t have to deal with multiple data sources.

Analytics & Tracking

The SDK has hooks for tracking page views, clicks, and other events—helping you connect content performance data back into Sitecore’s analytics tools.

Developer-Friendly Setup

Registering a component with Component Map, integrating custom middleware actions with defineMiddleware, and renaming a lot of entities to a simple and readable format.

Official Repo – https://github.com/Sitecore/content-sdk/tree/v1.0.0

Key Differences Between JSS and Content SDK

JSS also offers some of the features listed above. So, where does Content SDK stand out? Let’s find out.

FeatureJSSContent SDK
SupportXM, XP, XM CloudXM Cloud only
Editor SupportExperience Editor, Page BuilderPage Builder
Complexity and SizingMore than Content SDKLesser

So, What Should I Do Now?

Let’s clear up any confusion:

  • You’re not using XM Cloud?’
    • The new SDK is not for you.
  • You’re using XM Cloud with JSS?
  • You’re starting with a new XM Cloud implementation?
    • It is recommended to use the Content SDK, but it’s not mandatory. If you prefer regular sports shoes over cleats, your choice!

Final Thoughts

To clarify, it’s not mandatory to switch to Content SDK right now. While it’s recommended for XM Cloud setups, if you’re using a non-XM Cloud setup, you should continue with JSS.

Still unsure about what’s best for your setup? Reach out to Perficient, a Sitecore Platinum Partner, for expert guidance on how to best implement Sitecore’s tools for your needs.

]]>
https://blogs.perficient.com/2025/08/19/sitecore-content-sdk-everything-you-need-to-know/feed/ 0 385940
Managing Projects in Sitecore Stream: From Brainstorm to Delivery https://blogs.perficient.com/2025/08/11/sitecore-stream-project-management/ https://blogs.perficient.com/2025/08/11/sitecore-stream-project-management/#respond Mon, 11 Aug 2025 17:17:41 +0000 https://blogs.perficient.com/?p=385960

In earlier blogs – Why AI-Led Experiences Are the Future — And How Sitecore Stream Delivers Them and Creating a Brand Kit in Stream: Why It Matters and How It helps Organizations, I tried to explore what Sitecore Stream is, how it powers AI-led content management, and how features like Brand Kit and Assist streamline your creative process. Those were all about content creation and brand consistency.

But here’s the next big leap:

Imagine this: You’re enhancing your website, launching a new campaign, or rolling out a promotional activity — and you can plan, manage, and execute it all without ever leaving Sitecore portal. No switching between tools. No messy integrations. No lost time.

With AI seamlessly integrated into project creation and management, Sitecore Stream becomes more than just a workspace — it becomes your smart workspace. From automatically generating project outlines, suggesting tasks, and assigning responsibilities, to tracking progress and flagging risks, AI acts as your proactive co-pilot every step of the way.

Here’s what that means for you:
  • One Unified Platform – Content, creative assets, AI planning, project tracking — all in one place.
  • Smarter, Faster Execution – AI recommendations help you plan and launch in record time.
  • Team Alignment Without the Chaos – Everyone works in the same environment, with instant visibility into priorities and progress.
  • Eliminate Context Switching – Stay focused by keeping everything connected inside Sitecore Stream.
From the very first spark of an idea, through collaboration, task assignment, progress tracking, and final delivery, Sitecore Stream is the complete command center for your digital initiatives.
Whether it’s a small content update or a large-scale global campaign, you get everything you need — and AI ensures you’re always moving faster, smarter, and more efficiently.
Why settle for just project management, when you can have intelligent project management, fully integrated into your digital experience platform?

 

Why Manage Projects in Sitecore Stream?

Traditional workflows often mean hopping between:

  • A PM tool for scheduling and tasks
  • A content platform for asset creation
  • A chat app for collaboration

With Sitecore Stream, you get:

  • A centralized workspace to create and manage projects
  • Built-in AI to help suggest deliverables and tasks
  • Direct Sitecore product actions (e.g., linking straight into XM Cloud or Personalize or CDP)
  • Multiple visual views (List, Kanban, Timeline, Funnel) for different working styles
  • Integrated file storage for creative assets and documents

 

Let’s walk through the steps to create and manage your first project in Sitecore Stream.

Creating Your First Project — Step-by-Step

1. Check Permissions

To create projects, you need:

  • Admin app role in Stream, or
  • Org Admin / Owner in Sitecore Cloud Portal

If you don’t have these permissions, request them from your Sitecore Cloud admin.

 

2. Create the Project

  • Navigate to Projects → Create project
  • Fill in:
    • Project name
    • Start and End dates (the UI will calculate total days)
    • Brand Kit – link directly to your approved assets
    • Labels – for easy filtering
    • Thumbnail – for quick visual recognition
  • Click Save to open your Project Details page

Tip: If you have a Brand Kit, always link it when creating a campaign — it keeps every deliverable aligned with approved brand standards.

New Project

 

3. Add Team Members

  • Admins can invite members directly or approve/reject access requests.
  • Keep project access restricted to relevant stakeholders to reduce noise and maintain focus.
  • Click on +(Plus) icon on top right corner to add new team member

Add Members

 

Add Deliverables – Turning Ideas into Action:

Deliverables are the big-ticket outputs your project needs – the stepping stones between concept and execution.

Manual Creation

From the Project Details -> List tab:

  • Click Add deliverable
  • Enter:
    • Name
    • Due date
    • Funnel stage (Top, Middle, Bottom)
    • Funnel tactic (predefined or custom)
    • Labels (optional)
  • Save

AI-Powered Creation

As Sitecore stream is AI packed, its helps you in every step from brainstorming to executions, Use Suggest deliverables with AI:

  • Stream analyzes your project name and description
  • Add a prompt for more context for creating deliverable. Ex: In below screenshot, I have given context to create deliverable to add campaign and stream has generated deliverables.
  • AI proposes deliverables across funnel stages
    – Pick, refine, or regenerate until it fits your plan

Deliverables

Breaking It Down Further: Tasks

Tasks are the day-to-day actions needed to complete each deliverable.

Manual Task Creation

Under a deliverable in the List tab:

  • Click Add task
  • Give it a name and save
  • Open the task pane to set:
    • Labels
    • Status (Not started / In progress / Done)
    • Start & end dates (Stream shows remaining days)
    • Assignee
    • Priority (High / Medium / Low)
    • Description
    • Attachments (DOCX, PDF, PNG, JPG)
    • Dependencies
    • Actions (predefined calls into Sitecore products)

AI-Powered Task Suggestions

  • Click Suggest tasks with AI under a deliverable
  • AI proposes tasks — you can save, edit, or remove as needed

Tasks

Linking Sitecore Actions

You can add Sitecore actions to a task — e.g., a button to create an specific item in XM Cloud. This bridges planning and doing in one click.  You can add action for sitecore products like Personalize, CDP, XMcloud, once you choose resource, you can select action to be performed in the products.

Actions To Diff Product

Actions

Working Your Way: Multiple Views

Different teams prefer different ways of visualizing work. Sitecore Stream gives you five interactive views:

1. List View (Default)

  • Hierarchical view of deliverables and tasks
  • Best for editing, filtering, and using AI suggestions

2. Kanban View

  • Drag task cards between statuses
  • Perfect for daily standups and quick progress tracking
  • Expand/collapse deliverables for focus

3. Timeline View (Gantt-Style)

  • Visualize start/end dates, durations, and dependencies
  • Drag-and-drop to adjust schedules
  • Switch between Day/Week/Month/Quarter for planning at different levels

Timeline

4. Funnel View

  • Organize deliverables into Top, Middle, Bottom stages
  • See funnel coverage at a glance
  • Drag between stages to reassign

Funnel

5. Attachments View

  • Centralized file repository for your project
  • Search, preview, filter, and download creative assets

 

The Value of Stream’s Orchestration

Sitecore Stream doesn’t just bolt project management onto a content tool — it blends them into a single marketing execution hub. The benefits are tangible:

  • No context switching between PM tools and content platforms
  • AI assistance for faster planning
  • Visual views for different work styles
  • Integrated Sitecore actions to reduce clicks and friction
  • Built-in asset management for projects

When your campaign planning, creative production, and execution all live in one system, your team can move faster and with more confidence that nothing is falling through the cracks.

Sitecore Stream moves marketing orchestration into the same ecosystem as content and product tools. You’ll gain a unified space for ideation, execution, and optimization — keeping strategy, tasks, and assets aligned from start to finish.

That combination cuts down context switches, lesser dependencies, AI help for ideation, speeds campaigns, and makes funnel coverage and task ownership visible at a glance. If you already use Sitecore products, the integrated actions are particularly time-saving.

]]>
https://blogs.perficient.com/2025/08/11/sitecore-stream-project-management/feed/ 0 385960
Deconstructing the Request Lifecycle in Sitecore Headless (with a JSS + Next.js Deep Dive) https://blogs.perficient.com/2025/07/31/deconstructing-the-request-lifecycle-in-sitecore-headless-with-a-jss-next-js-deep-dive/ https://blogs.perficient.com/2025/07/31/deconstructing-the-request-lifecycle-in-sitecore-headless-with-a-jss-next-js-deep-dive/#respond Thu, 31 Jul 2025 17:48:34 +0000 https://blogs.perficient.com/?p=385650

In the era of traditional Sitecore MVC, the rendering lifecycle was tightly coupled to the Sitecore server. HTML generation, content retrieval, and presentation logic were all orchestrated within a single monolithic application. With the advent of headless architectures built using Sitecore JSS and platforms like XM Cloud, this paradigm has significantly shifted. Rendering responsibilities now move to decoupled frontend applications, enabling greater flexibility, scalability, and performance.

The responsibility for rendering has been decoupled and offloaded to a dedicated front-end application (e.g., React, Next.js, Vue.js), transforming Sitecore into a highly optimized content and layout delivery platform via robust APIs. For developers building Sitecore headless applications, a profound understanding of how a request traverses from the browser, through the front-end rendering host, interacts with Sitecore, and ultimately returns a rendered page, is paramount. This intricate knowledge forms the bedrock for effective debugging and advanced performance optimization.

This blog post will meticulously breaks down:

  • The generalized request processing flow in Sitecore headless applications.
  • The specific instantiation of this flow within JSS applications built leveraging the Next.js framework.
  • Debugging tips.

Sitecore XM Cloud and other headless Sitecore setups embody the principle of separation of concerns, decoupling content management from presentation logic. Rather than Sitecore generating the final HTML markup, your front-end rendering application (React/Next.js) dynamically fetches content and layout data via API endpoints and orchestrates the rendering process, whether client-side or server-side. Comprehending this architectural decoupling is critical for engineering performant, scalable, flexible, and personalized digital experiences.

The General Request Flow in Sitecore Headless Architectures

Irrespective of the specific front-end rendering host, the foundational request processing flow in Sitecore headless applications remains consistent:

  1. Client Request Initiation: A user initiates a request by navigating to a specific URL (e.g., https://www.example.com/about) in their web browser. This request is directed towards your front-end rendering host.
  2. Front-end Rendering Host Interception: The front-end rendering host (e.g. a Next.js application deployed on Vercel, or Netlify) receives the incoming HTTP request.
  3. Data Fetching from Sitecore: The rendering host, acting as a data orchestrator, makes an API call to Sitecore to retrieve the necessary page layout and content data. This can occur via two primary mechanisms:
    • Sitecore Layout Service : A traditional RESTful endpoint that delivers a comprehensive JSON representation of the page’s layout, components, and associated field values. This service is part of the Sitecore Headless Services module.
    • Sitecore Experience Edge GraphQL API: A more flexible and performant GraphQL endpoint that allows for precise data querying. This is the preferred mechanism for XM Cloud-native applications, providing a single endpoint for diverse data retrieval.  Critical parameters passed in this request typically include route (the requested URL path), sc_lang (the desired content language), sc_site (the target Sitecore site definition), and potentially additional context parameters for personalization or A/B testing.
  4. Sitecore Route and Context Resolution: Upon receiving the data request, the following server-side operations are performed:
    • Item Resolution: It resolves the incoming route parameter to a specific Sitecore content item within the content tree, based on defined route configurations (e.g., sitecore/content/MyTenant/MySite/About).
    • Context Establishment: It establishes the current request context, including the site, language, and user session, personalized page variant.
    • Layout Computation: Based on the resolved item and evaluated personalization, Sitecore computes the final page layout, including the arrangement of renderings within placeholders and the specific data sources for each component.
  5. Sitecore Response Generation: A structured JSON payload is returned to the rendering host. This payload typically includes:
    • Layout Metadata: Information about the overall page structure, placeholder definitions, and associated rendering components.
    • Component Data: For each component on the page, its type (e.g., “Hero”, “RichText”), its associated data source item ID (if applicable), and all serialized field values (e.g., Title, Body, Image).
  6. Front-end Rendering: The rendering host receives the JSON payload and, using its component factory (a mapping between Sitecore component names and UI component implementations), dynamically constructs the HTML for the requested page.
    • Component Mapping: Each JSON-defined component type is mapped to its corresponding React/Next.js UI component.
    • Data Binding: The serialized field values from the JSON are passed as props to the UI components.
    • Placeholder Resolution: The rendering host iterates through the placeholder definitions in the JSON, rendering child components into their designated placeholder regions.
    • Client-side Hydration: For server-rendered applications (SSR/SSG), the initial HTML is sent to the browser, where React then “hydrates” it, attaching event listeners and making the page interactive.
    • Post-render Actions: Any client-side personalization or analytics integration (e.g., Sitecore Personalize Engage SDK) may occur after the initial page render.

Key takeaway: In a headless setup, Sitecore acts as the intelligent provider of content and layout data via APIs, while the front-end application takes full ownership of rendering the final HTML and handling all user interface interactions.

Deep Dive: Request Lifecycle in JSS + Next.js Applications

The general headless flow finds its specific implementation within a JSS application leveraging the Next.js framework, benefiting from Next.js’s powerful data fetching and rendering capabilities. We’ll focus specifically on Server-Side Rendering (SSR) here, while a separate post will cover Static Site Generation (SSG) and Incremental Static Regeneration (ISR).

1. User Request Initiation

A user navigates to a specific route, such as /products, initiating an HTTP GET request directed to your deployed Next.js application, which acts as the unified rendering endpoint.

2. Next.js Middleware and Sitecore Add-on Integration (Edge-Based Execution)

If implemented, the middleware.ts file in your Next.js application executes at the Edge (close to the user) before the request even reaches your application’s pages. This provides an opportune moment for early request manipulation and context enrichment:

  • Authentication & Authorization: Redirecting unauthorized users or validating session tokens.
  • Request Rewrites & Redirects: URL transformations based on dynamic conditions.
  • Header Manipulation: Injecting custom headers or modifying existing ones.
  • Contextual Data Injection: Reading user-specific cookies, geolocation data, and potentially passing this context to downstream services via HTTP headers.

This middleware layer is where Sitecore XMCJSS Next.js add-ons particularly shine, streamlining complex Sitecore-specific functionalities.

2.1 Sitecore JSS Next.js Add-ons: Extending Middleware Capabilities

Sitecore provides specialized add-ons for JSS Next.js applications that are designed to integrate seamlessly with Next.js middleware, enhancing data fetching and other critical functionalities at the Edge. These add-ons abstract away much of the boilerplate code, allowing developers to focus on business logic.

Key add-ons relevant to the request lifecycle and that are compatible with XM Cloud are:

  • SXA (nextjs-sxa):
    • Includes example components and the setup for Headless SXA projects.
  • Next.js Multisite Add-on (nextjs-multisite):
    • Enables a single Next.js rendering host to serve multiple Sitecore sites.
    • Leverages middleware to resolve the correct Sitecore site (sc_site parameter) based on the incoming request’s hostname, path, or other routing rules. This ensures the correct site context is passed to the Layout Service or GraphQL calls.
    • Often uses a GraphQLSiteInfoService to fetch site definitions from Sitecore Experience Edge at build time or runtime.
  • Next.js Personalize Add-on (nextjs-personalize):
    • Integrates with Sitecore Personalize (formerly Boxever/CDP) for advanced client-side personalization and experimentation.
    • Its core component, the PersonalizeMiddleware, is designed to run at the Edge.
    • The PersonalizeMiddleware makes a call to Sitecore Experience Edge to fetch personalization information (e.g., page variants).
    • It then interacts with the Sitecore CDP endpoint using the request context to determine the appropriate page variant for the current visitor.
    • Crucially, if a personalized variant is identified, the middleware can perform a rewrite of the request path (e.g., to /_variantId_<variantId>/<original-path>). This personalized rewrite path is then read by the Next.js app to manipulate the layout and feed into client-side Page View events. This allows client-side logic to render the specific personalized content.
    • Also includes a Page Props Factory plugin to simplify data retrieval for personalized content.

These add-ons are included in your application when you create a Next.js project with the JSS initializer script, you can include multiple add-ons in your application. In addition to the above add-ons, you also get middleware plugin  redirects.ts that supports and enables redirects defined in Sitecore.

3. Next.js Server-Side Rendering (SSR) via getServerSideProps

JSS Next.js apps commonly employ a catch-all route (e.g., pages/[[...path]].tsx) to dynamically handle arbitrary Sitecore content paths. The getServerSideProps function, executed on the rendering host server for each request, is the primary mechanism for fetching the Sitecore layout data.

While Sitecore add-ons in middleware can pre-fetch data, getServerSideProps remains a critical point, especially if you’re not fully relying on middleware for all data, or if you need to merge data from multiple sources. The layoutData fetched here will already reflect any server-side personalization applied by Sitecore based on context passed from middleware.

4. Sitecore Layout Service / Experience Edge GraphQL Processing

Upon receiving the data fetch request from the Next.js application, Sitecore’s backend performs a series of crucial operations as mentioned earlier – resolves the route, evaluates the context (such as language, site, and device), and assembles the appropriate renderings based on the presentation details. It then serializes this information – comprising route-level fields, component content, placeholder hierarchy, and any server-side personalization – into a structured JSON or GraphQL response. This response is returned to the rendering host, enabling the front-end application to construct the final HTML output using the data provided by Sitecore.

5. Rendering with the JSS Component Factory

Upon receiving the layoutData JSON, the JSS Next.js application initiates the client-side (or server-side during SSR) rendering process using its component factory. This factory is a crucial mapping mechanism that links Sitecore component names (as defined in the componentName field in the Layout Service JSON) to their corresponding React UI component implementations.

6. HTML Response to Browser

Next.js completes the server-side rendering process, transforming the React component tree into a fully formed HTML string. This HTML, along with any necessary CSS and JavaScript assets, is then sent as the HTTP response to the user’s browser. If personalization rules were applied by Sitecore, the returned HTML will reflect the specific component variants or content delivered for that particular user.

7. Client-Side Hydration

Once the browser receives the HTML, React takes over on the client-side, “hydrating” the static HTML by attaching event listeners and making the page interactive. This ensures a seamless transition from a server-rendered page to a fully client-side interactive single-page application (SPA).

 Debugging Tips for Sitecore JSS Applications

When working with Sitecore JSS applications, in headless setups, debugging can be a crucial part of development and troubleshooting when components fail to render as expected, personalization rules seem to misfire, or data appears incorrect.

1. Enable Debug Logs in the JSS App

JSS uses a logging mechanism based on debug – a npm debugging module. The module provides a debug() function, which works like an enhanced version of console.log(). Unlike console.log, you don’t need to remove or comment out debug() statements in production – you can simply toggle them on or off using environment variables whenever needed.

To activate detailed logs for specific parts of your JSS app, set the DEBUG environment variable.

  1. To output all debug logs available, set the DEBUG environment variable to sitecore-jss:*. The asterisk (*) is used as a wildcard. DEBUG=sitecore-jss:*
  2. To filter out and display log messages from specific categories, such as those related to the Layout Service, set the variable like so  DEBUG=sitecore-jss:layout
  3. To exclude logs of specific categories use - prefix: DEBUG=sitecore-jss:*,-sitecore-jss:layout

Please refer to this document to get details of all the available debug logging.

2. Use Browser DevTools to Inspect Logs

If your app runs client-side, and the debug package is configured, JSS logs will appear in the browser console.

To enable this manually in the browser, set this in the browser console:

localStorage.debug = 'jss:*';

Then refresh the page. You’ll start seeing logs for:

  • Layout service requests

  • Component-level rendering

  • Data fetching and personalization events

3. Leveraging Server-Side Logging within Next.js

Next.js’s server-side data fetching functions (getServerSideProps, getStaticProps) provide excellent points for detailed logging. Add console.log statements within your getServerSideProps or getStaticProps functions to get more details of the request and its data. When deployed to platforms like Vercel, or Netlify, these console.log statements will appear in your serverless function logs (e.g., Vercel Function Logs).

Additionally, when deploying your Sitecore headless application on Vercel, you can leverage Vercel’s built-in request logging and observability features. These tools allow you to track incoming requests, inspect headers, view response times, and monitor serverless function executions. This visibility can be especially helpful when debugging issues related to routing, personalization, or data fetching from the Layout Service or other backend APIs.

Wrapping It All Up: Why This Matters

Understanding how requests are processed in Sitecore Headless applications – especially when using JSS with Next.js – gives developers a strong foundation for building high-performing and maintainable solutions. By grasping the complete request lifecycle, from incoming requests to Layout Service responses and component rendering, you gain the clarity needed to architect more efficient and scalable applications. Coupled with effective debugging techniques and observability tools, this knowledge enables you to identify bottlenecks, troubleshoot issues faster, and deliver seamless user experiences. With Sitecore’s architecture already embracing composable and headless paradigms, understanding these fundamentals is essential for developers looking to build modern, future-ready digital experiences.

]]>
https://blogs.perficient.com/2025/07/31/deconstructing-the-request-lifecycle-in-sitecore-headless-with-a-jss-next-js-deep-dive/feed/ 0 385650
Sitecore Forms: Spam Prevention Tips https://blogs.perficient.com/2025/07/30/sitecore-forms-spam-prevention-tips/ https://blogs.perficient.com/2025/07/30/sitecore-forms-spam-prevention-tips/#respond Wed, 30 Jul 2025 05:19:06 +0000 https://blogs.perficient.com/?p=384959

Forms are an essential part of any website, enabling visitors to get in touch, subscribe, or request information. But when spam bots flood your Sitecore forms with junk submissions, it can quickly become a problem, messing with your data, wasting resources, and making genuine leads harder to manage. In this post, we’ll explore practical and effective tips to keep our Sitecore forms protected from spam, helping us maintain clean data and a smoother user experience.

Why Spam Submissions Are a Problem in Sitecore Forms

Spam submissions aren’t just annoying—they can seriously impact our website’s performance and team’s productivity. When bots flood your forms with fake data, it becomes harder to identify genuine leads, analyse user feedback, or maintain clean records. Over time, this can lead to wasted time sifting through irrelevant submissions and even affect your marketing and sales efforts.

Common reasons why spam happens in Sitecore forms include:

  • Bots targeting publicly accessible forms.
  • Lack of proper validation or verification on form fields.
  • Forms without anti-spam mechanisms like CAPTCHA or honeypots.

Understanding these causes helps us implement the right solutions to keep our Sitecore forms secure and reliable.

To prevent spam form submissions in Sitecore, multiple approaches can be implemented. These include utilizing Sitecore’s native robot detection features, integrating CAPTCHAs to check for human users, applying anti-forgery tokens to secure forms against automated attacks, and adding honeypot fields to catch and block bots. Combining these techniques helps ensure robust protection against spam.

Here’s a breakdown of the techniques

1. Sitecore’s Built-in Robot Detection

  • Sitecore Forms offers a built-in “Robot detection” feature that can be enabled or disabled.
  • This feature is found within the Form elements pane, on the Settings tab.
  • Enabling “Robot detection” in Sitecore automatically identifies and blocks automated form submissions, reducing spam and ensuring valid entries.

Robotdetection

2. Implementing CAPTCHA

  • Google reCAPTCHA is a common and effective method to prevent spam.
  • They require users to complete a challenge (e.g., selecting images, solving puzzles) that is easy for humans but difficult for bots.
  • Sitecore supports the integration of reCAPTCHA into forms to help prevent automated spam submissions.
  • To implement, you’ll need to obtain API keys (Site Key and Secret Key) from Google and configure them within your Sitecore instance.

3. Using Honeypot Fields

  • Honeypots are hidden fields on the form that are invisible to human users but are filled out by bots.
  • Submissions containing data in the honeypot field are blocked, as this is a clear sign of bot activity and helps prevent spam.
  • This technique involves adding an extra field (e.g., type=”text” or input) to the form and hiding it using CSS.
  • The server-side code then checks if this field is populated during form submission.
  • Read a full implementation guide here.

4. Anti-forgery tokens

  • Sitecore includes a built-in anti-forgery feature designed to help protect web applications from Cross-Site Request Forgery (CSRF) attacks. This security mechanism ensures that form submissions come from authenticated and trusted sources by validating anti-forgery tokens. These tokens are automatically generated and validated by Sitecore, with the ASP.NET anti-forgery framework, providing developers with a simple and integrated way to secure forms and user interactions without extensive manual configuration.
  • You can verify anti-forgery configuration settings in /sitecore/admin/showconfig.aspx.

Antiforgerytoken

5. Server-Side Validation and Other Considerations

  • Validate all inputs: Make sure that all mandatory fields are validated on both the client and server sides.
  • Implement timeout checks: Track the time taken for form submission and flag submissions that occur too quickly as potential spam.
  • Consider custom solutions: Explore custom code or third-party modules that offer advanced spam detection and prevention techniques.
  • Regularly review submissions: Track form submissions for irregular patterns to detect potential spam sources.
  • Keep your contact lists clean: Regularly remove invalid email addresses and inactive users from your contact lists to minimize spam.

Conclusion

By combining these techniques, you can significantly reduce the amount of spam submissions reaching your Sitecore forms, improving the overall health and efficiency of your website and contact lists.

 

]]>
https://blogs.perficient.com/2025/07/30/sitecore-forms-spam-prevention-tips/feed/ 0 384959
Optimize Sitecore Docker Instance: Increase Memory Limits https://blogs.perficient.com/2025/07/28/optimize-sitecore-docker-instance-increase-memory/ https://blogs.perficient.com/2025/07/28/optimize-sitecore-docker-instance-increase-memory/#respond Mon, 28 Jul 2025 07:39:39 +0000 https://blogs.perficient.com/?p=384666

Running a Sitecore Docker instance is a game-changer for developers. It streamlines deployments, accelerates local setup, and ensures consistency across environments. However, performance can suffer – even on high-end laptops – if Docker resources aren’t properly optimized, especially after a hardware upgrade.

I recently faced this exact issue. My Sitecore XP0 instance, running on Docker, became noticeably sluggish after I upgraded my laptop. Pages loaded slowly, publishing dragged on forever, and SQL queries timed out.

The good news? The fix was surprisingly simple: allocate more memory to the proper containers using docker-compose.override.yml

What Went Wrong?

After the upgrade, I noticed:

  • The Content Management (CM) UI was lagging.
  • Publishing and indexing took ages.
  • SQL queries and Sitecore services kept timing out.

At first, this was puzzling because my new laptop had better specs. However, I then realized that Docker was still running with outdated memory limits for containers. By default, these limits are often too low for heavy workloads, such as Sitecore.

Root Cause

Docker containers run with memory constraints either from:

  • docker-compose.override.yml
  • Docker Desktop global settings

When memory is too low, Sitecore roles such as CM and MSSQL can’t perform optimally. They need significant RAM for caching, pipelines, and database operations.

The Solution: Increase Memory in docker-compose.override.yml

To fix the issue, I updated the memory allocation for key containers (mssql and cm) in the docker-compose.override.yml file.

Here’s what I did:

Before

mssql: 
 mem_limit: 2G

After

mssql:
  mem_limit: 4GB

cm:
  image: ${REGISTRY}${COMPOSE_PROJECT_NAME}-xp0-cm:${VERSION:-latest}
  build:
    context: ./build/cm
    args:
      BASE_IMAGE: ${SITECORE_DOCKER_REGISTRY}sitecore-xp0-cm:${SITECORE_VERSION}
      SPE_IMAGE: ${SITECORE_MODULE_REGISTRY}sitecore-spe-assets:${SPE_VERSION}
      SXA_IMAGE: ${SITECORE_MODULE_REGISTRY}sitecore-sxa-xp1-assets:${SXA_VERSION}
      TOOLING_IMAGE: ${SITECORE_TOOLS_REGISTRY}sitecore-docker-tools-assets:${TOOLS_VERSION}
      SOLUTION_IMAGE: ${REGISTRY}${COMPOSE_PROJECT_NAME}-solution:${VERSION:-latest}
      HORIZON_RESOURCES_IMAGE: ${SITECORE_MODULE_REGISTRY}horizon-integration-xp0-assets:${HORIZON_ASSET_VERSION}
  depends_on:
    - solution
  mem_limit: 8GB
  volumes:
    - ${LOCAL_DEPLOY_PATH}\platform:C:\deploy
    - ${LOCAL_DATA_PATH}\cm:C:\inetpub\wwwroot\App_Data\logs
    - ${HOST_LICENSE_FOLDER}:c:\license
    - ${LOCAL_ITEM_PATH}:c:\items-mounted

How to Apply the Changes

  1. Open docker-compose.override.yml.
  2. Locate the mssql and cm services.
  3. Update or add the mem_limit property:
    • mssql → 4GB
    • cm → 8GB
  4. Rebuild containers:
    
    docker compose down
    docker compose up --build -d
  1. Check updated limits:
  docker stats

Impact After Change

After increasing memory:

  • CM dashboard loaded significantly faster.
  • Publishing operations completed in less time.
  • SQL queries executed smoothly without timeouts.

Why It Works

Sitecore roles (especially CM) and SQL Server are memory-hungry. If Docker allocates too little memory:

  • Containers start swapping.
  • Performance tanks.
  • Operations fail under load.

By increasing memory:

  • CM handles ASP.NET, Sitecore pipelines, and caching more efficiently.
  • SQL Server caches queries better and reduces disk I/O.

Pro Tips

  • Ensure Docker Desktop or Docker Engine is configured with enough memory globally.
  • Avoid setting memory limits too high if your laptop has limited RAM.
  • If using multiple Sitecore roles, adjust memory allocation proportionally.

Final Thoughts

A simple tweak in docker-compose.override.yml can drastically improve your Sitecore Docker instance performance. If your Sitecore CM is sluggish or SQL queries are slow, try increasing the memory limit for critical containers.

]]>
https://blogs.perficient.com/2025/07/28/optimize-sitecore-docker-instance-increase-memory/feed/ 0 384666