A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More


Jan 24, 2011
  7839
(2 votes)

EPiServer Search and Replace plug-in v1.2

I have released a new version of the Search and Replace plugin I released a few months ago.  Some UI enhancements have been made and there was an issue where the plugin fell over when running edit mode under a different relative file path location.

What is the EPiServer Search and Replace plug-in?

It’s a free plug-in aimed at content editors which allows content editors to search and replace content within an EPiServer site. 

The plugin has the ability to search and replace page properties, dynamic content and dynamic properties.

To install the plugin it is a simple as copying the compiled assembly into the bin folder and adding some configuration settings.  See the installation instructions here

How did the plug-in come about?

Myself and a couple of colleagues were discussing features missing from EPiServer.  One thing that came up several times in pitch meetings from project stake holders was whether the CMS offered the ability to search and replace content within a site. 

EPiServer doesn’t provide this functionality so I decided to create a plugin to do just this.

Search and Replace Plugin abilities

The plugin needed to meets the following requirements:

1. Search and replace page properties.

2. Search and replace dynamic properties.

3. Search and replace dynamic content.

4. For xml/xhtml content only replace the content of text nodes and attributes so that structure is not corrupted.

5. Maintain versioning history so that the editor can decide whether or not to publish/rollback the affected pages.

 

Using the plug-in

When the plugin has been setup a new tab will appear in the edit area named ‘Search and Replace.  The default view of this tab which is shown below allows the editor to create a new search and replace record or edit/delete an existing instance.

When the user clicks the Add ‘Search and Replace’ button. They will be presented with the following form:

Here the user can set various searching options, such as specifying a starting page, whether to search descendent pages of the start page and whether to search all language branches or specific ones, plus a few other options.

When the editor is happy with the criteria they can click ‘Go’.  This will invoke the search and replace on a seperate thread and the editor will be presented with a progress indicator which updates using AJAX like below:

Once the search and replace has completed the editor will then be presented with another screen informing them of the criteria used and any pages, dynamic properties that have been updated or any errors that have occurred:

This screen allows the editor to publish (only if the page has been in a published state) pages, roll them back or compare page versions using the new EPiServer 6 PageCompare plugin as shown below:

 

 

Further information

For further information on setup and the configuration options available please check out the Usage Instructions.

Compiled assemblies and source code can be found on codeplex http://episerversap.codeplex.com/.

 

Have feedback?

Please feel free to email or twitter me with any feedback @croweman

Jan 24, 2011

Comments

Mar 2, 2011 11:08 AM

Another feature that this module could support is the possibility to act as a report tool. EPiServer provides Report Center and Gadgets in the Online Center but many editors want "ad-hoc" reporting (eg. find all pages that has the following UR, older than 6 months and are marked with the following writer) and exporting it to Excel (or Word). I know we can build reports and gadgets but for many customers the the process of putting new "features" into the production environment is tedious and expensive.

I see great potential in the mechanism used for creating Visitor Groups in EPiServer CMS R2 as an interface for creating reports. Hopefully we can provide something good for all those customers asking for better insight into the quality of their data...

Feb 15, 2013 10:53 AM

Hi,
Can you tell me if this works with content that is loaded in via bespoke Composer Content Blocks?
If so how do we use Search and Replace to do this task?

Many thanks

Jonathan

Please login to comment.
Latest blogs
Looking back at Optimizely in 2025

Explore Optimizely's architectural shift in 2025, which removed coordination cost through a unified execution loop. Learn how agentic Opal AI and...

Andy Blyth | Dec 17, 2025 |

Cleaning Up Content Graph Webhooks in PaaS CMS: Scheduled Job

The Problem Bit of a niche issue, but we are building a headless solution where the presentation layer is hosted on Netlify, when in a regular...

Minesh Shah (Netcel) | Dec 17, 2025

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...

Graham Carr | Dec 16, 2025

A day in the life of an Optimizely OMVP - Optimizely Opal: Specialized Agents, Workflows, and Tools Explained

The AI landscape in digital experience platforms has shifted dramatically. At Opticon 2025, Optimizely unveiled the next evolution of Optimizely Op...

Graham Carr | Dec 16, 2025

Optimizely CMS - Learning by Doing: EP09 - Create Hero, Breadcrumb's and Integrate SEO : Demo

  Episode 9  is Live!! The latest installment of my  Learning by Doing: Build Series  on  Optimizely Episode 9 CMS 12  is now available on YouTube!...

Ratish | Dec 15, 2025 |

Building simple Opal tools for product search and content creation

Optimizely Opal tools make it easy for AI agents to call your APIs – in this post we’ll build a small ASP.NET host that exposes two of them: one fo...

Pär Wissmark | Dec 13, 2025 |