In my experience, it made no sense to argue with the client about maintenance when the website was "sick". All the client wanted was for us to fix it. I knew that, so I made sure I sold them a maintenance package in advance, when they "didn't need" it. A website is just like a bridge: if you build it, you're responsible for it, but it's not for free. Everything I put in the world, I am responsible for, but the client needs to pay for it.
Here's how we sold support: - 30 days guarantee period (after launch) - we were selling only annual contracts. A lot happens every month. Frameworks and libraries need updating, 404 links happen, browsers update, CMS systems get new security updates... There's a ton of things to keep an eye on as a developer, and you could create an annual plan which your client pays for monthly (give her a discount when she signs a contract).