On job sites, I keep the resumes private rather than taking them down entirely. This is only for convenience, since the next time I need to actively seek jobs, I only need to upload updated resumes and update a few fields, not fill up entire forms from scratch. Moreover, many job sites don't allow creating multiple accounts with the same email or phone number (even if the previous account was deleted), another hassle easily avoided by not taking down the account entirely.
Most job sites also provide a text field called Summary (or equivalent). I "cheat" to use it to leave a custom message for a potential recruiter (if the job site doesn't allow making the resume private or allows a "premium" recruiter to see private profiles anyway).
Thanks for your interest in my profile. I have recently accepted a position, and not actively seeking a job change at the moment.
I do this only as a courtesy to the recruiter, since I don't feel good to have a recruiter call me only to find out that I am not interested. Recruiters spend majority of their working hours making phone calls to candidates and companies, and following up on interview calls, job offers, etc. so I prefer not to burden them with "wasted" calls.
I also don't see anything wrong in keeping online resumes in public on non-job sites, such as LinkedIn or a blog. A resume should be a "live" document, which you should always keep updating, whether you are actively looking for a job or not.
A common misconception about a resume is that it is a document meant only to get you an interview call. I would rather say, a resume is a document which provides a snapshot of your career. You use it with your job application when you seek a job. Much like how you use a Driver's License to prove your identity or age, but that is not why you get a Driver's License in the first place.