How to recover from Google Schema Penalty or Manual Action?





Now a day’s Schema implementation is core to show your jobs in Google for Jobs. Everyone from recruitment industry is doing so. I have seen now that almost all job board and job aggregator are doing it.

I have visited multiple website and seen that some of SEO webmaster is not doing proper implementation for schema so Google are adding their website in penalty.

In this blog I will share some step how to implement schema and way to avoid penalty for the same.

First I will discuss basic step and guidelines which need to be tack care at the time of schema implementation.

Required Data Elements for Schema implementation (Mainly for Google for Jobs)

  • [JOBTITLE] – The title of the job (not the title of the posting). For example, “Software Engineer” or “Barista.” Provide concise, readable titles and don’t overuse special characters which can be considered “spammy structured markup.”
  • [JOBDESCRIPTION] – The job description should be a complete representation of the job, including job responsibilities, qualifications, skills, working hours, education requirements, and experience requirements. The job description can’t be the same as the job title above. In addition, it must be formatted in HTML and have one paragraph at a minimum. Paragraph breaks should be formatted using , , or \n.
  • Identifier fields:
    • [COMPANY/ORGANIZATION NAME] – The name of the organization posting the job
    • [UNIQUEJOBID] – The unique job id for the job, usually a requisition or job number from the ATS.
  • [POSTINGDATE] – 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”.
  • Hiring Organization Data:
    • [COMPANY/ORGANIZATION NAME] – The name of the organization posting the job
    • [COMPANYURL] – The URL of the job posting o SameAs URLs – In an array, you may list similar URLs used by the hiring organization for things like:
    • [ALTERNATE URL1] – Corporate website
    • [ALTERNATE URL2] – Facebook page
    • [ALTERNATE URL3] – Twitter page
  • Location information for the job (note: while you can just have the country listed for jobs that have multiple locations or are telework, in our experience, having an actual address is more likely to get your listing displayed by Google in Google jobs):
  • [STREETADDRESS] – The physical address of the job o [JOBCITY] – the city of the job location
  • [STATE/PROVINCE] – OPTIONAL – the state or province in two digit ISO code
  • [JOBPOSTALCODE] – The postal/zip code of the job address location
  • [JOBCOUNTRY] – The two-digit ISO code of the country where the job is located (e.g. US or UK).

OPTIONAL (but recommended) DATA ELEMENTS:

  • Unique Identifier fields:
    • [COMPANY/ORGANIZATION NAME] – The name of the organization posting the job
    • [UNIQUEJOBID] – The unique job id for the job, usually a requisition or job number from the ATS.
  • [TYPEOFEMPLOYMENT] – Type of employment that must meet Google’s types. This often will mean mapping the values in your ATS to the approved, upper-case Google employment types below: FULL_TIME, PART_TIME, CONTRACTOR, TEMPORARY, INTERN, VOLUNTEER, PER_DIEM or OTHER
  • [EXPIRATIONDATE] – validThrough – 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.” This is only required for jobs that have an expiration date. If you don’t know when the job will expire or if it never expires, do not include this property.
  • Base salary information
    • [CURRENCY] – The currency in which the monetary amount is expressed (in 3-letter ISO 4217 format), e.g. USD
    • [VALUE] – The amount of pay (example 40.00) You may specify a range of salary using minimum and maximum values:
    • [MINVALUE] – minimum value for the salary range (example: 40.00)
    • [MAXVALUE] – maximum value for the salary range (example: 50.00)
    • [PERTIME] – the amount of time the pay value specified in the [VALUE],[MINVALUE], and/or[MAXVALUE] pertains to from the uppercase approved list of values below:
    • HOUR, WEEK, MONTH, or YEAR

Once you have all above data with you, you can prepare your JSON as suggested by Google.



Now I am sharing some screenshot, how you will know that your website get penalized by Google for Schema.

  1. Your website must verify with Google Search console.
  2. If you website verify with Google search console than login and you will see screen as below

As per above screen now you will click on highlighted section that is “Manual Action”, Once you will click on it you will get below screen:-

You will get above screen if your website is not affected by penalty. If you website is get effected then you will see below screen:-

As per above screen you can see that now your website is affected by Google penalty, so to resolve this you should use below steps:-

  1. AS per screenshot see the pages which has effected
  2. Check all the implementation which had done (as per guidelines)
  3. If you are not following guidelines than change the code as per guidelines
  4. Update all elements in schema code as per guidelines
  5. Once done prepare a document what fixing you have done
  6. Submit the document with Google as per screenshot done Fixing, wait for some days Google will check your code again and let you know the final outcome.

Hope this blog will help you to avoid penalty on your website. Please share your feedback so that further I am able to share such blogs.