@art-design-digital/payload-plugin-google-for-jobs-v3
v1.0.1
Published
A Payload plugin for Google for Jobs.
Downloads
16
Keywords
Readme
Payload Plugin Google for Jobs v3
A Payload CMS v3 plugin that adds Google for Jobs structured data fields to your job posting collections.
Features
- Adds all necessary fields for Google for Jobs structured data to existing collections
- Fields are added in a dedicated "Google for Jobs" tab
- Full i18n support (EN, DE, ES, FR, NL)
- Optional localization for the job description field
- Conditional salary fields (single value or range)
Installation
npm install @art-design-digital/payload-plugin-google-for-jobs-v3
# or
pnpm add @art-design-digital/payload-plugin-google-for-jobs-v3
# or
yarn add @art-design-digital/payload-plugin-google-for-jobs-v3Usage
Add the plugin to your Payload config:
import { buildConfig } from 'payload'
import { googleForJobsPlugin } from '@art-design-digital/payload-plugin-google-for-jobs-v3'
export default buildConfig({
// ... your config
plugins: [
googleForJobsPlugin({
// Add Google for Jobs fields to these collections
collections: ['jobs'],
// Optional: Enable localization for the description field
localized: true,
// Optional: Disable the plugin
disabled: false,
}),
],
})Configuration Options
| Option | Type | Default | Description |
| ------------- | ---------- | ---------- | ------------------------------------------------------- |
| collections | string[] | (required) | Collection slugs to add Google for Jobs fields to |
| localized | boolean | false | Enable localization for the description field |
| disabled | boolean | false | Disable the plugin (schema is preserved for migrations) |
Added Fields
The plugin adds the following fields to your collections in a "Google for Jobs" tab:
Required Fields
| Field | Type | Description |
| ----------------- | -------- | ----------------------------------------------------------------------------------------------------- |
| jobCategory | select | Category: Job, Apprenticeship, or Dual Study |
| employmentType | select | Employment type (multi-select): Full-time, Part-time, Contractor, Temporary, Intern, Volunteer, Other |
| description | richText | Job description (optionally localized) |
| jobLocationType | select | Workplace type: Remote, On-site, or Hybrid |
Recommended Fields
| Field | Type | Description |
| ------------------------------ | -------- | ------------------------------------------------------------- |
| identifier | text | Unique job ID from your internal system |
| validThrough | date | Application deadline |
| applicantLocationRequirements| text | Geographic restrictions for remote workers (visible for remote/hybrid jobs) |
| directApply | checkbox | Whether applicants can apply directly via the job URL |
| salaryRange | checkbox | Toggle between single salary and salary range |
| baseSalaryMinValue | number | Minimum salary (visible when salaryRange is true) |
| baseSalaryMaxValue | number | Maximum salary (visible when salaryRange is true) |
| baseSalaryValue | number | Salary (visible when salaryRange is false) |
| baseSalaryUnitText | select | Salary unit: Hour, Day, Week, Month, or Year |
Google for Jobs Values
The following values are used for Google for Jobs structured data:
Employment Type
FULL_TIME- Full-timePART_TIME- Part-timeCONTRACTOR- Freelancer/ContractorTEMPORARY- TemporaryINTERN- InternshipVOLUNTEER- VolunteerOTHER- Other
Job Location Type
TELECOMMUTE- Remote/Home officeONSITE- On-siteHYBRID- Hybrid
Salary Unit
HOUR- Per hourDAY- Per dayWEEK- Per weekMONTH- Per monthYEAR- Per year
i18n Support
The plugin includes translations for:
- English (en)
- German (de)
- Spanish (es)
- French (fr)
- Dutch (nl)
All field labels, descriptions, and options are translated based on your Payload admin language setting.
TypeScript
The plugin exports types for use in your project:
import type { GoogleForJobsPluginConfig } from '@art-design-digital/payload-plugin-google-for-jobs-v3'License
MIT
