Range will be short if: (a) transmitter is weak, or (b) receiver has low sensitivity.
The antenna makes the most difference when sending or receiving. There is no easy way to make up for a poor antenna.
What can we change in the router? About the only thing I've seen that I can change, is how secure is the antenna's threaded connector.
I have a laptop in which I installed a wifi card. It did not come with an antenna. I made an antenna from a short length of wire. Its range is only 10 feet. It is inefficient at sending and receiving.