Keep your search rankings safe while geo-targeting
Geo-targeting and SEO have a complicated relationship. Done wrong, geo redirects can cause search engines to index the wrong version of your site, miss entire sections, or penalize you for cloaking. Done right, geo-targeting improves user experience without any negative impact on search rankings.
GeoSwap is built from the ground up with SEO safety in mind. This guide explains the core concepts and how GeoSwap handles them.

GeoSwap skips every geo rule for the 65+ bots it recognizes, Googlebot included, so they always see your original page. Rules also only fire on a positive match: a visitor whose location can't be determined never matches one. How you write a rule still matters for crawlers GeoSwap doesn't recognize.
Rule: "GeoRedirect visitors from Germany to example.de"
Only visitors located in Germany are redirected. Googlebot is recognized as a bot and sees your original page, and an unknown crawler is only redirected if it really is in Germany. This is the correct approach.
Rule: "Redirect everyone NOT in the US to example.com/intl"
"Not in the US" catches every visitor from anywhere else, including crawlers that don't announce themselves. With many geo tools, that sends search engines to /intl, and Google indexes it instead of your main page. Build the rule from a segment that lists the countries you want instead.
If a rule uses an exclusion segment (Not Country, Not State, or Not City), GeoSwap shows a warning in the form explaining the SEO risk. SEO → Insights also lists every redirect that uses one.
Hreflang tags tell search engines that multiple versions of a page exist for different languages or regions. This prevents duplicate content penalties and ensures the right version appears in local search results.
When you create a geo redirect for specific pages with country-based rules, GeoSwap generates matching hreflang tags and shows them on the redirect's detail page. Copy them into the <head> of each page involved. The geoswap.js script doesn't add them for you. Search engines need to find them in your page's HTML.
Tags aren't generated for redirects that cover all pages or use a page pattern, for domain swap rules, or for exclusion segments. For those, build the tags by hand in Geo Tools → Hreflang.
<!-- Generated by GeoSwap from a redirect on https://example.com/ -->
<link rel="alternate" hreflang="de-de" href="https://example.de/" />
<link rel="alternate" hreflang="fr-fr" href="https://example.fr/" />
<link rel="alternate" hreflang="ja-jp" href="https://example.co.jp/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />If example.com links to example.de, then example.de must also link back to example.com. Paste the same set of tags on every version of the page.
The x-default tag tells search engines which version to show when no specific language/region matches. GeoSwap points it at the page you redirect from.
For pages targeting a specific country (not just language), use codes like en-GB, en-US, or pt-BR. GeoSwap picks each country’s main language, so Germany becomes de-de. Edit the code if your page is in a different language.
If you redirect /pricing for German visitors, the hreflang must appear on /pricing specifically. GeoSwap generates tags for the page you listed in the redirect.
Once the tags are live, scan the page in Geo Tools → Hreflang in the dashboard to check them for errors.
GeoSwap detects Googlebot, Bingbot, Yandex, Baidu, and other search engine crawlers. These bots are never geo-redirected. They always see your original page content.
GeoSwap also detects AI crawlers like GPTBot, ClaudeBot, PerplexityBot, and others, and skips your rules for them too. Bot visits are tracked separately in Bots so they do not skew your human traffic data.
Bot detection happens at the edge, before any redirect or content decision is made. This is not something you need to configure. It works out of the box for all GeoSwap accounts.
Geo Redirects don't use either code. The edge decides where a visitor should go, and the script sends them there in the browser. Bots never get that instruction, so search engines keep indexing the original page, much like a 302. Geo Links always answer with a 302. Geo Routes let you pick the code per route and default to 301, so switch a route to 302 if the move is temporary.
Follow this checklist to ensure your geo-targeting setup does not harm your search rankings:
Use explicit country matching, not exclusion rules
CriticalAdd the hreflang tags GeoSwap generates to each page’s <head> (and remove old tags that conflict)
CriticalUse 301 only for permanent URL moves, and 302 for anything temporary
Use Geo Content (not redirects) for Google Ads landing pages
Scan your live pages in Geo Tools → Hreflang to confirm the tags are there
Check SEO → Insights after creating new redirects
Ensure every regional page variant is accessible to Googlebot (no login walls)
CriticalCheck Google Search Console for crawl errors after enabling redirects
Use canonical tags on regional pages that share substantially similar content
GeoSwap includes tools in the dashboard to help you maintain SEO safety:
Scan any page to check its existing hreflang tags, or build a set of tags by hand and copy them. Tags generated from your redirects appear on each redirect's detail page. Available at Geo Tools → Hreflang.
Checks your geo redirects for common SEO problems: exclusion rules, redirect chains, and redirects that could have hreflang tags but don't. Available at SEO Insights in the sidebar.
See which search engine and AI bots are visiting your site, how often, and which pages they access. Available at Bots in the sidebar.
See how GeoSwap handles 65+ bots and crawlers across all products.