The JobPosting schemaorg plugin maps a hybrid job to jobLocationType: "TELECOMMUTE":
https://github.com/joomla/joomla-cms/blob/5.4-dev/plugins/schemaorg/jobposting/src/Extension/JobPosting.php — case 'Hybrid': ['jobLocationType'] = 'TELECOMMUTE';
Per Google's Job Posting structured-data requirements, a hybrid job must be marked TELECOMMUTE combined with the physical jobLocation. The comment in the plugin itself states this. However, the form (plugins/schemaorg/jobposting/forms/schemaorg.xml) does not require jobLocation when jobLocationType: Hybrid is selected (the jobLocation subform has no showon/required rule tied to it), and the plugin does not validate it either.
jobLocation fields empty."jobLocationType": "TELECOMMUTE" with no jobLocation.Either:
jobLocationType is omitted when Hybrid is selected but no jobLocation was provided (fall back to plain JobPosting), orjobLocation input when Hybrid is chosen.Invalid combination per Google's rich-results requirements; the job posting is ineligible for Google Jobs rich results.
| Labels |
Added:
No Code Attached Yet
|
||
Thanks @richard67. One thing worth noting: since #48238 the plugin already maps Hybrid to jobLocationType: TELECOMMUTE unconditionally (JobPosting.php), so a hybrid posting without a physical jobLocation currently gets exactly the fallback you described. Implementing that suggestion would be a no-op.
The open question is therefore whether the current output is acceptable or should change:
TELECOMMUTE, no location info) — note Google's doc marks jobLocation as required unless applicantLocationRequirements is present, which Joomla's form doesn't offerjobLocationType when jobLocation is emptySkipping the form-required route since conditional validation isn't supported per #37798.
Happy to prepare a PR for whichever direction you prefer, or close the issue if the current behavior is considered fine.
This could be a possible way.
Or maybe better change
jobLocationTypefromHybridtoTelecommuteif nojobLocationis provided.Unfortunately our form validation does not support a conditional required attribute.
There was a PR proposed to implement that, but it was rejected, see PR #37798 .