🎅 Ship faster with premium components 🎅
Search documentation v1.3.0

Career Page Template for Astro

Publish SEO-optimized job listings effortlessly with a minimal UI

Career Page Template for Astro

High-quality hiring starts with a high-quality career page. Build trust with candidates through a beautifully structured, professional job post. Reduce development time, keep brand consistency across roles, and publish new opportunities in minutes, not hours.

How to Setup

How to use the Career template in Astro
---
import Career from '@templates/Career.astro'
const layout = {
seo: { ... } // Your SEO configuration
menu: { ... } // Menu configuration
footer: { ... } // Footer configuration
}
const buttons = [ ... ] // CTA buttons, such as "Apply now" or "See all positions"
const requirements = { ... } // List of position requirements, displayed under the CTA
---
<Career
layout={layout}
role="Astro Developer"
caption="Frontend · Remote or London Office"
summary="Help us build high-performance websites..."
location="London / Remote (EU timezone preferred)"
contract="Full-time · Mid-Senior level"
publishDate="2025-01-15"
buttons={buttons}
requirements={requirements}
>
Main content
</Career>
The structure of props
---
import Career from '@templates/Career.astro'
// Your layout with SEO, including menu and footer
const layout: CareerProps['layout'] = {
seo: {
title: 'Career Page Template - Webcore',
url: 'https://webcoreui.dev/',
description: 'A customizable and easy to use template for job posting.',
faviconUrl: '/logo.svg'
},
menu: {
logo: {
html: logo
},
items: [
{ name: 'Templates', href: '/templates' }
]
},
footer: {
logo: {
html: logo
},
columns: [
{
title: 'Sitemap',
items: [
{ href: '/', name: 'Home' }
]
}
],
subText: `© ${new Date().getFullYear()} Webcore. All Rights Reserved.`
}
}
// Role of the career, inserted into h1
const role = 'Astro Developer'
// Caption, shown above the role
const caption = 'Frontend · Remote or London Office'
// A short summary about the position, right below the h1
const summary = 'Help us build high-performance websites.'
// Additional location info, displayed under summary
const location = 'London / Remote (EU timezone preferred)'
// Additional contract info, displayed under summary
const contract = 'Full-time · Mid-Senior level'
// Additional post date, displayed under summary
const publishDate = '2025-01-15'
// CTA buttons displayed at the top of a sidebar
const buttons: CareerProps['buttons'] = [{
text: 'Apply now ->',
href: '#',
theme: 'info'
}]
// List of position requirements, displayed under the CTA
const requirements: CareerProps['requirements'] = {
title: 'What we expect',
items: [{
icon: 'circle-check',
text: 'Strong experience with Astro',
color: 'var(--w-color-success)'
}]
}
---
<Career
layout={layout}
role={role}
caption={caption}
summary={summary}
location={location}
contract={contract}
publishDate={publishDate}
buttons={buttons}
requirements={requirements}
>
Main content
</Career>
Template API reference
type CareerProps = {
layout: LayoutProps
role: string
caption?: string
summary?: string
location?: string
contract?: string
publishDate?: string
buttons: ({
text: string
icon?: IconProps['type'] | string
} & ButtonProps)[]
requirements?: {
title?: string
items: IconListProps['items']
}
}

Key Features

  • SEO-optimized layout out of the box: Pre-configured meta tags and clean markup help your open roles get discovered faster.
  • Modern, accessible UI components: Built with fast, semantic, accessibility-friendly components so your candidates get a smooth experience on any device.
  • Flexible button actions: Add “Apply”, “Share”, “See All Jobs” or any custom CTA using themeable button styles.
  • Requirements block with icons: Clearly communicate expectations using visual cues and color-coded indicators.
  • Role-focused content structure: Includes role title, summary, contract type, location, publishing date, and CTA buttons to reduce setup time.

Documentation

We've collected the following documentations for you that can help you get the most out of this template: