Graham Carr
+8
Dec 16, 2025
visibility 699
star star star star star
(3 votes)

A day in the life of an Optimizely OMVP - OptiGraphExtensions v2.0: Enhanced Search Control with Language Support and Synonym Slots

Supercharge your Optimizely Graph search experience with powerful new features for multilingual sites and fine-grained search tuning.

As search continues to be a critical component of any digital experience, I am excited to announce version 2.0 of OptiGraphExtensions - an open-source add-on for managing Optimizely Graph search enhancements directly from the CMS admin interface. This release brings significant new capabilities that give content teams unprecedented control over how search works across different languages and markets.

WHAT'S NEW IN VERSION 2.0

1. Language Routing for Synonyms

One of the most requested features has been proper support for multilingual synonym management. In version 2.0, synonyms can now be configured per language, ensuring that search enhancements are contextually appropriate for each market.

Why does this matter?

Consider a global e-commerce site selling clothing. In English, you might want "jumper" and "sweater" to be synonyms. But in British English, "jumper" means something quite different than in American English - and in other languages, these terms don't translate directly at all.

With language routing, you can now:

- Create language-specific synonym sets (e.g., English synonyms, Swedish synonyms, German synonyms)
- Sync synonyms to Optimizely Graph grouped by language
- Filter and manage synonyms by language in the admin interface
- Ensure search relevance is optimised for each locale

How it works:

When syncing to Optimizely Graph, synonyms are grouped by their assigned language and sent using the language_routing parameter:

    PUT {gatewayUrl}/resources/synonyms?language_routing=en&synonym_slot=ONE

This means your Swedish customers searching for "bil" won't accidentally get results influenced by English synonyms for "car".

2. Synonym Slots for Advanced Configuration

Version 2.0 introduces Synonym Slots - a powerful feature that allows you to maintain multiple synonym configurations per language. Optimizely Graph supports two synonym slots (ONE and TWO), and our add-on now gives you full control over both.

Use cases for Synonym Slots:

- A/B Testing: Test different synonym strategies by using Slot ONE for your control group and Slot TWO for a variant

- Seasonal Campaigns: Keep your standard synonyms in Slot ONE while using Slot TWO for campaign-specific terms

- Department Separation: Use different slots for different product categories or business units

- Gradual Rollout: Test new synonym mappings in Slot TWO before promoting them to Slot ONE

In the Admin Interface:

The synonym management screen now includes a slot selector dropdown, making it easy to:

- Assign new synonyms to either Slot ONE or Slot TWO
- Filter the synonym list by slot
- Sync synonyms to Graph by language AND slot combination

GETTING STARTED

Installation

Run the following command to install the NuGet package:

   dotnet add package OptiGraphExtensions

Configuration

Add the following to your Program.cs or Startup.cs:

    services.AddOptiGraphExtensions(options =>
    {
        options.ConnectionStringName = "EPiServerDB";
    });

    app.UseOptiGraphExtensions();

Accessing the Admin Interface

Navigate to your CMS admin area and find "Opti Graph Extensions" in the menu. You'll see options for:

- About: Overview and quick links
- Synonyms: Manage synonyms with language and slot support
- Pinned Results: Control which content appears for specific searches

REAL-WORLD EXAMPLE: MULTILINGUAL E-COMMERCE

Let's walk through a practical example of setting up search enhancements for a multilingual e-commerce site operating in English, Swedish, and German.

Step 1: Configure English Synonyms (Slot ONE)

    Language: en
    Slot: ONE
    Synonyms:
    - laptop, notebook, portable computer
    - phone, mobile, smartphone, cell phone
    - TV, television, telly

Step 2: Configure Swedish Synonyms (Slot ONE)

    Language: sv
    Slot: ONE
    Synonyms:
    - dator, laptop, bärbar dator
    - telefon, mobil, smartphone
    - TV, television

Step 3: Sync to Graph

Click "Sync All to Graph" on each management screen, or sync per-language for more control.

MIGRATION FROM VERSION 1.X

If you're upgrading from version 1.x, the migration is straightforward:

1. Update the NuGet package to version 2.0

2. Existing synonyms will default to Slot ONE and retain their existing language settings

3. No breaking changes to the API or configuration

CONCLUSION

OptiGraphExtensions v2.0 represents a significant step forward in giving content teams control over their Optimizely Graph search experience. With language routing, synonym slots, and stop words management, you now have the tools to create truly localised, highly relevant search experiences for your users.

The add-on is open source and available on NuGet. I welcome contributions, feedback, and feature requests from the community.

Links:

- NuGet Package: https://www.nuget.org/packages/OptiGraphExtensions/
- Optimizely Graph Synonyms API: https://docs.developers.optimizely.com/platform-optimizely/reference/upsert-synonymhandler

Happy searching!

Graham Carr, Solutions Architect

I am an experienced Solutions Architect with over 28 years’ experience in a wide range of products and technologies. I have helped companies deliver their digital vision from concept all the way through to delivery. I have a particular passion for DXPs (Digital Experience Platforms) and am a certified developer for Optimizely as well as a Platinum OMVP.

Dec 16, 2025

Comments

error Please login to comment.
Latest blogs
A day in the life of an Optimizely OMVP: Commerce Connect 15 isn't an upgrade. It's a reset.

The version number is doing a lot of work to look harmless. Fourteen to fifteen. A nudge, surely. Bump the packages, run the build, ship it Friday....

Graham Carr | Sep 14, 2026

Shareable stakeholder previews for Optimizely SaaS CMS

In August,  Nikki Punjabi wrote about a gap in Optimizely SaaS CMS : there is no out-of-the-box way to share a draft page with someone outside the...

Minesh Shah (Netcel) | Sep 14, 2026

A day in the life of an Optimizely OMVP: Scoping a Search & Navigation - Optimizely Graph migration with Roslyn

If you have an Optimizely solution of any real age, you have Find code. Not in one tidy  SearchService.cs , either, it's spread through page...

Graham Carr | Sep 12, 2026

Machines Are Reading Your Content Model

How Optimizely CMS (SaaS) separates presentation intent from content — and why that now matters for AI discoverability. Start with a requirement th...

Vipin Banka | Sep 12, 2026