Hi, My son just turned 6 months old and was doing the same thing! My friend suggested I wake him up earlier (he woke up around 10am everyday) and put him on a daily routine and now he's doing very good! Slept 8 hours last night non stop!
I wake him up at 8am everyday, by 10am he will nap about 45 minutes, and nap again at 12. His last nap is about 4pm. Each nap is about 45minutes to 1hr long. Then at 630, when he is getting sleepy, I feed him cereal. Before 6 months old I gave him in the bottle, but then he started not liking it so I made it thicker and feed him by spoon now. Bathe him after with Johnsons nighttime bath, massage him, then I just carry him till his eyes closing, make him lie on the bed next to him and pat pat till he knock out.
Once he is asleep, I put him on his belly in my cot. I make sure he is KNOCKED out first, so if I hold his hand, if he moves his fingers, I wait longer. Once even if I lift and drop his arm he doesn't care, i move him. Then just before I sleep, I will give him a bottle so he doesn't wake up for milk, he drinks half asleep and sleeps before the bottle is even finished.
Maybe you can try something like that? Routines help a lot cause then they know it's time to sleep. dont't get tempted to play with him till he's tired though, cause then he gets overtired and it's a lot harder to sleep. Making them not sleep in the afternoon doesn't help cause overtired babies cannot fall into deep sleep, wake up a lot!
My baby is very naughty also, if you hold him cradle, he knows I'm trying to make him sleep and will cry! So now I must make him sleep upright, cannot even sit down