Your career page is probably an iframe. You pasted an embed code from Greenhouse, Lever, Jobvite, or ZipRecruiter into a HubSpot page, and now you have a white rectangle that does not match your site's design, loads slowly, breaks on mobile, and is invisible to Google. Every job listing lives on someone else's domain. Your careers page is just a wrapper around a third party widget.
Job Board Pro is a standalone HubSpot module that replaces those iframe embeds with a fully native career page. Filterable job listings organized by department. A side-drawer detail view with rich text descriptions. Deep-linkable URLs for every job. Automatic Schema.org structured data for Google Jobs. All managed from the visual editor. No code, no external dependencies, no monthly subscription to an ATS you do not need.
Why Your Career Page Matters More Than You Think
Career pages are the second or third most visited page on most company websites, right behind the homepage and about page. Candidates check your career page before they check your Glassdoor. If that page is an iframe embed that takes four seconds to load and looks nothing like the rest of your site, you are telling candidates that you do not care about the experience. That is not the message a hiring company wants to send.
Beyond candidate experience, career pages are an SEO opportunity that most companies ignore entirely. Google Jobs pulls structured data from career pages and surfaces job listings directly in search results. If your jobs are trapped inside an iframe, Google cannot read them. They do not exist in search. You are paying for a job board platform and getting zero organic visibility from your own website.
The Problem with Career Pages on HubSpot CMS
HubSpot does not have a native job board module. Your current options are:
- Iframe embeds from ATS platforms. Greenhouse, Lever, Jobvite, and ZipRecruiter all provide embed codes. You paste them into a custom HTML module or rich text block. The result is a page-within-a-page that does not match your fonts, colors, or spacing. It loads its own CSS and JavaScript. It cannot be styled from HubSpot. On mobile, the iframe either scrolls independently from the page (confusing) or cuts off content (broken). Google cannot crawl the content because it lives on a different domain inside the iframe.
- Manual rich text listings. You type job listings into a rich text module. It looks on brand, but there is no filtering, no search, no structure. Adding or removing jobs means editing a page manually every time. No schema markup. No deep links. It works for a company with three open roles and updates once a quarter. It does not work for a company that hires regularly.
- Custom coded career pages. A developer builds a career page template with job data pulled from an API or a HubDB table. This works but costs thousands in development time, requires a developer for every content change, and locks you into a single implementation that nobody else on your team can maintain.
- Separate career site on a subdomain. Some companies run their career page on a completely different platform and subdomain (careers.company.com). This fragments your SEO authority, creates a disjointed brand experience, and adds another platform to maintain.
Job Board Pro was built because every company with open roles needs a career page, and none of the existing approaches on HubSpot deliver a native, styleable, SEO-optimized solution that a marketer can manage.
What Job Board Pro Actually Does
Category-based job organization
Group jobs into up to 12 department categories. Each category gets a name, description, and optional icon. Categories render as distinct sections with dividers and role counts. When all jobs in a category are filtered out by search or dropdown, the entire section hides automatically. This means your engineering, design, marketing, and sales departments each get their own clearly labeled section without building separate pages.
Job listings with complete metadata
Each job supports up to 15 listings per category, each with title, excerpt, featured image, location, location type (remote, hybrid, or on-site), employment type (full-time, part-time, contract, internship), salary range with currency and pay period, rich text description, custom badge, and application URL with custom button text. This is not a simplified job card. It is a complete listing with every field that candidates and search engines expect.
Multi-criteria search and filtering
A toolbar with keyword search (debounced for performance), category dropdown (auto-populated from your departments), employment type dropdown, and location type dropdown. All four filters combine so candidates can search for "senior designer" in "Engineering" that is "Remote" and "Full-time" simultaneously. The toolbar stacks vertically on mobile without breaking.
Side-drawer detail view
Click any job card and a detail panel slides in from the right side of the screen. Sticky header with the job title. Tag chips for location type, employment type, and department. Full rich text description with formatting. Meta sidebar showing department, location, type, and salary. Apply CTA button linking to your application URL. Focus is trapped inside the drawer for accessibility. Closes via the X button, clicking the backdrop, or pressing Escape.
Deep-linkable job URLs
Every job automatically gets a unique URL hash. Share a link like yoursite.com/careers#senior-designer and the detail modal opens automatically on page load. If you have two jobs with the same title, suffixes are added automatically. This means recruiters can share direct links to specific positions in emails, LinkedIn posts, and job board aggregators, and candidates land directly on the listing instead of scrolling through your entire career page.
Schema.org structured data for Google Jobs
Job Board Pro automatically generates JSON-LD structured data for every listing. Title, description, salary, employment type, location, and organization are all included in the markup. Eight currencies supported. This is not optional metadata. It is the structured data format that Google Jobs requires to surface your listings as rich results in search. With an iframe embed, Google sees nothing. With Job Board Pro, every open role is eligible for Google Jobs indexing.
Two Layout Modes
Card grid or list view. Cards display the job image, badges, title, excerpt, location, salary, and action buttons in a 1 to 4 column grid. Cards support shadow presets, hover lift animation, and image zoom on hover. List view renders compact rows separated by dividers with badges right-aligned. Both layouts share the same toolbar, filtering logic, and detail modal.
Card grid works best for companies that want a visual, modern career page. List view works best for companies with many open roles where density and scannability matter more than visual impact.
75+ Style Controls, Zero Code
Every visual element is configurable from the Style tab in the HubSpot editor:
- Typography: Two Google Font pickers (primary for headings and job titles, secondary for descriptions and labels). Eight independent font size controls. Or inherit fonts from your page or theme.
- Cards: Background, border, border radius, four shadow presets (none, subtle, medium, strong), hover lift effect, image zoom on hover, padding, and gap between cards.
- Badges: Five color sets for different badge types. Location badges are color-coded by default: green for remote, blue for hybrid, gray for on-site. Custom badge colors configurable per type.
- Filters: Search input background, border, text color, placeholder color. Dropdown styling. Filter bar background and spacing.
- Buttons: Background, text color, hover state, border radius, padding, font size, and weight. Separate controls for card buttons and detail panel apply button.
- Detail panel: Overlay background color and opacity, panel background, sidebar background, meta box styling, close button color, panel width, and animation speed.
- Category dividers: Color, thickness, spacing, and whether to show role counts.
- Responsive: Independent tablet and mobile breakpoints with font size scaling and column adjustments.
Nothing is hardcoded. A dark mode career page with gold accents, a clean white page with your brand blue, or a warm ivory page with serif typography: it all comes from the style controls. No CSS editing required.
Accessibility
Job Board Pro is built with proper accessibility from the start. Focus-visible outlines on all interactive elements. Full keyboard navigation through job cards, filters, and the detail modal. ARIA attributes including role, aria-modal, aria-label, and aria-live for screen reader support. Focus trap inside the detail modal so keyboard users do not tab out into the background page. Semantic HTML throughout. This is not optional polish. Career pages must be accessible because job applicants include people using assistive technology, and in many jurisdictions, inaccessible career pages create legal liability.
What You Can Build With It
- SaaS company career pages with card grid layout, department sections, multi-criteria search, and Google Jobs schema. Replace your Greenhouse or Lever iframe with a native page that matches your brand.
- Corporate career centers with list view layout for companies with 50+ open roles. Dense, scannable listings with side-drawer details. Filter by department, employment type, and location type.
- Startup hiring pages with dark mode styling, accent colors, and a compact card grid. Three open roles do not need a full ATS platform. They need a clean page that looks intentional.
- Agency team pages with freelance and contract positions displayed alongside full-time roles. Employment type badges make the distinction clear. Application URLs can point to different forms per role.
- Multi-location businesses with location-type filtering. Candidates filter by remote, hybrid, or on-site and immediately see what is available in their preferred work arrangement.
When You Still Need an ATS
Job Board Pro is a career page module, not an applicant tracking system. It handles the public-facing career page: displaying jobs, letting candidates search and filter, presenting detailed descriptions, and generating structured data for Google. It does not handle application processing, candidate pipelines, interview scheduling, or offer management.
If you use an ATS, Job Board Pro replaces the iframe embed, not the ATS itself. Your application URLs can still point to your Greenhouse, Lever, or Workable application forms. Candidates see a polished, on-brand career page on your HubSpot site, click apply, and land on your ATS application form. You get the SEO and candidate experience benefits of a native page without giving up your existing hiring workflow.
If you do not use an ATS and have fewer than 20 open roles, Job Board Pro with application URLs pointing to HubSpot forms covers everything you need.
Works on Any HubSpot Portal
Job Board Pro is a standalone module. No theme dependency. Install it in any HubSpot CMS portal, drop it on any page template, and configure everything from the drag and drop editor. Multiple instances on the same page are fully isolated through scoped CSS and unique instance identifiers.
No jQuery. No external dependencies. Pure vanilla JavaScript. The module loads no third party scripts, makes no external API calls, and sends no visitor data anywhere. Fast page loads and clean Core Web Vitals because the career page is just HTML, CSS, and scoped JavaScript served from your HubSpot CDN.
Get Job Board Pro
Job Board Pro is available on the HubSpot Marketplace for $9.99. See the live demo and documentation on the product page. Browse all Studio Nope modules.
If your HubSpot career page is an iframe embed from an ATS that does not match your site, loads slowly, breaks on mobile, and is invisible to Google Jobs, Job Board Pro is the module that fixes it.