dataclean.to

Convert Excel Data to JobPosting Schema Markup

✓ Tested Works with CSV, Excel, Google Sheets → JSON-LD Schema
By dataclean.to team · 2026-02-13

Recruitment agencies, HR departments, and job boards that track open positions in Excel spreadsheets can convert that data into JobPosting schema markup for Google's job search experience. Job listings with valid JobPosting structured data appear in Google's dedicated job search interface, which aggregates listings above traditional organic results. dataclean.to processes your Excel job data, handles the salary and location normalization challenges specific to employment data, and outputs validated JobPosting JSON-LD.

The Problem

Job listing data in Excel compounds general spreadsheet issues with employment-data-specific challenges. Salary cells formatted as currency show "$65,000" but need restructuring into minValue, maxValue, currency, and unitText components. Excel's number formatting can mask the actual stored value — a salary displayed as "$65K" might be stored as the number 65000 or the text string "$65K." Location cells range from "Remote" to full addresses, sometimes with country names abbreviated differently. Employment type uses informal labels: "PT", "Part-time", "Part Time", "20hrs/week." Date posted cells may use Excel's serial date format. These issues need Excel-aware cleaning before valid JobPosting markup can be generated. JobPosting schema type specification

How to Fix It

1
Upload your Excel job listings
Import your .xlsx file with job listing data directly. dataclean.to reads Excel's native number and date formatting, preserving salary values and posting dates that would be corrupted by CSV export.
2
Detect salary and employment patterns
The platform identifies salary-related cells (analyzing whether values are annual, monthly, hourly, or ranges), location columns, date cells, and employment type fields. Excel's cell formatting is used alongside value analysis for more accurate detection.
3
Normalize salary and location data
Structure salary information into MonetaryAmount format: separate minValue and maxValue with currency code and unitText (YEAR, HOUR, MONTH). Parse locations into Place and PostalAddress components. Map employment type text to schema.org enumerations: FULL_TIME, PART_TIME, CONTRACT, TEMPORARY, INTERN.
4
Map to JobPosting schema properties
Map columns to JobPosting properties: title, description, datePosted, validThrough, hiringOrganization (Organization), jobLocation (Place with PostalAddress), baseSalary (MonetaryAmount), employmentType, jobLocationType (for remote positions), and qualifications.
5
Generate and deploy JobPosting JSON-LD
Export JSON-LD for each job listing with nested Organization, Place, PostalAddress, and MonetaryAmount types. Verify with Google's Rich Results Test for job search eligibility. Expired listings (past validThrough date) are flagged for removal.

Frequently Asked Questions

How does dataclean.to read salary data from Excel cells?
dataclean.to reads both the cell's stored value and its format type. A cell formatted as currency with value 65000 is recognized as a monetary amount, while a text cell containing '$65,000' is parsed differently. This dual approach avoids the precision and formatting issues that occur when salary data is exported to CSV.
Can I include job benefits and qualifications in the schema?
Yes. If your Excel file has columns for job benefits, required qualifications, education requirements, or experience levels, these can be mapped to JobPosting properties like jobBenefits, qualifications, educationRequirements, and experienceRequirements.
How do I handle expired job listings?
Job listings should include a validThrough date (the application deadline). dataclean.to flags listings where the validThrough date has passed, since expired listings in Google's job search create a poor user experience and may lead to policy enforcement. You can exclude expired listings from the export.

Example: Input → Output

titlecompanylocationsalarytype
Senior DeveloperAcme IncRemote$120k-$150kFull-time
senior developeracme incremote120000-150000full time

Red rows show common data quality issues. dataclean.to normalizes and generates JSON-LD automatically.

{
  "@context": "https://schema.org",
  "@type": "JobPosting",
  "title": "Senior Developer",
  "hiringOrganization": {"@type": "Organization", "name": "Acme Inc"},
  "jobLocation": {"@type": "Place", "address": "Remote"},
  "baseSalary": {"@type": "MonetaryAmount", "currency": "USD", "value": {"minValue": 120000, "maxValue": 150000}}
}
💡 How it works: JobPosting schema enables your listings to appear in Google for Jobs with salary and location details.

Ready to Clean Your Data?

Upload your CSV or spreadsheet and get clean, structured data in minutes.

Get Started Free

Related Use Cases

Schema Generation
Csv To Job Posting Schema
Schema Generation
Excel For Seo
Schema Generation
Excel To Local Business Schema
Schema Generation
Excel To Faq Schema