I ditto Laura below.
My son is 3. He sleeps on a bed at night, but at daytime, he naps in his crib. His crib is big and he still fits in there just fine. He will even go and climb into his crib himself to nap, all by himself, when he is tired. He likes his crib and says so.
It is also fine that it takes 20-30 minutes for a child to fall asleep. Why not? For me as an adult, it takes time to fall asleep too. I do NOT fall asleep as soon as my head hits the pillow, either. So to me, that is not a problem that your son not fall asleep in 1 second. The MAIN thing is, is that he can fall asleep on his own, even if it is after 20-30 minutes. Nothing is wrong with that.
My son does that too... and until he actually falls asleep, he just amused himself and he has his lovey and some safe toys in his crib with him, and a sippy of water. I don't "remind" my son every second "nap now..." I just walk out, close the door and leave the room. I KNOW his pattern, I KNOW he WILL fall asleep in his own time. That is him. BUT, if I 'interrupt" HIS pattern and the way he falls asleep, then he will NOT nap. So I don't "interfere" in his cycle. He will actually tell me "Mommy go away, I nap now..." if I interrupt or check on him too much. So, there is a point to it all.
For times he can't nap, have a QUIET time. Which means, for us... no tv, no lights, no loud horsing around... just quiet things. Or, we just lay on pillows in the living room... and read. Which at that point, it ALSO winds-down the child.... to thus, "nap."
At this age, being he is not a 'baby' anymore... it takes time to nap. Have a pre-nap routine... about 1/2 hour BEFORE nap "time"... just make everything quiet, toned down, no hyper playing, no loud/hyper stimuli etc. That is what I do. My son KNOWS it like autopilot. And now, all i have to say is "nap time soon..." and he will, ALL BY HIMSELF, go downstairs and get into his routine. Lay down on pillows, read, watch "Little Bear" video etc. QUIET things. THEN, about 1/2 hour later, it is then NAP time.
I find a KEY thing is: do not "rush" nap time... in other words, don't say "nap now" and then put him in the crib that very second. Kids need to "transition" to it, then they will be more compliant. At least, that is the way it is for my kids. Anytime I "rushed" nap-time and scooped him up and put him into the crib like in 1 nano-second... THAT is when my son balks. So... I have a rhythm to it all. A nice relaxing rhythm, with verbal head's-up along the way. AND THE SAME pre-nap ROUTINE EACH AND EVERY SINGLE DAY. Always. That is key too. Not a willy-nilly unpredictable routine everyday. Just the SAME routine everyday. Same for bedtime.
Just some things that works for me and my son. And my daughter as well who would still take naps up until the 1st grade (but by this age she was NOT in a crib anymore, of course).
All the best,
Susan