I don't charge a cleaning fee because I do not want the guests to have any expectation that I will clean up after them or for them. I expect that they will do their dishes and clean up any spill or mess they create. The guests almost all leave the space perfect or close to perfect.
Of course I do go in and thoroughly clean after each guest, change bedding, clean the bathroom/kitchen, mop floor, etc. That prepares the space for the next guest so that when they arrive the space is perfect.
Usually people who do charge a cleaning fee do so in order that they may be compensated for the extra work of turning over the space between guests with shorter stays. Look at the amount of cleaning needed for seven one night stays vs one seven night stay. Without a separate cleaning fee the host would receive the same compensation for both stays but in one case clean seven times.
If I did charge a cleaning fee I would spell out in my listing that the cleaning was one time before the guest checks in to ensure the space was prepared for them. I would point out that this policy provides a built in cost per night discount as the stays get longer and that the guest is benefitting from this. I would point out that additional cleaning during the stay is available at a certain cost and must be booked in advance.
I would go in and change linens weekly, remove trash and replenish toilet paper without a fee but only so that I could inspect my space and see how they were keeping it. This would be detailed in my listing. Since all our stays are a week or less we do not have this concern.