As already mentioned in the linked Q&A there are roughly three approaches for geo-blocking
something like the mod_maxminddb Apache module to grant/deny access natively in Apache httpd : https://github.com/maxmind/mod_maxminddb
Block access in your host based firewall. On FreeBSD that would require something like https://github.com/cyclaero/ipdb
Disallow direct access to your web server, leverage one of the many CDN solutions and use that CDN to block/allow access from certain geographic regions
All three solutions of course suffer from the same problem: IP-addresses are not street addresses tied to a physical location and as an access control you won't get 100% reliability.
Solutions #1 and possibly #3 have the advantage that you can easily apply your access control to specific resources on your web site, i.e. allow the complete world access to specific (parts of the) website(s) hosted on your server, while applying geo-blocking to other parts/sites on the same server.
For example: you could allow the whole world access to the generic information about your business, but restrict access to your online ordering forms. A restaurant in Paris for example can decide it won't allow take-away delivery orders from around the world, but might still want to allow travellers to see their dine-in menu and possibly make reservations from their home before they start their trip to Paris.
Solutions #2 and especially #3 will probably reduce load on the web server, as you'll be blocking traffic before it reaches your website.
The firewall solution is a complete block and won't even allow you to display a warning message/banner to site visitors.
Less sledgehammer, more scalpel: don't block countries, but rather only the actual misbehaving IP-addresses with fail2ban which should also be available/suitable for FreeBSD