I hacked up a fix for this:
in the plugin file geo-redirect.php, go to the end of the file and replace the line:
if (!is_admin()) {
do_action('check_client_location');
}
with:
if (strpos($_SERVER['HTTP_USER_AGENT'],'facebook') === false) {
if (!is_admin()) {
do_action('check_client_location');
}
}
This will check the useragent string to see if it contains the word facebook, and will stop the redirection if it does. This shouldn’t be an issue for facebook since users will probably be sharing links that already went through the redirection to the proper language page, so facebook should still get the proper language without the redirect.