Friday, October 30, 2026

Sitecore XP certificate update

Changing the xDB Certificate on Sitecore 10 XP (Azure PaaS)

Rotating certificates in a distributed enterprise CMS environment like Sitecore XP on Azure PaaS takes quite some steps. Maybe this can be automized, maybe not...  I just know we never did as this only happens very often. But when it does, whether you are dealing with an upcoming certificate expiration  date or a mandatory security rotation, missing even a single configuration file or setting will cause xDB communication to fail.

In a Sitecore xDB setup, services talk to each other securely over https using certificate thumbprints. If you miss a role, update the wrong configuration file, or forget to update  the website_load_certificates environment variable, the App Service won't be able to access the certificate. Communication will fail and errors will occur.

Certificate errors

Roles like Content Management (CM) or Content Delivery (CD) will fail to communicate securely with xDB Collection, Reference Data, or Marketing Automation services. Your visitors might not notice as the website will probably be still running, but visitors' interaction data will fail to be recorded or processed, leading to faulty analytics dashboards and broken visitor profiles.

However, if you check your logs (Application Insights and/or Sitecore log files) you will quickly notice a flood of messages like: 

  • "X509Certificate" exceptions
  • "The certificate with thumbprint [...] could not be found"
  • "A call was made on a closed Stream"...
  • ...
I can assure you you don't want this. But almost every "Sitecore developer" has bumped into a certificate error at least once. The problem is that the error not always tells you exactly what and where is wrong - you just know it's a certificate issue.

Checklist

To make life easier for my team and anyone else tackling this task, I’ve put together this checklist for updating the xDB communication certificate on a Sitecore 10 XP Azure PaaS setup. Note that this is a checklist for one of our setups. Other setups might (probably will) need  some adjusting - not in the locations as such but mainly on the environments as you can have more servers, slots and so on. The main idea however will stay the same: make sure not to forget any location on any environment. 

Prerequisites / Global Setup

First of all, you'll need to install the new certificate into your Azure App Service Certificate store and/or Key Vault.

At the end (once everything is switched, restarted and verified) remove the old certificate. This might seem unnecessary but it isn't.  Just make sure everything is tested before you do so.


Role-by-Role Update Checklist

Connectionstrings

When we talk about updating connectionstring note that this can be on several locations. Well, each app will have them one one location but it can be different for each solution and even within a solution it can be different for the various apps. The options are:
  • in Azure in the KeyVault - referenced in the App environment variables : in this case you need to update the value in the vault and make sure the app is restarted
  • in Azure in the App service environment variables connection strings section : use the bulk edit - in this case the edits will trigger a restart
  • a connectionstrings.config file in the app_config : this is the default in the Sitecore setup but normally on apps where you desploy your own code this should not be used

1. Content Management (CM)

  • Update the certificate thumbprint in your connection strings. This might trigger an App Service restart - depending on the location.
  • Update the `WEBSITE_LOAD_CERTIFICATES` app environment variable with the new thumbprint.
    Without this, the App Service won't mount the certificate into the local machine store, resulting in "certificate not found" errors so it's rather crucial.
  • If the certificate is also used for SSL, bind the certificate to the CM App Service
  • Restart.

2. Content Delivery (CD)

  • Update the certificate thumbprint in the connection strings.
  • Update the thumbprint on `WEBSITE_LOAD_CERTIFICATES`. 
  • Assign the SSL certificate for each custom domain that uses this certificate bound to the CD instances (restarts).
  • In case you have one or more deployment slots: don't forget to repeat all the steps above for your each slot. Not all might be needed, but check to be sure.
  • Restart (all needed slots)

3. Experience Analytics / Collection (XC-collect)

  • Update validateCertificateThumbprint in AppSettings.config in the App_Config folder
  • Restart

4. Experience Analytics / Reference Data (XC-RefData)

  • Update validateCertificateThumbprint in AppSettings.config.
  • Restart

5. Marketing Automation Operations (MA-Ops)

  • Update validateCertificateThumbprint in AppSettings.config.
  • Update the certificates in ConnectionStrings.config.
  • Update the thumbprint on WEBSITE_LOAD_CERTIFICATES in the environment variables.
  • Update the certificates in the connectionstrings.config of the automation job in App_Data\jobs\continuous\AutomationEngine\App_Config
  • Restart

6. Marketing Automation Reporting (MA-Rep)

  • Update validateCertificateThumbprint in AppSettings.config.
  • Update the thumbprint on WEBSITE_LOAD_CERTIFICATES.
  • Restart

7. Processing (PRC)

  • Update the thumbprint on WEBSITE_LOAD_CERTIFICATES.
  • Update the thumbprint in the connection strings.
  • Restart

8. Experience Analytics Search (XC-Search)

  • Update validateCertificateThumbprint in AppSettings.config.
  • Restart

9. Sitecore Identity Server (IS)

  • Update the thumbprint in wwwroot\Config\production\Sitecore.IdentityServer.Host.xml.
  • Update the thumbprint on WEBSITE_LOAD_CERTIFICATES. 
  • Restart

10. Cortex Reporting (Cortex-Rep)

  • Update the thumbprint on  WEBSITE_LOAD_CERTIFICATES.
  • Update validateCertificateThumbprint in AppSettings.config
  • Update the certificates in the connectionstrings.config for the processing job in App_Data\jobs\continuous\ProcessingEngine\App_Config.
  • Restart


Infrastructure / Code Base Updates (ARM / Bicep / Terraform)

Whatever you are using for deployment, your templates or variable files might include the thumbprint. To make sure your next automated deployment does not overwrite your fixes, update your infrastructure-as-code files.

  • Update the thumbprints in your setup templates (`environmentsettings.json`).
  • Replace the physical certificate file/reference in your repository if stored or referenced directly.


Post-Update Verification Checklist

Once all roles have been updated and restarted, check the logs (Application Insights probably) and make sure you do not have any certificate exceptions.

You can also verify the Experience Analytics dashboard in Sitecore to ensure graphs are populating correctly.

Keep an eye on the logs for the next 24h just to be sure...


And then convince your customer to move to SitecoreAI so you do not have to do this again. I know tis is easier said than done - the fact that I am writing blogs on Sitecore XP is the best proof :)


Monday, October 12, 2026

Sitecore SXA resolvedlinks

Sitecore SXA ComputedIndexField: resolvedlinks


A while ago - actually 8 years apparently, time flies... - I wrote an article about Sitecore SXA and the search related features. It included the use of "resolvedlinks".  This is a piece of code that is used by SXA for some ComputedFields in the index, but it can be used for our own use as well. 

A Sitecore "computed index field" lets you inject custom logic to generate and/or transform index data dynamically during the indexing process instead of mapping raw field text directly. This allows you to add a field that is not a direct copy of the content of a field. For the rest it is a normal index field, with all the options for such a field on tokenization and such. 

The idea behind the resolvedLinks implementation is simple. If you have an item that contains a reference field like a Multilist of Treelist , the index will store the guids used in that reference field as that is the raw content. In some cases you do want not the guid but an actual value representing that reference. 

In that old blog I had an example as we used the resolvedLinks to add computed index fields to be used as facets. You do not want to show guids as facets - you want an actual string that defines the referenced item.

I already used it on other places as well when I wanted the data to be available in the index for retrieval to avoid having to fetch the referenced items on each request. Several use cases are possible, but recently we bumped into an issue where it didn't fully match our requirements anymore. 

The issue was quotes. Or other weird characters probably. But definetely quotes. 

Taxonomy information architecture

Actually it comes to down to how we setup things in the first place. We never assumed the editors would be using those characters in page titles and that was our mistake. So the "resolvedLinks" is linked to the title of those pages (as requested by the customer and the analysts as this was the most consistent solution). And that is a bad idea...  so we learned now that we should provide an additional field to enter the name or title to use in the taxonomy. 

But of course, editors are human (for now) and as such lazy.  I know there are options to make sure this field is filled, using a copy of the title if needed and such.  But we also have other options. 

The solution

First of all, we did create the extra field on the items to add an optional taxonomy title. Optional, because if the page title was sufficient that is also ok for us. And this also means all the existing data is also still good - backwards compatibility is important on existing sites with quite a bit of content.

We decided to create our own version of the resolvedLinks, one that supports a fallback field. This way we can attach it to the new taxonomy title field but keep the title field as backup in case the new field is empty.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml;
using Sitecore.ContentSearch;
using Sitecore.ContentSearch.ComputedFields;
using Sitecore.Data;
using Sitecore.Data.Items;
using Sitecore.Globalization;

namespace Foundation.Taxonomy.Index
{
    public class ResolvedLinksWithFallback : AbstractComputedIndexField
    {
        public ResolvedLinksWithFallback()
        {
        }

        public ResolvedLinksWithFallback(XmlNode node) : base(node)
        {
            ContentField = node.Attributes?["contentField"]?.Value;
            FallbackContentField = node.Attributes?["fallbackContentField"]?.Value;
            ReferenceField = node.Attributes?["referenceField"]?.Value;
        }

        public string ContentField { get; set; }

        public string FallbackContentField { get; set; }

        public string ReferenceField { get; set; }

        public override object ComputeFieldValue(IIndexable indexable)
        {
            if (string.IsNullOrEmpty(ReferenceField))
            {
                return null;
            }

            var referencedValues = GetReferencedValuesForField(indexable, ReferenceField);
            return referencedValues != null && referencedValues.Any() ? (object)referencedValues : null;
        }

        protected virtual IEnumerable<string> GetReferencedValuesForField(IIndexable indexable, string fieldName)
        {
            var sourceField = GetSourceField(indexable, fieldName);
            if (sourceField == null)
            {
                return null;
            }

            var ids = GetIds((string)sourceField.Value);
            return !ids.Any() ? null : GetReferencedValues(ids, indexable);
        }

        protected virtual IEnumerable<string> GetReferencedValues(IEnumerable<ID> referencedIds, IIndexable indexable)
        {
            var referencedValues = new List<string>();
            if (!(indexable is SitecoreIndexableItem indexable1))
            {
                return referencedValues;
            }

            var language = Getlanguage(indexable1);
            foreach (ID referencedId in referencedIds)
            {
                var referecedItem = GetReferencedItem(referencedId, indexable1.Item.Database, language);
                if (referecedItem == null)
                {
                    continue;
                }

                var contentValue = !string.IsNullOrEmpty(ContentField) ? GetFieldValue(referecedItem, ContentField) : null;

                if (string.IsNullOrEmpty(contentValue) && !string.IsNullOrEmpty(FallbackContentField))
                {
                    contentValue = GetFieldValue(referecedItem, FallbackContentField);
                }

                if (!string.IsNullOrEmpty(contentValue))
                {
                    referencedValues.Add(contentValue);
                }
            }

            return referencedValues;
        }

        protected virtual string GetFieldValue(Item item, string fieldName) => item.Fields[fieldName]?.Value;

        protected virtual IEnumerable<ID> GetIds(string fieldValue) => fieldValue
            .Split(new char[1] { '|' }, StringSplitOptions.RemoveEmptyEntries)
            .Where(ID.IsID)
            .Select(ID.Parse)
            .ToList();

        protected virtual Language Getlanguage(SitecoreIndexableItem indexable)
        {
            return indexable.Item?.Language;
        }

        protected virtual ID GetId(string id) => ID.IsID(id) ? ID.Parse(id) : null;

        protected virtual IIndexableDataField GetSourceField(IIndexable indexable, string fieldName)
        {
            return indexable.Fields.FirstOrDefault(field => field != null && field.Name.Equals(fieldName, StringComparison.OrdinalIgnoreCase));
        }

        protected virtual Item GetReferencedItem(ID id, Database database, Language language)
        {
            return database.GetItem(id, language);
        }
    }
  }

So with this bit of code we can now also use the resolved links feature with a fallback field, making it backwards compatible for us. Editors can keep on being lazy and fill in just the title - but they can overrule it if wanted and/or needed for the taxonomy to work.

Using the new code is the same as for the out-of-the-box resolvedlinks:

<sitecore>
  <contentSearch>
    <indexConfigurations search:require="solr">
      <defaultSolrIndexConfiguration>
        <documentOptions>
          <fields hint="raw:AddComputedIndexField">
            <field fieldName="F1" type="Sitecore.XA.Foundation.Search.ComputedFields.ResolvedLinks, Sitecore.XA.Foundation.Search" returnType="stringCollection" referenceField="Field1" contentField="title"/>
            <field fieldName="F2" type="Foundation.Taxonomy.Index.ResolvedLinksWithFallback, Foundation.Taxonomy" returnType="stringCollection" referenceField="Field2" contentField="taxonomytitle" fallbackContentField="title"/>
          </fields>
        </documentOptions>
      </defaultSolrIndexConfiguration>
    </indexConfigurations>
  </contentSearch>
</sitecore>

Once you move to SitecoreAI this becomes all obsolete, but for all those still working on Sitecore XM (with SXA - with or without JSS) this is hopefully still useful.


Friday, September 25, 2026

Sitecore SXA metatags

The Sitecore SXA metatags component

A small post on an issue I recently discovered with the SXA metatags component. This is in Sitecore & SXA 10.2 although it might very well be in the later versions as well.

To be honest, I still believe the issue is the content editor - but I have been in the business long enough to realize that sometimes we do have to make our solutions fool-proof.  And I can understand that not all content editors are familiar with all the do's and don't of creating perfect webpages.

So, what is the issue...  some content editors like to use special characters - most of them still harmless... until they decide to start using (double) quotes in the title of a page. This broke the "og:title" and other metatags and the seo monitors went off. 

Of course, they do not fill in the fields for the metatags as that is not really their cup of tea.


Sitecore SXA components - metatags

We are using a few of the out-of-the-box SXA components on the site, and one of them is the metatags component. It worked well for a long time - and still does - but this particular editor managed to break it. 

Adding quotes "" in a text that get injected in a html structure is not a good idea and apparently those characters are not encoded. 

According to another blog I found about non-ascii characters in the metatags, some characters like Japanse and such will be encoded - but not those that make the html invalid. 
 
Anyway, the component is using a view so we could easily intervene with actually just a small change. Not sure if what we did really is the best solution for everyone, but it worked for us and it might work for you as well. 

The view

@functions {
    private static string BuildAttribute(string attribute, string value)
    {
        return (!string.IsNullOrWhiteSpace(value) ? string.Format("{0}=\"{1}\"", attribute, HttpUtility.HtmlAttributeEncode(value)) : string.Empty);
    }
}

This is the new version of the BuildAttribute function inside the view. This is used for all the meta tags in the model so we cover all of them.  The only change is adding HttpUtility.HtmlAttributeEncode around the value. 


So after all, a small fix for an annoying issue that could as well have been resolved in content but as I said in the beginning - we can't always rely on content to be perfect.





Monday, September 7, 2026

Sitecore XP 10.5

Sitecore XP 10.5 - a need to upgrade story

First of all, this is not a guide with 10.5 features. Those have been written already a lot just after the release. It's also not an easy yes/no wizard that will tell you if you need to upgrade. Because the answer will always be "it depends" and I'm pretty sure company blogs will cover this. 
This is the story. The story of a customer who is in doubt which direction to take right now and who has several departments with different requirements and demands. I'm telling the story as I learned during my visits to several Sugcon events that this might sound familiar to quite some people in the Sitecore community.


The current situation

The customer a running their website(s) on Sitecore for a very long time already. We are almost at 20 years - of yes, they started in the v5 era. Of course, there have been upgrades and one complete make-over. Ever since that make-over they have been upgrading regularly to keep everything up-to-date. But things changed - within the company, with Sitecore and also within the whole internet business. Everything became headless, Sitecore turned to XMCloud and now SitecoreAI. And to make things worse the world got a few war and our American friends didn't help to make everything more stable. With a customer in the energy sector this makes it very hard to make big decisions - like moving towards a headless platform which in their case would mean a new website again as you do not want to try and shift a 10 year old website including a lot of legac content.
   
Over the past years we have been talking to them about this move. And the customer is convinced it is needed - but the time hasn't been right yet. But as we were going to do this, we also stopped upgrading as this is expensive and wouldn't bring them much new. At the moment they are running on the latest Sitecore 10.2 on Azure PAAS with SXA, EXM, Sitecore Forms, custom .net code and indexes on SearchStax. We are still talking about moving to SitecoreAI and they are really looking forward to that... but the realistic voice tells them it's not going to be ready and done before the end of next year. 

The upgrade

Support

Why is this important?  Because customers are/were looking at the extended support dates. On the Sitecore support site you can check all the dates when support will end for a certain version, and for 10.2 that is end of 2027. As budget planning for 2027 is due soon, these decisions are being made now.  

There is one more very interesting mention on that page that people might have missed. On June 1st 2026 Sitecore made a change to their support types. Might sound minor, but it is not if you see what has shifted in the extended support (years 3 to 6 after release date) from included to payed:
  • Assistance with production incidents
  • Security updates and fixes
For the IT department of our customer, (security) updates are a big reason to upgrade. So this is important for them. So next to remaining on support, they will be happy to see that in 10.5 quite a few things got updated to newer versions:

  • Windows Server 2025 (2022 still supported)
  • SQL Server 2025 (2022 still supported)
  • Solr 10 is now supported (and minimal), including Solr 10's mandatory Basic Authentication
  • .NET Framework for the platform itself is up to 4.8.1
  • Identity Server 9 runs on .NET 10
Next to that the security team will like the removal of outdated Javascript libraries and some significant security hardening. Note that especially the Solr is important here and needs some planning. It's a major change but as we are using SearchStax here it should not be an issue - just take into account this will be the first step to take.

Security effects 

Some of these security measures do have some impact. People upgrading should know that:
  • The GraphQL playground is removed. You can use other tools like Postman or something similar against the endpoint instead.
  • The package installer is disabled by default. It can be enabled again with the Sitecore.Packages.Disabled setting.

So far so good - IT team will be happy. 

Is there something in the upgrade for business people or editors?

The editor

There is. Do not expect new editors or any functional changes but there is a revamp or how Sitecore describes it:  
Sitecore XP 10.5 introduces a refreshed visual design across selected authoring experiences, including an updated color scheme and more consistent styling, with no functional changes to existing workflows.

Basically, the color scheme of SitecoreAI was set on the editors in Sitecore XP.  It's white and purple now but it will still work as the editors are used to. 



The modules

One important thing to consider in all of this is the use of Sitecore Experience Accelerator (SXA). At this moment - we are a few weeks after the release of 10.5 now - that module is not compatible yet. Meaning, there is no version for Sitecore 10.5 at this moment. It is mentioned on the release page that some modules (including SXA) are currently undergoing compatibility verification for Sitecore XP 10.5. Support for these modules will be introduced in upcoming module releases. If we check the compatibility matrix for the latest module support status we can see that there is no SXA for 10.5 yet - but we can be sure it is coming so it's a matter of time.  


And now?

The marketing department and the content editors of the customer will not be the drivers behind a new Sitecore upgrade here. The IT department however will be. Do they need to upgrade?

There are a few things to consider here. They are really considering moving to SitecoreAI. Actually, that is an understatement. They will move to SitecoreAI, they just don't know yet when. 
As we learned the new Sitecore version will not bring new features - unless you call new styling a feature. But that is nothing new. Most Sitecore customers on XM/XP are aware that they should not expect new features in new versions. It's all about support and (security) updates. Is this sufficient to do an upgrade? For some it will. 

Ok, enough vagueness. In our case for this customer the answer is yes. They always upgraded to remain supported and up-to-date, so the answer is yes - as soon as the modules are available. Upgrading now - hopefully really for the last time- is a good idea and will buy the time needed to do a proper transition to SitecoreAI.

I hope you learned something about Sitecore 10.5 and gained some insights in whether to upgrade or not. 



TL;DR

Remember, Sitecore support has changed policies and this might, should, will affect reasons to upgrade as for a long time now upgrades in the XM/XP sphere are triggered by compliance to support and security updates.

Friday, June 26, 2026

One decade as a Sitecore MVP

One decade as a Sitecore MVP


What it really means to be part of this amazing community

This year I received my 10th consecutive Sitecore MVP award. I'm still filled with gratitude for the this recognition and the incredible journey it has been. Joining the ranks of a fantastic group of professionals who have achieved this milestone feels surreal, but it also triggered me to share my thoughts on what the "Sitecore Community" and it's MVPs truly represent and why it matters so much to the Sitecore ecosystem.

The Sitecore MVP Program

The Sitecore Most Valuable Professional (MVP) program started in 2008. Two community giants, Klaus Petersen and Mark Cassidy, from that year are still MVP now.  In 2026, just over 200 professionals were honored across three categories: as usual most in Technology and a bit less in Strategy and Ambassador.

A Sitecore MVP is an individual with expertise in Sitecore who actively participate in online and offline communities to share their knowledge and expertise with other Sitecore partners and customers.

But here's what many people don't understand: being an MVP isn't about being the best developer or the most skilled employee at your company. Although most MVPs are strong developers or architects, it's not those skill that get you the recognition. MVPs are community builders and passionate advocates, who share their knowledge and made themselves valuable to the broader Sitecore community through consistent contributions during the past year. The award recognizes actively sharing expertise, helping other community members solve problems, and by doing this contributing to the collective knowledge  base and strengthening the Sitecore community ecosystem.


The true meaning behind the award

Let me be clear about something important: you don't become an MVP for money, career advancement, or personal gain. Although some employers (and maybe even customers) like to see this on your resume and might reward you for the efforts. But if you are considering it, always remember that without a genuine desire to give back to the community it is not going to work. This is the way the community stays alive and that is where the recognition comes from. MVPs are evaluated based on the quality, quantity, and impact of their contributions, not their job title or technical skills.


The vibrant Sitecore community ecosystem

There are numerous blogs and videos related to Sitecore out there. But the community is richer than just blogs - next to some more official site at https://community.sitecore.com it has some (well known) online channels on Sitecore Slack for real-time discussions and problem-solving and Sitecore Stack Exhange as a dedicated Q&A hub with a vast number op people to help you solve your issues. Both are created and maintained by volunteers from the community and have helped lots of people with their Sitecore questions.

What makes the Sitecore community special is the rich ecosystem of resources and events that bring us together. Next to the online channels people are also organizing user groups. Although I do get the feeling the number of groups and sessions is declining (e.g. my local one stopped) there are still quite a few that do meet - in person or sometimes virtual, making them available to more people globally. Time zones are sometimes painful, but it can be fun to join them and meet new people. Due to several reasons it's been a while, but I know I enjoyed speaking at the user groups in Perth, Pakistan and Hungary. 

A very special "user group" is SUGCON. You can't call this a user group anymore, it's a full blown annual conference - but still organized by community members (with a little help from Sitecore, obviously). We just had this year's events in London (Europe) and Delhi (India). If you ever get the opportunity to join the conference, do not hesitate. Join, feel the vibe, learn, talk to people, make connections and experience the Sitecore community. They will welcome you with open arms and you'll end up with new or renewed connections all over the world.  

It's impossible to mention every initiative and I am sure there are plenty that I even don't know about. I do wan to mention the #SitecoreLunch gatherings. The timing of the informal gathering is difficult for me, but it does seem to be a cheerful and fun bunch of people so I can only encourage you to try it out. One more that cannot be forgotten is the annual Sitecore Hackathon.  Every year a number of teams from all around the world try to create something amazing in 24h. And every year some of those teams really succeed in delivering true added value - free to the community. On https://sitecorehackathon.org/ you can check the entries, view photos...  or subscribe for the next edition (subscription is usually in January).


How to become a Sitecore MVP

The path to MVP recognition is straightforward but requires dedication. The program is open to anyone working with the Sitecore platform who has a passion for sharing knowledge. This question was asked and answered on Sitecore StackExchange so I will not repeat everything mentioned there.

Practically, know that applications used to open in November, with reviews happening in December and announcements in late January. They changed the "open" window though so now you can create you application anytime and add data all year long up until the deadline. If you decide to apply, please do take it seriously. Yes, the community will welcome everyone and does like new MVPs - but we also need to review all the applications. So if your application is anything like "I want to be MVP so next year I will... " or "I worked hard on all my Sitecore projects but have actually not shared anything with the community" then I would advice you to stop already and try again and better next year.

What matters is consistent and meaningful contributions to the community. Not your projects. Not your ambitions. But if you are really willing to do this, we will be very happy to have you on board. And do not give up - it took me a few years as well to get my first MVP title and look at me now...  The path to becoming an MVP starts with a single contribution.


The benefits of being an MVP

While the intrinsic reward of helping others is the primary motivation, the MVP program does offer some tangible benefits.

As mentioned before, you will not see it directly on your bank account. Although you do get discounts on certain events like Sugcon, an invitation to the Sitecore MVP Summit (usually in the US though - which might make it difficult for people nowadays) and if you do attend in-person events you will probably notice some people wearing an MVP t-shirt and/or sweater. 

There is the global recognition and the inclusion in the public MVP directory, and it does feel nice to be amongst that group of inspiring professionals. 

But in my opinion, the biggest advantage is the exclusive access to early product information and releases and especially the direct communication with Sitecore teams. Becoming an MVP opened many doors for me. I remember jumping on the SXA train and having very frequent calls with Adam Najmanowicz and his team. Many more very interesting and meaningful encounters with various people within Sitecore followed. By attending MVP webinars you connect with the right people. And if you do have questions, remarks, feedback or suggestions you do know who to talk to. And even though they might listen anyhow, that MVP tag on your name does make the Sitecorians listen even better. 


One decade  

An now I can look back at my 10-year journey as an MVP. It has brought to many people and places. I am still honored, not only to be MVP but also to be speaker on lots of Sitecore events like Sugcon and the Sitecore Symposium. I have seen Sitecore evolve from a solid Danish CMS (I started on v5 by the way) to a full blown worldly DXP to a headless CMS with a bunch of additional services. The products have changed, the organization behind it as well. The community also changed - I've seen it grow and shrink back a bit. But it still feel very good when I see many familiar faces again at a Sitecore event.  The relationships I've built, the knowledge I've gained, and the satisfaction of helping others have been immeasurable.

Joining the group of professionals who have achieved 10 (consecutive) MVP awards feels like joining an exclusive club of individuals who have demonstrated unwavering commitment to our community's success.

All those years in the community have brought me a lot - professionally of course, but I was also able to meet people from all around the world. Close to home in Europe, in both North and South America but also in Africa, Asia and even Australia. Connecting with people from all those different background and cultures makes you grow as a person - and is fun too. Attending the Sitecore events also brought me to several wonderful places. And even though it actually is working - especially when you're speaker - it also is a tremendous experience. I still remember (ok, vaguely) the party in Vegas, strolling through New Orleans, Harry Potter in Orlando but even eating kebab at 3AM at the beach in Malaga or guiding fellow community members through my (almost-home) town Ghent. And the week after the event, we are back solving each other problems again...


Changing of the guard

As we look toward the future, it's important to acknowledge the leader/mentor that has guided our community. Tamas Varga, who has served as Director of Community Programs at Sitecore and led the MVP program since joining the company in 2016, will be stepping away from the program later in 2026 to finally fulfill his sailing dream. Tamas himself was an MVP, and his leadership has been instrumental in shaping the program we know today. During Sugcon Europe 2026 he was awarded the Honorary Sitecore MVP title. Well deserved!

Sebastian Winter is expected to take over this important role, ensuring continuity in the program's excellence and community focus. Knowing Sebastian I am quite confident he will do an excellent job as he, as a former MVP as well, understands the value and true power of our community. 


The real value of community

At its core, the Sitecore MVP program represents something beautiful: a group of professionals who believe that sharing knowledge makes everyone stronger. We're not competing against each other; we're collaborating to push the entire ecosystem forward. But remember it's not all about the MVPs. It's about all of you, all community members - and all Sitecorians that engage with us.

This community is here for you, whether you're just starting your Sitecore journey or you're a seasoned professional. Engage online. Attend meetings and events. Share your experiences, thoughts, remarks or anything that you feel might be useful to others. And don't be afraid to ask questions. 

The Sitecore community has given me more than I could have ever imagined when I started this journey more than 10 years ago. So I'm not stopping here. And I hope you are not either. 

The community is waiting to welcome you.

Monday, June 8, 2026

Sugcon 2026 London - day 2

Sugcon 2026 - London - day 2


After an interesting first day at Sugcon in London we started early for a fully packed second day. People who have attented Sugcon before know that the first session on day 2 seems like a very interesting spot as you get the honor of opening the full day but it also is a very challenging spot as a lot of people are not fully awake yet. 

Friday

At 8h30 Morten Ljungberg had the pleasure of kicking it off with his Corgi branded explanation of MCP's.

It was a very nice session, especially at this hour. I recall Morten being a worried about the level but I assured him this was definitely ok. Most people might already know quite a bit of what he told but I found it still very interesting and presented in an entertaining way. As "the guy who's presentation are always stuffed with cats" I might not really be a dog person but it's fun to see him brand his presentation this way. The day started well, and still have so much to come.


I did miss a few parts of sessions on Friday. For a big part because I got into some interesting conversations with all kind of people during breaks - going from community members, mvp's to fellow Epam folks that I do not see that much in real life. As a 2026 (long-time) Sitecore MVP I was also asked to participate in creating promotional material for Sitecore's 25th birthday which they are celebrating this year. I assume you might have seen some of the #SitecoreSilver posts...

Of course, this is still a conference and even though talking to people is important and very interesting, grabbing some of the sessions surely is also. I will not list all the ones I attended, as that would be a boring list of AI, AI and more AI - sometimes working, sometimes not and usually a great idea but needs to be proven and nobody knows how.  But I'm still writing a post on Sugcon we I will talk about some sessions of course. 

I attended a session by Harald Greve, engineering manager at Macmillan Cancer Support and Sitecore Technology MVP now.  His session on "Post Quantum Cryptography" was pretty interesting and well presented. It's surely something to look into and he posted the main takeaways so you can/should read those. It was a clear explanations about encryption and why this should matter to us, not only somewhere in the future but surely also now already. 



A few years ago Sugcon started planning some "lightning talks" around lunch time on day two. It was a success and they keep on doing that. A lightning talk is a fast-paced presentation restricted to 15 minutes, typically focusing on smaller or even niche technical tips, customer showcases, or just smaller topics related to Sitecore rather than deep-dive sessions. I like them a lot and usually some of them are very good. 

This year I decided for one of them to go crazy and join the marketing track ☺.  I know Jacqueline is a good speaker and I was not disappointed. Her session on intelligent content was surely lightning, full of spirit and interesting even for non-marketers. The marketing track adventure felt good and might be repeated.


One of the AI sessions I would like to mention was from Volodymyr Nikitin and his hare and tortoise. A well presented fairy tail that gets you thinking about using AI as your developer friend. Not in a sense of I need this fully blown now right away, but it's also not something to ignore. It's about finding the right balance and the right tasks for AI and the human. And it was brought in a fun way keeping us all awake - which is an achievement right after lunch. 


Andrei Pop also had a session on AI and Sitecore's vision to Agentic Workflows.  At a certain point (in the future) the marketer using Sitecore will/should be talking to any LLM and asking that to do his work. Listening to Jacqueline we know there should be some human interference as well if you really want to stay in touch with other humans - it's all interesting and we'll see what the future brings. 


Sponsor sessions are something many conference attendees usually try to skip, but Piers Matthews from Dataweavers has proven it can be different. It does not need to be a sales pitch but can also be an informative session. I already attended his session last year in Antwerp which was ok-ish, but this year it was really interesting to hear what I was actually expecting. New security issues are popping in the (new) mach architectures, and they can be fixed but you do need to pay attention to them of course.

But all good things come to an end, and so does Sugcon. Not without a thank you to the organizers of course (sorry Anders - the picture with you on screen included was not good at all).  So once more thanks for organizing this. And good luck to Sebastian Winter who will take over Tamas' role.



And then it is time to go home. Coming from Belgium I travelled to London by train which was a nice experience to be honest. Would be nicer without those Brexit-border-controls, but still... As I do have a son who still likes Harry Potter a bit and I was in the right station, I couldn't leave without a last picture. And the relief I did not have to go through platform 9 3/4 as the line there was longer than the security line at Eurostar ☺



That was Sugcon Europe 2026. Maybe we'll meet again at the 2027 European conference. 


 


 







Sugcon 2026 London

Sugcon 2026 - London


I was able to attend the Sitecore Usergroup Conference - better known as Sugcon - in London this year and that needs a blog post afterwards. Way overdue - but never too late I assume. 

This was my 7th Sugcon so I am starting to know my way around such conferences. Which is nice as you also get to see many familiar faces again. More on that later... let's start in London. 
Due to circumstances (budget reasons) I was not able to stay in the conference hotel. It's always nicer to stay there as you automatically bump into community members all the time, but this fact also pushed me to pay a visit to a part of London that I had never been before and is definitely
worth visiting. 
I might assume everyone knows the sights of Big Ben, Westminster Abbey or the Palace of Westminster. 

I'm not sure if people would recognize the King of England, nor his palace. But his guards, yes..  everyone knows the King's Guard. And if you're in walking distance it would be silly not to pay a visit, stroll through St James Park and accidently bump into The King's Life Guard on the Mall.




Thursday morning, before the start of the conference I went for a walk. As this still is England, we couldn't spend our days here without any rain. We were still very lucky and didn't get much at all, but on Thursday a few drops brought me into the National Gallery.  A Japanese-tourist-style quick visit through a (free) museum with almost no people at that time was actually fun. And a little bit of relaxed culture before we would probably be overwhelmed with AI surely didn't hurt. 

But enough tourism, we (you) are here for Sugcon. 


Thursday

Keynotes


The keynote for the 2026 Sugcon was presented by Scott Liewehr, Global Vice President of Market Strategy & Growth at Sitecore.  It was short, to the point and well presented. Everything a keynote should be. And with a shoutout to the amazing MVP community. As a member of the MVP class of 2026 it's always nice to see and hear some recognition from Sitecore for our efforts. Thank you Scott, well done.

As a final highlight, Tamas Varga was called on the stage. Most people in the Sitecore community know already that he will be leaving us soon to realize his (sailing) dream. And although we all feel there is no-one who deserves this more than Tamas, we will of course miss him. The announcement to make him a Sitecore Honorary MVP got a well deserved standing ovation from the entire room. Tamas is joining a select group of Sitecore folks who really made a lot of impact.  I do hope to bump into him in the future somewhere - wishing you all the best Tamas!



After this first highlight, we were thrown back into the past by Richard Potter (son of Harry) from Microsoft to remind us that AI is not the end of the world but an opportunity and/or a challenge to be part of this evolution. 

It was an inspiring session and I am glad I was not the only one in the audience that had to raise his/her hand when he asked who was already working (in our digital sector) in 1993...


Breakout sessions

Time for the breakout sessions. I started with Sebastian Winslow's session on "Agentic AEO/SEO optimization". I was rather disappointed with the session as it did not deliver what I hoped for. Too vague, no concrete examples. I talked to Sebastian afterwards - because having open conversations is what we in the Sitecore community (should) do - and he knew and also explained the reasons behind it. Anyway, this happens at conferences and it did give me a good chat with Sebastian which was probably more valuable than any session content could have been.

 
I continued with a session by Simon Hauck on SitecoreAI publishing. I can't say it was not interesting because it was and it certainly is a topic that people should think about. But I also left the session with the idea that I did not learn that much - maybe because this is not (yet) really a part of my job and as such was missing a connection. I will remember thinking about it when it crosses my path though and that is all I expect from a session to be honest. 



Christian Hahn is not only a familiar face in the Sitecore community - even outside Germany - but the last few years also a recurring speaker at Sugcon. This year he brought along Romina Metnik to bring us up-to-date with the latest developments around Sitecore Studio and especially the Sitecore Marketplace. 




The final "session" on Thursday is rather traditionally the Sitecore hackathon awards ceremony. And it's always nice to see two major Sitecore dinosaurs again - Akshay and Jason, you rock!  

It was apparently rather clear that most or all participants learned how to use AI. But also amazing what has been created again by a motivated community. 


Time for the "community diner" - or just more time to mingle and have some great conversations. I managed to catch up with some (very) familiar faces and meet some new ones as well. Going from small-talk to Sitecore (obviously) to world class problems... anything van be discussed on such a community evening. I know quite a few discovered one or more London bars afterwards - to be honest I kept it rather quite, although I couldn't resist a nighttime visit to London



It was an interesting first day. Let's continue on Sugcon day two...