Of course it would be preferable to say, "He put a box on the shelf," but is it incorrect to say "He put on the shelf a box?"
This sentence was an item on a test for people with aphasia. The target sentence is "He put the box on the shelf." Inversions are acceptable if they're correct. An easier example is "She is giving the boy a present" for "She is giving a present to the boy."