Yeh, he is definitely getting too little sleep for his age. 30 mins naps are a pretty classic sign. Now this might not fix all your night waking problems but at least it will rule out overtiredness as a cause!
I would try to make sure he is never awake for more than 2hrs - 2hrs15mins. His first nap will probably need to be 2hrs after he first wakes up. After a short nap (less than 1.5hrs), the next awake time will need to be even shorter, perhaps only 1.5hrs. And he needs to be asleep for the night 12 hours after he wakes up, max 12.5hrs.
Just popping out now but I"ll come back with an 'ideal' routine.