You can improve the job seeking experience by adding JobPosting structured data to your job posting web pages. Adding structured data makes your job postings eligible to appear in a special user experience in Google Search results. You can also integrate with Google by using a third party job site.
For employers and job content site owners, this feature brings many benefits:
Structured data is a standardized format for providing information about a page and classifying the page content. If you're new to structured data, you can learn more about how structured data works.
Here's an overview of how to build, test, and release structured data.
However, we still recommend submitting a sitemap for coverage of your entire site. We ingest the entire sitemap and recrawl the pages with lastmod times that are more recent than the last time those pages were crawled.
Here's an example of an individual job posting using JSON-LD code.
<html> <head> <title>Software Engineer</title> <script type="application/ld+json"> { "@context" : "https://schema.org/", "@type" : "JobPosting", "title" : "Software Engineer", "description" : "<p>Google aspires to be an organization that reflects the globally diverse audience that our products and technology serve. We believe that in addition to hiring the best talent, a diversity of perspectives, ideas and cultures leads to the creation of better products and services.</p>", "identifier": { "@type": "PropertyValue", "name": "Google", "value": "1234567" }, "datePosted" : "2024-01-18", "validThrough" : "2024-03-18T00:00", "employmentType" : "CONTRACTOR", "hiringOrganization" : { "@type" : "Organization", "name" : "Google", "sameAs" : "https://www.google.com", "logo" : "https://www.example.com/images/logo.png" }, "jobLocation": { "@type": "Place", "address": { "@type": "PostalAddress", "streetAddress": "1600 Amphitheatre Pkwy", "addressLocality": "Mountain View", "addressRegion": "CA", "postalCode": "94043", "addressCountry": "US" } }, "baseSalary": { "@type": "MonetaryAmount", "currency": "USD", "value": { "@type": "QuantitativeValue", "value": 40.00, "unitText": "HOUR" } } } </script> </head> <body> </body> </html> <html> <head> <title>Software Engineer</title> <script type="application/ld+json"> { "@context" : "https://schema.org/", "@type" : "JobPosting", "title" : "Software Engineer", "description" : "<p>Google aspires to be an organization that reflects the globally diverse audience that our products and technology serve. We believe that in addition to hiring the best talent, a diversity of perspectives, ideas and cultures leads to the creation of better products and services.</p>", "identifier": { "@type": "PropertyValue", "name": "Google", "value": "1234567" }, "datePosted" : "2024-01-18", "validThrough" : "2024-03-18T00:00", "employmentType" : "CONTRACTOR", "hiringOrganization" : { "@type" : "Organization", "name" : "Google", "sameAs" : "https://www.google.com", "logo" : "https://www.example.com/images/logo.png" }, "jobLocation": { "@type": "Place", "address": { "@type": "PostalAddress", "streetAddress": "1600 Amphitheatre Pkwy", "addressLocality": "Mountain View", "addressRegion": "CA", "postalCode": "94043", "addressCountry": "US" } }, "baseSalary": { "@type": "MonetaryAmount", "currency": "USD", "value": { "@type": "QuantitativeValue", "value": 40.00, "unitText": "HOUR" } } } </script> </head> <body> </body> </html>Here's an example of a Work from home job posting using JSON-LD code.
<html> <head> <title>Software Engineer</title> <script type="application/ld+json"> { "@context" : "https://schema.org/", "@type" : "JobPosting", "title" : "Software Engineer", "description" : "<p>Google aspires to be an organization that reflects the globally diverse audience that our products and technology serve. We believe that in addition to hiring the best talent, a diversity of perspectives, ideas and cultures leads to the creation of better products and services.</p>", "identifier": { "@type": "PropertyValue", "name": "Google", "value": "1234567" }, "datePosted" : "2024-01-18", "validThrough" : "2024-03-18T00:00", "applicantLocationRequirements": { "@type": "Country", "name": "USA" }, "jobLocationType": "TELECOMMUTE", "employmentType": "FULL_TIME", "hiringOrganization" : { "@type" : "Organization", "name" : "Google", "sameAs" : "https://www.google.com", "logo" : "https://www.example.com/images/logo.png" }, "baseSalary": { "@type": "MonetaryAmount", "currency": "USD", "value": { "@type": "QuantitativeValue", "value": 40.00, "unitText": "HOUR" } } } </script> </head> <body> </body> </html> <html> <head> <title>Software Engineer</title> <script type="application/ld+json"> { "@context" : "https://schema.org/", "@type" : "JobPosting", "title" : "Software Engineer", "description" : "<p>Google aspires to be an organization that reflects the globally diverse audience that our products and technology serve. We believe that in addition to hiring the best talent, a diversity of perspectives, ideas and cultures leads to the creation of better products and services.</p>", "identifier": { "@type": "PropertyValue", "name": "Google", "value": "1234567" }, "datePosted" : "2024-01-18", "validThrough" : "2024-03-18T00:00", "applicantLocationRequirements": { "@type": "Country", "name": "USA" }, "jobLocationType": "TELECOMMUTE", "employmentType": "FULL_TIME", "hiringOrganization" : { "@type" : "Organization", "name" : "Google", "sameAs" : "https://www.google.com", "logo" : "https://www.example.com/images/logo.png" }, "baseSalary": { "@type": "MonetaryAmount", "currency": "USD", "value": { "@type": "QuantitativeValue", "value": 40.00, "unitText": "HOUR" } } } </script> </head> <body> </body> </html>To remove a job posting that is no longer available, follow these steps:
We ingest the entire sitemap and recrawl the pages with lastmod times that are more recent than the last time those pages were crawled.
To make it easier for job seekers to discover work-from-home and remote job opportunities, we encourage you to add structured data to your work from home jobs.
Here's how work from home jobs can appear in Google Search:
You can also try it out in Google Search:
search Work from home jobs
Feature availability: The actual appearance in search results might be different, and you may not see work from home jobs appearing in your region right away. To make your work from home jobs eligible for display in the feature, mark up your work from home jobs in advance.There are three properties that help Google understand which jobs can be performed from home:
Here are some common scenarios for work from home jobs:
Google uses the same logo for your job postings as the image shown in your company's Knowledge Graph card. You can suggest a change if you prefer a different logo, or else indicate your preferred logo (for both your company's Google knowledge panel and its job postings) using structured data.
Note: In most cases, Google will review your request within a few days.If you have a third-party job site, you can provide a different logo for a given organization than the image shown in the organization's Google knowledge panel. Google will pick the best logo to display in Search results, whether it's the knowledge panel logo or the hiringOrganization logo. The logo property is only eligible to be shown on your job site, and isn't treated as the canonical logo for the organization. For more information, see hiringOrganization.
If you choose to use sitemaps to keep Google informed of changes to job posting URLs, follow the general sitemap guidelines. In addition, the following sitemap guidelines apply to job posting URLs.
We created the job posting content policies to ensure that our users are connected with jobs that are open, relevant, and easy to apply to. The general structured data guidelines and spam policies for Google web search also apply to job postings. If we find content that violates these policies, we'll respond appropriately, which may include taking manual action and removing the job posting(s) from the job search experience on Google.
The JobPosting markup must only be used on pages that contain a single job posting. We don't allow the use of JobPosting markup in any other page, including pages that do not list any job.
We don't allow job postings with incomplete job descriptions.
We don't allow job postings that attempt to impersonate another person or organization, or otherwise engage in activities intended to deceive, defraud, or mislead others. This includes falsely implying affiliation with, or endorsement by, another individual or organization. This also includes using multiple accounts to evade our policies, bypass blocks, or otherwise subvert restrictions placed on your account.
Policy violation examples include:
We don't allow job postings that contain obscene, profane, or offensive language.
We don't allow promotional content disguised as a job posting, such as those posted by a third party (for example, affiliate programs).
If Google receives a complaint that content in a job posting may violate the law, the job posting will be handled in accordance with Search policies.
We don't allow expired job postings. Ideally you should remove expired job postings from your website. If you prefer to not remove them, then you need to ensure the validThrough property is populated and in the past. This helps people review only the job postings that are still hiring.
We don't allow job postings that don't have a way to apply. This includes:
Publishers may solicit resume collections for open positions only. We may remove solicitations that collect candidate data, but are not currently hiring.
Job postings must describe the open position, include any qualifications needed, and include other information that would be relevant to a user looking for a job. We don't allow job postings where the job applicant is offering to perform a job.
We don't allow job postings that require payment from applicants.
To ensure our users can understand your content and can easily apply for the job, we don't allow content that spams the page with obstructive text and images, excessive and distracting ads, or content that doesn't add any value to the job posting.
We don't allow grammatically incorrect content. Follow basic grammar rules that are applicable to your content's language or writing system (such as using proper capitalization, avoiding writing text in all caps), and only use acronyms or abbreviations that are widely understood.
This section describes the structured data types related to job postings.
You must include the required properties for your content to be eligible for display in the job experience on Google Search. You can also include the recommended properties to add more information about your content, which could provide a better user experience.
The full definition of JobPosting is available at schema.org/JobPosting. The Google-supported properties are:
Required properties datePostedDate
The original date that employer posted the job in ISO 8601 format. For example, "2017-01-24" or "2017-01-24T19:33:17+00:00".
"datePosted": "2016-02-18" descriptionText
The full description of the job in HTML format.
The description must be a complete representation of the job, including job responsibilities, qualifications, skills, working hours, education requirements, and experience requirements. The description can't be the same as the title.
Additional guidelines:
Organization
The organization offering the job position. This must be the name of the company (for example, "Starbucks, Inc"), and not the specific location that is hiring (for example, "Starbucks on Main Street"). For example:
"hiringOrganization": { "@type": "Organization", "name": "MagsRUs Wheel Company", "sameAs": "http://www.magsruswheelcompany.com" }If the organization is hiring anonymously (for example, a staffing agency on behalf of an anonymous employer or an employer directly on your platform), use the confidential value for the hiringOrganization.name field. For example:
"hiringOrganization": { "@type": "Organization", "name": "confidential" }Logos on third-party job sites
If you have a third-party job site, you can provide a different logo for a given organization than the image shown in the organization's Google knowledge panel. To request a different logo for a hiring organization, add the logo property to the hiringOrganization array. For JobPosting structured data, the image width and height ratio must be between 0.75 and 2.5. Make sure that you follow the logo image guidelines and Company logo guidelines. For example: "hiringOrganization": { "@type": "Organization", "name": "MagsRUs Wheel Company", "sameAs": "http://www.magsruswheelcompany.com", "logo": "https://www.example.com/images/logo.png" }
jobLocationPlace
The physical location(s) of the business where the employee will report to work (such as an office or worksite), not the location where the job was posted. Include as many properties as possible. The more properties you provide, the higher quality the job posting is to our users. Note that you must include the addressCountry property. For example:
"jobLocation": { "@type": "Place", "address": { "@type": "PostalAddress", "streetAddress": "555 Clancy St", "addressLocality": "Detroit", "addressRegion": "MI", "postalCode": "48201", "addressCountry": "US" } }Multiple physical locations
If the job has multiple locations, add multiple jobLocation properties in an array. Google will choose the best location to display based on the job seeker's query.
Remote jobs
For jobs in which the employee may or must work remotely 100% of the time, you must use jobLocationType. The jobLocation property isn't required if applicantLocationRequirements is present.
titleText
The title of the job (not the title of the posting). For example, "Software Engineer" or "Barista". For example:
"title": "Software Engineer"Best practices:
Not recommended: Apply now for IT job -FRENCH speaker in Bucharest
Recommended: Market Specialist, French speaker
Not recommended: *** WAREHOUSE HIRING NOW!! ON A BUS ROUTE!! ***
Recommended: Shipping and Receiving Warehouse Associate
AdministrativeArea
The geographic location(s) in which employees may be located for to be eligible for the Work from home job. The job description must clearly state that the applicant may be located in certain geographical location(s). This property is required if applicants may be located in one or more geographic locations and the job is 100% remote.
The following example suggests a job that can be done remotely anywhere within the United States:
"applicantLocationRequirements": { "@type": "Country", "name": "USA" }, "jobLocationType": "TELECOMMUTE"The following example suggests a job can either be done remotely from the country of Canada or executed at a physical location in Detroit, MI:
"jobLocation": { "@type": "Place", "address": { "@type": "PostalAddress", "streetAddress": "555 Clancy St", "addressLocality": "Detroit", "addressRegion": "MI", "postalCode": "48201", "addressCountry": "US" } }, "applicantLocationRequirements": { "@type": "Country", "name": "Canada" }, "jobLocationType": "TELECOMMUTE" baseSalaryMonetaryAmount
The actual base salary for the job, as provided by the employer (not an estimate). Note: Only employers can provide baseSalary.
For the unitText of QuantitativeValue, use one of the following case-sensitive values:
For example:
"baseSalary": { "@type": "MonetaryAmount", "currency": "USD", "value": { "@type": "QuantitativeValue", "value": 40.00, "unitText": "HOUR" } }To specify a salary range, define a minValue and a maxValue, rather than a single value. For example:
"baseSalary": { "@type": "MonetaryAmount", "currency": "USD", "value": { "@type": "QuantitativeValue", "minValue": 40.00, "maxValue": 50.00, "unitText": "HOUR" } } directApplyBoolean
Indicates whether the URL that's associated with this job posting enables direct application for the job.
Since we are still developing how we are using this information, you may not see any appearance or effect in Google Search right away.We define a direct apply experience in terms of the actions that are required from the user to apply to the job. This means that a user is offered a short and simple application process on your page without unnecessary intermediate steps. If the user has to click apply, complete an application form, sign in or log in more than once in the application journey, it means that you aren't offering a direct apply experience.
You likely offer a direct apply experience if you provide one of the following experiences:
Text
Type of employment. For example:
"employmentType": "CONTRACTOR"Choose one or more of the following case-sensitive values:
You can include more than one employmentType property. For example:
"employmentType": ["FULL_TIME", "CONTRACTOR"] identifierPropertyValue
The hiring organization's unique identifier for the job.
For example:
"identifier": { "@type": "PropertyValue", "name": "MagsRUs Wheel Company", "value": "1234567" } jobLocationTypeText
Set this property with the value TELECOMMUTE for jobs in which the employee may or must work remotely 100% of the time (from home or another location of their choosing). In addition to adding jobLocationType, the job description must clearly state that the job is 100% remote. The jobLocationType property is required if the job is 100% remote.
Requirements
The following example shows that the employee can physically report to work at a job site located in Tucson, AZ OR can work remotely within the US:
"jobLocation": { "@type": "Place", "address": { "@type": "PostalAddress", "addressLocality": "Tucson", "addressRegion": "AZ", "addressCountry": "US" } }, "jobLocationType": "TELECOMMUTE" Google continues to support TELECOMMUTE as an additionalProperty of jobLocation. While we don't have immediate plans to deprecate additionalProperty, we encourage the use of the new schema where possible. validThroughDateTime
Note: This is required for job postings that have an expiration date.The date when the job posting will expire in ISO 8601 format. For example, "2017-02-24" or "2017-02-24T19:33:17+00:00". For example:
"validThrough": "2017-03-18T00:00"If a job posting never expires, or you do not know when the job will expire, do not include this property. If the job is filled before the expiration date occurs, remove the job posting.
In addition to the recommended JobPosting properties, you can add the following beta properties to add more information about the education and experience of a job posting. Since we are still developing how we are using this information, you may not see any appearance or effect in Google Search right away.
Here's an example of a job posting that requires a bachelor's degree and three years of experience.
<html> <head> <title>Software Engineer</title> <script type="application/ld+json"> { "@context" : "https://schema.org/", "@type" : "JobPosting", "title" : "Software Engineer", "educationRequirements" : { "@type" : "EducationalOccupationalCredential", "credentialCategory" : "bachelor degree" }, "experienceRequirements" : { "@type" : "OccupationalExperienceRequirements", "monthsOfExperience" : "36" }, "description" : "<p>Google aspires to be an organization that reflects the globally diverse audience that our products and technology serve. We believe that in addition to hiring the best talent, a diversity of perspectives, ideas and cultures leads to the creation of better products and services.</p>", "identifier": { "@type": "PropertyValue", "name": "Google", "value": "1234567" }, "datePosted" : "2024-01-18", "validThrough" : "2024-03-18T00:00", "employmentType" : "CONTRACTOR", "hiringOrganization" : { "@type" : "Organization", "name" : "Google", "sameAs" : "https://www.google.com", "logo" : "https://www.example.com/images/logo.png" }, "jobLocation": { "@type": "Place", "address": { "@type": "PostalAddress", "streetAddress": "1600 Amphitheatre Pkwy", "addressLocality": ", Mountain View", "addressRegion": "CA", "postalCode": "94043", "addressCountry": "US" } }, "baseSalary": { "@type": "MonetaryAmount", "currency": "USD", "value": { "@type": "QuantitativeValue", "value": 40.00, "unitText": "HOUR" } } } </script> </head> <body> </body> </html> <html> <head> <title>Software Engineer</title> <script type="application/ld+json"> { "@context" : "https://schema.org/", "@type" : "JobPosting", "title" : "Software Engineer", "educationRequirements" : { "@type" : "EducationalOccupationalCredential", "credentialCategory" : "bachelor degree" }, "experienceRequirements" : { "@type" : "OccupationalExperienceRequirements", "monthsOfExperience" : "36" }, "description" : "<p>Google aspires to be an organization that reflects the globally diverse audience that our products and technology serve. We believe that in addition to hiring the best talent, a diversity of perspectives, ideas and cultures leads to the creation of better products and services.</p>", "identifier": { "@type": "PropertyValue", "name": "Google", "value": "1234567" }, "datePosted" : "2024-01-18", "validThrough" : "2024-03-18T00:00", "employmentType" : "CONTRACTOR", "hiringOrganization" : { "@type" : "Organization", "name" : "Google", "sameAs" : "https://www.google.com", "logo" : "https://www.example.com/images/logo.png" }, "jobLocation": { "@type": "Place", "address": { "@type": "PostalAddress", "streetAddress": "1600 Amphitheatre Pkwy", "addressLocality": ", Mountain View", "addressRegion": "CA", "postalCode": "94043", "addressCountry": "US" } }, "baseSalary": { "@type": "MonetaryAmount", "currency": "USD", "value": { "@type": "QuantitativeValue", "value": 40.00, "unitText": "HOUR" } } } </script> </head> <body> </body> </html> Recommended properties (beta) educationRequirementsEducationalOccupationalCredential or Text
The educational background needed for the job posting. If there aren't any educational requirements, use the no requirements value. If you don't know the educational requirements, don't add this property.
This property can be repeated in an array. For example:
"educationRequirements": [ { "@type": "EducationalOccupationalCredential", "credentialCategory": "bachelor degree" }, { "@type": "EducationalOccupationalCredential", "credentialCategory": "postgraduate degree" } ] educationRequirements.credentialCategoryText
The level of education that's required for the job posting. Use one of the following values:
In addition to adding this property, continue to describe the education requirements in the description property.
experienceRequirementsOccupationalExperienceRequirements or Text
The experience that's required for the job posting. If there aren't any requirements, use the no requirements value.
In addition to adding this property, continue to describe the experience requirements in the description property.
experienceRequirements.monthsOfExperienceNumber
The minimum number of months of experience that are required for the job posting.
If there are more complex experience requirements, use the experience that represents the minimum number that is required for a candidate. For example:
Boolean
If set to true, this property indicates whether a job posting will accept experience in place of its formal educational qualifications. If set to true, you must include both the experienceRequirements and educationRequirements properties.
If you're having trouble implementing or debugging structured data, here are some resources that may help you.
If your job posting isn't appearing in the job search results or if you've received a manual action for Spammy Structured Markup in Search Console, try to resolve the most common issues. If you're still experiencing issues, make sure you review our guidelines.
error What caused the issue: A job listing page (a search results page that contains one or more job postings) has JobPosting structured data on the page. JobPosting structured data must only be on a job posting page (a page that contains a single job and isn't a search results page). You may have received the Search Console message: "Structured data policy violation - A list page should not include structured data for individual jobs".
done Fix the issue
error What caused the issue: A page includes content that doesn't match the structured data on the page. For example, the title of a job on the page doesn't match the value listed for the title property. There may also be spammy content, like click-baity titles and descriptions, the job seems to be fake, or the job posting isn't representative of the actual job.
Another example is when the job salary is in the markup but not on the job page. This is also a violation of the content guidelines, as all information in the markup must be visible on the job page.
For a full list of examples, see the examples in our content policies. You may have received this Search Console message: "Structured data policy violation - Content on pages found to be different than structured data on the page".
done Fix the issue
error What caused the issue: Users can still access the page through the jobs experience on Google even though the job has expired. Usually, this is because of the following reasons:
You may have received this Search Console message: "Structured data policy violation - JobPosting structured data on expired job".
done Fix the issue
error What caused the issue: There's no way for the user to apply for the job on the job posting page. You may have received this Search Console message: "Structured data policy violation - Can't submit application on job offer page."
done Fix the issue
error What caused the issue: Your site doesn't have a Google knowledge panel or the knowledge panel shows an incorrect logo for your site. Google uses the same logo for your job postings as the image shown in your company's knowledge panel card. For more information about how Google selects your logo, see Update your company logo.
done Fix the issue
There are two ways you can fix the issue:
error What caused the issue: Google doesn't understand the value(s) provided for the jobLocation, addressLocality, or addressRegion properties. Google tries to match the location information to a physical location, and the location provided is either missing or incorrect.
done Fix the issue
Success: The Rich Results Test displays the correct job location in the Google Search Preview Tool.
Try again: The Rich Results Test displays "false" for the job location in the Google Search Preview Tool. Make sure the location is a real location.
Search Console is a tool that helps you monitor how your pages perform in Google Search. You don't have to sign up for Search Console to be included in Google Search results, but it can help you understand and improve how Google sees your site. We recommend checking Search Console in the following cases:
After Google has indexed your pages, look for issues using the relevant Rich result status report. Ideally, there will be an increase of valid items, and no increase in invalid items. If you find issues in your structured data:
Use our custom UTM parameters to track visits after a user is directed from the job detailed page to your site. You can use the parameters with Google Analytics or other third-party tracking tools:
utm_campaign=google_jobs_apply utm_source=google_jobs_apply utm_medium=organicIf you're experiencing unexpected fluctuations or inconsistencies in your traffic, use the troubleshooter to identify and resolve the issues.
We are excited to bring the job search experience on Google to more regions around the world. The experience is currently available in the following regions.
Link nội dung: https://career.edu.vn/tuyen-dung-google-a77564.html