In this letter, we will propose a new routing strategy to improve the transportation efficiency on complex networks. Instead of using the routing method of shortest path, we give a generalized routing algorithm of \emph{efficient path}, which considers the possible congestion in the nodes along actual paths. Since the nodes with largest degree are very susceptible to traffic congestion, an effective way to improve traffic and control congestion, as our new strategy, can be as redistributing traffic load in central nodes to other non-central nodes. Simulation results indicate that the network capability in processing traffic is improved about 10 times by optimizing the efficient path, without increase in computing complexity. Our method may shed some light in future routing protocol and design.