Configure Job Detail SEO
Tell OndaWorx which Salesforce Job fields should be used for search engine titles, descriptions, canonical URLs and JobPosting structured data.
What does Job Detail SEO control?
There are four main things to configure.
1. Review the supplied Job Detail SEO record
The OndaWorx managed package includes a starting SEO configuration called Job Detail SEO.
Open:
Its Developer Name is:
Job_Detail_SEO
If the customer uses the standard packaged
OW_Job__c object, many of the supplied mappings will already
provide a useful starting point.
If the customer uses its own Job object, review every field mapping and replace the packaged API names with fields from the customer's Job object.
OndaWorx Ltd
as an example.
For most OndaWorx customers, simply replace this with the customer's
organisation name.
This applies to both direct employers and most recruitment agencies.
2. Review the SEO field mappings
The table below explains the main settings.
| Field | What it does | Packaged starting value |
|---|---|---|
| Page | Links this SEO configuration to the Job Detail Page. |
Job_Detail
|
| Active | Enables this SEO configuration. | Checked |
| Title Field | Salesforce field containing the Job title. |
Position_Title__c
|
| Description Field | Salesforce field containing the main Job description. |
Job_Description__c
|
| Date Posted Field | Date or DateTime field representing when the Job was published or created. |
Created_Date__c
|
| Valid Through Field | Optional Date or DateTime field representing the Job closing date. | Blank |
| Employment Type Field | Salesforce field containing the customer's employment type. |
Employment_Type__c
|
| City Field | Main locality or town/city field used for the Job. |
Work_Location__c
|
| Region Field | Optional state, county or regional field where appropriate. | Blank |
| Postal Code Field | Optional postcode or postal-code field. | Blank |
| Country Field | Salesforce field containing the Job country. |
Country__c
|
| Salary Min Field | Numeric Salesforce field containing the salary or lower salary value. |
Annual_Salary__c
|
| Salary Max Field | Optional numeric field containing the upper salary value. | Blank |
| Salary Currency | Three-letter currency code. |
GBP
|
| Salary Unit | The period represented by the salary. |
YEAR
|
| Hiring Organisation Name | Fixed organisation name used in the OndaWorx JobPosting output. For most direct employers and recruitment agencies, enter the customer's own organisation name. Only specialist multi-employer Job Boards that deliberately identify a different employer for each Job need the alternative setup described below. | OndaWorx Ltd — example only. Replace with the customer's organisation name. |
Field types matter
OndaWorx validates the fields used by the SEO configuration.
- Date Posted and Valid Through should use Salesforce Date or Date/Time fields.
- Salary fields should use numeric Salesforce fields.
-
All mapped fields must belong to the Job object used by the
Job_DetailPage. - The public Guest User must be able to read the fields used publicly.
3. Decide how Hiring Organisation should work
Hiring Organisation Name is different from most of the field mappings above.
In the current OndaWorx release it is a fixed value on the SEO configuration. The same organisation name is therefore used for every eligible Job published through that Job Detail SEO configuration.
Direct employers
If the customer is advertising its own vacancies, replace:
OndaWorx Ltd
with the employer's organisation name.
For example:
Example Company Ltd
The same name will then be used in the JobPosting structured data for each eligible Job.
Recruitment agencies
Recruitment agencies will normally also use one fixed organisation name.
In most agency implementations, candidates apply through the recruitment agency and the identity of the underlying client is not published as the hiring organisation for every vacancy.
Replace:
OndaWorx Ltd
with the recruitment agency's organisation name.
For example:
Example Recruitment Ltd
Less common: a Job Board advertising Jobs for named employers
Some organisations may use OndaWorx as a true multi-employer Job Board where the individual employer is deliberately identified on each Job.
For example:
- Job A is advertised for Company A
- Job B is advertised for Company B
- Job C is advertised for Company C
This is expected to be a less common OndaWorx implementation.
The current OndaWorx release cannot vary Hiring Organisation Name for each individual Job because the value is stored on the Job Detail SEO configuration rather than read from a Job field.
For this type of multi-employer Job Board:
-
Remove the example
OndaWorx Ltdvalue from Hiring Organisation Name. - In Experience Builder, select the OndaWorx Job Detail component.
- Enable Disable Component JobPosting JSON-LD.
- If JobPosting structured data is required, use another implementation that can provide the correct hiring organisation for each individual Job.
4. Configure the SEO title and description
OndaWorx can build the title and description automatically from each Job.
The supplied starting templates are:
SEO Title Template:
{title} Jobs in {city}
SEO Description Template:
{description}
You can change these to suit the customer's brand.
For example:
{title} jobs in {city} | Your Company
Supported template tokens
| Token | Uses |
|---|---|
{title} |
Title Field |
{description} |
Description Field |
{city} |
City Field |
{region} |
Region Field |
{postalCode} |
Postal Code Field |
{country} |
Country Field |
5. Check the Employment Type mappings
The values stored in the customer's Salesforce Employment Type field may not always be the values required in the JobPosting data.
OndaWorx uses OW Job SEO Employment Map records to translate values where necessary.
The managed package includes one starting example:
| Salesforce value | JobPosting value |
|---|---|
| Temporary | TEMPORARY |
Review the customer's actual Employment Type values and add mappings where needed.
Supported JobPosting values include:
FULL_TIMEPART_TIMECONTRACTORTEMPORARYINTERNVOLUNTEERPER_DIEMOTHER
FULL_TIME because a permanent role could also be part-time.
Confirm what the customer's values actually mean.
6. Decide whether a Canonical URL is required
A canonical URL tells search engines which public URL should be treated as the preferred version of a Job page.
- Canonical URL Template blank
- Canonical Target Page blank
When would you configure a different canonical URL?
Use this only when the same Job exists at more than one public URL and the customer deliberately wants another URL to be treated as the preferred one.
For example:
https://www.example.com/job/{recordId}/{slug}
In that situation:
- enter the full HTTPS URL in Canonical URL Template
-
include
{recordId} -
use
{slug}if the target URL also contains a readable slug - select the appropriate Canonical Target Page
- make sure the target Page uses the same Job object
- make sure the target Page publication rules allow that Job
7. Decide whether OndaWorx should generate JobPosting structured data
The standard OndaWorx Job Detail component can generate JobPosting JSON-LD from the SEO configuration.
In Experience Builder, the component includes:
Disable Component JobPosting JSON-LD
Normal OndaWorx setup
For most direct employers and recruitment agencies:
leave Disable Component JobPosting JSON-LD unchecked / false.
OndaWorx will then generate the JobPosting structured data using the configured Job fields and the customer's fixed Hiring Organisation Name.
Less common multi-employer setup
If different Jobs deliberately identify different named employers and the hiring organisation therefore needs to vary by Job:
enable Disable Component JobPosting JSON-LD.
Use another structured-data implementation if the customer requires JobPosting output containing the correct employer for each individual Job.
8. Publish and test the SEO configuration
Publish the Experience Cloud site and open a real published Job while signed out of Salesforce.
- the Job Detail page opens normally
- the page title contains the expected Job title and location
- the description is appropriate for the Job
- salary values and currency are correct
- the date posted comes from the intended Salesforce field
- the closing date is correct where one is supplied
- city, region, postcode and country are correct where configured
- the employment type is translated correctly
- the canonical points to the intended public Job URL
For the normal OndaWorx setup
- JobPosting structured data is present on a published eligible Job
- the Hiring Organisation Name is the customer's correct organisation name
- the Hiring Organisation Name is not left as OndaWorx Ltd
- there is not more than one competing JobPosting implementation
If the customer uses the multi-employer exception
- OndaWorx component-generated JobPosting JSON-LD is disabled
- OndaWorx Ltd is not being presented as the hiring organisation
- one fixed employer name is not being applied incorrectly to every Job
- if another JobPosting implementation is being used, it shows the intended employer for each individual Job
Test an unavailable Job as well
Unpublish or expire a test Job and open its direct public URL.
Confirm:
- the Job is no longer exposed as an available public Job
- active JobPosting structured data is not exposed for the unavailable Job
- the page does not incorrectly present the Job as still open
Advanced field reference
Most implementations can be completed using the steps above. The table below provides a quick reference for the SEO configuration fields.
OW Job Detail SEO — field reference
| Field | Purpose |
|---|---|
| Page |
Select the detail OW Job Board Page,
normally Job_Detail.
|
| Active | Enables the SEO configuration. |
| SEO Title Template | Template used to create the Job page title. |
| SEO Description Template | Template used to create the Job page SEO description. |
| Title Field | Salesforce field containing the Job title. |
| Description Field | Salesforce field containing the Job description. |
| Date Posted Field | Date or DateTime field containing the Job publication date. |
| Valid Through Field | Optional Job closing or expiry date. |
| Employment Type Field | Salesforce field containing the customer's employment value. |
| City Field | Main locality field used for the Job location. |
| Region Field | Optional regional location field. |
| Postal Code Field | Optional postcode or postal-code field. |
| Country Field | Country field used for the Job location. |
| Salary Min Field | Numeric salary field or lower end of a salary range. |
| Salary Max Field | Optional upper end of a salary range. |
| Salary Currency |
ISO currency code such as
GBP.
|
| Salary Unit |
The salary period, such as
YEAR.
|
| Hiring Organisation Name | Fixed organisation name used by OndaWorx JobPosting output. For most direct employers and recruitment agencies, enter the customer's own organisation name. Only true multi-employer Job Boards that deliberately identify different employers for individual Jobs need the alternative handling described above. |
| Canonical URL Template | Optional preferred cross-site Job URL template. Leave blank for a standard single-site setup. |
| Canonical Target Page | Target OndaWorx Page used when a deliberate alternative canonical URL is configured. |
Common setup problems
| Problem | Check first |
|---|---|
| SEO configuration does not load | Active setting, Page relationship and mapped field API names. |
| Job title is wrong | Title Field and SEO Title Template. |
| Location is wrong | City, Region, Postal Code and Country mappings. |
| Salary is missing | Numeric salary field, Salary Min/Max mappings, Currency and Unit. |
| Employment type is missing | Employment Type Field and OW Job SEO Employment Map records. |
| Hiring organisation says OndaWorx Ltd | Replace the packaged example with the customer's organisation name. For most direct employers and recruitment agencies, no further change is required. |
| Customer deliberately publishes different named employers for different Jobs | This is a less common multi-employer implementation. The current release cannot vary Hiring Organisation Name by Job. Disable component-generated JobPosting JSON-LD and use an alternative structured-data implementation if employer-specific JobPosting is required. |
| Canonical points to the wrong website | Canonical URL Template and Canonical Target Page. Leave both blank if no alternative canonical is required. |
| Two JobPosting blocks appear | Check whether another SEO implementation is also injecting JobPosting data and use the component's Disable JobPosting option where appropriate. |
Continue: Configure URLs and routes →
Guide updated 10 October 2026. Complete the Job Detail setup before configuring SEO.