Because you want to keep the content in the Master database, but you do not want to publish it to the web database, this may be a good opportunity to use Workflow.
If you're using Workflow on these pages
Here's how to fix your issue:
Establish which Workflow your fr-FR pages are using.
In that Workflow, create a new Workflow state called "Archived" or "Disabled".
Make sure the Archived State's Final
field is not checked off.
Use C#, Sitecore Rocks, or Powershell to set the Workflow State
value of all fr-FR Item versions to the "Archived" state created above.
Example Routine:
public class Example
{
public void Process()
{
var database = Sitecore.Configuration.Factory.GetDatabase("master");
var language = Language.Parse("fr-FR");
var items = database.SelectItems("/sitecore/content//*");
foreach (var item in items)
{
var localized = item.Database.GetItem(item.ID, language);
SetWorkflowState(localized);
var olderVersions = localized.Versions.GetOlderVersions();
foreach (var version in olderVersions)
{
SetWorkflowState(version);
}
}
}
private void SetWorkflowState(Item item)
{
item.Editing.BeginEdit();
item.Fields[FieldIDs.WorkflowState].Value = DisabledWorkflowStateId;
item.Editing.EndEdit();
}
}
I'm sure a powershell ace will add the equivalent in Powershell here.
If you're not using Workflow Yet
You must first set the Workflow for these Page Templates in their Standard Values
, then you can proceed as above.
Don't Forget to Publish!
You'll probably want to run a full-site smart Publish to remove the fr-FR language content from the site - Keep in mind that you only need to publish the fr-FR language, which should keep your smart-publish burden down.