Error overview
You may run into this validation error when deploying a Digital Experience Bundle component whose .json content includes a geoBotsAllowed property that the target org's schema doesn't recognize.
An example of the error message in our app:
[{"block":null,"propertyPath":"$.geoBotsAllowed","message":"You can't add the geoBotsAllowed property defined at $.geoBotsAllowed because the additionalProperties keyword value is set to false."}]
A Digital Experience Bundle component throwing this error may follow this naming convention: site/<SiteName>.sfdc_cms__site/<SiteName>/content.json.
It's worth flagging up front that Experience Bundle content files like this one are stored as JSON, not XML files - that is despite Digital Experience metadata having an outer .site-meta.xml for the Network or CustomSite component.
The actual site record content (including geoBotsAllowed) lives in a .json file under the site's sfdc_cms__site folder, alongside fields like authenticationType:
"contentBody" : {
"authenticationType" : "AUTHENTICATED_WITH_PUBLIC_ACCESS_ENABLED",
"geoBotsAllowed" : false
},
Below a real file example from Gearset's comparison:
Explanation of the error
It's important to understand that geoBotsAllowed is Salesforce's metadata field behind a recent Experience Cloud feature called GEO (Generative Engine Optimization) - it is an SEO setting that lets AI tools (e.g. ChatGPT, Claude, etc.) pull snapshots of your public site pages.
It's the setting behind the toggle available in Experience Builder > Settings > SEO tab > "Provide content snapshots of public site pages when requested by AI bots." toggle.
Two details from Salesforce's docs explain why this fails on deployment:
GEO/SEO settings are only available in Salesforce Enterprise, Performance, and Unlimited editions (source: Enable GEO to Make Site Pages More Discoverable by AI)
Salesforce explicitly states that SEO features (including GEO) are unsupported on Developer Edition, Sandbox or Trial orgs. (source: SEO for Experience Builder Sites).
So when a site's .json on the source environment (e.g. your feature branch) includes geoBotsAllowed in the file's content (typically because it was retrieved from, or originated in, a Production org where GEO exists as a schema field) and that metadata is validated against a Sandbox org (or any org edition where this specific feature isn't available), the target's schema for that component has no slot for the property at all.
In this specific example, because additionalProperties is set to false in that schema, any key it doesn't recognize fails the whole component outright - that is regardless of the property's actual value. Even geoBotsAllowed: false (GEO switched off) still triggers the error, since the schema check happens before the value is ever considered.
Resolution
If your target org is a Sandbox (e.g. one of the upstream environments in Gearset Pipelines), it can't support geoBotsAllowed property regardless of what you do in Gearset.
The fix is to remove geoBotsAllowed from what gets deployed:
Identify the affected
sfdc_cms__sitecontent file from the error message (for example:XYZ_Help_Center1/sfdc_cms__site/XYZ_Help_Center1/content.json).Open the file and find the
contentBodyblock that storesgeoBotsAllowed. Remove the "geoBotsAllowed <value>" line (e.g.geoBotsAllowed false), and any other GEO/SEO-only keys the same block may contain.How you apply that depends on how you're deploying:
Gearset Pipelines
Delete the line directly from the JSON file in your feature branch (change must be made directly in your VCS provider, e.g. GitHub, Azure DevOps, Bitbucket etc)
Commit the change, and re-run your PR's validation.
Compare and deploy
Edit the deployment package to remove the line from the affected file, then use the edited package as your deployment source (more guidance on how to do it in our article on changing the deployment package before deploying).
Re-run validation against the target.
If the property is currently set to false in your source (GEO switched off), removing it changes nothing functionally. It just stops the target returning an error on a field it can't process. It's also safe to leave it out of your deployment package even if the same feature is meant to reach a Production org that does support GEO - in such instance Salesforce will simply treat it as unset, and an admin can re-enable GEO directly in Experience Builder > Settings > SEO tab (this should be done as a post-deployment step directly in the Prod org).
Helpful resources
Disclaimer: This error is returned by Salesforce directly, rather than Gearset. Even so, we offer guidance based on our combined experience with the Metadata API. Where possible, we try to help guide you to fix or avoid this error. In the case that this isn't possible, we may need to direct you to Salesforce support for further clarification.




