In resource-constrained mobile ad hoc network, geographical routing algorithms are relatively attractive routing algorithms. Due to the movement of nodes, energy exhaustion and the presence of obstacles, routing holes may occur. The existing routing algorithm only considers bypassing routing void through right-hand or left-hand criteria, and forwards data at the boundary of the hole. However, such a routing algorithm may lead to the expansion of the routing hole and even cause the paralysis of the network. This paper proposes a new greedy forwarding improvement routing method for mobile ad hoc network. In the greedy forwarding phase, the reliable communication area is calculated, and then the quality of the link is evaluated according to the relative displacement between the nodes and the maintenance time of the link. Then, according to the quality of the link, the distance between the candidate node and the destination node, and the number of the neighbor nodes, the metric value is obtained, and the node with the large metric value is selected as the next hop. When a routing hole occurs, the waiting forwarding mode is used for a period of time. After a period of time, when the current node is still a routing hole node, we can use the right-hand rule and the left-hand criteria, and the bypass mode is performed simultaneously. By considering three factors of the deflection angle and the maintenance time of the link and the remaining energy of the node, the forwarding node as the next hop with the highest priority value is selected in each direction. The experimental results show that compared with the existing GPSR,EMGR and EDGR, the proposed algorithm reduces the energy consumption of the network, improves the delivery rate of data packets, reduces the network delay and prolongs the network lifetime. INDEX TERMS Mobile ad hoc network, greedy forwarding, bypass mode, link quality, energy consumption.