I'm not one to say “there ought to be a law” very often. But there really needs to be more to protect job applicants.
In some states, if a grocery store advertises a gallon of milk for $1, and you show up and they are still charging the regular >$4 a gallon. You can demand that $1 gallon of milk, and they can be fined pretty significantly. If a retailer pulls a bait and switch, advertises AwesomeBrand Widget at a great price, then you show up, they only have OkBrand Widgets, they can be fined.
Why on earth can employers get away with this blatant false advertising?
And just to play devils advocate for the employer. I understand why they may have a job posting where there is no immediate opening. But that should be spelled out in the posting. Sure, I'll send off a resume to a company with no immediate opening. But don't make me jump through hoops, create an account, fill out a bunch of forms, and write a cover letter.
some government jobs have “12-month roster” job postings. Which means if you submit an application, if a position becomes available, they will pull from applicants who applied over the previous 12-months.
I kinda think one of the frustrating boomer things, is “you should apply to work at [COMPANY]” when they don't have an advertised position in your field, you can't just “apply”. It's such a boomer thing to think you can walk into a factory, talk to a receptionist, get a paper application, fill it out, and submit it, then walk to the next business next door and do the same thing. Not enough companies have a generic application on their website, etc.
The same goes for salary listings in job postings. They shouldn't advertise a job at $75k, then offer you $50, when you are clearly qualified. It would be one thing to lowball somebody if they didn't meet the qualifications listed on the ad, but they wanted to give someone inexperienced a chance. But people have taken a day off work, to go to an interview (or series of interviews) to get a lowball offer with less money than they were making now.