This is something I've struggled with for years. Many (most?) people do. It's so easy to check online for, say, the weather, and then get distracted for hours with whatever else is competing for your eyeballs on the site.
Here's my very best strategy to deal with this. Try restricting problematic websites to another device entirely. Forget complex apps that limit your junk surfing to certain times of the day. You want an actual separate physical device. It's much, much easier to draw the line that way.
You can get an old smart phone, or an old laptop for practically free on Ebay. I got an old junky chromebook for about $35 a while back. Just search for the cheapest working laptop that they have.
Basically, on your main, productive laptop, you limit access. To do this, I use the hosts file - just put in some lines like the below:
127.0.0.1 youtube.com
127.0.0.1 www.youtube.com
For more details, you can search online for "using hosts file to block websites".
Everything like YouTube, addictive news sites, twitter, etc, is allowed on your slow, inconvenient device. But not on your productive laptop.
I used to listen to podcasts on my main phone, but it got to be a problem. I was turning on the podcast app every single time I got up from my desk. I ended up uninstalling the podcast app from my phone. Then I resurrected an old tablet, and installed a podcast app on it. Bonus - the tablet is so old, apps like YouTube don't even work. So it's lots less convenient, but when I truly have a long chunk of time where I could use some infotainment - weeding, a long drive, etc - I have something to listen to.
Also, I never read books on my phone. Instead, I use a kindle - but an old-style kindle, with buttons and no touchscreen. So, it's basically an electronic book. I keep it offline, and only put books on it via a cable, using Calibre. The model is Amazon Kindle D01100 4th Generation. You can get them on Ebay for $15 to $25.