What Google for Jobs silently drops
There is no API to push listings to Google. It crawls your careers page, and it rejects postings for mistakes it never reports — remote roles with a street address being the most common.
Google for Jobs has no submission endpoint. It reads structured data off your careers page, which means the markup is the integration, and a mistake in it does not produce an error — it produces silence.
Two mistakes account for most of it. The first is remote roles: a work-from-home job published with a postal address is contradictory, and Google would rather drop it than guess. It wants an explicit remote location type plus the countries people may apply from.
The second is expiry. A posting with no closing date is treated as open indefinitely and eventually dropped, which tends to remove your oldest roles — often the ones still being recruited for hardest. A posting with a closing date in the past disappears immediately.
Both are avoidable by being explicit rather than inferring. We keep work mode as its own field rather than looking for the word 'remote' in the location, because 'Remote Operations Centre, Pune' is an office.