I have been on a mission for quite a long time now to find a reliable parental control solution and content filtering solution and created a detailed post on the subject a few years ago.
I have tried all kinds of software, most of which has been lacklustre or simply unreliable as it will randomly stop working (Microsoft Family Safety, Bitdefender Parental Controls) or simply doesn’t do what it claims and gives you a false sense of security (Qustodio).
Avoid iPhones
Many parents cannot afford to pay for software for all their devices as it is, and Apple has now made this an even more difficult solution for parents by blocking all 3rd party software vendors from using parental controls on iPhones and iPads or by crippling their software and making it useless.
So if you are thinking of buying your child an iPhone or iPad, I would suggest you consider an Android device instead if you want any kind of parental control.
DNS Filtering
Lately, I have been trying out a number of DNS filtering services and I believe I have finally found one that not only works, but is also FREE, at least for the basic service. It is called CleanBrowsing DNS.
What this basically does is that it takes you DNS requests and instead of just return the IP address to your device as normal DNS would, it will process the request itself and returns the website content with any filtering applied.
So it will either completely block any website on the not allowed list, or will enforce the SAFE SEARCH mode on sites like youtube and google, thus overriding local settings on your devices.
Using DNS filtering is a simple case of changing the DNS servers on your broadband router admin, which will affect every device in your house that is using WIFI or connected to the router via cable.
If you have older kids with mobile phones, then you would also need to apply the cleanbrowsing DNS settings to their phones directly, otherwise, it would have no effect when they are connected to the mobile network.
You can find various setup guides over on the CleanBrowsing website for most devices.
UPDATE: since writing this I had problems with Cleanbrowsing not working reliably and have switched to SafeDNS.
Read my full review of cleanbrowsing here.
Other Considerations
Please bear in mind that DNS filtering is very easy to bypass for any kids that are quite computer literate or even just know how to use google to search for a workaround.
So for older kids, you will need to have some parental control software on their devices in order to stop them changing the DNS settings, and be sure to check for yourself that it cannot be changed. I recommend MMGuardian.
On Windows computers/laptops, you simply need to make sure that your kids are not administrators, and only standard users, then they will not be able to change network or DNS settings. You should make yourself the only administrator.
The free version of CleanBrowsing will not block social media sites. If you want to do this, then you will need to purchase the paid plan so that you can add your own filters to block those sites or others which are not blocked by default, you can also create separate profiles for each child if required.
If you have set the DNS filtering at router level and want to bypass the DNS filtering on your own devices, then simply set different dns servers on those devices. I recommend using CloudFlare DNS rather than your ISP.