Daha önce kendim yapmıştım böyle bir çalışma. Örnek çalışma mantığını aşağıda anlatayım. JS ile yapılıyor.

document.querySelectorAll('a').forEach(item => {
     item.addEventListener('click', e => {
          e.preventDefault();

          // YAPILACAK ANİMASYON İŞLEMİ

          setTimeout(() => {
               window.location = e.currentTarget.getAttribute('href');
          }, 500);
     });
});
Burada site içi-dışı diye linkleri ayırman lazım. target="_blank" attribute'ına sahip anchor tagı bug oluşturacaktır.