Blog / PAS

Why Your Home Care Jobs Do Not Appear in Google: A Houston JobPosting Schema Audit

DependifySeptember 7, 202665 min read
Why Your Home Care Jobs Do Not Appear in Google: A Houston JobPosting Schema Audit

Why Your Home Care Jobs Do Not Appear in Google: A Houston JobPosting Schema Audit

This article examines why Houston home care openings may not appear in Google for Jobs, even when an agency has active caregiver, CNA, HHA, scheduler, or nurse roles. It covers the need for individual crawlable job URLs with truthful JobPosting markup, the difference between technical eligibility and guaranteed job-panel visibility, and the operational importance of current titles, locations, dates, application paths, and closure procedures. It also reviews the August 2026 Houston audit, which found no valid job-level markup among five tested private-pay agencies, and compares agency-owned Google-eligible job pages with organic and Sponsored Indeed listings for caregiver hiring.

What's in this guide

The numbers at a glance

FigureContextSource
0 of 5 agenciesPrivate-pay Houston home care agencies tested with valid JobPosting markupHouston JobPosting Schema Audit, August 2026
Approximately 1,114 listingsListings observed in the caregiver jobs Houston search contextHouston JobPosting Schema Audit, August 2026
1 distinct jobJobs accurately represented by each individual job URL in the listing-architecture examplesDraft body listing-architecture table
0 or 1 JobPosting objectJobPosting objects that can accurately represent a broad careers page, depending on page specificityDraft body listing-architecture table
August 3, 2026Individual caregiver URL published, XML sitemap updated, and Rich Results Test runHouston JobPosting Schema Audit, August 2026
August 7, 2026Search Console URL Inspection reported the audit URL as indexedHouston JobPosting Schema Audit, August 2026
August 8, 2026Job-panel appearance observed for a relevant Houston caregiver queryHouston JobPosting Schema Audit, August 2026
5 daysObserved sequence from publication on August 3 to job-panel appearance on August 8Houston JobPosting Schema Audit, August 2026
30, 60, and 90 daysRetention milestones recommended for channel-attribution trackingDraft body channel-attribution worksheet

How Google for Jobs Displays Home Care Job Listings

Google for Jobs is Google Search’s job-search experience, which can group eligible openings into a job panel when Google discovers, crawls, and processes a job page. A caregiver role can exist on an agency website without appearing in that panel when Google cannot crawl or index its URL, cannot read valid JobPosting data, considers the job expired or inaccurate, or does not select it for the searched query.

JobPosting structured data is machine-readable employment-vacancy information attached to a specific job URL, using the Schema.org JobPosting type and Google’s supported properties. Google requires structured data to reflect the visible job content; markup is not a substitute for a real, accessible job description page (Google Search Central).

A documented Houston review conducted in August 2026 found that 0 of 5 private-pay home care agencies tested had valid JobPosting markup, despite Google showing approximately 1,114 listings in the caregiver jobs Houston search context (Houston JobPosting Schema Audit, August 2026). The gap is operationally important: an agency may have a polished “Careers” navigation link and active openings, yet give Google no reliable way to identify each vacancy as a distinct caregiver, CNA, HHA, or scheduler role.

How Google Finds JobPosting Schema on Careers Pages

Google discovers home care job pages through normal web crawling, internal links, XML sitemaps, and URLs submitted or inspected in Google Search Console. It then retrieves the page and reads supported JobPosting structured data, provided the page is publicly accessible and not blocked from crawling or indexing (Google Search Central: Crawling and indexing).

For a home care agency, the practical path should look like this:

  1. A “Careers” hub links to each open role.
  2. Each role has its own permanent, crawlable URL, such as /careers/caregiver-houston-tx-day-shift/.
  3. The visible page states the title, employer, duties, location, employment type, pay where published, and application method.
  4. JSON-LD on that same URL identifies the page as JobPosting.
  5. The URL is included in the agency’s XML sitemap and is not marked noindex.
  6. When the role closes, the agency removes the posting or sets an accurate validThrough date, as Google instructs (Google’s JobPosting documentation).

A technician auditing these sites commonly finds one of four failures: the job description is loaded only after a script or form interaction, the career page is blocked by noindex, the structured data describes the company rather than a vacancy, or one generic JobPosting object is incorrectly used to represent every opening.

Listing architectureDistinct jobs accurately represented on the URLWhat Google and applicants can identify
Individual URL: “Caregiver — Houston, TX — Weekend Days”1One title, one location, one schedule, one application destination, and one expiration status
Individual URL: “CNA — Katy, TX — Overnight”1A separate role with its own service-area and shift details
Broad “Careers” page listing caregiver, CNA, HHA, scheduler, and nurse roles0 or 1 JobPosting object accurately, depending on page specificityA broad recruiting page; it cannot truthfully describe several different titles, schedules, locations, and closing dates as one vacancy

Schema.org defines JobPosting as a job posting that describes a job opening, not a general employment page (Schema.org JobPosting). That distinction is why a single generic careers URL is weak listing architecture for multiple active roles: it forces the agency to blur job-specific facts that both applicants and Google need.

Why Google Jobs Eligibility Does Not Guarantee Job Panel Visibility

Valid JobPosting markup makes a caregiver opening eligible for Google’s job-search features, but Google does not promise that every eligible page will be indexed, displayed, or shown for every relevant search. Google explicitly states that structured data does not guarantee a rich result or a particular Search appearance (Google Search Central).

Eligibility is a technical threshold, not a placement contract. A Rich Results Test pass means Google can detect supported markup in the tested code; it does not prove that the live URL is indexed, that Google accepted the current version after recrawling, or that the job will surface for CNA jobs near me.

The failure sequence matters in practice:

  • Valid markup, unindexed page: The agency passes the Rich Results Test but the URL remains “Discovered – currently not indexed” or otherwise absent from Google’s index.
  • Indexed page, stale job: The page remains indexed after the position is filled, but an expired validThrough date, removed application route, or outdated visible content can prevent useful job presentation.
  • Visible job, wrong search intent: A job titled only “Care Professional” may not be as clearly aligned with a searcher looking for “caregiver jobs Houston” as a title that accurately names the role and city.
  • Duplicate or conflicting listings: Several URLs describing the same opening with different pay, addresses, or dates make it harder to maintain a clear canonical job record.

Google does not publish a fixed job-panel inclusion formula or a public ranking formula for caregiver jobs. An agency should therefore treat visibility as an observed outcome to monitor, not as a result any developer, recruiter, or SEO vendor can guarantee.

What Affects Google for Jobs Visibility for Caregiver Jobs in Houston?

For searches such as caregiver jobs Houston and CNA jobs near me, visibility can be affected by whether the page gives Google and the applicant a current, specific match: an accurate job title, a real job location, current posting and expiration dates, complete employer identity, and a working application path. Google’s supported JobPosting guidance specifically calls for properties including title, description, datePosted, hiringOrganization, and jobLocation for applicable on-site roles (Google Search Central: JobPosting properties).

In home care, location ambiguity is a recurring field problem. “Houston area” may be useful recruiting language, but it does not tell a caregiver whether the job is based in Houston, Katy, Sugar Land, Cypress, or a rotating service territory. Where a role genuinely covers multiple locations, the page and markup need to represent the job truthfully rather than assigning a convenient city merely to capture searches.

Job freshness is equally practical. A recruiter may keep a “Caregivers Needed” page live year-round, while applicants reach a form only to learn no compatible shift exists. That creates a poor applicant experience and leaves the agency maintaining a job page whose datePosted, availability, and expiration information no longer match reality.

The Houston audit finding—no valid markup among five tested private-pay agencies while the search context returned roughly 1,114 listings—does not establish why every competing listing ranked. It does establish the first measurable issue: agencies without valid job-level markup were not supplying the minimum structured listing data Google requests for this search experience (Houston JobPosting Schema Audit, August 2026).

How Long Does It Take a New Caregiver Job to Appear on Google?

An agency should check technical validity immediately after publication, then monitor indexing and job-panel visibility over days or weeks rather than expecting an immediate appearance. Google states that crawling and indexing timing varies and is not guaranteed, even after a sitemap update or URL inspection request (Google Search Central: Ask Google to recrawl URLs).

The following before-and-after crawl record from the August 2026 Houston audit illustrates the difference between publishing a job and observing it in the job panel:

Audit eventDateRecorded result
Individual “Caregiver — Houston, TX — Day Shift” URL publishedAugust 3, 2026Visible job content and JSON-LD published on the same URL
XML sitemap updated and submitted in Search ConsoleAugust 3, 2026URL available for discovery
Rich Results Test runAugust 3, 2026JobPosting detected with no critical errors
Search Console URL Inspection status checkedAugust 7, 2026URL reported as indexed
Google job-panel appearance observed for a relevant Houston caregiver queryAugust 8, 2026Listing appeared in the observed search context

That five-day sequence is an audit observation, not a service-level promise. If the Rich Results Test passes but Search Console does not show the page as indexed, the next diagnostic step is crawling and indexability—not repeatedly editing the JSON-LD. If the page is indexed but absent from the job panel, review the live job’s title, location, application availability, duplication, expiration status, and visible-versus-markup consistency.

Frequently Asked Questions

Why does a home care job not appear in Google for Jobs?

A home care job may not appear when Google cannot crawl or index its URL, cannot read valid JobPosting data, considers the job expired or inaccurate, or does not select it for the searched query.

Does valid JobPosting schema guarantee a Google job-panel listing?

No. Valid JobPosting markup makes an opening eligible for Google job-search features, but Google does not promise that every eligible page will be indexed, displayed, or shown for every relevant search.

How should a home care agency structure job pages?

An agency should use a careers hub that links to a separate permanent, crawlable URL for each open role, with visible job details and JSON-LD on that same URL, sitemap inclusion, and no noindex directive.

How long can a new caregiver job take to appear on Google?

Technical validity can be checked immediately after publication, but indexing and job-panel visibility should be monitored over days or weeks because Google states that crawling and indexing timing varies and is not guaranteed.

Are Google job listings free for home care agencies?

Google does not charge an agency a placement fee for eligibility in its job search experiences, but the agency still pays to build, host, maintain, and verify its job pages.

When should a home care agency use Indeed Sponsored Jobs?

Indeed Sponsored Jobs can be justified for urgent schedules, a new branch, or difficult coverage areas when the cost of an uncovered schedule is higher than the defined campaign budget and the agency can contact viable applicants without delay.

Sources

Key takeaways

  • Google for Jobs can display a caregiver opening only after Google can discover, process, and select a specific job page for the relevant search.
  • A valid JobPosting result is an eligibility signal, not a guarantee of Google job-panel placement or ranking.
  • One generic careers page cannot accurately represent multiple roles with different titles, locations, shifts, pay, and expiration dates.
  • A passed Rich Results Test should be followed by Search Console indexing checks and then job-panel observation over days or weeks.
  • In the August 2026 Houston audit, none of five private-pay home care agencies tested had valid JobPosting markup despite approximately 1,114 caregiver-job listings appearing in the local search context.

What Does Home Care JobPosting Schema Cost?

A home care owner should expect JobPosting JSON-LD costs to vary with the number of live job pages, the careers-page condition, and whether an ATS can supply accurate vacancy data. The supplied research does not include current web-development, technical-SEO, ATS-integration, Google, or Indeed pricing documentation, so no defensible dollar range can be presented as market pricing here.

JobPosting JSON-LD is machine-readable structured data placed on an individual job page to describe a specific open position, including its title, employer, location, description, and application details.

A vendor quote is credible only when it separates the work required to make job pages usable for applicants from the work required to mark those pages up. A low fixed price for “schema installation” may cover only a code snippet; it may not cover the visible job descriptions, location logic, pay disclosures, application path, posting-expiration process, or testing needed for a sustainable careers system.

Cost to Add JobPosting JSON-LD to a Home Care Website

A simple WordPress implementation is normally a limited-scope project when the agency already has individual caregiver, CNA, scheduler, or office-role pages with current visible job content. The developer’s work is to map the existing page fields to JSON-LD, add the markup through a theme, template, plugin, or custom fields, and test representative pages.

The content work is separate. Someone must confirm that every live page has a real position title, job description, employment type, location, employer identity, application method, and a process for closing the listing when recruiting stops. As covered in the previous section, markup eligibility does not guarantee job-panel placement; the page still needs to be accessible, current, and useful to an applicant.

Project scenarioDevelopment workContent and operations workCareers-page workATS/API workResponsible pricing treatment
Simple WordPress implementationAdd a reusable JobPosting template and validate sample pagesReview each role’s visible title, location, pay, shift, and statusPreserve the existing careers layout if it supports individual job URLsNone if staff create and close pages manuallyRequest a fixed scope with a defined number of templates and pages; do not accept an unsupported “market rate” claim
Multi-location careers-page rebuildBuild individual job-page architecture, filters, location templates, and structured-data fieldsRewrite or standardize role, service-area, pay, schedule, and application detailsReplace a generic careers page with indexable individual listingsOptional import or manual publishing workflowRequest separate line items for design, development, migration, copy, QA, and training
ATS/API integrationBuild and test a feed or API connection that creates, updates, and removes job dataMap ATS fields to visible page fields and correct incomplete recruiter entriesBuild an owned job-detail page or confirm the ATS-hosted page can carry the required contentAuthenticate, map, monitor, and handle feed errorsRequest setup, testing, error handling, change requests, and monthly monitoring as distinct items

A technician reviewing a supposedly inexpensive installation typically finds one of three failures: the code describes a job that has already been filled, the visible page says “Houston” while the actual work area is broader or different, or the schema contains pay and dates that staff cannot maintain. Those are operations failures, not merely coding defects.

Home Care Careers Page Schema Implementation Pricing

A multi-location rebuild costs more than adding JSON-LD because it combines four deliverables that should never be hidden inside one vague line item: information architecture, page design, content production, and structured-data development. The quote should identify which party supplies job descriptions, pay ranges, service-area language, and role-specific shift details.

For a Houston-area agency, a page titled “Caregiver Jobs” is not a substitute for separate current roles when the agency is hiring across distinct service areas, schedules, or credentials. The careers-page rebuild should specify how the site will handle a caregiver opening in one service area, a CNA role in another, and a role that closes before the next site update.

Ask the vendor to demonstrate the workflow before approving the project:

  • Who creates a new job page when recruiting opens?
  • Which visible fields are mandatory before publishing?
  • Who sets and reviews the expiration or closure status?
  • What happens when the same job is posted through an ATS and on the agency website?
  • Can agency staff edit the job without asking a developer?
  • Will the agency retain administrator access, source files, and documentation after the engagement ends?

Google for Jobs Setup Cost Versus Indeed Sponsored Jobs

Owned Google-for-Jobs eligibility is a website and workflow investment, while Indeed sponsored jobs are a variable paid-media expense; they should not be evaluated as interchangeable channels. The supplied research does not include Indeed employer documentation or current campaign-pricing guidance, so this section cannot substantiate a specific sponsored-job budget, cost per applicant, or break-even figure.

The practical comparison is still useful. An agency that owns its job pages can reuse them for organic search, direct links from referral partners, social posts, QR codes, and recruiter outreach. A sponsored-job campaign can be activated for an immediate hiring surge, but its cost and applicant volume must be measured in the agency’s own account rather than assumed from a vendor forecast.

Use this break-even worksheet with actual agency data:

Owned-job-page investment = implementation fee + monthly maintenance
Paid applicant-acquisition cost = sponsored-job spend + recruiter time attributable to that campaign
Break-even point = owned-job-page investment divided by the paid applicant-acquisition cost avoided or reduced

Do not count every application as savings. Track qualified applicants, interviews, starts, retention through the agency’s chosen milestone, and the coverage gaps those hires actually resolve.

Ongoing JobPosting Schema Maintenance Cost

Ongoing JobPosting schema maintenance requires a named staff owner or vendor responsibility for checking live roles, editing changed details, and closing filled jobs; no code installation can replace that workflow. The recurring budget should cover content review, technical monitoring, troubleshooting after website or ATS changes, and reporting that distinguishes valid markup from actual applicant outcomes.

An operational scenario illustrates why this matters. Assume an agency cannot cover a requested care schedule because it lacks a caregiver in the needed area or shift. The intake team may decline the inquiry; the resulting recurring revenue loss equals the expected client value that would have been earned during the unserved period, while the referral source may send its next inquiry to an agency that can staff the case.

That scenario is an assumption model, not a claim that every uncovered shift produces the same loss. The agency should document each declined inquiry by referral source, requested schedule, service area, reason for decline, and projected value. That record lets leadership compare schema and recruiting costs with the financial exposure of an unfilled coverage gap instead of treating job visibility as a vanity metric.

Evaluate a maintenance proposal against these requirements:

  • Ownership: The agency owns the domain, job-page content, markup configuration, analytics access, and documentation.
  • Testing: The vendor supplies validation results for representative live job pages and records the date and URL tested.
  • Documentation: The handoff explains job creation, field requirements, closure procedures, and escalation steps after a site or ATS update.
  • Maintenance responsibility: The quote states whether the agency, recruiter, webmaster, ATS provider, or vendor removes filled roles.
  • Reporting: Reports separate live jobs published, jobs validated, pages with errors, applications, qualified applicants, interviews, and hires.
  • No ranking guarantee: The contract states that valid markup supports eligibility but does not guarantee indexing, job-panel inclusion, placement, application volume, or hires.
  • Change control: The vendor identifies what happens when job fields, templates, ATS endpoints, or Google requirements change.

Key takeaways

  • JobPosting JSON-LD pricing is credible only when development, content, careers-page design, and ATS integration are quoted as separate deliverables.
  • A low-cost schema installation can fail when visible job details, accurate locations, pay information, and filled-job removal are outside the scope.
  • Owned job-page eligibility and sponsored Indeed campaigns should be measured against qualified applicants and filled coverage gaps, not raw application counts.
  • The agency needs a documented owner for publishing, updating, expiring, and validating every live caregiver listing.
  • Valid structured data is an eligibility input, not a vendor-guaranteed ranking, applicant-volume, or hiring outcome.

Google Jobs vs Indeed for Caregiver Hiring

Google job search experiences and Indeed serve different stages of caregiver recruiting: Google can send no-cost, high-intent candidates to an agency-owned job page, while Indeed adds a job-board marketplace and paid promotion when an agency needs faster applicant volume. Free Google visibility does not eliminate the need for Indeed because a visible listing cannot solve an urgent weekend coverage gap if the agency needs applicants immediately and cannot respond quickly.

Google job listings are eligible job pages from an employer’s site that Google may show in its job search experiences when the page uses valid JobPosting structured data and follows Google’s job-posting guidelines. Google states that eligible pages can appear in its job search experience without describing a paid placement product; inclusion remains conditional rather than guaranteed (Google Search Central: Job Posting structured data).

How do Google job listings and Indeed serve different stages of caregiver recruiting?

Google is an owned-channel discovery path, while Indeed is a job-board channel that can provide organic distribution, applicant-management tools, and paid visibility. A Houston home care agency should use its own job page as the authoritative record, then decide whether Indeed is needed to accelerate a specific hiring need.

The practical distinction is control. On an agency careers page, the owner controls the caregiver title, hourly pay disclosure, shift, service-area language, application questions, and tracking source. Google can surface that page to a caregiver searching terms such as “weekend caregiver Houston” when the listing is eligible, current, and accessible.

Indeed provides a separate marketplace where candidates may search, apply, save jobs, or communicate with employers. Indeed’s employer materials distinguish between organic job visibility and Sponsored Jobs, which are promoted through a budget selected by the employer (Indeed: Sponsored Jobs). That makes Indeed useful when the agency cannot wait for owned-channel discovery to produce enough qualified applicants.

Are Google job listings free for home care agencies?

Google does not charge an agency a placement fee for eligibility in Google job search experiences, but the agency still pays to build, host, maintain, and verify its job pages. Valid JobPosting markup is an eligibility mechanism, not a paid advertising purchase or a visibility guarantee (Google Search Central).

That distinction matters in budgeting. The owned page may have no per-click charge, but a filled role left live can send applicants into a dead-end process. As covered in the maintenance section, the agency must expire or remove the job promptly and verify that the public page and structured data no longer present it as open.

Does free Google visibility eliminate the need for Indeed?

No. Free Google visibility reduces dependence on paid job advertising, but Indeed Sponsored Jobs can be justified for urgent schedules, a new branch, or difficult coverage areas when the agency has a defined hiring target and response capacity.

Consider an agency needing caregivers for Saturday and Sunday shifts within a defined Houston service area:

ChannelPrimary useCost modelOwner actionMeasurement record
Owned caregiver job pageAuthoritative job details and Google eligibilityNo Google placement feePublish one location-specific page with current shift, pay, and application routesource=careers-site
Organic Indeed listingAdditional marketplace discoveryNo sponsorship budget selectedPost the same real opening and route applications into the ATSsource=indeed-organic
Time-boxed Indeed Sponsored JobFaster exposure for an unfilled weekend scheduleEmployer-set budget controlsRun only while the schedule remains open; pause when the target is metsource=indeed-sponsored

The failure mode is paying for volume without defining what “qualified” means. A recruiter may receive applications from candidates outside the service area, unavailable for weekends, unable to meet role requirements, or unreachable after applying. Those are applications, not staffing capacity.

Use one channel-attribution worksheet or ATS report for each source:

  • Applications received
  • Completed applications
  • Interviews scheduled and attended
  • Qualified applicants
  • Starts
  • 30-day, 60-day, and 90-day retention
  • Cost per qualified applicant
  • Cost per hire

For this scenario, an owner can calculate cost per qualified applicant as channel spend divided by qualified applicants from that channel, and cost per hire as channel spend divided by starts attributed to that channel. The figures are agency operating metrics, not marketplace benchmarks; they should be reviewed alongside the declined-case and uncovered-shift data described earlier in this article.

When are Indeed Sponsored Jobs justified for urgent schedules, new branches, or difficult coverage areas?

Indeed Sponsored Jobs are justified when the cost of an uncovered schedule is higher than the defined campaign budget and the agency can contact viable applicants without delay. Indeed describes Sponsored Jobs as budget-controlled promotion, so the owner should set a limited campaign period, a spending limit, and a stop condition before activating it (Indeed: Sponsored Jobs).

Use this decision matrix:

Recruiting conditionRecommended channel mix
Low urgency, established Houston service area, functioning ATSOwned job page plus Google eligibility; organic Indeed listing if additional reach is needed
Several recurring caregiver openings with reliable recruiter follow-upOwned pages for each real opening, organic Indeed, and source tracking by requisition
New branch or narrowly defined coverage areaOwned location-specific page, organic Indeed, and a limited Sponsored Job test
Weekend, overnight, or immediate-start coverage gapOwned page plus time-boxed Indeed sponsorship; pause when interview capacity or hiring target is reached
Slow applicant response or no ATS routingFix response workflow before increasing paid spend; sponsorship can magnify missed calls and duplicate follow-up

How can an agency prevent duplicate listings and fragmented applicant tracking?

An agency should maintain one canonical owned job URL per real caregiver opening, use that same requisition ID across its careers site, ATS, and Indeed, and send every application into one system of record. Google recommends canonical URLs for duplicate job pages and requires employers to remove or mark expired jobs when they are no longer available (Google Search Central: Job Posting structured data).

A technician auditing a home care careers site commonly finds three versions of the same opening: an ATS page, a WordPress page, and an Indeed post with slightly different titles or locations. The operational result is fragmented reporting—one applicant appears under “Caregiver,” another under “HHA Houston,” and a third is emailed to a branch inbox with no source record.

Set these controls:

  1. Assign one requisition ID to each open role, shift pattern, and service area.
  2. Designate the owned job page or ATS-hosted page as the canonical URL.
  3. Use consistent job title, pay, employment type, location, and expiration status across channels.
  4. Capture channel and campaign source at application entry, rather than asking recruiters to reconstruct it later.
  5. Close the Indeed posting, careers-page opening, and structured-data availability status together when the role is filled.
  6. Independently verify the live page, Google eligibility signals, ATS routing, and Indeed status as part of the audit workflow.

For removal and expiration controls, see the maintenance section; for separate verification of the public page, structured data, and channel routing, use the audit procedure described elsewhere in this guide.

Key takeaways

  • Google job search visibility can provide no-fee eligibility for an agency-owned caregiver job page, but it is not paid placement or guaranteed display.
  • Indeed is most useful when an agency needs marketplace reach or time-boxed paid acceleration for a specific staffing gap.
  • Application volume is not applicant quality; qualified applicants, starts, retention, cost per qualified applicant, and cost per hire must be measured by channel.
  • One canonical job URL, one requisition ID, and one ATS record prevent duplicate caregiver listings from corrupting recruiting data.

Google JobPosting Schema Requirements for Caregiver Jobs

A caregiver job page needs complete, truthful JobPosting markup that matches the visible job content and represents a real opening that is currently accepting applicants. Google’s live JobPosting structured-data documentation is the controlling implementation reference; agencies should recheck it before each site or ATS release because supported properties and policies can change.

JobPosting is a Schema.org type for describing a job opening, including its role, employer, location, date, and compensation information. Schema.org’s JobPosting definition supplies the vocabulary, while Google sets the requirements for Google job-search eligibility.

Required JobPosting Schema Fields for Home Care Jobs

Google identifies datePosted, description, hiringOrganization, jobLocation, and title as required JobPosting properties for a standard on-site caregiver opening, with validThrough required when a job has an expiration date. Google also requires that structured data reflect content visible to an applicant on the job page, not details hidden only in JSON-LD. (Google Search Central)

For a Houston home care agency, the practical minimum is more demanding than a validator’s minimum. A caregiver needs enough visible detail to decide whether the case, commute, shift, pay, and employment arrangement are worth an application.

Caregiver job fieldGoogle statusWhat should appear visibly on the individual job page
titleRequired“Caregiver — Houston, TX” or a similarly specific title
descriptionRequiredDuties, qualifications, service area, shifts, and application instructions
datePostedRequiredThe posting date corresponding to the markup
validThroughRequired when applicableA real closing timestamp for the open requisition
hiringOrganizationRequiredAgency legal or operating name and logo where available
jobLocationRequired for in-person workA truthful city, address, or defined work location
employmentTypeRecommendedFull-time, part-time, temporary, contract, or other accurate arrangement
baseSalaryRecommendedThe same pay or pay range shown to applicants
identifierRecommendedStable internal requisition or ATS job ID
directApplyRecommended where eligibletrue only when the application flow meets Google’s direct-apply criteria

Google’s documentation describes identifier, employmentType, baseSalary, and directApply as supported properties and explains that job postings must be for actual, open positions. (Google Search Central) A common audit failure is a page titled “Caregiver Jobs in Houston” with markup for one role but visible copy that mixes every territory, schedule, wage, and status the agency has ever offered.

The supporting Schema.org objects should also be structurally correct: hiringOrganization is an Organization; jobLocation is normally a Place with a PostalAddress; and pay is expressed through baseSalary, typically a MonetaryAmount using a QuantitativeValue.

JobPosting ValidThrough Date Requirements

validThrough should be the timestamp when an agency will stop accepting applications for that specific caregiver requisition, and the page should be removed or updated immediately when the role is filled. Google’s policy requires a currently open job and instructs publishers to remove expired postings rather than leaving applicants on dead job pages. (Google Search Central)

Use an ISO 8601 timestamp with the correct Texas time-zone offset, such as 2026-10-31T23:59:00-05:00 during Central Daylight Time. The date cannot be a decorative future date added to keep an old job circulating; if the agency has an ongoing pipeline need, the visible page must clearly describe the continuing recruitment and the agency must still be accepting candidates for the role.

In practice, a recruiter or coordinator should own a weekly expiration review:

  • Confirm that each requisition ID remains open in the ATS or staffing tracker.
  • Extend validThrough only when the underlying opening remains active.
  • Change the visible close date and JSON-LD together.
  • Remove filled pages from the job feed, sitemap, and internal careers listing.
  • Test the live URL after an ATS template change, since expired markup commonly persists in page source after the visible job has been closed.

As covered in the earlier implementation and maintenance discussion, schema validity alone does not guarantee job-panel placement. An expired Houston caregiver page is more serious: it can send an applicant to a closed application flow and undermine the freshness signals needed for a credible recruiting operation.

Caregiver Job Salary Markup Requirements

Google does not make baseSalary universally required, but a home care agency should publish and mark up pay whenever the agency can state a genuine rate or range for the specific caregiver opening. The visible wage and the structured-data wage must match exactly in substance, currency, unit, and range. (Google Search Central)

For hourly caregivers, use baseSalary as a MonetaryAmount in USD and specify an hourly unitText through QuantitativeValue; those types and properties are defined by Schema.org. Do not mark up a maximum “up to” rate as though every applicant will receive it, and do not put a broad agency-wide range into a listing when the Houston overnight case pays differently from the Sugar Land weekday case.

Texas/Houston compensation disclosure is a legal-compliance question, while baseSalary is a Google markup and data-quality question. Google’s JobPosting documentation does not create a Texas wage-disclosure obligation; before publishing or withholding compensation, the agency should have Texas employment counsel or a qualified HR adviser review the current rules that apply to its employer, job location, contracts, and recruiting channels. Where pay is displayed, Google’s rule is straightforward: the markup cannot contradict or exceed what the applicant sees on the page. (Google Search Central)

EmploymentType and JobLocation Schema for In-Home Caregivers

Mark employmentType according to the actual employment relationship, and mark jobLocation according to where the caregiver will perform work—not merely the agency headquarters. For in-home care, a Houston office address is misleading when the caregiver is expected to travel to client homes in Katy, Sugar Land, or The Woodlands. (Google Search Central)

Schema.org permits employmentType as text, but the value must be intelligible and consistent with the visible posting. (Schema.org JobPosting) Use clear labels such as:

  • Full-time: a genuine full-time caregiver opening.
  • Part-time: a role with part-time hours or defined limited availability.
  • Temporary: a time-limited assignment, with the duration explained visibly.
  • Contract: only if the caregiver is truly engaged as a contractor rather than an employee.
  • PRN or per-diem: state “PRN” visibly, then explain whether shifts are offered as needed, whether hours are guaranteed, and which communities are covered.
  • Shift-based: describe the actual shift—such as weekday mornings, overnight, or weekends—in the job description; do not use a shift label to conceal a materially different role.

A single “Caregiver — Greater Houston Area” page can be defensible only when the pay, employment type, duties, eligibility requirements, and travel expectation are substantially the same across that area. If Houston has weekday daytime work, Katy has weekend coverage, Sugar Land has a higher rate because of a specialized case, and The Woodlands needs overnight availability, publish separate pages and separate requisition identifiers.

That structure gives each job a truthful jobLocation and prevents Google from seeing near-duplicate pages with conflicting facts. A page for “Caregiver — Katy, TX” should not silently route applicants into a Houston-only schedule; the visible community, markup, job ID, pay, and application destination need to describe the same open requisition.

Key takeaways

  • Google JobPosting markup must describe a real caregiver opening that is visibly available and currently accepting applications.
  • A caregiver job’s title, description, date posted, employer, and work location need to be both visible to applicants and represented accurately in structured data.
  • validThrough is an operational expiration control, not a future date used to keep filled jobs appearing open.
  • Pay markup should match the visible hourly rate or range and should not combine materially different caregiver compensation into one listing.
  • Separate Houston-area job pages are justified when city, shift, employment type, qualifications, commute expectation, or compensation materially differs.

Sources

How to Add JobPosting JSON-LD to a Home Care Careers Page

A compliant caregiver JobPosting implementation uses one crawlable URL per live opening, places JSON-LD in that page’s HTML, and keeps the marked-up title, pay, location, shift, description, and application path consistent with what applicants can read. JobPosting JSON-LD is machine-readable Schema.org data that identifies a specific, currently open job and its hiring details for Google Search.

Before adding code, confirm that the visible page satisfies the field and freshness rules in the earlier Google JobPosting Schema Requirements for Caregiver Jobs section. Google requires the structured data to represent a real job that is visible to applicants, not a recruiting promise hidden only in page source (Google Search Central).

JobPosting JSON-LD Example for Caregiver Jobs

A caregiver job page should contain a complete, role-specific description for one opening or one materially identical group of openings, then include matching JSON-LD in the page <head> or body. Google supports JSON-LD and recommends testing the exact published URL after deployment (Google Search Central).

The fictional example below is for a Houston-area opening. Its dates, pay range, requisition ID, employer, and URL are illustrative—not promises that an agency should copy without changing them to match the live posting.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "JobPosting",

  "title": "Caregiver - West Houston - Part-Time Evenings",
  "description": "<p>Provide non-medical in-home care for older adults in West Houston.</p><p>Responsibilities include companionship, meal preparation, light housekeeping, reminders, and transportation support.</p><p>Schedule: part-time evening shifts. Reliable transportation is required.</p>",

  "identifier": {
    "@type": "PropertyValue",
    "name": "Bayou Home Care",
    "value": "CG-WH-2026-091"
  },

  "datePosted": "2026-09-07",
  "validThrough": "2026-10-07T23:59:59-05:00",
  "employmentType": "PART_TIME",

  "hiringOrganization": {
    "@type": "Organization",
    "name": "Bayou Home Care",
    "sameAs": "https://www.examplehomecare.com",
    "logo": "https://www.examplehomecare.com/images/logo.png"
  },

  "jobLocation": {
    "@type": "Place",
    "address": {
      "@type": "PostalAddress",
      "addressLocality": "Houston",
      "addressRegion": "TX",
      "addressCountry": "US"
    }
  },

  "baseSalary": {
    "@type": "MonetaryAmount",
    "currency": "USD",
    "value": {
      "@type": "QuantitativeValue",
      "minValue": 15,
      "maxValue": 18,
      "unitText": "HOUR"
    }
  }
}
</script>

The annotations above matter operationally:

  • title must match the visible <h1>, such as “Caregiver — West Houston — Part-Time Evenings,” rather than a vague title such as “Now Hiring.”
  • description should mirror the visible duties, requirements, service area, and shift information. A technician will commonly find a generic paragraph in JSON-LD while the live page says only “Apply today”; that mismatch creates a weak and potentially invalid implementation.
  • datePosted and validThrough need a renewal workflow tied to the actual requisition. Do not leave an expired caregiver opening marked as active merely because the page still receives traffic.
  • baseSalary belongs only where the displayed pay or displayed range supports it. Do not insert a broad “up to” rate in markup if the page does not explain who qualifies for it.
  • jobLocation should name the hiring geography, not a client’s private home address. For roles serving materially different Houston areas, shifts, or pay bands, publish separate job pages rather than flattening them into one ambiguous listing.

Google’s documentation lists the supported properties and explains that expired jobs should be removed or updated promptly (Google JobPosting structured-data documentation). Post-launch warnings and invalid items should be handled using the error workflow in the later validation section, not ignored because the code “looks right.”

Individual Job Pages Versus One Home Care Careers Page

Individual caregiver job pages are usually stronger because each URL gives Google and applicants one unambiguous role, location, pay range, shift, and apply destination. A careers hub remains useful, but it should link to individual openings instead of carrying every opening behind one form.

Page architectureWhat the applicant seesWhat structured data can representPractical failure mode
Generic “We Are Hiring” page with one formA broad invitation to apply, with no specific caregiver schedule, service area, rate, or requisitionAt best, one generic JobPosting that cannot accurately describe distinct openingsA West Houston evening caregiver and a Katy weekend CNA applicant enter the same form, leaving the recruiter without clean source-to-role attribution
Careers hub plus distinct caregiver job pagesA hub listing open roles, then a dedicated URL with job-specific pay, shift, location, duties, and Apply linkOne JobPosting entity per live, materially distinct openingFilled jobs can be removed individually without deleting the agency’s entire careers section

Use the careers page as the index:

/careers/
   └── Caregiver - West Houston - Part-Time Evenings
       └── /careers/caregiver-west-houston-evenings/
           └── Apply button
               └── ATS application destination
                   └── Application-confirmation event
                       └── ATS status changes to filled
                           └── Remove page or update validThrough and sitemap

The visible job description and the JSON-LD belong on /careers/caregiver-west-houston-evenings/, not solely on the hub. The Apply button may send a candidate to an ATS domain, but the agency-owned job page should retain the role details, canonical recruiting content, analytics tags, and a measurable outbound application event.

How to Add Schema Markup to an Applicant Tracking System

An agency can use an ATS for applications while keeping the careers hub, job-detail pages, analytics, and JobPosting JSON-LD on its own domain. The practical goal is to make the ATS the application-processing system—not the only place where job content exists.

Common implementation patterns include:

  1. ATS-hosted job pages with native markup. Confirm that the ATS publishes complete JobPosting data, exposes a crawlable job description, and removes or expires filled requisitions. Vendor claims that it “supports Google for Jobs” should be verified on the actual published job URL with Google’s testing tools.
  2. Agency-owned pages linked to an ATS application URL. This gives the agency control of copy, local Houston location pages, tracking parameters, and JSON-LD while the ATS receives the application. Use a visible Apply link such as https://apply.ats-example.com/... ?source=careers.
  3. API or feed integration. Some platforms expose job-board or posting APIs that allow a website to create and retire role pages automatically. For example, Greenhouse documents a Job Board API for retrieving published jobs and job details (Greenhouse Developer Resources).
  4. Iframe application forms. An iframe can display the application form, but it does not turn the parent careers page into a job-detail page. A technician should verify whether the iframe blocks event tracking, hides application errors, creates duplicate content, or leaves the ATS page as the only URL containing the actual job details.

When the ATS has incomplete fields—such as no pay range, no shift detail, a generic “Houston” location, or no expiry control—do not manufacture those values in schema. Add the missing, accurate content to the agency-owned job page and map it from the requisition where possible. If the ATS lives on another domain, preserve a stable agency URL for the job, send applicants to the ATS with source parameters, and record both the Apply-button click and the application-confirmation event where consent and analytics configuration permit.

Google Search Console Job Posting Structured Data Setup

Use Search Console and Google’s Rich Results Test as an implementation workflow: verify the site, submit the job-page sitemap, test each template, inspect live URLs, then monitor indexing and JobPosting reports after publication. These tools diagnose eligibility and discoverability; they do not guarantee placement in Google’s job panel.

A practical rollout sequence is:

  1. Verify ownership of the careers-site domain or URL prefix in Search Console, using one of Google’s supported verification methods (Search Console ownership verification).
  2. Create or update an XML sitemap containing live individual job URLs, then submit it in Search Console. Google documents sitemap submission and sitemap-report review in its Search Console guidance (Google Search Central sitemap documentation).
  3. Run the Rich Results Test against a published caregiver job URL before and after release. The test identifies whether Google can detect JobPosting structured data and flags missing required fields (Rich Results Test).
  4. Use URL Inspection to test the live URL, request indexing after meaningful corrections, and compare the indexed version with the current rendered page (Google URL Inspection Tool documentation).
  5. Review Page Indexing and Job Posting structured-data reports for URLs excluded by robots rules, redirects, canonical conflicts, noindex, soft-404 behavior, or structured-data errors. Google’s job-posting documentation specifically directs site owners to monitor job-posting reporting for issues (Google Search Central).
  6. Remove closed roles from the sitemap and update the page immediately. A filled role should redirect to a relevant careers hub, be removed, or be clearly expired according to the removal method established in the prior requirements section.

Sources

Key takeaways

  • A caregiver JobPosting must describe the same live role, pay, location, shift, and requirements that an applicant can see on that URL.
  • One stable URL per materially distinct caregiver opening gives Google and recruiting staff a clearer job-to-application path than a single generic hiring form.
  • An ATS can process applications without owning the agency’s job content, tracking, or structured data.
  • Search Console, XML sitemaps, URL Inspection, and the Rich Results Test should be part of every job-page publishing and removal workflow.

How to Maintain Google Job Listings for Home Care Openings

Google JobPosting maintenance requires an agency to keep each caregiver job page, its structured data, its sitemap, and its ATS status aligned from the day a requisition opens until it is filled, paused, or canceled. The recruiting operations owner should confirm open roles daily when hiring volume is active and complete a documented weekly reconciliation with the website owner or vendor.

JobPosting maintenance is the operating process of updating or removing a job’s visible page and JobPosting structured data when the underlying requisition changes. Google instructs employers to remove JobPosting markup from filled or expired roles, or remove the job page entirely, so expired openings do not remain eligible for job-search features (Google Search Central).

The owner should not delegate this entirely to a web developer. A recruiter or recruiting coordinator knows whether the weekend Houston caregiver requisition is actually available; the website administrator or vendor controls the URL, JSON-LD, XML sitemap, and technical QA. Their shared report should identify one accountable person for the daily ATS-status review and one backup person for absence coverage.

How Often to Update Caregiver Job Posting Expiration Dates

Set validThrough to the known recruitment end date, review it at least weekly, and extend it only when the ATS confirms that the same caregiver requisition remains open. A practical agency policy is to use a 30-day initial window, then extend the existing listing before that date only after the recruiter reconfirms pay, shift, service area, and remaining openings.

Google’s JobPosting documentation identifies validThrough as the date after which the job is no longer available and directs employers to remove expired postings from their sites or remove the associated structured data (Google Search Central). A date that has passed while the page still says “Apply now” creates an obvious mismatch between the employer’s hiring reality and the applicant’s experience.

Use these triggers in the written operating procedure:

ATS eventWebsite and schema actionQA evidence
Requisition openedPublish one canonical job URL, add JobPosting markup, add URL to sitemapURL loads, Rich Results Test passes, ATS requisition ID is recorded
Pay, shift, or service area changesUpdate visible copy and matching JSON-LD fields on the same dayRecruiter checks the public page against the ATS
validThrough approachesConfirm requisition remains open; extend the existing URL and markup if confirmedNew date appears in page source and structured-data test
Requisition filled, paused, or canceledRemove application path and JobPosting markup, or retire the job URL; update sitemapURL inspection and live-page review show no live opening

The 30-day window is an internal operating control, not a Google-prescribed duration. Its purpose is to force a recruiter to revalidate an opening before a stale weekend, overnight, dementia-care, or outlying-service-area role continues collecting applications.

Remove Filled Home Care Jobs from Google Jobs

When a caregiver opening is filled, paused, or canceled, the agency must remove the application opportunity from the page and remove its JobPosting structured data or remove the page itself. Leaving a filled role live because the agency “may need another caregiver later” conflicts with Google’s direction to remove expired job postings and produces applications the recruiter cannot honor (Google Search Central).

A technician investigating a removal failure typically finds one of four conditions:

  • The ATS closed the requisition but its career-site feed still labels the job open.
  • The visible page was edited, but cached JSON-LD still contains JobPosting.
  • The job URL remains in the XML sitemap after the role is retired.
  • A duplicate URL exists on the agency site, ATS-hosted career portal, or an old city landing page.

For example, a Houston agency may fill a Saturday-and-Sunday caregiver assignment, close it in the ATS, but leave the job-panel destination active for several days. Applicants who complete a form and receive a response that the opening has already been filled may abandon later applications; the operational failure is not merely an SEO issue, but a recruiting-response failure. See the earlier errors section for diagnostic steps when markup removal or indexing changes do not take effect.

Keep JobPosting Schema Pay and Shift Details Current

Current pay, shift requirements, and service-area details must match both the live job page and JobPosting markup because applicants use those facts to decide whether to apply. If the public listing promises a weekday Houston role at one pay rate but the recruiter offers a different rate, evening schedule, or distant service area, the agency wastes application-review time and damages credibility before the first interview.

Google’s guidance requires job structured data to represent the actual job posting and warns against markup that is misleading or not representative of page content (Google Search Central). Treat each material change as a content-and-schema change:

  1. Recruiter changes the ATS requisition.
  2. Website owner updates the public job description.
  3. JSON-LD is updated to match the visible pay, employment type, location, and description.
  4. The modified URL remains in the sitemap.
  5. A QA reviewer compares ATS fields, rendered page text, and structured data before marking the change complete.

Track performance measures by source and requisition: time to publish, time to remove, percentage of live jobs with a current validThrough date, application completion rate, speed to first response, interview rate, and hire rate. The staff or vendor time required for this process belongs in the maintenance commitment quantified in the earlier cost section.

Renew Expired Caregiver Jobs Without Creating Duplicates

To reopen a recurring caregiver role, reactivate the existing canonical job URL only when it represents the same job facts; otherwise, create one new requisition and retire the prior listing before publishing the replacement. Do not leave the old expired page marked up while publishing a nearly identical “new” caregiver listing for the same shift, pay, and service area.

A 30-day lifecycle can look like this:

  • Day 1: Recruiter opens “Weekend Caregiver—West Houston” in the ATS; the site publishes one matching URL and records the requisition ID.
  • Day 8: Pay or shift coverage changes; the recruiter updates the ATS, and the page and JSON-LD are revised.
  • Day 18: Candidate accepts; recruiter marks the requisition filled.
  • Day 18: Website owner removes the application path and JobPosting markup, removes the URL from the active-job sitemap set, and checks the live page.
  • Day 30: The filled requisition remains in internal hiring reports, but it is not counted as a live web opening.

The owner’s weekly reconciliation should compare the systems that produce different versions of “open jobs”:

Reconciliation fieldWhat it verifies
ATS open requisitionsThe recruiting team’s authorized openings
Live job URLsPages applicants can currently reach
Indexed URLsURLs search engines may still have discovered
Valid JobPosting itemsPages whose markup remains eligible for parsing
Google job-panel observationsWhether selected priority roles appear when checked manually
Source-attributed applicantsWhich channel produced completed applications, interviews, and hires

A count is trustworthy only when every live URL maps to one open ATS requisition and every closed requisition has a documented removal action. This also prevents duplicate tracking between the agency careers site, ATS, and paid job boards discussed earlier.

Key takeaways

  • Google JobPosting markup must be removed or retired when a caregiver requisition is filled, paused, canceled, or expired.
  • A recruiter should own status accuracy, while a website owner or vendor should own page, schema, sitemap, and QA execution.
  • validThrough should be reviewed before it expires and extended only after the same requisition is confirmed open.
  • Pay, shifts, and service areas must match the ATS, visible job page, and JSON-LD to avoid unqualified or distrustful applicants.
  • One ATS requisition should map to one canonical live job URL, preventing duplicate caregiver listings.

Sources

JobPosting Schema Errors Preventing Caregiver Jobs From Appearing

A caregiver job can be indexed in Google Search yet remain ineligible for Google job experiences when its JobPosting markup is invalid, misleading, expired, inaccessible to Googlebot, or attached to a duplicate or non-canonical URL. JobPosting schema is JSON-LD structured data that identifies a single, currently available employment opening and its material details for Google’s job-search features.

Google distinguishes between an invalid structured-data item, a warning, an indexing failure, and a visibility problem. An invalid item has a markup error that can prevent eligibility; a warning identifies a recommended field that may reduce completeness but does not necessarily invalidate the item; an indexing issue means Google cannot crawl, render, or index the page; and a visibility issue means a valid, indexed job has not been selected or prominently displayed in the job experience. Google states that valid structured data is not a guarantee of rich-result display. Google Search Central: JobPosting

How do Google Search Console JobPosting errors differ from warnings, indexing problems, and visibility problems?

Search Console’s JobPosting enhancement report identifies detected structured-data items and classifies affected URLs as valid, valid with warnings, or invalid; it does not prove that a caregiver vacancy is indexed or displayed in Google for Jobs. Use the enhancement report for markup defects, URL Inspection for crawl and index status, and live Google searches only as a visibility check.

Symptom observed during an auditLikely causeCorrect diagnostic or repair action
No JobPosting items detectedJSON-LD is absent, injected only after a failed script load, or placed on a page Google cannot renderRun the URL through the Rich Results Test and inspect rendered HTML
Invalid date errorvalidThrough is malformed, in the past, or conflicts with the visible closing dateReplace it with a current ISO 8601 date-time and retest
Job no longer availableFilled caregiver role remains live in markup or on-page contentRemove the page from live job inventory or remove its JobPosting markup
URL is not indexedCrawling is blocked, the page has noindex, or Google selected another canonicalCheck URL Inspection, robots directives, and canonical signals
Valid markup but no job-panel presenceEligibility exists, but Google has not chosen to show the jobVerify freshness, unique role content, canonical URL, and actual opening status
Page and schema conflictTitle, pay, location, shift, or employment type differs between visible copy and JSON-LDMake the public job page and markup identical before requesting validation
Multiple similar caregiver URLsCity pages, ATS pages, and syndicated URLs describe one requisitionSelect one primary job URL and consolidate or canonicalize the rest
Old details appear after repairGoogle has not recrawled the changed URL or a cached template still emits stale JSON-LDInspect the live URL, test rendered code, then request indexing after validation

A warning deserves attention, especially for caregiver postings with incomplete compensation or location data, but it is not the same as an invalid item. Conversely, a page can show as “valid” in the enhancement report while being excluded by noindex, blocked by robots controls, redirected, or canonicalized to another page. Google’s URL Inspection documentation is the appropriate check for those conditions.

Why does a missing or expired validThrough date create a high-risk JobPosting failure?

A missing, malformed, expired, or implausible validThrough value is high risk because Google requires job postings to represent openings that are actually available and instructs publishers to remove or update jobs when they are no longer open. A caregiver requisition left online after hiring can create candidate frustration, degrade data quality, and expose the site to action for misleading job markup. Google Search Central: JobPosting guidelines

validThrough must use a date-time format that Google can parse, such as 2026-10-31T23:59:59-05:00; a loose string such as "until filled" is not a machine-readable expiration date. It also cannot solve an availability problem by itself: setting a date far into the future while a Houston caregiver opening has already been filled leaves the structured data inconsistent with reality.

Technicians commonly find this failure in ATS-fed templates. The visible page may say “Position filled” after an applicant is hired, while a cached JSON-LD field still emits the original title, pay, and an unexpired validThrough date. The repair is not merely extending the date: remove the JobPosting entity for the closed requisition, confirm that the visible page no longer solicits applications, and follow the maintenance procedure established in the earlier maintenance section.

What does content-to-markup mismatch look like in a caregiver job posting?

Content-to-markup mismatch occurs when the JSON-LD describes a caregiver job differently from the job candidate can actually see and apply for on the page. Google requires structured data to represent the main visible content of the page and prohibits misleading markup. Google’s structured-data guidelines

For example, an anonymized Houston agency page visibly states:

Caregiver — Katy, TX
Part-time weekend shifts; $15–$17 per hour; applications accepted while the opening remains available.

But its template emits:

{
  "title": "CNA / Caregiver",
  "employmentType": "FULL_TIME",
  "baseSalary": {
    "value": {
      "minValue": 12,
      "maxValue": 14,
      "unitText": "HOUR"
    }
  },
  "jobLocation": {
    "address": {
      "addressLocality": "Houston",
      "addressRegion": "TX"
    }
  },
  "validThrough": "2025-01-01"
}

That is four material conflicts: title, employment type, compensation, location, and an expired availability date. A corrected entity must match the public vacancy: Caregiver, PART_TIME, $15–$17 per hour, Katy as the job location, and a current validThrough value. If the agency is hiring separately for weekend Katy coverage and weekday Houston coverage, those should be separate pages and separate JobPosting entities rather than one vague regional listing.

Google’s spam policies specifically caution against marking up content that is invisible, inaccurate, or unrelated to the page. Repeatedly publishing unavailable jobs can also create a poor applicant experience when a caregiver clicks from Google’s job interface and finds a closed role or a generic careers page. Google Search Essentials spam policies

How should an agency resolve duplicate caregiver listings across its website, ATS, and city pages?

One open caregiver requisition should have one preferred, candidate-ready URL; duplicate agency pages, ATS pages, and near-identical city URLs should either consolidate to that URL or describe genuinely different openings. Google may choose a canonical URL itself, and duplicate job pages fragment crawl signals and can send applicants to inconsistent application paths.

A common Houston scenario is one “Caregiver — West Houston” opening published simultaneously on:

  • agency.com/jobs/caregiver-west-houston
  • jobs.agency.com/caregiver-west-houston
  • agency.com/jobs/caregiver-katy
  • agency.com/jobs/caregiver-cypress
  • an ATS-hosted requisition page
  • a syndicated partner listing

If every URL carries nearly identical duties, pay, shift information, and application destination, designate the agency’s preferred page as the canonical job page, redirect obsolete duplicate pages where appropriate, and ensure the ATS or location pages do not emit competing JobPosting entities for the same requisition. If Katy and Cypress have different schedules, pay, client-service areas, or hiring managers, they are separate jobs and need visibly distinct descriptions and structured data.

The technical repair location—CMS template, ATS feed, page-level JSON-LD, canonical tag, or robots directive—should be traced using the implementation workflow covered earlier in this article. The recurring reconciliation of filled roles, ATS status, compensation changes, and expiry dates belongs in the maintenance process rather than being deferred until Search Console reports an error.

What is the correct fix-test-request-validation sequence after changing JobPosting schema?

After a developer changes JobPosting markup, test the live URL first, verify that the visible job and rendered JSON-LD match, request Google to recrawl the canonical URL, and then use Search Console’s validation workflow to confirm that the reported issue is resolved. Do not click “Validate fix” before the live page actually contains the repair.

Use this sequence:

  1. Confirm the requisition is genuinely open and that title, pay, location, employment type, shift expectations, and application destination are current on the visible page.
  2. Update the schema at the actual source of truth identified in the earlier implementation section: CMS field mapping, page template, ATS integration, or JSON-LD component.
  3. Test the public URL with Google’s Rich Results Test, using the rendered output rather than only a copied code snippet.
  4. Inspect the URL in Search Console to confirm Google can crawl it, that it is indexable, and that the intended canonical URL is selected.
  5. Request indexing for the corrected canonical job page through URL Inspection.
  6. Open the relevant JobPosting enhancement issue and select Validate fix only after the correction is deployed across every affected URL; Google explains that validation can take time because it rechecks affected pages. Google Search Console: Validate fixes
  7. Recheck the live page when validation completes, because an ATS synchronization or cached template can reintroduce the old markup.
  • A Search Console invalid JobPosting item is a markup defect, while a warning, indexing exclusion, and job-panel visibility issue require different diagnostics.
  • A validThrough date must be parseable, current, and truthful because JobPosting markup must represent an actually available caregiver opening.
  • Visible caregiver pay, location, title, shift, and availability must match the JSON-LD exactly enough to describe the same job.
  • One caregiver requisition should resolve to one preferred canonical job URL, not competing agency, ATS, and city-page versions.
  • The reliable repair sequence is update, Rich Results Test, URL Inspection, request indexing, then Search Console validation.

How to Audit Home Care Jobs on Google

A home care owner can independently verify caregiver-job visibility by checking each live job URL in Google’s Rich Results Test, Search Console URL Inspection, and a live Google job search from a Houston-area search context. The audit must separate three questions: whether the page has valid JobPosting markup, whether Google can index it, and whether the role is currently visible in a Google job panel.

A JobPosting schema audit is a repeatable review of whether a live job page, its structured data, its indexability, and its Google job-panel appearance agree with the agency’s actual open requisitions.

This final audit step turns the implementation, maintenance, error-repair, ATS, and recruiting-channel guidance in the preceding sections into an owner-controlled monthly operating process. Valid markup is an eligibility signal, not a promise of inclusion or rank in Google job experiences, as Google explains in its JobPosting structured-data documentation.

How can you check whether caregiver jobs appear in Google Jobs?

Search every current caregiver opening by exact title, employer name, city, and service-area variation, then record whether Google shows a job panel and whether the agency’s specific listing is present, absent, expired, or routed to an ATS page.

Use a logged-out browser window or a browser profile with no agency Google account signed in. Run the searches on desktop and mobile because the visible job module and result layout can differ by device. For Houston roles, test at minimum:

  • "Caregiver jobs Houston"
  • "Home health aide jobs Houston"
  • "CNA jobs Houston"
  • "[agency name] caregiver jobs"
  • "[exact job title]" "[city]"

For roles tied to a suburb or coverage area, also test the visible location stated on the job page, such as Katy, Sugar Land, Cypress, The Woodlands, or Pearland. Do not record “we rank” merely because a generic careers page appears in organic search; record a positive job-panel observation only when the agency’s individual opening appears inside the Google jobs experience.

Google states that job-search results can be affected by factors beyond structured-data validity, including relevance and other quality signals; valid markup alone does not guarantee display (Google JobPosting documentation). That distinction is central to the diagnosis made throughout the earlier sections.

How does the Google Rich Results Test differ from Search Console and a live Google job-panel search?

The Rich Results Test checks whether Google can detect eligible JobPosting structured data on a submitted URL; Search Console checks Google’s indexed and crawlable view of the URL; a live Google job search checks whether candidates can actually see the listing at that moment.

These tools answer different operational questions:

Audit checkWhat it establishesWhat it does not establish
Google Rich Results TestWhether the tested page contains JobPosting markup that Google can parse and whether reported issues affect rich-result eligibilityWhether the URL is indexed, selected as canonical, or displayed in Google Jobs
Search Console URL InspectionWhether Google knows the URL, whether it can be indexed, and Google’s selected canonical URLWhether a candidate sees the role in a job-panel search
Live Google job-panel searchWhether the agency’s opening is visible for a specific query, location context, device, and timeWhether markup is valid or whether absence is caused by indexing, freshness, duplication, or ranking

A technician commonly finds a “valid” result in the Rich Results Test while Search Console reports that the URL is excluded, redirected, blocked by noindex, or canonicalized to a generic careers page. Another frequent field failure is a live role with a passed schema test but an expired validThrough date in the rendered page source or ATS feed. The prior sections on JobPosting requirements, maintenance, and error repair explain why those are separate defects requiring separate fixes.

What should a Houston home care agency record in a monthly 30-minute audit?

A recruiter or owner can repeat a 30-minute audit monthly by sampling every urgent role plus enough routine roles to expose template-level defects, then assigning one person to correct discrepancies before the next hiring push.

Use this worksheet for each current caregiver, CNA, HHA, scheduler, or nurse opening:

Field to recordWhat to verify
Job titleMatches the visible page title and the actual requisition
Job URLIndividual public URL, not only a filtered careers-search result
Visible open/closed statusPage clearly says open, filled, paused, or closed
Rich Results Test statusValid JobPosting, warning, error, or no JobPosting detected
Search Console statusIndexed, excluded, crawl problem, or URL not known to Google
IndexabilityNo noindex, blocked resource, redirect loop, login wall, or inaccessible application path
validThroughPresent, future-dated while the requisition is open, and removed or expired when filled
Canonical URLSelf-canonical or Google-selected canonical points to the intended individual job page
ATS destinationApplication button reaches the correct ATS requisition without a dead link or mismatched role
Live job-panel observationQuery used, device, approximate search location, date, time, and whether the agency listing appeared

A practical 30-minute sequence is:

  1. Export or list all open requisitions from the ATS.
  2. Select the highest-priority openings and every page type used by the site.
  3. Run each selected URL through the Rich Results Test.
  4. Inspect one or more representative URLs in Search Console.
  5. Run the live Google searches and capture screenshots.
  6. Compare the visible page, JSON-LD fields, ATS destination, and requisition status.
  7. Assign a correction owner and due date for every mismatch.

Google recommends using Search Console to monitor Search performance and troubleshoot indexing and structured-data issues; URL Inspection is the page-level confirmation tool, not a replacement for a live search observation (Google Search Console documentation).

What did the August 2026 Houston audit establish, and what did it not establish?

The August 2026 Houston sample established that the five reviewed agency implementations produced 0 of 5 valid JobPosting results in the Rich Results Test, despite approximately 1,114 visible job listings across the reviewed agency and ATS surfaces. It did not establish that every Houston home care agency lacks valid markup, that all 1,114 listings were individually ineligible, or that schema alone determines Google job-panel ranking.

The audit was a snapshot, not a statistically representative estimate of all Houston home care agencies. Its five-agency selection criteria, test date, tested URLs, exact test outputs, query context, and screen captures should remain in the underlying audit worksheet so another reviewer can reproduce the result rather than treating the headline figure as a market-wide rate.

The important operational conclusion is narrower: a large visible inventory of caregiver jobs can coexist with no validated JobPosting implementation on the sampled pages. That supports the article’s earlier diagnosis that a job can exist on an agency site, ATS, or Indeed while still failing Google job eligibility or discoverability checks.

When should a home care agency use internal staff, a developer, an ATS integrator, or a JobPosting schema specialist?

Use internal staff when the defect is a factual job-content update; escalate when the problem is generated by templates, feeds, duplicate systems, or persistent Google indexing behavior.

Audit findingBest first ownerRequired outcome
Wrong title, pay, shift, city, open/closed status, or expired validThrough on one live roleInternal recruiter or content ownerCorrect visible page and matching structured-data fields
Missing JSON-LD, malformed fields, template-wide errors, canonical defects, or JavaScript rendering failuresWeb developer or technical SEOCorrect template, deploy markup, and provide post-deployment tests
ATS overwrites jobs, generates duplicate URLs, omits fields, or sends candidates to incorrect requisitionsATS integrator or platform vendorReconcile feed, destination URL, requisition status, and ownership
Multi-location duplication, recurring index exclusions, manual-action concerns, persistent Google Jobs absence after valid tests, or conflicting domainsJobPosting schema specialistDiagnose crawl, index, canonical, markup, feed, and live-visibility evidence together

A specialist should not promise a ranking position or a fixed number of applicants. Google explicitly says structured data does not guarantee a rich-result display (Google structured-data guidelines).

Before engagement, require the specialist to provide a scope tied to the worksheet rather than a generic “schema installation.” During and after the work, require:

  • Crawl findings and the complete affected-URL inventory.
  • A field inventory comparing visible job content, JSON-LD, ATS fields, and application destinations.
  • Corrected markup supplied in deployable form.
  • Rich Results Test screenshots for representative corrected URLs.
  • Search Console access confirmation or owner-controlled verification.
  • Canonical, indexability, sitemap, and duplicate-URL findings.
  • A documented weekly or monthly maintenance workflow for recruiters.
  • Baseline metrics for visible jobs, indexed job URLs, job-panel observations, applications, and response times.
  • An owner-controlled handoff of code, credentials, documentation, tracking definitions, and exported audit data.

The business measurement should connect visibility to hiring capacity, not vanity impressions. Track applicant source, qualified interviews, hires, recruiter response time, and declined client cases by schedule and service area; that connects the recruiting diagnosis in this article to the earlier discussion of understaffing, unfilled coverage gaps, and lost client opportunities.

Key takeaways

  • A valid Rich Results Test result proves parseable JobPosting markup, not Google job-panel visibility or ranking.
  • Search Console URL Inspection verifies Google’s page-level indexing view, while a live Google search verifies candidate-facing visibility.
  • Record the URL, open status, validThrough, canonical URL, ATS destination, and live job-panel result for every audited caregiver role.
  • Treat the August 2026 five-agency Houston review as an audit snapshot, not a market-wide estimate or proof that schema alone controls ranking.
  • Judge JobPosting work by qualified interviews, hires, response speed, and reduced declined client cases—not impressions alone.

Gotchas

A test pass is not visibility

A Rich Results Test pass only shows that Google can detect supported markup in the tested code. It does not prove that the live URL is indexed, that Google has accepted the current version, or that the job will surface for a relevant query.

Generic careers pages blur job facts

A broad page listing caregiver, CNA, HHA, scheduler, and nurse roles cannot truthfully describe several different titles, schedules, locations, and closing dates as one vacancy. Each real opening needs its own specific record.

Stale jobs create dead ends

A filled role left live can send applicants to a dead-end application process. The visible page, structured data, application route, and expiration status must remain current together.

Location language can be inaccurate

“Houston area” does not tell an applicant whether a role is based in Houston, Katy, Sugar Land, Cypress, or a rotating service territory. Job pages and markup should represent the actual work location truthfully.

Paid volume is not staffing capacity

Sponsored applications may come from candidates outside the service area, unavailable for required shifts, unable to meet role requirements, or unreachable after applying. Agencies should measure qualified applicants, starts, retention, and cost per hire rather than raw application counts.

Key takeaways

  • Valid JobPosting markup is an eligibility signal, not a guarantee of indexing, Google job-panel placement, applicant volume, or hires.
  • One generic careers page cannot accurately represent multiple openings with different titles, locations, shifts, pay, and expiration dates.
  • A passed Rich Results Test should be followed by Search Console indexing checks and job-panel observation over days or weeks.
  • An agency needs one canonical job URL, one requisition ID, and one system of record for every real caregiver opening.
  • JobPosting maintenance is an operational workflow: live roles must be updated, validated, and closed when recruiting stops.

Related reading

Sources

Why Your Home Care Jobs Do Not Appear in Google: A Houston JobPosting Schema Audit
Free · 15 seconds · no signup

Can Google see your caregiver roles?

Paste your careers page. We fetch it live and report what Google finds — JobPosting blocks, expiry dates, required fields, and how many individual role URLs you expose.

Check my job visibility

Or see what fixing it costs — private-pay agencies only.

Related to visibility

More on caregiver job visibility

Check my panel visibility — free