Can’t stress this enough. Small to mid-size business in your area. They usually don’t have their own IT/web staff – you become their problem solver, you become their web department, their IT department.
If a new client, don’t even start the work without receiving the 50% upfront.
Then upon delivery, get the 40%.
After acceptance, and last minute bug fixes, get the final 10%.
If you and client trusts each other, and have long relationship – hopefully you’d get to the point of them just calling you to ask to do some work, you do it, and you just send them bill for whatever $$$ at the end of the month.
Also, get away from the thinking that you’re a web developer developing website apps for them — no, you’re solving problems and finding solutions to their problem. If that solution is a WordPress site with some plugins, that’s what you offer. Don’t mumbo jumbo them talking about React, node, git, css, es6, whatever… their eyes will glaze over, they don’t know what you’re talking about, and they’ll go find someone else.