Job board SEO built for roles that expire
A recruitment content system must publish live jobs fast, retire filled roles honestly, qualify role-and-location pages, satisfy JobPosting requirements, and acquire employers as deliberately as candidates.
Separate jobs from careers
Open roles satisfy immediate intent but disappear quickly. Role definitions, salary guides, career pathways, employer profiles, and hiring advice create the durable context that survives individual vacancies and earns repeat discovery.
- ✓Publish availability as a fact — the page, application action, structured data, sitemap, and feed must agree on whether applications remain open.
- ✓Control the combination space — role, skill, seniority, contract type, remote status, and location are useful facets, not automatic permission to create indexable pages.
- ✓Build for both sides — candidate acquisition and employer acquisition need distinct queries, evidence, journeys, navigation, and conversion actions.
- ✓Let durable content compound — transparent salary data and practical career guidance keep earning attention when listings turn over.
Make expiry a system state, not an editorial chore
Every vacancy should move through predefined states. The transition must update visible status, apply controls, JobPosting markup, sitemap membership, internal links, and the next candidate action together.
- ✓Draft — reachable only through authorized workflows; no index signals or active-job sitemap entry.
- ✓Open — complete, unique, applyable, self-canonical, internally linked, and eligible for JobPosting markup.
- ✓Closed — application disabled, markup removed, status stated, and active-job sitemap entry removed immediately.
- ✓Retained or retired — preserve only when the URL continues to help; otherwise return an honest 404 or 410.
Create fewer, stronger search destinations
A board can generate millions of role, skill, location, seniority, schedule, salary, industry, and remote-work combinations. Index only the sets that represent a stable candidate need and can remain useful as inventory changes.
- ✓Define canonical entities — map title variants to a maintained occupation, skill, employer, and geographic vocabulary.
- ✓Require a page-level value test — demand, inventory continuity, distinct intent, unique context, internal links, and an owner.
- ✓Design zero-result states — explain the category, offer alerts or adjacent live roles, and recruit relevant employers without inventing availability.
- ✓Keep filters useful but controlled — candidates may filter deeply without every parameter combination becoming crawlable or indexable.
How search and AI behave in recruitment
The result set changes by the hour, but the candidate's underlying need—work of a certain kind, in a viable place, under acceptable conditions—changes much more slowly.
Job-board demand is two-sided. Candidates search by role title, skill, employer, location, remote arrangement, seniority, salary, contract type, shift, visa support, or a combination of these. Employers search for ways to advertise a role, reach a specialist audience, compare job-board prices, improve applicant quality, integrate an applicant tracking system, or solve a low-response posting. These audiences can use the same nouns while expecting opposite actions. “Nursing jobs in Leeds” needs live vacancies; “advertise nursing jobs in Leeds” needs an employer proposition, audience evidence, terms, and a posting workflow.
The search results page, or SERP, is the page a search engine returns for a query. Its occupants are broader than competing job boards. A live-role query can surface an employer's career site, an aggregated result, a professional network, a staffing agency, a government employment service, a local directory, or a job-specific search feature. A career question can be occupied by universities, professional bodies, salary publishers, forums, creators, and AI-generated answers. Measure query competitors, not only commercial competitors.
Job-specific search surfaces place unusual weight on structured data. JobPosting structured data is machine-readable markup that describes one genuine vacancy: its title, employer, location or remote arrangement, description, publication date, expiry, employment type, compensation where provided, and application route. The reason accuracy matters before completeness is simple: a richly marked-up closed job is more misleading than a lightly marked-up open one. Mark up only facts visible on the page, use one canonical detail URL, and remove the markup as soon as the role stops accepting applications.
AI answer systems often summarize durable questions rather than reproduce a complete live inventory: what a role does, which skills it requires, likely career paths, salary factors, interview expectations, or employers in a field. They can also recommend places to search for work. Clear role entities, explicit geographic scope, dated salary methodology, stable employer profiles, and honest availability give these systems facts they can extract without confusing last month's vacancy with today's opportunity.
Separate volatile facts from durable guidance. Availability, closing date, vacancy count, and apply action belong to live data. Role definitions, skill relationships, career pathways, hiring processes, and salary methodology belong to maintained editorial pages. This division lets useful content compound while the listing layer turns over. It applies the shared business-type playbook to recruitment's harder expiry and structured-data constraints.
Two journeys create one liquidity problem
A board succeeds when qualified candidates and credible employers meet; optimizing only the candidate funnel can increase visits while worsening empty results.
| Stage | Typical duration | Candidate decision | Employer decision | Content response |
|---|---|---|---|---|
| Explore | Days to months | Which role, skill path, industry, employer, or location fits? | Which channel reaches the right candidates? | Role glossary, career guides, salary research, employer audience pages |
| Search | Minutes to weeks | Which suitable jobs are open now? | What product, reach, price, and posting terms apply? | Role and location categories, live listings, posting product and pricing pages |
| Qualify | Minutes to days | Do duties, requirements, pay, place, schedule, and eligibility match? | Will the board deliver relevant applicants and fit the hiring workflow? | Complete job details, company profiles, specifications, proof, integrations |
| Apply or post | Minutes to days | Can I complete a trusted application without surprises? | Can I publish, pay, manage, and measure the vacancy? | Application guidance, employer onboarding, validation, support, troubleshooting |
| Decide and return | Days to months | Should I accept, continue searching, alert, or build another skill? | Should I renew, post again, or change the campaign? | Alerts, career progression, hiring analytics, renewal guidance, support |
These durations are planning ranges, not promises. An hourly worker may apply within minutes; an executive search can take months. A high-volume employer may repost weekly while a small company hires once a year. Design content around the uncertainty that must be resolved, then choose the call to action that matches readiness.
Ranked post types for job boards
Core formats keep live supply discoverable and understandable; useful formats compound around it; rarely used formats need a verified question that the main system cannot answer.
| Rank | Post type | Journey stage | Priority | Why |
|---|---|---|---|---|
| 1 | Product page | Search / qualify / apply | Core | Acts as the job-listing contract: one canonical page holds the vacancy identity, employer, duties, requirements, compensation, location, dates, status, schema, and application action. |
| 2 | Category page | Explore / search | Core | Creates a durable destination for a justified role, location, skill, or other taxonomy set above short-lived inventory and supports useful filtering without indexing every combination. |
| 3 | Cost guide | Explore / qualify | Core | Supports salary guides for candidates and posting-cost guides for employers when definitions, periods, geographies, samples, assumptions, and exclusions are explicit. |
| 4 | How-to guide | Explore / apply / return | Core | Turns career and hiring tasks—writing an application, preparing for an interview, posting a compliant role, or improving response—into ordered, testable steps. |
| 5 | Troubleshooting page | Apply / post / return | Core | Resolves failed applications, inaccessible forms, missing confirmations, rejected feeds, expired links, posting errors, and low-response campaigns with safe recovery and escalation. |
| 6 | Company profile | Explore / qualify | Core | Provides a stable employer entity for identity, locations, industry, culture evidence, policies, current roles, and verified facts instead of duplicating boilerplate on every vacancy. |
| 7 | Feature page | Employer search / qualify | Core | Serves employer landing needs for posting products, candidate reach, screening, integrations, campaigns, or workflow features with exact scope and a clear posting action. |
| 8 | Glossary term | Explore | Core | Defines role titles, credentials, employment types, skills, seniority, benefits, and hiring language consistently across listings, categories, filters, and AI answers. |
| 9 | Directory index | Explore / search | Core | Organizes occupations, industries, employers, and locations into stable paths while keeping internal search and unbounded filter combinations out of the crawlable hierarchy. |
| 10 | Original research | Explore / employer qualify | Useful | Turns owned vacancy, application, salary, skill, and time-to-fill data into durable evidence when methodology, coverage, bias, and revisions are disclosed. |
| 11 | FAQ hub | Qualify / apply / post | Useful | Organizes substantial recurring candidate and employer questions when one maintained hub improves support; decision-specific answers should still sit beside the relevant action. |
| 12 | Review page | Employer qualify | Rarely | Use only when the board can independently test a hiring product or channel with declared criteria; employer-submitted testimonials belong in attributed proof, not a manufactured review. |
The table is bidirectional by design. The postTypes frontmatter records the job-board side of the relationship, while each linked specification defines the reusable format. Teams can begin with this business model or with a post type and reach the same contract without creating a recruitment-only template that omits required anatomy.
Money pages must connect truth to action
A money page helps a candidate apply or an employer post, buy, renew, or contact sales; the commercial action makes exact availability and scope more important, not less.
- Job listing pages. Use one self-canonical URL for one real vacancy. Show the employer, title, work arrangement, physical location where applicable, duties, required and preferred qualifications, employment type, compensation when available, benefits, publication and closing dates, application process, equal-opportunity or jurisdictional disclosures, and visible status. Do not create several URLs for the same requisition merely to target title variants.
- Role and location category pages. Build durable pages only for meaningful sets. Explain the occupation or place, show current jobs, expose useful filters, define salary and eligibility scope, support alerts, and recover honestly from zero inventory. A generated city-role page with no openings, context, links, or supply plan is not a landing page.
- Employer profiles. Keep identity, industry, locations, workplace policies, verified benefits, hiring process, and active roles in one maintained entity. Attribute culture claims to their source, date employee evidence, and avoid presenting employer-submitted statements as independent verification.
- Employer acquisition pages. Separate posting products, packages, pricing basis, audience, distribution, screening, integrations, service levels, terms, and onboarding from candidate navigation. State whether the employer buys a single post, duration, credits, subscription, performance product, or managed campaign, and what happens after purchase.
- Salary and career hubs. Durable guidance should cover role definitions, skill paths, qualifications, salary drivers, progression, interview preparation, application methods, and workplace realities. It earns attention between vacancies and routes qualified people into current inventory without pretending every reader is ready to apply.
- Employer and candidate support. Application failures and posting-feed failures directly interrupt revenue and trust. Maintain troubleshooting pages for form errors, account access, confirmations, duplicate applications, feed validation, expired destinations, billing, and campaign changes, with escalation routes that preserve the affected record.
Index policy for the job lifecycle
| State | Page and JobPosting policy | Sitemap and internal links | Candidate action |
|---|---|---|---|
| Draft / pending approval | Not indexable; no JobPosting markup; keep outside public crawl paths | Exclude from active sitemap and public categories | None; employer completes or corrects the record |
| Open and complete | 200, indexable, self-canonical, visible facts matching valid JobPosting markup | Include in active-jobs sitemap and relevant category, company, and location paths | Apply, save, share, or ask a defined question |
| Closing soon | 200 with the real deadline; do not manufacture urgency or extend validThrough without employer confirmation | Remain in active paths until applications genuinely close | Apply before the stated deadline |
| Filled / applications closed | Remove JobPosting markup and application action immediately; show explicit closed status | Remove from active sitemap and live-job modules; evaluate lasting value | See genuinely equivalent open roles, create an alert, or follow the employer |
| Expired with durable value | 200 without JobPosting markup when links, recurring demand, unique employer facts, or historical reference justify retention | Keep out of active sitemap; link contextually only where useful | Understand the old role, then move to current matching roles |
| Expired without durable value | 404 or 410; redirect only to a true successor representing the same vacancy and intent | Remove from sitemaps, categories, recommendations, and feeds | Use a helpful not-found route to current search |
The reason to retain an expired URL is usefulness, not a desire to preserve every page count. Never keep an apply button working for a closed role, never leave JobPosting markup on an unavailable job, and never redirect every expired role to the homepage. Page state, markup, sitemap membership, and action must change as one transaction.
Key elements carry availability and fit
Candidates make high-stakes decisions from fast-changing facts, so reusable elements must reduce ambiguity before they decorate the page.
| Element | Why it carries weight | Production rule |
|---|---|---|
| Availability block | Prevents a closed vacancy from appearing applyable. | Show open, closing, closed, or filled in visible text; include the effective date and only actions valid for that state. |
| Freshness stamp | Separates a current vacancy fact from an old employer description or salary estimate. | Name what was checked, when, against which feed or employer source, and who owns the next review. |
| Spec table | Makes pay, schedule, contract, location, remote status, seniority, qualifications, and benefits comparable. | Use defined labels and units; distinguish required, preferred, unknown, and not applicable rather than filling gaps by inference. |
| Definition box | Disambiguates role titles, credentials, employment types, and skills that vary by employer or jurisdiction. | Lead with a bounded definition, name regional or industry scope, and connect synonyms to one canonical entity. |
| Related content | Recovers value when a job closes and connects volatile listings to durable role and career guidance. | Recommend genuinely similar live roles by explicit criteria, plus the relevant role, salary, employer, or alert page; do not label broad inventory as equivalent. |
| Sources block | Makes salary, qualification, licensing, labor-market, and legal claims traceable. | Cite the publisher, dataset or rule, geography, period, extraction date, methodology, and limitations; label employer-submitted claims. |
| FAQ element | Resolves residual questions about eligibility, applications, remote status, deadlines, fees, refunds, and employer workflows. | Answer on the page where the decision occurs and keep structured FAQ output synchronized with the visible answer. |
JobPosting markup is not a substitute for these visible elements. Search systems and candidates should encounter the same title, organization, place, compensation, employment type, description, dates, and application state. If a field cannot be shown truthfully on the page, do not create a more precise version only in structured data.
Build a topical map around one occupation market
This software-engineering cluster shows how live vacancies connect to durable candidate guidance, employer entities, and a separate supply funnel.
Occupation market: Software engineering
├── Understand the work
│ ├── Software engineer role definition and title synonyms
│ ├── Front-end, back-end, full-stack, mobile, platform, and QA paths
│ ├── Skills and technologies, with level and context
│ ├── Junior, mid-level, senior, staff, and management scope
│ └── Employment types, remote models, and location terminology
├── Evaluate a career
│ ├── Salary guide by role, level, geography, and period
│ ├── Career progression and adjacent occupations
│ ├── Qualification and portfolio routes
│ ├── How to prepare an evidence-based application
│ └── Interview stages and troubleshooting
├── Find live work
│ ├── Software engineering category
│ │ ├── Justified location pages
│ │ ├── Justified specialty pages
│ │ └── Controlled filters for the remaining combinations
│ ├── Live job detail → employer profile → application
│ └── Closed job → equivalent live roles → alert → career guidance
├── Understand employers
│ ├── Company profile and verified locations
│ ├── Hiring process, policies, benefits, and work model
│ ├── Current engineering vacancies
│ └── Employer-specific candidate guidance
└── Acquire employer supply
├── Advertise software engineering jobs
├── Specialist audience and distribution
├── Posting product, price basis, and duration
├── ATS feed, screening, and campaign workflow
└── Troubleshooting, reporting, renewal, and proofA taxonomy is the maintained system used to classify entities and relationships. Here it maps employer title variants such as “software developer” or “backend engineer” to canonical occupations without erasing real differences. Skills, seniority, employment type, remote status, and geography remain separate dimensions. This prevents a title string from doing too many jobs and gives filters, category headings, internal links, reporting, and structured data the same vocabulary.
Only a subset of combinations should become indexable destinations. “Senior Python engineer jobs in Manchester” may qualify when demand is distinct, supply recurs, the meaning is stable, and the page can remain useful through a zero-result period. “Part-time junior remote fintech Python Django engineer jobs within 15 miles” is likely a useful session filter but a poor permanent page. Record the decision by template and combination class so product releases cannot silently expand the index.
What to track in AmICited
Monitor the agreement between active inventory, index policy, directory performance, and the data used to decide what deserves intervention.
- Sitemaps and Indexing: open the sitemap and indexing report to verify that open, complete job URLs enter the active-jobs sitemap and closed roles leave it. Segment stable categories, employers, and career content from volatile vacancy sitemaps. Investigate stale closed jobs, missing live jobs, canonical conflicts, feed-generated duplicates, sitemap errors, and sharp submitted-URL changes after an ATS or template release. Submission requests discovery; it does not guarantee indexing.
- Pages: use the Pages report to compare role categories, location pages, job details, company profiles, salary guides, career how-tos, and employer acquisition pages. A listing-level fall may be normal expiry; a category or employer-funnel decline can represent a durable commercial loss. Classify URLs by type and state before interpreting totals.
- Directory: open the Directory report to see whether a whole role family, location subtree, employer section, career hub, or posting-product directory changed together. Section-wide movement often points to navigation, taxonomy, canonical, migration, or template behavior rather than hundreds of unrelated drafts.
- Data Health: review data health before treating aggregate commercial reporting as complete. Its present feature scope focuses on measured versus assumed commerce cost inputs, so apply it where connected recruitment purchases, posting products, or campaign records use those inputs. Do not present it as a JobPosting completeness validator; build separate operational validation for job-feed fields and lifecycle state.
Read the reports together. If the active-jobs sitemap grows while the live-job directory loses visibility, inspect duplication, internal-link dilution, category quality, and expired-role cleanup. If listings receive impressions but employer acquisition pages do not, candidate demand is not proving supply-side acquisition. Annotate ATS migrations, bulk expiries, employer feed outages, taxonomy changes, schema releases, salary-report publication, and package changes so later movement has an operational explanation.
Define alert thresholds from normal board behavior instead of inventing universal numbers. A board with thousands of daily expiries needs state-based rates and cohorts; a specialist board can review each important category. The invariant is agreement: what the employer says is open, what candidates can apply to, what markup describes, what the sitemap submits, and what reporting counts should reconcile.
Pitfalls specific to job boards
These failures come from hard expiry, feed synchronization, title ambiguity, combinatorial taxonomies, and two-sided acquisition—not from content volume alone.
Keeping JobPosting markup after applications close
A closed application route makes the search result misleading even if the HTML page still returns 200. Remove the markup and live-job sitemap entry as part of the same state transition that disables apply. A visible “expired” label does not excuse active structured data.
Reposting the same vacancy to manufacture freshness
Changing the publication date or cloning a requisition without a genuinely new opening creates duplicate inventory and false urgency. Preserve the canonical vacancy identity. Reopen or create a new record only when the employer confirms a real recruitment event and the dates and application route are true.
Redirecting every expired role to a broad category
A specific vacancy is not equivalent to a generic jobs page. Keep a useful closed page or return 404/410; redirect only when a true successor represents the same role and intent. Offer similar jobs in the recovery experience without disguising the old URL as one of them.
Indexing every filter combination
Role × skill × seniority × contract × remote status × salary × industry × location creates an enormous URL space. Most combinations should help candidates filter without becoming crawlable landing pages. Index only sets with distinct demand, stable meaning, recurring supply, unique context, and maintained internal links.
Treating employer title strings as a taxonomy
Employers use “developer,” “engineer,” “programmer,” and branded titles inconsistently. Publishing a category for every string fragments demand and duplicates pages. Map variants to canonical occupations while preserving the employer's visible title and any material distinction on the job detail.
Building candidate traffic without employer acquisition
A board can rank for career advice yet lack jobs in the roles candidates want. Maintain employer pages for audience, product, price, workflow, integrations, and proof. Feed recurring zero-result categories into employer recruitment rather than responding with more candidate articles.
Publishing salary numbers without scope
A single median or range is meaningless without role definition, level, geography, currency, pay period, data window, sample rules, and treatment of bonus or equity. Explain the method before the number and preserve older reports as dated history instead of silently overwriting them.
Copying employer boilerplate into every job
Repeated culture and company text creates near-duplicate pages and drifts when policies change. Keep stable company facts on the profile; keep requisition-specific duties, requirements, compensation, location, dates, and application details on the vacancy.
Job board SEO FAQ
The operational answers below keep availability, structured data, taxonomy, supply acquisition, and durable content aligned.
Should expired job listings stay indexed?
Keep an expired listing indexed only when the URL still has durable value, such as a recurring role, meaningful links, unique employer information, or a useful path to equivalent live jobs. Remove JobPosting markup immediately, show the closed status, remove it from the active-jobs sitemap, and retire low-value listings with 404 or 410.
How quickly should a filled role be removed from JobPosting schema?
As soon as applications close or the role is filled. The visible page, validThrough value, application action, active-jobs sitemap, and structured data should agree. A nightly feed may be acceptable operationally, but high-volume boards should monitor the delay because stale availability can mislead candidates.
Should every role, skill, and location combination be indexable?
No. Index a combination only when it represents distinct search demand, maintains enough live or recurring inventory, has a stable place in the taxonomy, and can help a candidate even during a temporary zero-result period. Keep the remaining combinations as crawl-controlled filters.
What content attracts employers rather than candidates?
Create a separate employer acquisition system covering posting products, pricing, audience reach, hiring workflows, integrations, screening options, policies, proof, and onboarding. Use explicit employer language and calls to action so these pages do not compete with candidate job categories.
Are salary guides useful when current job inventory is low?
Yes, when the methodology, geography, role definition, seniority, sample period, and limitations are clear. Salary and career guidance can satisfy durable demand between hiring cycles, but it must not imply that an old or unrepresentative sample describes today's market.
What is the most important technical report for a job board?
Start with Sitemaps and Indexing because live-job discovery and expired-job removal must match the board's lifecycle policy. Read it alongside Pages and Directory reports to distinguish an indexing fault from a weak role family, location section, employer area, or template.
Find where live-job visibility breaks
Free check · 7-day trial · no credit card