Cuckoo search (CS) is one of the well-known evolutionary techniques in global optimization. Despite its efficiency and wide use, CS suffers from premature convergence and poor balance between exploration and exploitation. To address these issues, a new CS extension namely snap-drift cuckoo search (SDCS) is proposed in this study. The proposed algorithm first employs a learning strategy and then considers improved search operators. The learning strategy provides an online trade-off between local and global search via two snap and drift modes. In snap mode, SDCS tends to increase global search to prevent algorithm of being trapped in a local minima; and in drift mode, it reinforces the local search to enhance the convergence rate. Thereafter, SDCS improves search capability by employing new crossover and mutation search operators. The accuracy and performance of the proposed approach are evaluated by well-known benchmark functions. Statistical comparisons of experimental results show that SDCS is superior to CS, modified CS (MCS), and state-of-the-art optimization algorithms in terms of convergence speed and robustness.