Implementing GEO helps projects present product-specific FAQs and instructions in a format that search engines and generative AI systems can easily understand. It also makes the same content available directly on the product detail page (PDP).
This guide explains how to add GEO content to a project’s PWA.
For products with valid GEO content, the PWA also adds the corresponding Schema.org JSON-LD to the page head:
FAQPage for FAQ content
HowTo for How-To content
The extension is content-driven. A tab and its corresponding JSON-LD are created only if the product contains valid content for the related attribute.
The following behavior is implemented for the PDP:
The FAQ tab is visible ifGEO_FAQ contains at least one FAQ entry.
The How-To tab is visible if GEO_HOW_TO contains at least one step.
The page source or browser developer tools show the corresponding application/ld+json script in the document head.
The JSON-LD is valid and describes the same FAQ or How-To content as visible on the PDP.
The PWA removes the generated GEO JSON-LD upon leaving the PDP or when no usable payload is available.
To configure the PWA with regard to GEO content, follow these steps.
Use a PWA version that contains the GEO extension (PWA version 12.1.0 or higher).
Enable the geo feature in the project configuration.
The GEO extension does not require a separate frontend configuration for individual products. If no valid GEO data is available, the standard PDP is displayed without the additional tabs and JSON-LD.
The following product attribute group is used for product GEO content:
Property | Value |
|---|---|
Attribute group ID |
|
Purpose | Product content for Generative Engine Optimization |
Product scope | Product or offer returned for the PDP |
The following attributes are supported in this group:
Attribute ID | Content type | Purpose |
|---|---|---|
| JSON string |
|
| JSON string | How-To content for the PDP and a |
Note
Use the attached import file to import the attribute group (adapt the domain-name="inSPIRED-inTRONICS_Business" part with your import target domain): PRODUCT_GEO_ATTRIBUTES.x… (See also Product Attribute Groups).
Alternatively, you can use icm-as-customization-demo-data 4.4.0 or higher, that adds this attribute group to the ICM database.
Projects can use the Intershop Product Content Agent to generate structured, SEO- and GEO-optimized product content from trusted product information. The Product Content Agent will automatically populate the correct fields.
If you create your GEO content in other systems, you can import it with the regular product import. See Reference - Product Data XML Import Specification.
In a Product XML import, add the GEO values as product custom attributes. The JSON file must be XML-escaped as required by the import format.
If the project uses CSV product import, use the project-specific mapping for custom product attributes. The resulting product data must expose the same attribute IDs and JSON strings in the attribute group PRODUCT_GEO_ATTRIBUTES.
GEO_FAQ ValueThe value must be a JSON object with a mainEntity array. Each entry contains a question and an accepted answer. The accepted answer may also contain author information.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "How is the product cleaned?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Clean the product with a soft, dry cloth."
}
}
]
}
Supported FAQ fields:
mainEntity[].name
mainEntity[].acceptedAnswer.text
mainEntity[].acceptedAnswer.author.name
mainEntity[].acceptedAnswer.author.description
mainEntity[].acceptedAnswer.author.affiliation.name
GEO_HOW_TO ValueThe value must be a JSON object with a name and a step array. Each step contains a position, a name, and explanatory text. Tools and supplies are optional.
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "How to install the product",
"step": [
{
"@type": "HowToStep",
"position": 1,
"name": "Prepare the product",
"text": "Remove the product from its packaging."
},
{
"@type": "HowToStep",
"position": 2,
"name": "Install the product",
"text": "Follow the installation instructions supplied with the product."
}
],
"tool": [
{
"@type": "HowToTool",
"name": "Screwdriver"
}
],
"supply": [
{
"@type": "HowToSupply",
"name": "Mounting screws"
}
]
}
Supported How-To fields:
name
step[].position
step[].name
step[].text
tool[].name
supply[].name
The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Website, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.