City-Targeted Job Pages With JobPosting Markup
A job site where every listing has a version for the city it serves
A dealership group hires for many stores, and each job post is only useful to people who can reach that store. A general careers page makes candidates search through everything.
I built the World Car Careers site so each job is findable on its own page, with a version for the nearby city.
The problem
The client asked for one place to handle all of the auto group’s job listings. A general careers page makes candidates search through everything, so I wanted a page for each job that could match a search for a role and a place.
I chose SvelteKit and Directus because they are simple, fast, and easy to work with.
What I built
Job pages
Every job has a base page at /jobs/{job}. City variants follow the pattern /jobs/{job}-near-{city}-tx.
City variants
A city variant changes the title tag, the H2, the meta description, and the location fields in the markup to serve that city.
Structured data
Both base and city pages carry schema.org JobPosting markup, written as microdata. The fields include title, job location, employment type, work hours, base salary, hiring organization, description, date posted, benefits, qualifications, responsibilities, and skills.
Locations and search
The site has a locations page with a section for each store, and a search page. A WebSite JSON-LD block describes the site search.
Stack
The site uses SvelteKit for the frontend, Directus as the content system, and MySQL for data.
Results from GA4
Over a nine-month period, the site averaged about 460 users per month. Over the same nine months, 451 unique users submitted an application, according to GA4. GA4 counts users, not confirmed individual people.
Those numbers belong to the city-targeted pages. I have no ranking numbers to publish.
What happened next
Traffic has trended down since I handed the site off. The client owns the listings and has not kept them updated, and traffic follows how often listings are refreshed.
That is the lesson I carry into every content plan. Pages earn traffic for a while, then decline when nobody maintains them.
Refresh dates, expiry dates, and accurate pay belong on a schedule. I wrote about it in Why SEO Pages Need Refresh Cycles.
Related
See the technical SEO services page, and compare this with the city landing pages project.
Search proof
Verified search figures. Keep the qualifiers.
- Dealerships
- 13
- SEO and ad accounts at World Car Auto Group.
- SEO experience
- Since 2015
- Not a count of years in an SEO-titled role.
- Careers site users
- About 460 per month
- Average over nine months, per GA4.
- Careers applicants
- 451 unique users
- Submitted an application over the same nine months, per GA4.