I find procrastination is caused by a number of things, in my case mainly not enjoying a particular job/project or simply being unclear on what to do. I'd try and identify why you procrastinate and try and solve the problem at the root. If there's chores I need to do such as shopping, I do it in the morning first thing so it's not an excuse later in the day. Laundry and washing up I do whilst I make a cup of tea so I'm not tempted to do them when I should be working.
If you can afford it, consider hiring a workspace nearby. It may seem counterproductive to spend money when you can work at home for free, but if you don't have an area you can class as a work area, it's hard to differentiate between being at home and being at work. I work from a hackspace in my town. I pay £20 a month, an amount I probably save on electricity and heating by not working from home. If there's no co-working options around, consider a local library.
If this isn't an option, then you may find getting up and going for a walk in the morning will help you kickstart your working day, maybe a trip to the newsagent for a paper. Get dressed as you would if you had to commute, and work a particular set of hours. Don't sit around in your pyjamas, dress as you would if you were working with others. Weirdly I find wearing a shirt puts me in work mode more and I'm more productive.
I often set targets for myself, like "If I finish this, I can read that article whilst the client gets back to me" or "I can finish early if I do all these tasks today." Take a break as you would in a studio and use this time to do the things that you find distracting.
If you're still distracted constantly, something like
Cold Turkey will allow you to block access to particular sites during working hours. Another great incentive to get work done is the looming fear of not being able to pay monthly bills. Get your work done, get the jobs invoiced and get paid!