Специальная «SEO-перелинковка» между всеми поддоменами не обязательна. Но если поддомены являются частями одного проекта и пользователь может переключаться между ними, навигацию лучше сделать обычными индексируемыми ссылками <a href="…">, а не оставлять только обработчик AJAX или JavaScript без href.
AJAX сам по себе не делает ссылку невидимой
Проблема не в AJAX, а в разметке, которая остаётся после загрузки страницы. Google прямо указывает, что обычно извлекает URL из элемента <a> с атрибутом href. Ссылка может быть добавлена JavaScript уже после загрузки страницы: после рендеринга Googlebot снова анализирует HTML и извлекает найденные ссылки.
Поэтому такой вариант нормален:
<a href="https://spb.example.ru/">Санкт-Петербург</a>
И такой тоже может быть доступен Google, если JavaScript действительно создаёт в DOM обычный <a href>:
<a href="https://spb.example.ru/" class="region-link">Санкт-Петербург</a>
А вот переключатели вида <div onclick="...">, <span data-url="..."> или <a onclick="..."> без href нельзя считать надёжной поисковой перелинковкой. Google предупреждает, что такие URL он не всегда может извлечь. Яндекс для AJAX-страниц формулирует правило ещё конкретнее: при поиске HTML-ссылок робот учитывает URL именно в атрибуте href.
То есть исходную предпосылку стоит поправить: «сделано на AJAX» ещё не означает «робот ссылку не видит». Смотреть нужно на итоговый DOM и наличие нормального href.
Нужны ли сами ссылки между поддоменами
Если переключатель поддоменов существует для пользователя, разумно сделать эти же переходы доступными роботу. Ссылки дают поисковику дополнительный путь обнаружения URL и помогают ему понимать навигационную структуру проекта. Google официально использует ссылки для обнаружения новых URL и как один из сигналов понимания связей между страницами.
Но из этого не следует, что нужно строить искусственную сетку «каждый поддомен ссылается на каждый поддомен». Если у проекта 50–200 региональных поддоменов, выводить сотни сквозных ссылок на каждой странице только ради SEO смысла нет. Google не устанавливает «правильного» числа ссылок на странице и рекомендует связывать релевантные страницы там, где это полезно для навигации.
Практичнее оставить нормальный переключатель региона и, если поддоменов много, отдельную HTML-страницу выбора города, откуда доступны региональные версии.
Если нужные поддомены уже обнаруживаются через ссылки, Sitemap и собственную структуру каждого хоста, отсутствие сквозной перелинковки само по себе не означает, что они выпадут из индекса. Ссылка между поддоменами — дополнительный путь обнаружения и обхода, а не самостоятельное обязательное условие индексирования.
Для Яндекса поддомены нужно рассматривать отдельно
Яндекс прямо пишет, что считает поддомен отдельным сайтом. Поэтому механически переносить на межподдоменные ссылки всю логику обычной внутренней перелинковки некорректно.
Для региональных поддоменов важнее корректно настроить каждый хост: открыть его для обхода, добавить в Яндекс Вебмастер и задать регион там, где региональность действительно обоснована. Ссылка из переключателя региона этого не заменяет.
Если поддомены являются языковыми или региональными версиями одной страницы, обычной навигационной ссылки тоже недостаточно для обозначения соответствий между версиями. Для Google используются hreflang-связи; их можно задавать в HTML, HTTP-заголовках или Sitemap. Google отдельно рекомендует явно сообщать о региональных и языковых вариантах через hreflang, альтернативные URL или явные ссылки.
Как лучше реализовать переключатель
Оптимальная схема простая: интерфейс можно оставить на JavaScript или AJAX, но каждый вариант выбора должен иметь настоящий URL в href.
<nav aria-label="Выбор региона">
<a href="https://msk.example.ru/">Москва</a>
<a href="https://spb.example.ru/">Санкт-Петербург</a>
<a href="https://ekb.example.ru/">Екатеринбург</a>
</nav>
С точки зрения HTML элемент <a> без href вообще не создаёт обычную гиперссылку. Поэтому хранить реальный адрес исключительно в JavaScript-обработчике технически хуже, чем использовать стандартную ссылку и при необходимости навесить поверх неё клиентскую логику.
JavaScript может перехватывать клик, открывать меню, сохранять выбранный регион или выполнять другую логику. Для поискового робота при этом остаётся обычная гиперссылка.
После внедрения в Google Search Console проверьте URL и отрендеренный HTML: ссылка должна присутствовать там как <a href="https://...">. Google прямо рекомендует такую проверку для ссылок, добавляемых JavaScript. Для Яндекса используйте рендеринг JavaScript в Вебмастере и убедитесь, что робот получает тот же URL в href.
Если нынешний AJAX-модуль после рендеринга уже создаёт нормальные <a href> между поддоменами, переделывать его только ради SEO не требуется. Если переход существует лишь как JavaScript-событие без href, реализацию стоит исправить.