Во-первых, если на вашем сайте, по одному и тому же URL для разных клиентов (по ip адресу) отдаются разные страницы - это грубая ошибка и поисковики могут даже забанить за такое. Пользователям это тоже создает кучу проблем: внучка из Москвы не сможет передать бабушке в Саратове ссылку на платье, которое она сейчас рассматривает. Следовательно надо сначала это исправить.
Если же URL уже правильно настроены, например: example.com/spb/index , example.com/msk/index то не вижу никаких проблем:
1. Можно использовать sitemap
https://yandex.ru/support/webmaster/indexing-optio... чтобы сказать роботу что индексировать.
2. Можно в подвале разместить ссылку "мы в других регионах", которая ведет на страницу со ссылками на все региональные страницы.
Самое главное, здесь, чтобы проверка ip адреса производилась, только в том случае, если регион еще не указан в URL, если же регион уже указан, то движок не должен его автоматом редиректить на другой регион, может только предложить это.
Например, я живу в Москве:
1. когда захожу на example.com меня автоматом перекидывает на example.com/msk
2. когда захожу на example.com/spb меня никуда автоматом не кидают, но показывают ссылку "хотите перейти на версию для Москвы ?"
Тогда и с роботами всё будет нормально.