If you have an only weekend, I would most likely stay in Lagos for all the nights and use it as a base. It’s in the middle of the west and east Algarve and a really nice town. I would not rush from one place to another and explore slowly. Luckily the distances are not far and the roads are very good. My recommended route would be sth similar:

TOWNS & VILLAGES 📍

LAGOS

A nice coastal town in Western Algarve. A good place to have for your base - not too touristic (compared to Albufeira & Faro), but cute old town, one of the best beaches and lots of hiking trails. Middle of many sights that can be reached with a car within 30-60 minutes.

Beaches 🌊: one of the best beaches in the Algarve

Hikes & Walks Lagos 🥾

OTHER TOWNS

Ferragudo - a very pretty (quiet) village close to Lagos with a cute old town and seaside area next to the canal. Lots of seafood and crabs. Nice to have a short walk (or even stay one night). I saw the best sunset there. Also has a small beach and a beach bar recommended by locals called Club Nau (I didn’t go there).

Carvoeiro - a small and cute town. Another option when choosing a place for accommodation (more quiet and relaxed compared to Lagos).