You can find a lot of courses at Udemy, they are cheap and are worth doing, if you can pay.
It is better than just be googling around (you will lose a lot of time looking for good information, especially at first). I would go to some cheap course first.
I have already seen some courses on udemy, but my English is not so good to address such a difficult subject. I was seraching some book, but many are negative reviews.
Maybe before solidity you should improve your knowledge on a more important language... English
Take a look at mastering ethereum. You will learn the basics about ethereum and something about solidity. Written by ethereum co founder.