Export Page

SEO Generation Process

Amplience supports SEO by providing two alternative mechanisms for outputting SEO versions of the content within the modules:

  • Manually defined by the content editor.
  • Automatically generated on publish.

Seo Generation Process

The SEO file is published out as an HTML fragment with the Amplience module files every time you publish. However, the integration to implement this file is not automatic, and needs to be set up in the Amplience portal and the embed code.

To get started producing the SEO content, by default the Amplience system creates an seo.html file with the output each time the client publishes. If you go into the Amplience folder on the FTP directory where Amplience files are pushed to, you will note there is an seo.html file in there. Each time there is a publish to the folder path, this seo.html file is updated with the latest SEO friendly content.

However, this default seo.html file is overwritten with new content every time a publish to an area is done; so in order to generate unique SEO for each unique area ID, i.e. each published area and it's containing module, we provide the option to use tokens so that a unique SEO output file is generated for EACH area published out – the tokens are listed on this page below.

For example, if you add the token {AreaIdGUID}.html into the SEO Filename field in the publishing connector setup, when you first publish, a new SEO file will be created referencing the area ID of the area you have just published out, for example b4d596a1-0623-4696-9480-0e182d443adc.html .

This HTML page is an SEO friendly html fragment of the required module, and holds all the content in the module for retrieval by search engines, and alternative content degradation in the absence of Flash and HTML5. Every subsequent publish of that area will update this HTML file with the required (updated) SEO/ alt content.

Integration onto a web page is not automatic, and a server side include will be required to handle this. See below for details.

Types of SEO Content Generated

It is worth noting the difference in the content that is generated for SEO and alternative content by Amplience, so you are clear on what you would be getting and how this would work.


Manually Defined SEO

This is content that is manually inserted by the content editor in the Amplience Editor, and generated by the system which will contain client defined images, text, and links.

  1. This is manually inserted into a module by the client within the Amplience editor
  2. During the publishing process an XSLT is used to transform the Amplience content into HTML fragments.
  3. The SEO HTML is generated and deployed as an HTML file with associated images
  4. The file is named as defined in the Connector, for example seo.html (the default), or as per the assigned token, for example {areaid}.html page.
  5. When manual SEO is inserted, this overwrites the automatic Amplience SEO with the client input – but contains NO product data references
  6. The content HTML page is unformatted and will only return a static image and the associated text and links to replace the Amplience Flash/ HTML5.

Default System SEO – Automatically Generated

 This is automatically generated SEO containing ALL the images, links and dynamic content from a content module, and does not require the client to do anything.

  1. Automatic[1] SEO content is generated if the editor has opted not to enter any manual SEO content through the Amplience Editor.
  2. This SEO HTML page is generated by an XSLT, transforming the content XML in to a HTML snippet; without the content editor having to do anything.
  3. The file is named as defined in the Connector, for example seo.html (the default), or as per the assigned token, for example {areaid}.html page.
  4. By default the SEO file generated includes all Text, Links and Product Data. However for Images, only the background image of the first slide is included and video is currently excluded.
  5. Where data feeds are configured the link will be generated, for example:

A product with SKU=kinect
The data feed request URL:

Resulting product title (Name): Kinect Sensor: Including Kinect Adventures

Link included in the SEO file:

<a href='' alt='kinect'>Kinect Sensor: Including Kinect Adventures</a>

Bespoke Custom-Built Modules

SEO and alternative content does not generate in exactly the same way for custom-built modules in Amplience. In order to transform the content from the bespoke build modules into an SEO friendly version, an XSLT will be required to handle this process. The XSLT will be uploaded as a supporting file with your bespoke module, and when published, the output that is generated by the XSLT will then be referenced in the same way as per the standard modules in an HTML fragment, identified by the corresponding token in the connector.

Therefore, the HTML fragment the Amplience system generates for SEO/ alt content will contain all of the links and relative links to the images and content for that particular module – that is all of the content contained within the module, i.e. images, video, links, data, text. This works for both the standard modules, and bespoke modules.

SEO/Alternative Content Display and Styling

None of the Amplience SEO or alternative content output is styled or formatted to visually produce the same experience as the Flash or the HTML5 version of the module. The content HTML page is unformatted, and is more for SEO friendliness, than visual pleasure.

If the client wants to display their alternative content in a visually pleasing and styled way, an XSLT will need to be written to handle the transformation of this content. Dependent on the nature of the module to be reproduced for alternative content, a CSS may also need to be written to display and style the files accordingly. This would then need to be included in the embed code on the page to handle this.  In the case of CSS files, these would be referenced on the page that holds the module required to degrade.

Tokenisation of SEO Filename and Connector Path

The name of the generated SEO file is set during the setup of the publishing connector – the default name configured in the system is seo.html. If multiple modules are utilising the same publishing connector tokens should be employed in the SEO filename.

Tokens can be entered into both the SEO file name and the connector path. Using token-based values you can create a generic connector that will have specific outputs based on which area is being published. You can use multiple tokens in each field.

 The following tokens are available:

  • {{AccountId}} – The ID of the current account
  • {{StyleId}} – The ID of the brand style of the current module
  • {{TemplateId}} – The ID of the template of the current module
  • {{ModuleId}} – The ID of the current module
  • {{AreaId}} – The ID of the area being published
  • {{AreaIdGUID}} – The GUID of the area being published
  • {{AreaIdGUIDShort}} – The GUID of the area without hyphens being published
  • {{PublicationId}} – The ID of the current publication

A token is entered in the following format {token name}. e.g.:

  • Connector Path: {{AreaId}}/{{ModuleId}}
  • SEO Path: {{AreaId}}.html

Publishing module 2549 into area 1234 would create the following:

  • Connector Path: 1234/2549
  • SEO Path: 1234.html

Setting up the Dependencies

Once the preferred method of SEO is decided, in order to get this working, there is a setup process involved.

In The Connector Area

There are 2 fields that are specifically required for the SEO. Specifically:

SEO File Name: {AreaIdGUID}.html

This allows you to publish out a unique HTML fragment of your module. The default output is SEO.html if you leave the field blank, but this is not therefore unique. In order to publish out a unique fragment, you will need to include a token of your choice. For example, if you use the token {AreaIdGUID}.html this will return the unique SEO for the particular module associated to that unique area that is published, and thereby name it accordingly as a html file, for example  b4d596a1-0623-4696-9480-0e182d443adc.html . This is published out to the same location as all of your Amplience content assets.

URL of live site: (optional): http://www.yourlivewebsite/your-file-path/

This is where the SEO images will be published to and stored on the live server. This must be the absolute URL to the location where the live SEO images will be stored and referenced from – this is very important to ensure the above SEO html fragment page correctly references the source of the images, otherwise it will not be able to locate them. Having a relative path in here is not suggested, and will likely result in images not being found or referenced as expected in the static degradation.

If you are not sure what your absolute URL is, look in your content XML on your live site, for example:

The content XML file here:

And you will note the referenced images, for example:

mediaItem src="images/image-filename.jpg" 

This tells you where your images are located in the following URL: 

So in your connector, the absolute URL on live site to your images where your SEO images will be stored should therefore be:

In The Page Embed Code

In order for the SEO content to be referenced correctly, the integrator will need to write a server side include (SSI) to retrieve and handle the SEO page. The include will depend on the integration platform.

You will also need to ensure that the <SEO-REFERENCE>.html file is relative to the area ID, or whatever token has been applied in the Connector. So for example, if you set your area ID token, in your SSI include, you would reference the file (for example) b4d596a1-0623-4696-9480-0e182d443adc.html accordingly.

In the code example below, the SSI would look similar to:

<div id="tc_area">

            <!--#include file=":"/PathToFile/b4d596a1-0623-4696-9480-0e182d443adc.html "-->


Example SSI Scripts

Here are examples of how you do SSI's for a number of tech platforms:

JSP,, Any apache (Rails), Any IIS, CGI, Perl 
<!--#include file="seo.html"-->

<?php include("seo.html"); ?>

<cfinclude template="seo.html">

Most web servers require configuring to allow SSI's, so here's a link to the Apache documentation.


Note: The above code is sample only, and will vary dependent on the integration platform.

[1] This only applies to Template Builder – for bespoke templates an XSLT will need to be uploaded when the template is created.