There is only one way to do it IMO. First you have to have a big declutter and tidy, like a big clean up when you have people visiting. There's no escaping it.
Then, you have to keep on top of it every day. It sound stupidly simple but it is. It's a pain in the arse but it works.
I make sure the house is tidy at the end of every day. Between 6 and 7, DH baths DS and watches DD, I tidy the daytime downstairs mess and then do upstairs and the vacuuming and then once DS is in bed DH will clear away dinner stuff and then the house is tidy for us to relax in the evening.
The key to keeping it tidy is to do things when you see them. When you go into the bathroom in the morning, wipe the sink round and the toilet while you are brushing your teeth. In the process of getting dressed, make sure clothes in the wardrobe are folded properly. When you are cooking dinner, straighten the cupboards.
If you maintain a decent level of every day tidiness, it makes the bigger jobs, like a big kitchen clean, sorting the shed, upstairs vacuuming (yuck) more achievable as you are starting from a tidy base, not forever starting afresh in a mess.