Scope creep, small, unpaid additions that quietly expand a project beyond what was agreed, is one of the most common ways freelancers end up working far more hours than they were paid for. The best defense is prevention, not enforcement after the fact.
Start with a clearly written scope in your contract, listing specific deliverables rather than vague goals. "A 5-page responsive website with one round of revisions" is enforceable; "a website that looks great" is not. See the dedicated scope creep clause guide for exact language.
When a client asks for something beyond what's listed, even something that feels small, get in the habit of naming it out loud: "that's outside our original scope, happy to add it as a change order." Use the change order generator to document it in writing before doing the extra work, not after. This isn't about being rigid, it's about making sure extra work gets paid for, and that both sides stay aligned on what's actually included.