I recently optimized my site changing the keywords but also the path to those pages (I'm using human readable urls) So google will not find those pages anymore... what's the best aproach in this case: making an alias keeping the old urls as well showing the new content or redirecting with 301?
Redirect requests for the old page to the new one with a 301 header. There's no point in having the same content on different URLs unless you have to.
If you do end up with the same content available from multiple URLs, use the canonical link element to tell Google which single URL you want it to favour.
Do the 301 redirect. It not only tells both your users and search engines that the page has moved, but the search engines will transfer and link love it found for the old pages to the new which will help your SEO.
If you use aliases so there can be more then one URL to find the same content which may possibly confuse users who will see the same content on different URLs. Canonical URLs will help the search engines avoid that issue but it won't do anything for humans.