Мое имхо.
Продвижение по регионам штука сложная.
Для начала нужно решить, что именно будет являться контентом для продвижения по региону.
Это может быть:
а) при выборе региона показываются все те же страницы что и на основном сайте, но добавляются динамически: url, заголовки и тексты, метатеги, alt в картинках, телефоны если нужно и другой контент. Фактически, выбрал из списка городов "Казань" - перешел на
site.ru/kazan и там уже свой контент, оптимизированный под Казань. При перемещении по сайту структура url отталкивается от региона "/kazan/odegda". Этот вариант позволяет продвигаться по низкочастотным запросам, и в целом по большому числу запросов, но сложный в реализации, больше подходит для самописных проектов, плодит кучу ссылок, сложнее отслеживать и управлять проектом. Пример в реализации
https://bamper.by/zchbu/gorod_brest/
б) просто отдельные странички типа "купить джинсы в казани", "купить джинсы в самаре" и т.п.
оптимизируются по частотным запросам, представляют собой обычный текст.
Это простой вариант, его делают очень многие, в том числе сами сео студии лепят вроде "продвижение сайта в минске," продвижение сайта в борисове" и т.п. И это тоже работает, причем примитивно в реализации. Но ограничено число запросов. Мне этот вариант нравится, рабочий.
в) нечто среднее.
например, чтобы не заморачиваться с программированием, создаются обычные категории товаров в CMS в виде регионов, типа "Казань", "Самара" и т.п. В общем каталоге не выводятся, чтобы не отвлекать людей. Имеют свой URL, товары, тексты и теги. То есть получается не просто страничка, а целая категория с товарами, но заточенная под запросы из региона. Причем сделанная штатными средствами того же Opencart без привлечения программиста. Тоже имхо нормальный вариант.
г) отдельный сайт на отдельном домене/поддомене.
в этом случае делается полная копия сайта, выносится в поддомен и там продвигается.
сложности в том, что тянуть кучу сайтов по сео это гораздо сложнее, чем один, обновлять товары и цены - отдельная история, единой регистрации не будет и т.п. То есть этот вариант я бы рассматривал в исключительном случае, например, если нужно показывать разные товары и цены для разных регионов.