Skip to content

Example: job vacancies

A recruitment agency has thirty open vacancies at any time. Every vacancy needs a page of its own to share and advertise, all vacancies need one recognisable layout, and a filled job should disappear from the site. Here the rows change all the time: one row per vacancy, added when the job comes in and deleted when it is filled.

  • /jobs-warehouse-supervisor-hamburg/, /jobs-payroll-administrator-bremen/, … — one page per vacancy
  • /vacancies/ — a normal page listing every open job
Property Type Code Example value
Title Title title Warehouse supervisor in Hamburg
URL URL / Slug href warehouse-supervisor-hamburg
Job title Text field job Warehouse supervisor
Location Text field location Hamburg
Hours per week Number hours 38
Salary Text field salary €3,100 – €3,600 per month
Contract Select (Pro) contract Permanent (options: Permanent, Temporary, Freelance)
Summary Textarea summary Two or three paragraphs about the employer and the job.
Requirements Item list (Pro) requirements Vocational training in logistics, 3 years’ experience, … one per line
What we offer Item list (Pro) offer Travel allowance, 30 days of annual leave, … one per line
Apply before Date (Pro) deadline 2026-11-30
Recruiter Text field recruiter Anna Schmidt
Recruiter email Email email anna@example.com

A Select property gives every row the same choices, so Permanent is never spelled three ways. You set its options on the Properties tab.

  • Template title: @code_title_430@
  • Href: /jobs-@code_href_430@

Put the job and the town in the URL value (warehouse-supervisor-hamburg): job seekers search for both.

  1. Header: an H1 with the job title, and a line with the key facts: Hamburg · 38 hours per week · Permanent · €3,100 – €3,600 per month.
  2. Summary: the employer and the job.
  3. Requirements and What we offer: two lists side by side.
  4. Apply: Apply before 30 November 2026, the recruiter’s name and an Apply now button that opens an email to the recruiter.
  5. More vacancies: a Grid of the other open jobs.
  • Header: a Heading (H1) bound to Job title. A Paragraph with the facts as tokens: @code_location_430@ · @code_hours_430@ hours per week · @code_contract_430@ · @code_salary_430@.
  • Summary: a Paragraph bound to Summary.
  • Requirements and What we offer: two Columns, each with a Heading and the Item List block (Pro).
  • Apply: a Paragraph bound to Apply before shows the date in the site’s date format; put Apply before in front of it in its own Paragraph or a Heading. A Paragraph Questions? Ask @code_recruiter_430@. and a Button with its link bound to Recruiter email.
  • More vacancies: the Grid block with this template, Layout List.

On the normal page Vacancies, add a Grid with this template, shown as a list (Layout List; in Elementor, Layout Type List Layout), and Sort items Alphabetical (A-Z). Every open job is listed by its title, and a new job appears once its page is generated.

The Grid lists all pages of one template and has no filters. To group jobs, for example by sector, make a template per sector (Logistics vacancies, Finance vacancies) with the same design, and give each its own Grid under its own heading. Copy the finished template’s design to start the second one.

Delete the row on the Groups tab and save with Create & update pages. Its page is removed and disappears from every Grid. Pages don’t expire on their own, so make removing filled jobs part of your routine; the Apply before date on the page tells visitors how current a vacancy is.

To prepare a vacancy that may only go live on a certain day, for example after the client approves it, plan its row with RowSprout Pro’s Planning tab, as described in the branches example.

With Rank Math, the template’s SEO fields are copied to every page with the tokens filled in. Give the template an SEO title such as @code_job_430@ in @code_location_430@ | Vacancy and a description with the hours and salary, and every vacancy gets its own. A JobPosting schema with tokens gives every vacancy its own structured data too; see Rank Math SEO.