To me, https://www.zdic.net/ is fine for the usage of common words or ancient words. Unlike other methods, this linked dictionary directly tell you some of the earliest usages of the word and the etymology/evolution of the single character. For examples:



On zdic you could click on those bronze characters and oracle characters at the end of the page; detailed references will be given.
Note that zdic does not update frequently so the link given in the comment gives some newest updates on etymology: http://humanum.arts.cuhk.edu.hk/Lexis/lexi-mf/search.php?word=%E6%95%B4. By using this link you have to manually search for the full text containing that specific character and then get the usage information. Still, knowing some early usages are easy but interpretating the earliest usage is hard, if the earliest appearance of the character is in oracle.
As most ancient Chinese words are of single character, the etymology and evolution information of the character seems enough to me.
Another free source is http://www.dacihai.com.cn/ but it usually give less information than zdic.
If you want an official source of the words' origin for professional or academic purposes, you have to go for a paid service or get the following dictionary: http://ciyuan.cp.com.cn/. From my experience most Chinese teachers use this one as the official source.
For new expressions, google/baidu is good enough, I suppose. For modern expressions, you could also search google scholar for relevant articles.