Sharing & SEO
How the public URL works, how the OG sharing card is generated, and what Google Jobs and AI search engines see on your hire pages.
Every published hire page is a public URL that any person — and any search engine — can crawl. This guide covers how the URL is built, what shows up in social previews, and what we render for Google Jobs and AI search engines like ChatGPT, Perplexity, and Gemini.
The URL
Default format:
hire.page/<workspace-slug>/<hire-page-slug>
Example: hire.page/acme/senior-video-editor.
Both segments are kebab-case and lowercase. Editing either slug 301-redirects from the old URL to the new one, so links you've shared keep working.
If you connect a custom domain (Starter+), the same page is also reachable at:
<your-domain>/<hire-page-slug>
…and the workspace segment is dropped.
Social sharing
Every hire page emits Open Graph and Twitter Card meta tags. When you paste the URL into LinkedIn, X, Discord, Slack, Telegram, iMessage, or Notion, you get a custom image with your role title, workspace logo, and accent color.
The OG image is generated on first request and cached. If you update your branding or page title, the next request regenerates the image automatically. Image dimensions: 1200×630, PNG.
Search-engine indexing
Published hire pages are indexable by default. You can opt out per page (Page settings → SEO → Hide from search engines) — this adds a noindex meta tag and removes the page from our sitemap.
Closed pages remain indexed; archived pages return 404 and are removed from the sitemap.
Sitemaps
We auto-generate sitemaps and serve them from the root:
sitemap.xml— the marketing-site sitemapsitemap-workspaces.xml— public workspace homepagessitemap-hire-pages.xml— every published, non-noindex hire page across the platform
If you've connected a custom domain, the sitemap for your domain includes only your workspace's hire pages.
JobPosting JSON-LD schema
Every published hire page emits a JobPosting JSON-LD block in the page's <head>. This is the structured-data format Google Jobs uses, and the same format AI search engines parse to extract structured role information.
We fill in:
title— the page titledescription— the role body, stripped of formattingdatePosted— when the page was first publishedvalidThrough— auto-set to 60 days from publish (resets on edit); for closed pages, the closing dateemploymentType— derived from the attribute pill (FULL_TIME, PART_TIME, CONTRACTOR, etc.)hiringOrganization— workspace name and logojobLocation— derived from the location attribute pillbaseSalary— derived from the comp band attribute pill, if you've set one
This makes the role eligible to appear in Google Jobs, AI search citations, and any tool that parses JobPosting schema.
What AI search engines see
When ChatGPT, Perplexity, Gemini, or Claude crawls a hire page, they see:
- Fully server-side rendered HTML
- The
JobPostingschema in the head - The full role body as semantic HTML (
<h1>,<h2>,<p>,<ul>) - The application form with proper
<label>and<input>elements - Page metadata (title, description, OG tags)
We do not block AI crawlers in our root robots.txt. AI engines pick up hire pages from the standard sitemap.
Page title and description
Each hire page generates:
- Title —
<role title> · <workspace name>. Override in Page settings → SEO → Custom title. - Meta description — first 160 characters of the role body, with formatting stripped. Override in Page settings → SEO → Custom description.
Frequently asked
Will my hire page appear on Google Jobs?
If indexed (default) and the JobPosting schema is complete (employment type and location at minimum), Google Jobs typically picks it up within 24–72 hours of publish.
Can I add my own SEO tags?
On Growth+ via custom HTML in head (see Tracking & custom code). For most teams, the auto-generated title/description and the custom-title/description overrides are enough.
Will closed pages still rank?
Yes, but with a validThrough date in the past. Google Jobs typically deprioritizes them within a few days of closing.
Can I have multiple custom domains pointing at one workspace?
Not in v2. One workspace, one custom domain.