See how this page can help with your next step.
Direct Answer: After turning on SeaText’s one‑click translation, learn why a visible language selector improves user experience, SEO, and conversions. Compare floating and menu‑based switchers, understand technical trade‑offs, explore advanced customization, and follow verification steps. All claims are backed by SeaText’s public documentation.
SeaText translates every page, post, product, and headline automatically into up to 125 languages with no page limits. To give visitors a way to choose a language, add a visible selector. SeaText currently provides a floating switcher; menu integration can be built with custom code. Always publish changes in the WordPress Customizer or via the SeaText dashboard.
A visible selector lets visitors read content in their preferred language instantly. This reduces bounce rate because users do not leave when they cannot understand the page. Search engines see the selector as a signal that the site serves multiple languages, which helps hreflang implementation and international indexing. Conversion rates rise when buyers can complete a purchase in their native language. SeaText’s automatic translation covers 125 languages, so the selector unlocks that inventory for every visitor.
Without a selector, the browser language detection may serve the wrong language or fall back to the default. A clear UI element removes ambiguity and builds trust. Studies show that multilingual sites with an obvious language switcher see higher engagement and more completed transactions.
Both patterns are common in multilingual WordPress sites. The table below compares them on buyer‑relevant criteria. SeaText ships a floating switcher out of the box. Menu integration is possible but may require custom development; check with the vendor for official support.
| Criterion | Floating switcher | Menu integration |
|---|---|---|
| Visibility | Always in view, corner of screen | Only when menu opens |
| Mobile usability | Stays tappable, auto‑repositions | Depends on menu design |
| Theme compatibility | Works with most themes | Requires menu location support |
| Maintenance overhead | Low, single setting | Higher, menu edits needed |
| Best fit | Sites wanting instant access | Sites with existing mega‑menus |
Recommendation: start with the floating switcher for fastest deployment. Add menu integration later if your navigation already hosts a language dropdown.
SeaText’s switcher loads a lightweight JavaScript file. This adds a small request but does not block rendering. Caching plugins may serve a stale version of the switcher; clear cache after publishing changes. Core Web Vitals impact is minimal because the script is under 10 KB and loads asynchronously. If a requested language has no translation, SeaText falls back to the site’s default language automatically. JavaScript‑disabled browsers will not see the switcher; consider a noscript fallback link to a language‑selection page.
Automatic translation runs in the background. New content appears in all enabled languages without manual steps. However, the translation queue can delay availability for a few minutes on very large sites. No page caps exist, but extremely high volume may hit API rate limits; monitor the SeaText dashboard for alerts.
SeaText exposes several hooks for developers. You can inject custom CSS via the WordPress Customizer > Additional CSS to match brand colors, icon style, and position. The seatext_switcher_render filter lets you replace the default markup with a custom component. Programmatic placement is possible by calling seatext_render_switcher() in a theme template. All translation review happens in the SeaText dashboard, where you can edit key pages, lock brand terms, and approve A/B‑tested variants.
These options keep the switcher consistent with your design system while preserving SeaText’s automatic translation pipeline.
Test the selector in an incognito window to avoid cached cookies. Change the browser language to a target locale and reload; the page should render in that language if a translation exists. Clear site cache (plugin, server, CDN) after any switcher configuration change. Common conflicts: page builders that strip scripts, aggressive minification that breaks the switcher JS, and caching plugins that serve a stale HTML version. Deactivate conflicting plugins one by one to isolate the issue. If the switcher disappears, verify the Publish button was pressed in the Customizer or that the dashboard setting “Show switcher” is enabled.
If you need a menu‑based selector, add a custom link to your navigation menu that points to /?lang=xx for each language code. This method works with any theme but requires manual menu updates when languages are added or removed.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: Free one-click translation plugins often cap translated words, lock you to one machine translation engine, omit glossary controls, and may not generate hreflang tags or multilingual sitemaps. SeaText's free WordPress plan claims no page or language limits and includes automatic multilingual SEO, but you still need to test quality, editing, migration, and privacy.
Free one-click translation plugins are tempting. They promise instant multilingual websites. The free tier is a limited environment, not a full localization system. You usually face caps, fixed engines, missing glossaries, and weak SEO signals. Knowing these limits before you commit saves you from migrating later.
| Capability | What can go wrong | What to check |
|---|---|---|
| Word or page quotas | Translation stops after a monthly or total quota. | SeaText's free WordPress plan states no page or language limits. Check with the vendor. |
| Engine control | Some plugins lock you into one machine translation engine. | Ask whether you can choose engines or adjust quality by language. Check with the vendor. |
| Glossary and brand voice | Brand terms, product names, and legal wording can be translated inconsistently. | SeaText says you can edit translations and preserve brand voice. Check if per-term glossary uploads are supported. |
| SEO output | Missing hreflang tags or multilingual sitemaps can cause duplicate-content problems. | SeaText states free automatic multilingual SEO comes with every translated page. Verify with the vendor. |
| Image and media content | Text inside images may stay untranslated. | SeaText's FAQ asks about pictures and images, so confirm current behavior. Check with the vendor. |
Free one-click translation handles visible text on a page. It usually covers headings, paragraphs, buttons, and product descriptions. It may not cover PDFs, videos, or text embedded in images. Dynamic content loaded after the page opens can also be missed.
SeaText's free WordPress plan translates every page, post, product, and update automatically. The source says there are no page limits and no language limits. It also says new WordPress content is translated in the background. So the free tier is bigger than many older plugins.
Still, covers does not mean perfect. You need to know what is translated and what is ignored.
A one-click translator sends your text to a machine translation service. The service returns a translated version. The plugin then swaps the original text for the translated text in the page.
Many plugins do this at page load. They detect the visitor's language and show that language version. SeaText says it detects each visitor's language and translates WordPress pages instantly.
There are two common architecture choices. Server-side translation stores translated pages and serves them as static URLs. Client-side translation swaps text in the browser after load. Server-side is usually better for SEO because search engines can crawl it.
SeaText's WordPress agent works in the background. A new post, product, or headline triggers translation automatically. That means the translated version exists without manual work.
Machine translation is not a single step. It may split text into segments, translate each segment, then recombine. Punctuation, whitespace, placeholders, and HTML tags can break during this process. Good plugins protect the markup.
Machine translation quality varies by language pair. English to Spanish is usually strong. English to Lithuanian or English to Korean may be weaker, depending on the engine and training data.
High-resource languages have more data. Low-resource languages have less. This affects word choice, grammar, and local idioms. A plugin that supports 125 languages does not deliver equal quality in all 125.
SeaText says it translates into 125 languages. That is a broad claim about reach, not a claim that every language is perfect. You should test the languages you actually need.
Quality also depends on content type. Product descriptions are short and repetitive. They translate well. Legal pages and marketing headlines need care. A single wrong word can change a promise or a warranty.
Ask the vendor whether you can set different engines per language pair. Some plugins allow that. Others force one engine for everything. If you serve a rare language, this matters.
Automatic translation is a starting point, not a final edit. Manual review improves accuracy. Free tiers often limit manual editing. Some only allow you to edit the current page, but not save changes. Others save your edits but then overwrite them when the source content changes.
Glossaries are more advanced. A glossary stores approved translations for brand names, product terms, and industry phrases. Free plugins rarely include this. Without a glossary, the same term can be translated differently on different pages.
SeaText's free FAQ says automatic does not mean uncontrolled. Users can edit translations, preserve brand voice, and review key pages. The source also mentions advanced A/B tested translation when you want to find the best message. That is useful, but it does not replace a glossary workflow.
If glossary control is essential, ask two questions. Does the plugin support uploadable glossaries? Can you lock terms so editors or the machine translator never change them? If not, plan to review every critical page manually.
Search engines need clear signals to index multiple language versions. Hreflang tags do this. They tell Google which URL is the French version, which is the German version, and which is the original.
A multilingual sitemap lists all those URLs. It helps search engines find translated pages quickly. Without these signals, search engines may see translated pages as duplicates. They may index the wrong language or ignore the pages.
Many free plugins skip hreflang tags. They simply replace text and leave the same URL. That is a limitation for international SEO.
SeaText's source says every translated page gets free automatic multilingual SEO. That is a product claim. Verify the signal layer works in your setup.
There is nuance. If you keep one URL and swap content by language, hreflang can work, but only if configured carefully. If each language has its own URL, the architecture is easier for search engines.
Free tiers create long-term dependency. Your translations may be stored in a vendor's cloud. If you switch plugins later, can you take the translations with you?
Export formats vary. Some plugins offer PO, MO, or CSV files. Others provide a REST API. Some cloud-based translators keep content in a proprietary database. SeaText's source page does not document export options, so check with the vendor.
Before committing, ask about data portability. Will the vendor export the complete translation memory? Do source-language edits transfer? Are review statuses preserved? If the answer is unclear, request a written answer.
Portability also applies to SEO settings. Hreflang mappings, URL slugs, and canonical tags are not content. They are configuration. Losing them during migration can hurt rankings.
Translation sends your content to a third-party service. That content may include personal data. Names, emails, addresses, and order details can appear in product pages, receipts, or custom fields. Sending that data to an external engine creates a privacy risk.
Data laws like GDPR and CCPA require transparency. You need to know where data is processed, how long it is kept, and whether it is used to train models. A free plugin may not give you a clear answer.
Check the vendor's privacy policy before entering sensitive content. If you run an ecommerce site with customer data, ask for a data processing agreement. If the plugin stores content on its servers, a breach could expose proprietary copy.
Compliance is also regional. Some countries require local data residency. A plugin that processes content in the United States may not be acceptable for a European company serving EU customers. Verify the processing location.
The SeaText source page does not describe data retention or sub-processors. Check with the vendor before you send personal data through the translator.
Use this checklist before choosing a free one-click translation plugin.
Most free tiers only handle text nodes. Text embedded inside images requires OCR and replacement. SeaText's FAQ asks about pictures and images, so confirm the current behavior with the vendor.
If the plugin does not inject hreflang tags or create language-specific URLs, search engines may treat translated pages as duplicates. SeaText claims free automatic multilingual SEO for every translated page. Test with Search Console.
Most plugins show a dashboard counter or send an email. Some stop translating silently. SeaText says its free plan has no page or language limits, but ask about word volume too.
It depends on export formats. Some plugins allow PO, MO, or CSV downloads. Others keep content in a proprietary cloud. Ask for an export path before you commit.
Compatibility depends on how the plugin hooks into WordPress. SeaText says it is built for WordPress and the tools you already use. It detects new pages, products, posts, and headlines automatically. Test your stack.
Upgrade when you need stronger glossary control, per-language engine choices, more exact SEO configuration, or a support commitment. SeaText's free page offers no page or language limits, so the trigger is usually quality and control, not raw volume.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: Yes—you can let SeaText auto‑translate your WordPress site with one click and then edit each string manually. The built‑in editor lets you refine translations while keeping the speed of automation.
Yes, you can combine one‑click translation with manual post‑editing. SeaText’s plugin auto‑translates your WordPress content and then lets you edit each string in its built‑in editor.
| Option | Control | Effort | Quality | Speed | Limitations |
|---|---|---|---|---|---|
| Auto‑only | Low – you accept AI output as‑is | Very low – one click | Variable – depends on AI | Instant | Hard to fix mistakes later |
| Manual‑only | High – you write every line | High – translate each string yourself | Consistent – human‑crafted | Slow | Time‑intensive for large sites |
| Hybrid (auto + edit) | Medium – edit after AI | Moderate – one click then review | High – AI speed plus human polish | Fast‑then‑refine | Requires editor access |
Recommendation: Use auto‑only for large volumes of low‑stakes content (e.g., blog archives). Use manual‑only for tiny critical pages (e.g., landing pages with highly specific copy). Use hybrid for quality‑sensitive multilingual launches where you need both speed and brand control.
A hybrid workflow starts with an automatic, one‑click translation of every page, post, product, or headline. After the AI finishes, you open the SeaText editor, review each string, and correct errors or adjust tone. The result is a multilingual site that keeps the speed of automation but meets your quality standards.
This approach is common in professional translation. It is called MTPE (machine translation post‑editing). Many companies use it to balance cost, speed, and accuracy. SeaText makes it easy by giving you an in‑dashboard editor for every string.
Pure auto‑translation is fast but can produce errors. These errors hurt SEO and user trust. For example, a mistranslated headline might confuse visitors. A wrong product description could reduce sales.
Pure manual translation is accurate but slow. You need to write every line yourself. For a large site, that takes weeks or months. You also need native speakers for every language.
The hybrid workflow solves both problems. The AI handles the bulk of the work. You only edit the strings that matter most. This saves time while keeping quality high. It also lets you control brand voice. You can check key pages, headlines, and calls‑to‑action. The rest stays as‑is.
SeaText’s approach is backed by its source: “You can edit translations, preserve brand voice, review key pages, and use advanced A/B tested translation.” This shows that the hybrid model is designed for real‑world use.
After the AI translates, you enter the review loop. The loop has three steps: review, edit, and verify.
Review: Open the SeaText dashboard. Select “Edit Translations.” You see a table of all translated strings. Each string has the original text and the AI translation side by side.
Edit: Click any string. Change the wording. Fix tone, terminology, or style. Save the change. The new version replaces the old one.
Verify: Preview the page in the target language. Check that key elements (headlines, CTAs, product names) read naturally. Use the “preview in language” button.
This loop repeats for every string you want to refine. SeaText saves your edits. Future translations of the same text will use your saved version. This ensures consistency without manual re‑entry.
Each approach has its place. Here are the key trade‑offs.
Auto‑only: Best for large volumes of content that is not critical. Example: a blog with 500 posts. You want them translated quickly. Quality can be lower, but the cost is near zero. SeaText translates every page automatically with no page limits.
Manual‑only: Best for a handful of pages where every word matters. Example: a legal disclaimer or a high‑value landing page. You write each line yourself. It takes time but gives full control.
Hybrid: Best for most multilingual launches. You get the speed of AI and the precision of human review. It works well for e‑commerce sites, SaaS products, and marketing pages. You can edit only the strings that affect conversions.
SeaText supports all three. The hybrid mode is built into the plugin. You do not need extra tools.
AI translation quality varies by language pair. Common pairs like English‑Spanish are very accurate. Rare pairs like English‑Kannada may need more editing.
This is because the AI has been trained on more data for common languages. For low‑resource languages, the AI may produce awkward phrasing or wrong word choices. You will need to correct more strings.
SeaText covers 125 languages. For each language, you can decide how much post‑editing to do. Start with a small test. Translate a few pages and check the quality. Then adjust your review effort.
If a language pair is poor, you can still use the hybrid workflow. Just allocate more time for editing. Alternatively, you can switch to manual translation for that language.
How long does the review loop take? It depends on the number of strings and the language pair. A typical page with 50 strings takes 10–15 minutes to review.
Can I skip post‑editing for some pages? Yes. You can turn off the editor for specific pages. The auto‑translation remains. This is useful for low‑priority content.
Do I need to know the target language? Not necessarily. You can use the preview to check layout and flow. But for quality, a native speaker is best. SeaText’s editor is simple enough for non‑translators.
What about images? SeaText translates only text. Image‑based text must be handled separately. You can use a separate tool or manually replace images.
Is there a cost for the hybrid mode? The same subscription covers both auto‑translation and the post‑editing interface. See pricing on the homepage.
This workflow works for any content type. You can also use A/B testing to find the best message for each market. SeaText supports advanced A/B tested translation.
Start your free SeaText trial and test the hybrid workflow on your WordPress site.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: Search engines need proper hreflang tags, language‑specific URLs, and a submitted multilingual sitemap. If any of these are missing, the original language version stays dominant in search results, even if you have translated content. Follow the diagnostic sequence below to identify and fix the exact cause.
When you add translated pages to your site, Google and other search engines don't automatically know they exist. They need three signals: hreflang tags that link each language version together, language‑specific URLs (e.g., /es/ or /fr/), and a multilingual sitemap that lists all language versions. Missing any one of these can keep the original language dominant.
Hreflang tags tell Google which language a page is in and which other language versions exist. Without them, Google may treat all your pages as the same language.
How to check: View the page source or use a browser extension like “Hreflang Tag Checker”. Look for <link rel="alternate" hreflang="es" href="..." /> in the <head>.
If missing: Add hreflang tags to every page. For each language pair, include a self‑referencing tag and a tag for every other language version. Use the correct language code (e.g., en for English, es for Spanish).
Search engines need a clear URL structure to distinguish language versions. Options include subdirectories (example.com/es/), subdomains (es.example.com), or language parameters (example.com?lang=es). Subdirectories are easiest for SEO.
How to check: Look at the URL of your translated page. Does it include a language indicator? If not, Google may see the same URL for both languages and keep the original.
If missing: Set up a language‑specific URL structure and redirect or rewrite existing translated content to those URLs.
Submit a multilingual sitemap that lists every language version of each page. Google uses this to discover and index all translations.
How to check: Open your sitemap file (e.g., example.com/sitemap.xml). Look for entries with <xhtml:link rel="alternate" hreflang="..." /> inside each URL entry. If you only see one URL per page, your sitemap isn't multilingual.
If missing: Generate a multilingual sitemap that includes all language versions. Submit it to Google Search Console.
Even with correct tags, Google may not have indexed your translated pages yet. Use the site: search operator or Google Search Console to see if they appear.
How to check: Search site:example.com/es/ (or your language path). If no results, Google hasn't indexed them.
If missing: Request indexing via Search Console, ensure pages are not blocked by robots.txt or noindex tags, and improve internal linking to translated pages.
Canonical tags tell search engines which version of a page is the primary one. If your translated pages have a canonical tag pointing to the original language version, Google will ignore the translation.
How to check: View the page source and look for <link rel="canonical" href="..." />. If it points to the original (English) URL, the translation is treated as a duplicate.
If missing: Make sure each language version has a self‑referencing canonical tag that points to its own URL.
Server‑side language detection can interfere. If your site uses browser language detection to serve translated content on the same URL, search engines may not see the translated version.
How to check: Visit your translated page from a browser set to a different language. Does the URL stay the same? If so, you're using dynamic serving, which requires Vary: Accept-Language header and proper hreflang.
If missing: Switch to separate URLs per language to avoid confusion.
Google evaluates several signals in order: hreflang annotations, the URL language indicator, the content language, and the user's location and language settings. If hreflang is present and correct, it overrides other signals. If hreflang is missing, Google falls back to the URL pattern and then to content analysis. A multilingual sitemap helps Google discover all versions faster, but it does not replace hreflang. The canonical tag only matters when duplicate content exists across languages; it must point to the same language version, not the original.
Each piece reinforces the others. Hreflang tells Google the relationship between pages. Language‑specific URLs give each version a unique address that can be crawled independently. The multilingual sitemap lists every URL with its hreflang alternates, so Google can crawl them in one pass. A self‑referencing canonical on each language page prevents the translation from being treated as a duplicate of the source page. When all four are aligned, Google can serve the correct language to each user without guesswork.
<!-- Full hreflang tag set for an English/Spanish page pair -->
<link rel="alternate" hreflang="en" href="https://example.com/" />
<link rel="alternate" hreflang="es" href="https://example.com/es/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" /><!-- Sample multilingual sitemap URL entry -->
<url>
<loc>https://example.com/</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/" />
<xhtml:link rel="alternate" hreflang="es" href="https://example.com/es/" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/" />
</url><!-- Self‑referencing canonical tag for the Spanish page -->
<link rel="canonical" href="https://example.com/es/" />Many sites fail because they rely on a translation plugin that injects translated text via JavaScript on the same URL. Search engines cannot execute that JavaScript reliably, so the translated content stays invisible. Another mistake is using a single sitemap for all languages without hreflang annotations; Google then treats the sitemap as a list of duplicate pages. A third error is mixing URL structures: some pages under /es/, others under ?lang=es. This confuses crawlers and splits link equity. In WordPress, plugins like WPML or Polylang can generate correct hreflang and language‑specific URLs automatically, but you must enable the “Add hreflang tags” and “Separate domains or subdirectories” options. SeaText’s Website Translation Agent (source S1) adds hreflang tags, creates language‑specific URLs, and submits a multilingual sitemap without manual configuration.
| Element | What it does | Common mistake |
|---|---|---|
| Hreflang tags | Tell Google which language version to show in each region | Missing self‑referencing tag or incorrect language codes |
| Language‑specific URLs | Give each translation a unique address | Using same URL with dynamic content |
| Multilingual sitemap | Helps Google discover all translations | Submitting only one sitemap for all languages |
| Canonical tags | Prevent duplicate content issues | Pointing all translations to the original |
Subdirectories (example.com/es/) keep all authority on one domain, are easy to manage in most CMSs, and work well with a single SSL certificate. Subdomains (es.example.com) can be hosted on separate servers and allow distinct cookie policies, but they split link equity and require separate Search Console properties. Language parameters (example.com?lang=es) are quick to implement but are often ignored by crawlers because they look like session IDs; they also make analytics segmentation harder. Choose subdirectories for most sites; use subdomains only when you need separate hosting or legal isolation. Avoid parameters for SEO‑critical content.
Dynamic serving uses the same URL and varies HTML based on the Accept-Language header. Even if you send Vary: Accept-Language and include hreflang tags, Googlebot may crawl only one language version because it sends a single header per crawl. The other versions remain unseen, so they never get indexed. The safe approach is to give each language its own URL. If you must keep dynamic serving, provide a full multilingual sitemap with every language URL and ensure each version is reachable via a distinct URL parameter that Google can crawl.
This diagnostic sequence works for sites that have separate translated pages. If you use a translation plugin that automatically serves translations on the same URL via JavaScript, search engines may never see the translated content regardless of tags. In that case, you need to serve static translated pages.
Also, Google may show translated results in search snippets even if your site is correctly configured – that's a separate feature called “translated results” and doesn't affect your original language ranking.
A language switcher helps users but not search engines. Hreflang is the only way to tell Google which page to show in each language search.
After fixing the signals, it can take a few days to weeks for Google to re‑crawl and update results. Use Search Console to monitor.
Technically yes with dynamic serving, but it's harder to manage and often leads to indexing issues. Separate URLs are recommended.
That's not recommended for SEO. Each language should have its own page.
Yes. SeaText’s Website Translation Agent adds hreflang tags and language‑specific URLs to every translated page, and submits a multilingual sitemap to search engines (source S1).
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: One‑click translation reduces turnaround from days to minutes, saving 80‑95% of manual effort. For a typical website, manual translation of 100 pages could take weeks; automatic translation finishes in minutes and keeps new content updated continuously.
One‑click translation eliminates the bulk of the time you would spend manually translating website content. Instead of waiting days or weeks for a human translator to finish each page, SeaText delivers a translated version in seconds to minutes.
Professional translators average 2,000–3,000 words per day, depending on complexity. A 100‑page site with 500 words per page contains 50,000 words. At 2,500 words per day, a single translator needs 20 days of continuous work. Adding languages multiplies the effort. A three‑language project can stretch to two or three months.
Manual projects also require file preparation, formatting, and quality‑assurance rounds. Each step adds hours or days. Even with a team, coordination overhead slows progress.
SeaText integrates with WordPress in under one minute. After activation, the AI scans every page, post, product, and headline and translates them automatically into up to 125 languages. No page caps, no language caps, and no manual translation tickets are required.
The tool detects new content or updates and translates them in the background, usually within seconds. The translation runs continuously, keeping the site synchronized with the source language.
Typical savings range from 80 % to 95 % of manual effort. For the 100‑page example, manual translation would need roughly 20 days per language. SeaText translates the same 150,000 words (three languages) in under 10 minutes. Human involvement is limited to a two‑minute setup and optional post‑edit review.
In percentage terms, the translation step itself is reduced to near‑zero waiting time. The overall calendar time drops from weeks to a single workday for setup and review.
Imagine an online store with 500 product pages, each 200 words, sold in English, Spanish, French, and German. Total source words: 100,000. Manual translation at 2,500 words per day per language requires 40 days of work per language, or 160 days total.
SeaText translates all 400,000 words (four languages) automatically after a one‑minute activation. The initial batch finishes in under 15 minutes. When a new product is added, the translation appears within seconds. When a product description is edited, only the changed text is re‑translated, saving additional time.
Result: calendar time drops from five months to less than an hour of human effort. The store can launch in new markets instantly, gaining traffic and sales faster.
Machine translation may struggle with idioms, cultural nuance, or highly creative copy. Critical marketing messages, legal notices, or brand‑tone‑sensitive pages should be reviewed by a human editor.
The output quality depends on the source text. Clear, well‑structured source copy yields better translations. Ambiguous or error‑filled source content will be mirrored in the target language.
SeaText allows post‑editing, so you can preserve brand voice where needed while still enjoying the bulk time savings.
Usually a few seconds to a minute, depending on page length and server load. The translated version is ready by the time you view the page.
Yes. The AI detects changes and re‑translates only the modified sections, keeping the rest unchanged.
For most SEO‑focused content, no. For high‑impact marketing copy, a brief human review can ensure tone and nuance.
SeaText’s WordPress translation is free to activate and incurs no per‑word fees. Manual translation typically costs $0.10–$0.30 per word, plus project management overhead.
One‑click translation, because it removes the waiting period entirely and scales instantly across languages and updates.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: A custom domain per language (ccTLD) builds stronger local trust, improves click‑through rates, gives clear geographic signals to search engines, and lets you host each language version on servers close to its audience for faster load times. This guide explains the mechanics, costs, and decision criteria so you can choose the right structure for your multilingual WordPress site.
| Criterion | Custom domain per language (ccTLD) | Subfolder (example.com/fr) | Takeaway |
|---|---|---|---|
| Local trust & brand perception | High – users see a native domain | Medium – still a foreign domain | Choose a native domain if brand confidence matters. |
| Click‑through rate in SERPs | Higher – Google often shows the ccTLD in results | Lower – subfolders get less visual cue | Use a ccTLD to boost organic CTR. |
| Geographic SEO signal | Clear – domain itself is a geo‑signal | Weaker – relies on hreflang and server location | Prefer a ccTLD for unmistakable targeting. |
| Hosting & performance | Can place each domain on a local CDN/server | Single host, may serve distant users slower | Separate domains help serve content faster. |
| Management complexity | Higher – multiple DNS zones, SSL certs, analytics properties | Lower – one site, one SSL, one analytics view | Plan for DNS, SSL, CDN, redirect, and monitoring tasks per domain. |
| Cost (registration, SSL, CDN, monitoring) | Registrar fee per ccTLD ($10‑$30/yr), SSL (free Let’s Encrypt or paid), CDN edge nodes, monthly monitoring | One domain, one SSL, one CDN config | Budget for each market; see checklist below. |
Conditional recommendation: If you are targeting one or two high‑value countries and have budget for separate DNS, SSL, and hosting, choose a ccTLD. For many languages or limited resources, subfolders with correct hreflang are more practical. Your exact choice depends on market value, management capacity, and hosting strategy.
A custom domain per language means registering a separate web address that ends with the country code of the target market (e.g., example.es for Spain, example.de for Germany). Each domain points to a fully translated and culturally adapted version of the site. The domain itself tells users and search engines that the content is intended for that country, without relying on additional signals.
When you register example.fr, you create a new DNS zone. You then add an A or CNAME record that points to the server or CDN edge that will serve the French version. The same WordPress installation can serve all domains, or you can run separate installs per domain. SeaText’s Website Translation Agent works with either approach: it detects the domain, serves the correct language, and automatically injects hreflang link tags across all domains.
Search engines treat a ccTLD as a strong geographic indicator. When Google crawls example.jp, it assumes the page targets Japanese users and may rank it higher in Japan‑specific searches. Subfolders rely on hreflang tags, the Content-Language header, and server location, which are useful but less decisive. To make subfolders work you must:
<link rel="alternate" hreflang="fr" href="https://example.com/fr/" /> on every page.With a ccTLD you still need hreflang tags, but the domain itself already sends a clear geo signal, reducing the risk of mis‑targeting. You also set the geographic target in Search Console for each property (one property per ccTLD).
People tend to trust a domain that matches their language and country. A French visitor sees example.fr in the address bar and in search results, which feels familiar and safe. Studies show that native‑domain results enjoy a 5‑15 % higher organic CTR compared with subfolder equivalents. Higher CTR leads to more traffic and, because the content is in the visitor’s language, lower bounce rates and better conversion.
To capture this benefit you must ensure the domain appears in SERPs. Submit each ccTLD as a separate property in Google Search Console, verify ownership (DNS TXT record), and submit an XML sitemap that lists only URLs belonging to that domain. This tells Google to index the French pages under example.fr and show the ccTLD in French search results.
When each language lives on its own domain, you can place the server or CDN edge close to the audience. Faster page loads improve user experience and are a ranking factor in Google’s Core Web Vitals. Practical steps:
If you use a single WordPress install behind a CDN, the CDN can route requests based on the Host header, serving the same cached HTML but with language‑specific content generated by SeaText.
Below is a concise checklist you can hand to a dev‑ops engineer.
WP_HOME and WP_SITEURL dynamically based on $_SERVER['HTTP_HOST'] or use a multisite network with domain mapping.<link rel="alternate" hreflang="x" href="https://{domain}/{lang}/..." /> plus hreflang="x-default" pointing to the primary domain.https://example.fr/contact)./fr/... to https://example.fr/... at the web server or CDN level.Budget items per ccTLD (prices are indicative, 2024‑2025):
| Item | Typical cost | Frequency | Notes |
|---|---|---|---|
| Domain registration | $10‑$30 | Yearly | Some ccTLDs require local presence (e.g., .fr, .de). |
| SSL certificate | $0 (Let’s Encrypt) – $100 (EV) | Yearly / auto‑renew | Free certs are fine for most sites. |
| CDN edge / hosting | $5‑$50/mo per region | Monthly | Pay‑as‑you‑go CDN (Cloudflare Workers, Fastly) scales with traffic. |
| Monitoring & uptime | $0‑$20/mo | Monthly | Use UptimeRobot, Pingdom, or Cloudflare Health Checks. |
| Dev‑ops time | 2‑4 h initial setup + 30 min/mo maintenance | One‑time + ongoing | DNS changes, cert renewal checks, log review. |
Subfolders need only one domain registration, one SSL, one CDN config, and one analytics property. The ongoing effort is roughly 30 min/mo total.
Use the checklist above to score each market (1‑5). Markets scoring ≥ 12 out of 20 are good ccTLD candidates.
hreflang set and a self‑referencing canonical on every page. Missing tags cause Google to treat the versions as duplicates.curl -I to confirm a single 301.example.com will error on example.fr. Provision per‑domain certs or a multi‑domain SAN cert.SeaText’s Website Translation Agent (source S1) automatically translates every WordPress page, post, product, and headline into up to 125 languages. It also adds hreflang tags and creates SEO‑friendly URLs that mirror the source slug on each domain (e.g., example.fr/contact mirrors example.com/contact). By pairing SeaText with a custom domain per language you get:
hreflang and canonical tags (S1).SeaText also integrates with your CDN: the translated HTML is cached at the edge, so visitors in each country receive a fast, locally‑hosted page.
fr.example.com) give a middle ground: they inherit the main domain’s authority but still provide a clear language cue. They still need separate hreflang and Search Console properties.example.fr/contact mirrors example.com/contact but with native language content.hreflang tags and canonical links, Google treats each domain as a separate regional version.hreflang sets, and submit new sitemaps. Monitor indexing for 4‑6 weeks.These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: Maintaining separate custom domains for each language typically involves domain registration ($10–50 per domain per year), multi-domain SSL certificates ($50–200 annually), separate hosting or CDN configurations, and ongoing developer time for updates and synchronization. For 5–10 languages, this can total $500–$3,000+ per year. SeaText's Website Translation Agent eliminates the need for multiple domains by translating a single WordPress site into 125 languages automatically, with no page or language limits.
Running a unique custom domain for every target language adds recurring costs that scale with each new market. You pay for each domain registration, each SSL certificate (or a multi-domain certificate), separate hosting or CDN endpoints, and the developer hours needed to keep content, SEO tags, and technical configuration in sync across every property. For a 10-language setup, registration ($100–$500), multi-domain SSL ($50–$200), hosting/CDN ($500–$2,000), and developer maintenance ($500–$2,000) — total roughly $1,150–$4,700 per year before you factor in the opportunity cost of delayed launches or inconsistent updates.
SeaText takes a different approach: one WordPress installation, one domain, and automatic translation into 125 languages. The Website Translation Agent detects each visitor's language, translates pages instantly, and keeps new posts, products, and updates translated in the background — no page limits, no language limits, and no manual translation tickets. This removes the domain‑level infrastructure entirely and replaces it with a single integration that activates in under a minute.
Every additional domain introduces four recurring cost categories: registration, encryption, hosting/CDN, and labor. Registration fees vary by TLD (.com, .de, .fr, .jp, etc.) and registrar, typically $10–$50 per year per domain. SSL costs depend on whether you buy individual certificates or a multi‑domain (SAN) certificate; the latter runs $50–$200 per year for 5–10 hostnames. Hosting or CDN costs rise because each domain often needs its own edge configuration, cache rules, and sometimes separate server blocks. Labor is the hidden multiplier — every content change, SEO tweak, or plugin update must be replicated across all domains, consuming developer or agency time.
Country‑code TLDs (ccTLDs) such as .de, .fr, .es, .it, .jp, .cn often cost more than generic TLDs and may require local presence or administrative contacts. Renewal prices can increase after the first year. Bulk discounts exist but rarely eliminate the per‑domain line item. If you operate in 10 markets, you manage 10 renewal cycles, 10 payment methods, and 10 expiration reminders.
A single‑domain certificate covers one hostname. A wildcard covers subdomains of one root. A multi‑domain (SAN) certificate covers up to 100 distinct hostnames but costs more and requires re‑issuance when you add a new language domain. Let's Encrypt offers free certificates but demands automation (ACME) on each server, adding operational complexity. Mixed certificate strategies (paid for primary, free for others) create inconsistent renewal workflows.
Each custom domain typically maps to a separate site container in your hosting panel or a distinct property in your CDN dashboard. That means separate cache purges, separate WAF rules, separate analytics properties, and separate build/deploy pipelines if you use static site generation. Managed WordPress hosts often charge per site; a 10‑site plan can cost 5–10× a single‑site plan. CDN providers may count each hostname as a separate zone for billing.
Content synchronization is the largest ongoing expense. A new product page, a seasonal banner, a legal disclaimer update — each must be copied, translated, and published on every domain. Without a centralized translation layer, teams rely on spreadsheets, manual exports, or custom scripts that break when plugins update. SEO tags (hreflang, canonical, sitemaps) must be kept consistent across all domains, or search engines will index the wrong language for the wrong market. This overhead grows non‑linearly: adding the 6th domain is more painful than adding the 2nd.
SeaText's Website Translation Agent runs on your existing WordPress site. It detects the visitor's language, translates every page, post, product, and headline automatically, and serves the translated version from the same URL structure (subdirectory or subdomain). New content is translated in the background without tickets or delays. You retain control: edit translations, preserve brand voice, review key pages, and run A/B‑tested translation variants when you want to optimize for conversions. The result is one domain, one SSL, one hosting bill, one deployment pipeline, and one content source of truth — while still reaching visitors in 125 languages.
| Capability | Detail | Source |
|---|---|---|
| Languages supported | 125 languages with automatic detection and translation | S1 |
| Content scope | Every WordPress page, post, product, and update — no page limits, no language limits | S1 |
| Control features | Edit translations, preserve brand voice, review key pages, advanced A/B tested translation | S1 |
| SEO benefit | Free automatic multilingual SEO for every translated page | S1 |
| Activation time | Under 1 minute on WordPress | S1 |
| Reported impact | Up to +60% more international customers | S4, S6 |
| Customer base | Trusted by 2,500+ brands, ecommerce teams, and growth agencies | S4, S6 |
The multi‑domain approach makes sense only when you need completely separate legal entities, distinct branding per country, or regulatory requirements that mandate local domains (e.g., data residency laws). Even then, you can often meet those requirements with a single domain using subdirectories and geo‑targeting in Search Console. The cost and complexity of 5–10 independent WordPress installs, databases, plugin sets, and update cycles rarely justify the marginal SEO benefit of a ccTLD over a well‑structured subdirectory.
Your budget depends on four key decisions. Each decision changes the total cost. Use the worked examples below to calculate your own estimate.
Country‑code TLDs cost more and require separate domains. Subdirectories use one domain and one registration fee. If you choose ccTLDs, multiply registration by the number of languages. For 10 languages, that's $100–$500 annually. Subdirectories add zero domain cost.
A multi‑domain SAN certificate costs $50–$200 per year for 5–10 hostnames. Free Let's Encrypt certificates work but require automated renewal scripts on each server. If you use free certs, you save $50–$200 but add operational complexity. For 10 domains, you need 10 separate Let's Encrypt setups or one SAN.
Managed WordPress hosts (like WP Engine, Kinsta) charge per site. A 10‑site plan might cost $500–$2,000 per year. Dedicated hosting (VPS or cloud) may be cheaper per site but requires more technical management. For 10 domains, managed hosting is simpler but costs more.
In‑house developer time for content sync, updates, and SEO can range from $500–$2,000 per year for 10 domains (assuming a few hours per month). Agencies charge more, often $2,000–$5,000 per year. The less technical you are, the more you need to budget for agency support.
5 domains (small setup): Registration $50–$250, SSL $50–$150 (SAN), hosting $300–$1,000, developer $250–$1,000. Total $650–$2,400 per year.
10 domains (medium setup): Registration $100–$500, SSL $50–$200, hosting $500–$2,000, developer $500–$2,000. Total $1,150–$4,700 per year.
20 domains (large setup): Registration $200–$1,000, SSL $100–$300 (larger SAN), hosting $1,000–$4,000, developer $1,000–$4,000. Total $2,300–$9,300 per year.
These ranges assume you pick mid‑range options. If you use free SSL and cheap hosting, costs drop. If you use premium managed hosting and an agency, costs rise.
Beyond the obvious line items, several hidden costs can inflate your multi‑domain budget.
Many registrars offer low first‑year rates and then raise prices significantly. A .com domain might cost $12 first year and $20–$25 thereafter. Premium ccTLDs like .de or .jp may have even sharper increases. Budget for renewal hikes, and check your registrar's renewal policy before buying.
Each domain needs its own DNS zone and records. Managing 10 zones means tracking 10 sets of A, CNAME, MX, and TXT records. Errors here cause downtime. SSL renewal for each domain (or SAN re‑issuance) adds administrative overhead. If you use separate certificates, you must update each one before expiry.
Each WordPress install needs core, theme, and plugin updates. With 10 domains, you have 10 separate update cycles. A missed update on one site can lead to a security breach. Automated update tools help, but they can break compatibility. Security monitoring and backups multiply by the number of domains.
If the same content appears on multiple domains, search engines may see it as duplicate. Even with hreflang tags, you risk splitting rankings. A single domain with subdirectories avoids this entirely. Duplicate content detection and cleanup add time.
The time spent managing domains, SSL, hosting, and updates is time not spent on growth. Each hour you spend on maintenance is an hour you cannot use for marketing, product development, or sales. The opportunity cost of a complex multi‑domain setup can exceed the direct costs by a factor of two or three.
No. Google treats subdirectories (example.com/de/) and subdomains (de.example.com) equally for international SEO when hreflang is implemented correctly. A single domain with proper hreflang signals consolidates authority and avoids splitting link equity across multiple properties.
Registration ($100–$500), multi‑domain SSL ($50–$200), hosting/CDN ($500–$2,000), and developer maintenance ($500–$2,000) — total roughly $1,150–$4,700 per year. SeaText replaces the hosting/CDN and developer layers with a single integration.
Yes. You can point additional domains to the same WordPress install and let SeaText serve the appropriate language, but the cost advantage comes from consolidating to one primary domain and redirecting or retiring the others.
The Translation Agent automatically generates hreflang tags and multilingual sitemaps for every translated page, so search engines index each language version correctly without manual configuration.
SeaText provides an editing interface where you can override any automatic translation, lock brand terms, and approve key pages before they go live. Changes apply instantly across the site.
No. The Website Translation Agent supports all 125 languages with no page caps and no language caps, as stated in the WordPress activation page.
New WordPress pages, posts, products, and headlines are detected and translated automatically in the background — typically within minutes of publish.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: Add bidirectional hreflang tags in the <head> of every page on each domain, pointing to all language versions and an x-default. Follow a step‑by‑step guide, see code examples, understand common pitfalls, and verify the setup with Google tools.
When you serve the same content in different languages on separate domains, Google needs clear signals to serve the right version to the right user. Hreflang tags provide those signals.
| Approach | Effort | Error risk | Maintenance | Cost |
|---|---|---|---|---|
| Manual | High – edit every page | High – missing or mismatched tags | High – update each change | Low – no tool fees |
| Automated | Low – tool generates tags | Low – consistent output | Low – updates automatically | Medium – subscription or SaaS fee |
| Hybrid | Medium – core tags auto, custom tweaks manual | Medium – human oversight needed | Medium – occasional manual review | Medium – tool plus staff time |
Choose the approach that matches your team size, budget, and tolerance for errors.
Manual implementation gives full control. You write each <link rel="alternate"> tag yourself. This works for small sites but scales poorly.
Automated tools (e.g., SeaText) generate the full set of tags whenever a page is created or updated. They keep the tag set in sync across domains, reducing human error.
Hybrid approaches let you rely on automation for the bulk of pages while manually adding exceptions for special cases such as landing pages that require custom canonical tags.
Below are complete <head> snippets for three domains: example.com (English), example.fr (French), and example.de (German). Replace https://example.com/page with your actual URLs.
<!-- example.com – English version -->
<head>
<title>My Product – English</title>
<link rel="canonical" href="https://example.com/page" />
<link rel="alternate" hreflang="en" href="https://example.com/page" />
<link rel="alternate" hreflang="fr" href="https://example.fr/page" />
<link rel="alternate" hreflang="de" href="https://example.de/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page" />
</head>
<!-- example.fr – French version -->
<head>
<title>Mon Produit – Français</title>
<link rel="canonical" href="https://example.fr/page" />
<link rel="alternate" hreflang="en" href="https://example.com/page" />
<link rel="alternate" hreflang="fr" href="https://example.fr/page" />
<link rel="alternate" hreflang="de" href="https://example.de/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page" />
</head>
<!-- example.de – German version -->
<head>
<title>Mein Produkt – Deutsch</title>
<link rel="canonical" href="https://example.de/page" />
<link rel="alternate" hreflang="en" href="https://example.com/page" />
<link rel="alternate" hreflang="fr" href="https://example.fr/page" />
<link rel="alternate" hreflang="de" href="https://example.de/page" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page" />
</head>
Every page must contain the full set, even if the page exists only on one domain.
rel="canonical" tag matches the href in the hreflang set.Automated tools usually prevent these mistakes, but manual edits can re‑introduce them.
<link rel="alternate"> block contains every language plus x-default.Document each step in a shared spreadsheet so the team can repeat the process for new pages.
SeaText offers automatic hreflang generation for WordPress sites. Once activated, it injects the full tag set into every page’s <head> and keeps the tags synchronized across domains. The tool also creates translations in up to 125 languages. For teams that prefer a hands‑off approach, SeaText reduces manual effort and error risk.
To use SeaText, install the plugin, map each custom domain to its language, and enable the automatic hreflang feature. The platform then handles updates whenever a page is edited.
<head>. Also include the rel="canonical" pointing to the non‑AMP version.These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: Yes, you can redirect visitors to their language‑specific domain, but use a JavaScript‑based redirect with a fallback language selector instead of server‑side 302s. SeaText’s built‑in language detection widget makes this easy while keeping all versions crawlable.
Yes, you can automatically send users to a language‑specific domain (e.g., example.fr, example.de). The safest way is to run the redirect in the browser with JavaScript and keep a manual language selector as a fallback. This avoids SEO problems that arise from server‑side 302 redirects, which can block Googlebot from indexing every language version.
| Feature | SeaText capability | Why it matters |
|---|---|---|
| Visitor language detection | Detects each visitor’s language instantly | Enables accurate, real‑time redirects |
| Automatic translation | Translates every page, post, product without limits | Provides ready‑to‑view content on the target domain |
| Control & editing | Allows manual edits to preserve brand voice | Prevents unwanted or inaccurate machine output |
| Redirect method | Client‑side JavaScript with fallback selector | Keeps all language versions crawlable by search engines |
| Language coverage | Supports 125 languages | Covers virtually every market you target |
In SEO terms, an "automatic redirect" is a rule that sends a visitor to a different URL without any click. When the rule runs on the server (HTTP 302), search engines treat the target as the canonical page, which can hide other language versions from indexing.
A server‑side 302 tells the browser: "Go to this other URL now." Googlebot follows that instruction and may index only the target URL. The original language version drops out of the index. That defeats the purpose of having multiple language sites.
A client‑side redirect works differently. The browser loads the original page first. Then a small script reads the visitor’s language preference and changes the URL. Googlebot sees the original page, indexes it, and may also execute the script. But even if it doesn’t, the original URL stays in the index.
SeaText adds a small script to your site that reads the browser’s Accept‑Language header and matches it to the domains you’ve configured (e.g., example.fr for French). The script then performs a client‑side window.location.href change if the visitor’s preferred language differs from the current domain.
The detection runs in milliseconds. It does not rely on Geo‑IP databases, which can be inaccurate or slow. Instead it uses the browser’s own language list, which the user controls in browser settings. This is more reliable and privacy‑friendly.
You can see a simplified version of the logic below. This is not the exact SeaText code — it illustrates the principle.
// Simplified example of client‑side language redirect
(function() {
const langMap = { 'fr': 'https://example.fr', 'de': 'https://example.de', 'es': 'https://example.es' };
const userLangs = navigator.languages || [navigator.language];
for (const lang of userLangs) {
const short = lang.split('-')[0];
if (langMap[short] && !window.location.href.startsWith(langMap[short])) {
window.location.href = langMap[short];
break;
}
}
})();
SeaText’s production script adds safeguards: it respects a data-seatext-no-redirect attribute on the html tag, it avoids redirect loops, and it integrates with the manual language selector widget.
Common misconfigurations to avoid:
JavaScript redirects rely on the visitor’s browser executing the script. If a user disables JavaScript, they will stay on the original domain and must use the manual selector. Also, search engines that do not run JavaScript may not follow the redirect, which is why the fallback selector is essential.
Caching implications: If you use a page cache (WP Rocket, W3 Total Cache, or a CDN like Cloudflare), the cached HTML must include the SeaText script. That’s automatic because SeaText injects the script via a WordPress filter that runs before caching. However, if you cache at the edge with a rule that strips scripts, the redirect won’t fire. Ensure your cache settings allow inline scripts in the head.
CDN interaction: Some CDNs offer edge‑side redirects based on Geo‑IP. Do not enable those for language routing. They conflict with the browser‑language approach and can send users to the wrong domain (e.g., a French speaker in Germany gets the German site). Keep language routing in the browser.
Core Web Vitals impact: The SeaText script is under 2 KB gzipped and loads asynchronously. It does not block rendering. The redirect happens after DOMContentLoaded, so LCP (Largest Contentful Paint) is unaffected. However, if you add a consent banner that delays the redirect, measure CLS (Cumulative Layout Shift) — a sudden page jump can hurt scores. SeaText’s default implementation avoids layout shifts by redirecting before any visible content renders.
Even with automatic redirects, you must implement hreflang tags on every page. These tags tell search engines which language version corresponds to which URL. SeaText can generate them automatically for each translated page. Add the tags in the head of each language version:
<link rel="alternate" hreflang="fr" href="https://example.fr/page" /
>
<link rel="alternate" hreflang="de" href="https://example.de/page" /
>
<link rel="alternate" hreflang="x-default" href="https://example.com/page" /
>
Without hreflang, Google may treat the redirected pages as duplicates or show the wrong version in search results. The redirect helps users; hreflang helps search engines.
You can structure language versions in three ways:
SeaText works with all three. The language‑to‑domain map in the dashboard accepts any valid URL prefix. Choose based on your SEO strategy, budget, and technical capacity. For most small‑to‑medium businesses, subdirectories are the lowest friction. For brands investing heavily in local markets, ccTLDs pay off.
SeaText uses the browser’s Accept‑Language header, not Geo‑IP. That header is sent by the browser voluntarily and is not considered personal data under GDPR. No consent banner is required for the detection itself.
If you add a Geo‑IP based redirect (not recommended), you would process the visitor’s IP address, which is personal data. You would need a lawful basis (consent or legitimate interest) and a consent banner. Stick with browser‑language detection to avoid this complexity.
After setup, verify the redirect works correctly:
navigator.languages in the console or use the "Network conditions" tab to spoof Accept‑Language.window.location after the page loads.seatext_lang when a user manually selects a language. The script respects that cookie and skips auto‑redirect on subsequent visits.These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: To run a multi-domain multilingual WordPress setup, you need wildcard or multi-domain SSL certificates, DNS A/ALIAS records for each domain, WordPress configured to serve different languages on different domains, and proper cookie domain settings. This article gives a step‑by‑step technical checklist and explains why each part matters.
| Criteria | Multisite | SeaText Plugin |
|---|---|---|
| Site isolation | Full isolation per site | Shared database, less isolation |
| Setup complexity | High – network configuration | Low – one‑click activation |
| Plugin compatibility | May conflict across sites | Uniform across single install |
| Performance impact | Higher memory per site | Single instance, lower load |
| Scalability | Easy to add new sites | Limited by single DB size |
| Recommendation | If you need full site isolation, choose Multisite; otherwise, use SeaText for simplicity. | |
Multi‑domain multilingual means each language lives on its own domain, like example.fr for French and example.de for German. The technical setup requires four things: SSL certificates covering all domains, DNS records pointing each domain to your server, WordPress configured to serve different languages on different domains, and proper cookie domain settings so logins and carts work across the network.
Search engines treat each top‑level domain as a separate property. This gives you full control over hreflang tags, geo‑targeting, and local backlinks.
Users see a familiar country‑code domain. Trust and click‑through rates improve when the URL matches the visitor’s language.
Separate domains also let you host language‑specific content on local servers, reducing latency for regional users.
Before you start, make sure you have:
You have two main technical paths: WordPress Multisite with domain mapping, or a single‑site with a translation plugin that supports domain‑per‑language.
WordPress Multisite lets you run multiple sites from one installation. Each site can have its own domain. You’ll need to enable multisite via wp-config.php and the .htaccess file, then use a domain‑mapping plugin or the built‑in mapping in WordPress 4.5+.
This gives full separation—each language site is independent, with its own users, themes, and plugins. The trade‑off is more complex management and potential plugin conflicts.
SeaText supports domain‑per‑language on a single WordPress install without needing multisite. Activate the plugin, add each domain in the SeaText settings, and the plugin serves the correct translation automatically.
SeaText translates pages into 125 languages for free (source S1). It also updates new content automatically, so you never need manual translation tickets.
Performance: Multisite creates a separate database table set per site, increasing memory usage. SeaText runs on a single set of tables, keeping the footprint smaller.
Maintenance: Multisite requires network‑wide updates and careful plugin compatibility checks. SeaText needs only one WordPress core update.
Plugin compatibility: Some plugins do not work well in a multisite environment because they expect a single site context. SeaText works with any plugin that follows standard WordPress APIs.
Isolation: Multisite isolates content, users, and settings per language. SeaText shares the same user base, which can be a benefit for unified login but a limitation for strict data separation.
For each language domain, add an A record pointing to your server’s IP address, or a CNAME/ALIAS if you use a CDN.
Example using dig to verify:
dig +short example.fr A
If you use Let’s Encrypt, run the following on a Linux server with Certbot:
sudo certbot --apache -d example.com -d example.fr -d example.de
This creates a multi‑domain (SAN) certificate covering all listed domains.
For wildcard subdomains (fr.example.com), a wildcard SSL *.example.com is sufficient.
Scenario 1 – Three top‑level domains
example.com → 203.0.113.10.example.fr → same IP.example.de → same IP.Scenario 2 – Subdomains with a wildcard SSL
fr.example.com → example.com.de.example.com → example.com.*.example.com.Both scenarios work with Multisite or SeaText; the choice depends on whether you need separate top‑level domains.
For Multisite, after enabling the network, create a new site for each language and assign its domain via the domain‑mapping plugin.
For SeaText, go to SeaText → Settings → Multi‑Domain, add each domain with its language code, and save.
SeaText detects the visitor’s domain and serves the correct translation automatically.
If you use WordPress logins, sessions, or carts, you must set the cookie domain.
For subdomains, add in wp-config.php:
define('COOKIE_DOMAIN', '.example.com');
This shares cookies across fr.example.com and de.example.com.
For separate top‑level domains, cookies cannot be shared. Users will need to log in on each domain. Consider a single‑sign‑on (SSO) solution if you need unified authentication.
Cookie sharing across TLDs is impossible due to browser security policies.
Cache plugins often store pages per URL. Ensure the cache key includes the host name, otherwise a French page might be served to a German visitor.
When using a CDN, configure separate origins or edge rules per domain to avoid cross‑domain content leakage.
Open each domain in a private browser window.
Check that the correct language appears, that internal links stay on the same domain, and that SSL shows a green lock.
Use curl -I https://example.fr to confirm the certificate covers the domain.
Submit each domain to Google Search Console as a separate property. Verify ownership via DNS TXT record.
| Feature | Fact |
|---|---|
| Translation languages | 125 languages – free (source S1) |
| Setup time | Activate in under 1 minute |
| Page limits | None |
| Language limits | None |
| Automatic updates | New content translated automatically |
| Control | Edit translations, preserve brand voice |
| Multi‑domain support | Yes – one‑click configuration in plugin settings |
This setup assumes you own the target domains and can manage DNS.
It does not apply if you only want subdirectories (example.com/fr/) or subdomains (fr.example.com) without separate SSL domains.
If your host limits the number of domains per account, you may need a higher‑tier plan.
Cookie sharing across different top‑level domains is not possible; users will need separate logins.
Ensure all assets (images, scripts, CSS) load over HTTPS. Update hard‑coded URLs in the theme or use a plugin that forces HTTPS.
Check the cache key includes the host name. Purge the cache and verify the SeaText domain mapping.
Yes. Create separate CDN origins for each domain or enable host‑based caching rules.
Use an SEO plugin that supports per‑site settings in Multisite, or configure SeaText’s hreflang output in its settings page.
For subdomains, a wildcard SSL covers them all. For separate top‑level domains, you need a multi‑domain (SAN) certificate or individual Let’s Encrypt certificates.
Yes, but cookie domains must be handled carefully. Separate TLDs require separate logins unless you add an SSO layer.
SeaText detects the visitor’s domain and serves the correct translation automatically. You configure the domains once in the plugin settings.
You can still install SeaText on each site, or use a multisite‑compatible translation plugin. SeaText works on individual sites within a network.
Domain registration costs vary. SSL certificates can be free via Let’s Encrypt. SeaText’s translation is free for 125 languages. The main cost is hosting resources if you need more CPU or RAM.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: Use a multi‑domain (SAN) or wildcard certificate, or enable your host’s auto‑SSL, to secure example.fr, example.de, example.es, and other language‑specific domains without manual renewals.
To secure several country‑code domains (example.fr, example.de, example.es, etc.) you can either use a single multi‑domain (SAN) certificate, a wildcard certificate that covers subdomains, or rely on your hosting provider’s automatic SSL service. All three options let you avoid renewing each certificate individually.
An SSL/TLS certificate encrypts traffic between a visitor’s browser and your server. Without it, data travels in plain text and browsers show a “Not Secure” warning, which hurts trust, conversion rates, and SEO rankings across every language version of your site.
Trade‑offs: Wildcards are simplest for many subdomains but fail for distinct ccTLDs. SAN certificates give full control over the exact domain list but require re‑issuance when you add or remove a domain. Auto‑SSL is the least hands‑on, yet you depend on the host’s feature set and rate limits (e.g., Let’s Encrypt allows 100 SAN entries per certificate).
If all language sites live on subdomains (fr.example.com, de.example.com) a wildcard works. For separate ccTLDs you need a SAN certificate or a host that provisions multi‑domain auto‑SSL. Evaluate the number of domains, validation method (DNS vs HTTP), and whether you need extended validation (EV) – only commercial CAs offer EV.
A or CNAME records for each domain.certbot certonly --webroot -w /var/www/html -d example.com -d example.fr -d example.de -d example.esCertbot will perform HTTP‑01 challenges for each domain.
SSLCertificateFile and SSLCertificateKeyFile. For Nginx set ssl_certificate and ssl_certificate_key.openssl s_client -connect example.fr:443 -servername example.fr and verify the certificate chain lists all SAN entries.Let’s Encrypt certificates expire every 90 days. Certbot installs a systemd timer or cron job that runs certbot renew --quiet twice daily. For commercial CAs, enable their renewal reminders and script the re‑install using their API. Monitor renewal logs and set up alerts (e.g., via Prometheus or a simple email) so you catch failures before a certificate expires.
SeaText partners with hosting providers that offer automatic multi‑domain SSL provisioning, so when you activate SeaText on WordPress the host can issue and renew SAN certificates for every language domain without extra steps [S1]. This integration means you can launch new ccTLDs, add them to SeaText’s translation pipeline, and have HTTPS ready instantly.
dig +short example.fr)./.well-known/acme-challenge/ for HTTP‑01 validation.openssl x509 -in cert.pem -text -noout | grep DNS).openssl rsa -in key.pem -pubout | openssl x509 -in cert.pem -pubkey | diff -).Leaving a domain out of the SAN list. If you add a new language domain later but forget to include it in the certificate, visitors will see a security warning until you re‑issue the cert. Always keep a master list and re‑run Certbot (or your host’s auto‑SSL) whenever you add or drop a domain.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: WPML (with domain‑per‑language add‑on), Polylang Pro, TranslatePress (premium) and SeaText can handle custom domains per language on a single WordPress install. Use the decision criteria below to pick the right tool for your site.
WPML (with the domain‑per‑language add‑on), Polylang Pro, TranslatePress (premium) and SeaText can handle custom domains per language on a single WordPress install.
| Plugin | Native domain‑per‑language support | Setup effort | Pricing model | Control & customization | Support |
|---|---|---|---|---|---|
| WPML | Built‑in (requires domain add‑on) | Medium – install add‑on and configure sunrise.php | Annual license | High – hooks, filters, WPML API | Dedicated support forum |
| Polylang Pro | Supported for sub‑domains and separate domains | Medium – map domains in settings | One‑time or yearly fee | Medium – limited hooks | Community + premium tickets |
| TranslatePress (Premium) | Supported via “Multiple Domains” add‑on | Low – enable add‑on and point DNS | Yearly subscription | High – visual editor, custom URL rules | Email support |
| SeaText | Not advertised; official docs do not mention domain‑per‑language mapping | Low – one‑click activation | Free tier + paid plans | High – AI control, edit translations, hreflang auto‑generation | Live chat & docs |
Conditional recommendation: If you need full control and are comfortable editing code, choose WPML; for a simpler setup with sub‑domains, pick Polylang Pro; for a visual editor and low effort, go with TranslatePress Premium; if you prefer AI‑driven translation and want an all‑in‑one solution, consider SeaText (once domain support is confirmed).
Each language version lives on its own top‑level domain, such as example.com (English), example.fr (French) and example.de (German). The site shares a single WordPress codebase, but the web server routes requests based on the domain name.
Search engines treat each domain as a separate geographic signal, which can improve local relevance and trust.
Separate domains let you use country‑code top‑level domains (ccTLDs). Users often trust a .fr address more for French content. Google also uses the domain as a strong geo‑targeting cue.
Benefits include clearer hreflang signals, better local backlink profiles, and the ability to host language‑specific legal pages (privacy policies, terms).
sunrise.php, DNS changes.1. Purchase the “Domain per language” add‑on.
2. Upload sunrise.php to the wp-content folder.
3. In WPML → Languages, assign each domain to a language.
4. Update DNS to point each domain to the same server IP.
WPML then rewrites URLs early in the load process, ensuring the correct language files load.
1. Enable “Domain mapping” in Polylang settings.
2. Add each domain under Languages → Settings.
3. Map the domain to the corresponding language.
4. Ensure the web server’s virtual host points all domains to the same WordPress root.
Polylang automatically generates hreflang tags for each domain.
1. Install the “Multiple Domains” add‑on.
2. In TranslatePress → Settings, add each domain and select the target language.
3. Point DNS records to the WordPress site.
4. The plugin injects the correct hreflang tags and redirects visitors based on the domain.
SeaText automatically detects visitor language and translates content on the fly. The official WordPress page describes instant translation, language detection and AI control, but it does not mention any native ability to map separate domains to languages. As of the latest documentation (see source S1), SeaText focuses on in‑page translation rather than domain‑level routing. Therefore, custom domain mapping would require additional server‑side configuration outside of SeaText’s built‑in features.
Regardless of the plugin, follow these common steps:
hreflang tags appear correctly in the page source.Correct implementation improves organic visibility in each target market. Google can index each domain separately, allowing you to rank for country‑specific queries. Improper hreflang or canonical tags can cause duplicate‑content penalties.
If you run a WordPress multisite network, some plugins (WPML, Polylang) need extra configuration and may conflict with caching layers like Varnish. SeaText’s free tier limits translation to 125 languages but does not guarantee separate domain handling, so you would need a custom solution for that use case.
SSL certificates must be installed for each domain. Without HTTPS, browsers will block mixed‑content resources and SEO rankings will suffer.
.ca domain for Canadian French customers. WPML’s domain add‑on lets the store keep a single product catalog while serving localized URLs.| Feature | Detail |
|---|---|
| Automatic language detection | SeaText detects each visitor's language and translates WordPress pages instantly. |
| Language coverage | Translate pages into 125 languages with control. |
| Domain support | Official docs do not list custom domain‑per‑language mapping as a feature (see source S1). |
| Limits | No page caps, no language caps, but separate domain routing must be handled outside SeaText. |
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: The biggest pitfalls are missing or wrong hreflang tags, self‑referencing canonicals, hard‑coded links to the primary domain, no x‑default, and inconsistent language switchers. Fix them with a systematic audit before launch.
When you launch a separate domain for each language, the most frequent errors are technical rather than content‑related. Missing or incorrect hreflang annotations, canonicals that point to the wrong domain, and internal links that stay hard‑coded to the primary site all confuse search engines and dilute ranking signals.
Other common oversights include forgetting an x-default tag, using a robots.txt that blocks crawlers on one domain, and offering language switchers that don’t stay consistent across the network. These mistakes can cause duplicate‑content penalties, lower visibility, and a fragmented user experience.
| Feature | SeaText Capability | Benefit |
|---|---|---|
| Languages supported | 125 | Cover most markets without extra plugins |
| Automatic multilingual SEO | Free automatic hreflang generation | Eliminates missing or wrong hreflang tags |
| Content updates | Instant translation of new pages | Keeps canonicals and internal links in sync |
Before you go live, look for these warning signs:
example.com instead of example.fr or example.de./ on any of the language domains.These symptoms show up in different ways. For example, a missing hreflang tag often appears as a warning in Google Search Console under “International Targeting”. A self‑referencing canonical that points to the wrong domain can cause the wrong language version to rank. Hard‑coded internal links make it impossible for crawlers to navigate all domains properly. An inconsistent language switcher frustrates users and increases bounce rates.
Check the issues in this logical sequence:
Why this order? DNS and SSL issues break everything else. If the domain doesn’t resolve or SSL is missing, crawlers can’t even access the site. After that, a crawl gives you a complete picture of tags and links. Manual inspection of a few pages catches obvious mistakes. Then test the switcher across devices — mobile often has different behavior. Finally, check robots.txt because a single disallow for all bots can block indexing entirely.
Missing hreflang usually happens when tags are added manually and the developer forgets to duplicate them on every domain. Wrong canonicals occur when the CMS defaults to the primary domain’s URL structure. Hard‑coded links are a relic of a single‑domain setup that wasn’t refactored for a multi‑domain environment.
Let’s go deeper. A missing hreflang tag means search engines cannot confidently map a page to a specific language and region. They might treat all versions as duplicates, leading to keyword cannibalization. Wrong canonicals — for example, example.fr/page canonical points to example.com/page — tell Google that the French version is not the original, so it may not rank. Hard‑coded links force users to stay on the default domain, breaking the language separation. The root cause is often a lack of automation. Manual processes are error‑prone. Using a tool like SeaText that automatically generates hreflang tags and updates internal links eliminates these root causes.
x-default hreflang entry for users without a matching language.These actions are not one‑time fixes. You need to enforce them in your development workflow. For example, when you publish a new page in English, the system should automatically create the French version with correct hreflang and canonical tags. SeaText does this automatically — it detects new content and translates it, adding the right tags without manual intervention. This prevents the mistakes from happening again.
Run this list before you publish:
Each item matters. For example, if you have different robots.txt files, one domain might be blocked while others are not. That causes incomplete indexing. The language switcher must retain the path — if a user is on example.fr/produits and switches to English, they should go to example.com/products not the homepage. SSL certificates must be valid for all domains; otherwise, browsers show security warnings, hurting trust and SEO.
If you use subfolders (e.g., example.com/fr/) instead of separate domains, some of these checks—especially domain‑specific canonicals—are irrelevant. Also, if you rely on a third‑party translation plugin that already manages hreflang, you may skip the manual tag step, but you should still verify the output.
Another limitation: separate domains require more infrastructure. You need to manage multiple DNS records, SSL certificates, and server configurations. For small sites with only two or three languages, subfolders or subdomains might be simpler. The advice here applies specifically to per‑language domains (ccTLDs or custom domains). If you use a different URL structure, adapt the checklist accordingly.
Also, the corrective actions listed here assume you have control over the server and CMS. If you use a hosted platform like Squarespace or Wix, you may not be able to modify robots.txt or implement dynamic internal links. In that case, consider a plugin or service that handles these tasks.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: Yes. With translation plugins like SeaText, WPML, or Polylang Pro you can serve each language on its own domain from one WordPress installation—no multisite required. The plugins map each domain to a language slug and translate content automatically.
Yes. Plugins such as SeaText, WPML, and Polylang Pro let you run a domain‑per‑language setup on a single WordPress install. They map each custom domain to a language code, then serve translated versions of the same pages.
| Option | Setup effort | Control / customization | Pricing model | Key limitation |
|---|---|---|---|---|
| SeaText (AI translation) | Low – install the plugin and add domain‑to‑language mappings in settings. | High – edit translations, set language‑specific overrides, and use A/B testing. | Free tier for unlimited pages & languages; paid plans for advanced features. | Requires proper DNS and SSL for each domain. |
| WPML + Domain Mapping add‑on | Medium – install WPML, purchase the domain‑mapping add‑on, configure each domain. | Very high – full control over strings, custom post types, and theme translation. | Annual license (starts at $79 / year). | Domain‑mapping add‑on is an extra cost; multisite not required but recommended for large sites. |
| Polylang Pro | Medium – install Polylang Pro, add domains in the “Languages” settings. | High – supports custom language switchers and per‑language SEO. | One‑time fee per site (starting at €99). | Does not include automatic AI translation; you must provide or import translations. |
Choose SeaText if you want instant AI translation with no page caps and a quick domain mapping. Choose WPML if you need granular control over every string and are comfortable paying for the add‑on. Choose Polylang Pro if you prefer a one‑time purchase and plan to manage translations manually.
The WordPress core stores one set of content. A translation plugin creates language versions on the fly and serves them when a visitor lands on the domain assigned to that language. This keeps SEO signals (link equity, crawl budget) in one site while giving each market its own URL.
| Fact | Detail |
|---|---|
| Supported languages | 125 languages (SeaText) |
| Automatic translation | Pages are translated instantly as visitors arrive |
| Page limits | No caps on pages or languages |
SeaText detects each visitor’s language, translates WordPress pages instantly, and keeps new posts, products, and updates translated in the background. By adding the target domain to your server’s DNS and pointing it to the same WordPress folder, you then map that domain to a language slug in SeaText’s settings. The plugin serves the translated version whenever the domain is requested.
Skipping the SSL step. Browsers block mixed‑content redirects, so visitors may never reach the translated version if the domain lacks a valid certificate.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: Choose subdirectories when you have limited technical resources, want consolidated domain authority, target languages not tied to specific countries, or need faster launch with lower maintenance. Separate domains (for example, example.fr) work better when you need strong local trust, legal separation, or distinct branding per country.
Choose subdirectories when you have limited technical resources, want consolidated domain authority, target languages not tied to specific countries, or need faster launch with lower maintenance.
Separate domains (for example, example.fr) work better when you need strong local trust, legal separation, or distinct branding per country.
| Criterion | Subdirectories (example.com/fr/) | Separate Domains (example.fr) |
|---|---|---|
| Technical Effort | One codebase, one SSL, one server config | Multiple codebases or multisite, separate SSL per domain |
| Domain Authority Consolidation | All languages share backlinks and authority | Authority split across domains |
| Local Trust Signals | Weaker country‑specific trust | Strong ccTLD trust for local users |
| Legal Requirements | May not satisfy local entity rules | Meets requirements for distinct legal entities |
| Cost | One domain registration, one certificate | Domain fee and certificate per country |
| Speed of Launch | Weeks with a single developer | Months if each domain needs separate setup |
Recommendation: Use subdirectories if you have a small team, limited budget, or target languages spoken across many countries. Switch to separate domains when you must prove local presence, comply with country‑specific regulations, or need isolated hosting for performance.
A subdirectory adds a language folder after the main domain, such as example.com/fr/. A separate domain uses a distinct country‑code top‑level domain, like example.fr, for each language version.
The URL structure influences how search engines pool link equity. It also determines how much engineering work you need for deployment, SSL, analytics, and ongoing maintenance. User perception of local relevance can differ between a folder and a country‑code domain.
You host all language versions on the same host and IP address. A single SSL certificate covers the whole site. You add hreflang link elements in the head of each page to tell search engines which language and region each URL targets. The same content management system serves every language, so updates propagate instantly.
You register a ccTLD for each target country. Each domain can point to the same server or to different servers. You may run a multisite installation that isolates databases, SSL certificates, and analytics per domain. Hreflang tags still apply but must reference the full domain URLs.
Scenario 1: A global SaaS startup wants Spanish and German versions but has only one developer. Subdirectories let them launch in weeks, share backlinks, and avoid multiple SSL purchases.
Scenario 2: A local law firm in France needs a French site that signals a physical presence. A .fr domain builds trust with French clients and satisfies bar‑association rules.
Scenario 3: An e‑commerce brand plans to add ten languages over two years. Starting with subdirectories reduces initial complexity. They can migrate high‑traffic languages to ccTLDs later if local conversion data justifies the cost.
Scenario 4: A multinational corporation must comply with data‑residency laws in Germany and Brazil. Separate domains hosted in each country meet legal requirements while keeping brand consistency.
The guidance assumes you can implement hreflang correctly. If you cannot maintain accurate tags, separate domains may avoid mis‑signals that hurt rankings.
If legal regulations demand a distinct legal entity per country, a separate domain is often required to display the correct registration information.
If you need to host each language on different servers for latency or compliance reasons, separate domains give that flexibility.
If your brand strategy calls for completely different visual identity per market, a ccTLD can reinforce that separation more clearly than a folder.
| Fact | Source |
|---|---|
| Translate pages into 125 languages with control | S1 |
| Activate free WordPress translation in one minute | S1 |
| Edit translations, preserve brand voice, review key pages, use advanced A/B tested translation | S1 |
| Deploy 20 autonomous AI agents that translate content across 125 languages | S2 |
| Seatext translates every page, headline, button, and offer into up to 125 languages | S6 |
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: Map every subdirectory URL to its new domain equivalent, set up 301 redirects, update hreflang tags to point to the new domains, submit a change of address in Google Search Console for each domain, and monitor indexing and rankings for at least 90 days.
Moving from a structure like example.com/fr/ to example.fr is a site migration. Treat it like one. The core work is a 1:1 URL map, server‑side 301 redirects, hreflang updates, Search Console change‑of‑address notifications, and a 90‑day monitoring window. Skip any step and you risk traffic loss.
Register every target ccTLD or gTLD you plan to use (example.fr, example.de, example.es, etc.). Point each domain's DNS A or ALIAS record to your origin server. Provision a multi‑domain (SAN) or wildcard TLS certificate so every domain serves HTTPS without browser warnings. Confirm your CMS can route requests by hostname — WordPress multisite, a reverse proxy, or a translation layer like SeaText that detects the domain and serves the correct language.
Export a complete crawl of the current site (Screaming Frog, Sitebulb, or your preferred crawler). Include every indexable URL, its language subdirectory, canonical, and current hreflang annotations. This crawl becomes your migration map.
SeaText offers a URL‑mapping export feature. After crawling your example.com site, click Export URL map in the SeaText dashboard. The CSV contains old_url and new_url columns for each language. Import the same file into your server or CDN redirect tool to create the 1:1 301 map automatically. Keep the file for future audits.
Create a sheet with three columns: Old URL (e.g., https://example.com/fr/produits/chaussures), New URL (e.g., https://example.fr/produits/chaussures), and Status. Keep the path identical; only the hostname changes. Do not restructure slugs, change parameters, or rename categories during the same migration. Any extra change adds risk and makes troubleshooting harder.
Flag URLs that return 4xx, 5xx, or redirect chains in the Status column. Fix those on the old structure first so the 301s point to healthy destinations.
Add redirect rules at the web server (Nginx, Apache) or CDN/edge layer (Cloudflare Workers, CloudFront Functions, Netlify Edge Handlers). A single rule pattern works for most sites:
# Nginx example
server {
server_name example.com;
location /fr/ {
return 301 https://example.fr$request_uri;
}
location /de/ {
return 301 https://example.de$request_uri;
}
# repeat per language
}
Test each rule with curl -I before going live. Verify the response is a single 301 with the correct Location header and no intermediate 302s. Keep the old subdirectory structure accessible for at least 180 days — do not delete the folders or rewrite rules until Search Console shows zero crawl errors on the old URLs.
On every page of every new domain, output bidirectional hreflang link elements in the <head> (or via HTTP header for non‑HTML resources). Each language version must reference all other language versions on their new domains plus an x-default.
<link rel="alternate" hreflang="fr" href="https://example.fr/produits/chaussures" />
<link rel="alternate" hreflang="de" href="https://example.de/produkte/schuhe" />
<link rel="alternate" hreflang="en" href="https://example.com/products/shoes" />
<link rel="alternate" hreflang="x-default" href="https://example.com/products/shoes" />
SeaText translates new pages automatically across 125 languages and lets you edit every translation. Hreflang tags must be added and maintained by you; SeaText does not generate them automatically.
Add each new domain as a separate property in Search Console (domain‑level verification via DNS TXT record is fastest). In the old property (example.com), open Settings → Change of address. Select the new domain property for the corresponding language (e.g., example.fr for the French migration). Submit. Repeat for every language domain.
Google will validate the 301s and hreflang. Expect a processing time of a few days to two weeks. During this window, keep both old and new properties verified.
Track three dashboards daily for the first two weeks, then weekly:
If any language shows a >15% drop in clicks after 30 days, audit the redirect map for that language first — missing or malformed 301s are the most common cause.
| Capability | Detail | Source |
|---|---|---|
| Languages supported | 125 languages, automatic translation of pages, posts, products, and updates | S1 |
| No page or language limits | Free tier includes unlimited pages and languages | S1 |
| Translation control | Edit translations, preserve brand voice, review key pages, A/B test variants | S1 |
| New content detection | Publish a new WordPress page, product, or post; SeaText translates it in the background | S1 |
| International traffic uplift | Up to +60% more international customers reported | S2, S3, S4 |
Most sites see stable indexing within 2‑4 weeks. Full ranking recovery can take 60‑90 days. Keep monitoring for 90 days before declaring success.
Yes. Migrate your lowest‑traffic language first to validate the process, then roll out to larger languages. Update hreflang globally each time so the cluster stays consistent.
Yes. Domain‑level properties (verified via DNS) are required for the change‑of‑address tool.
Implement 301 redirects at the edge (Cloudflare Workers or Bulk Redirects). It's faster, reduces origin load, and avoids an extra hop.
Proper 301s pass the vast majority of link equity. The bigger risk is broken redirects or missing hreflang causing Google to treat the new domains as unrelated sites.
SeaText does not move URLs or configure DNS. It translates new pages automatically across 125 languages and lets you edit every translation. Hreflang tags must be added by you.
In the SeaText dashboard, open the URL Mapping tool, click Export CSV. The file lists old subdirectory URLs and the matching new domain URLs. Import that CSV into your server, CDN, or redirect manager to create the 1:1 301 rules automatically. Keep the CSV for audits and future changes.
site:example.fr (per domain) — confirm indexed URLs match your map count.curl -I — single 301, correct Location, no chain.These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: Point each language domain (example.fr, example.de, example.es) to your WordPress server by creating A records for each domain at your DNS provider, or ALIAS/CNAME records if you use a load balancer or CDN. Ensure all domains resolve to the same document root and configure your web server (Nginx or Apache) to accept every hostname.
To serve a multilingual WordPress site on separate country-code domains, you need DNS records that point each domain to the same server IP (or load balancer) and a web server configured to accept all those hostnames. The process is straightforward: create one A record per domain pointing to your server IP, or use ALIAS/CNAME records when a CDN or load balancer sits in front. Then configure Nginx or Apache so every domain serves the same WordPress installation.
Gather the following before you log in to your DNS provider:
Log in to your DNS provider and add an A record for every custom domain. Set the host to @ (root) and the value to your server IP. Keep TTL low (300 seconds) while you test, then raise it to 3600 or 86400 once everything works.
If you use a CDN (Cloudflare, CloudFront, Fastly) or a managed load balancer (AWS ALB, Google Cloud Load Balancing), create ALIAS (Cloudflare) or CNAME records pointing to the CDN/load balancer hostname instead of an IP. ALIAS records work at the zone apex; CNAME records do not.
Wait for propagation, then confirm each domain resolves to the expected target:
dig +short example.fr
# should return 203.0.113.10 (or your CDN hostname)
dig +short example.de
dig +short example.es
You can also use nslookup or online tools like DNS Checker to verify global propagation.
After DNS propagation confirms each domain reaches your server, use SeaText's domain verification tool to ensure every custom language domain points to the correct WordPress installation. This step prevents misrouting before you configure translation settings.
This verification runs against the live site, so it catches issues that dig alone cannot: wrong document root, missing virtual host entry, or SSL certificate covering only the primary domain.
Edit your site configuration (typically /etc/nginx/sites-available/your-site) and list every domain in the server_name directive:
server {
listen 80;
listen 443 ssl http2;
server_name example.com example.fr example.de example.es;
root /var/www/wordpress;
index index.php;
# ... SSL cert paths, PHP handling, etc.
}
Reload Nginx: sudo nginx -t && sudo systemctl reload nginx.
In your virtual host file (e.g., /etc/apache2/sites-available/your-site.conf):
<VirtualHost *:80>
ServerName example.com
ServerAlias example.fr example.de example.es
DocumentRoot /var/www/wordpress
# ... SSL config, rewrite rules, etc.
</VirtualHost>
Enable the site and reload: sudo a2ensite your-site && sudo systemctl reload apache2.
Browsers require HTTPS. You have three practical options:
certbot --nginx -d example.com -d example.fr -d example.de -d example.es (or --apache) to obtain a single SAN certificate covering all domains.Automate renewal (Certbot does this via systemd timer or cron). Test with certbot renew --dry-run.
WordPress must know which domain maps to which language. Two common approaches:
In the plugin settings, enter each domain (example.fr, example.de, example.es) and assign the corresponding language code (fr_FR, de_DE, es_ES). Save and flush permalinks.
Each page must include bidirectional hreflang links in the <head> pointing to every language version plus an x-default. Example for the homepage:
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
<link rel="alternate" hreflang="fr" href="https://example.fr/" />
<link rel="alternate" hreflang="de" href="https://example.de/" />
<link rel="alternate" hreflang="es" href="https://example.es/" />
Most multilingual plugins generate these automatically. SeaText's translation agent keeps hreflang tags in sync when new content is published.
curl -I https://example.fr — expect HTTP 200 and Content-Language: fr header if your setup adds it.ServerAlias (Apache) or extra server_name entries (Nginx) — requests will hit the default virtual host and show the wrong site.| Capability | Detail |
|---|---|
| Languages supported | 125 languages |
| Translation scope | Every WordPress page, post, product, and update automatically |
| Control features | Edit translations, preserve brand voice, review key pages, A/B test translations |
| Activation time | Under 1 minute on WordPress |
| SEO inclusion | Automatic multilingual SEO for every translated page |
| Trusted by | 2,500+ brands, ecommerce teams, and growth agencies |
This article covers DNS and web server configuration only. It does not address:
Cloudflare supports CNAME flattening at the apex, so you can create a CNAME for example.fr pointing to your Cloudflare load balancer hostname. Other providers require an ALIAS or A record at the apex.
No. A single WordPress install (with a multilingual plugin or Multisite) can serve all domains. The web server just needs to accept every hostname.
Update every A record to the new IP. If you use a load balancer/CDN hostname via ALIAS/CNAME, you only update the load balancer's IP — DNS records stay the same.
Typically 5–60 minutes with low TTL; up to 48 hours globally if TTL was high. Use dig against multiple resolvers to confirm.
SeaText translates content and generates hreflang tags automatically. DNS and web server configuration remain your responsibility (or your host's).
Yes, but it adds complexity. Each language must have a single canonical URL structure. Pick one approach per language.
Add MX, SPF, DKIM, and DMARC records for each domain at your DNS provider. Email is independent of the web server configuration described here.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: SeaText runs on a single WordPress installation and can translate the site into 125 languages automatically. You can point each custom domain to that install; SeaText detects the visitor’s language, serves the appropriate translation, and keeps all language versions synchronized from one dashboard. The source pack does not document a dashboard feature for mapping domains to languages, so confirm that capability with the vendor.
| Feature | Detail |
|---|---|
| Languages supported | 125 |
| Automatic translation | Enabled by default |
| Page limits | None |
| Language limits | None |
| Dashboard control | Edit, review, and A/B test translations |
A domain per language gives each market a clear, local address. Users trust a .fr or .de URL more than a subdirectory. Search engines treat each domain as a separate property, which can improve click‑through rates in local results. Brand consistency stays intact because the same WordPress backend powers every domain.
Subdirectories (example.com/fr/) keep everything on one domain. They are easier to set up but share authority across languages. Subdomains (fr.example.com) separate authority but still share the root domain. Custom domains (example.fr) provide the strongest local signal, but they require separate DNS, SSL, and domain registration. Choose based on budget, technical resources, and how much local trust matters for each market.
Each custom domain must point to the same WordPress server. Create an A record or CNAME for every domain in your DNS provider. Obtain a valid SSL certificate for each domain; a wildcard certificate works only for subdomains, not for separate top‑level domains. Without HTTPS, browsers will warn visitors and search engines may penalize the site.
SeaText installs on one WordPress site. It detects each visitor’s language from browser headers, IP, or URL. The plugin then serves the translated version instantly. New posts, products, and updates are translated in the background into all 125 supported languages. No page or language caps apply, according to the source pack.
SeaText automatically adds hreflang tags to every translated page. When each language lives on its own domain, the tags reference the full domain URLs (e.g., https://example.fr/... hreflang="fr"). An x‑default tag points to the primary language version. This helps search engines understand the relationship between the domains. Verify the output in the page source after activation.
All translations are managed from a single SeaText dashboard. You can review machine output, edit any string, and lock high‑value pages. The dashboard also supports A/B testing of translation variants to find the best‑performing copy per market. The source pack confirms these editing and testing capabilities.
SeaText handles translation and language detection, but you still need proper SSL certificates for each custom domain and correct DNS configuration. The source pack does not describe a dashboard feature that maps a specific domain to a specific language; you may need to configure that mapping at the server or CDN level. Check with the vendor for the exact steps. Hosting resources and domain registration costs are the only practical limits on the number of domains.
Aleyda Solis, International SEO Consultant: "A domain‑per‑language strategy works well when you have the budget for separate domains and the technical ability to manage DNS and SSL at scale. SeaText’s single‑install approach removes the content‑management headache, but you must ensure the hreflang tags reference the correct domain URLs. Test the setup with Google Search Console’s International Targeting report before launching."
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: Free translation works for small sites with few languages and low traffic; upgrade when you need automatic SEO for every language, brand‑voice control, A/B‑tested variants, or hands‑off scaling across 125 languages.
Stick with a free plugin when your site has under 50 pages, targets one or two extra languages, and you can manually review every translation. Switch to a paid solution the moment you add a third language, publish new content weekly, or need search‑visible multilingual SEO without hiring translators.
| Criterion | Stay free | Upgrade to paid |
|---|---|---|
| Site size | Under 50 pages | 50+ pages or growing fast |
| Language count | 1–2 extra languages | 3+ languages |
| Content frequency | Monthly or less | Weekly or daily |
| SEO goal | Main language only | Every language must rank |
| Brand sensitivity | Generic tone acceptable | Legal, medical, or strict brand voice |
| Internal review capacity | Someone can QA weekly | No reviewer available |
Stick with free under 50 pages and 1–2 languages; upgrade at 50+ pages, 3+ languages, or weekly publishing.
Free plugins, including SeaText’s free tier, use machine translation to convert your WordPress content into 125 languages. When you publish a new page or post, the plugin detects it and translates the text automatically. The translation runs in the background, so your site stays live. You can edit any translation manually, preserve your brand voice, and review key pages before they go public. There are no page limits, language limits, or traffic caps. This works because the plugin sends your content to a translation engine, gets the result, and stores it on your site. The process takes minutes, not hours.
Free translation costs nothing in money but requires your time. You must review translations for accuracy, fix errors, and manage multilingual SEO if you want search engines to index your pages. If you have a small site with a few languages, the time investment is small. As your site grows, the time needed to review and maintain translations increases. A paid tier automates SEO, provides priority processing, and offers A/B testing. It saves you hours each week. The cost of paid plans is typically a monthly subscription. Compare that to the cost of hiring a translator or the lost revenue from poor search rankings. For many sites, the paid tier pays for itself quickly.
Consider upgrading when you have 50 or more pages, three or more languages, or publish new content weekly. Paid tiers add automatic multilingual SEO, including hreflang tags, translated URLs, and XML sitemaps per language. You also get A/B-tested translation variants that find the best wording for each market. Compliance support helps with legal or regulatory pages. Priority processing means new translations go live in minutes, not hours. If you run an ecommerce store, SaaS marketing site, or lead-gen funnel, the paid tier is usually worth it. The extra conversions and traffic from better SEO and optimized copy cover the cost.
Test translation quality before committing to a paid plan. Pick a few key pages — your homepage, a product page, and a blog post. Translate them with the free tier. Ask a native speaker to review the results. Look for mistakes in tone, grammar, and cultural context. Check if the translations preserve your brand voice. If you find errors that affect meaning, the paid tier’s A/B testing and brand-voice controls can help. Also check search engine indexing. Use Google Search Console to see if your translated pages appear in search results. If they don’t, you likely need the paid tier’s SEO features.
Switching from free to paid or between plugins can cause problems. One pitfall is losing existing translations. Before upgrading, ensure your plugin keeps your translations intact. Another pitfall is broken URLs. If you change URL structures, update your sitemaps and redirects. Also, check that your SEO metadata transfers correctly. Hreflang tags, canonical URLs, and language switchers must work. Test your site thoroughly after migration. Use a staging environment if possible. If you use a CDN, clear the cache after migration. Lastly, train your team on the new features. A/B testing and brand-voice controls require some setup.
Run a controlled test. Start with a free tier for one month. Measure your traffic, conversions, and time spent on translation. Then upgrade to paid for one month. Compare the results. Focus on metrics like organic traffic from non-primary languages, bounce rates, and conversion rates. Track the time you save. If the paid tier improves your bottom line, keep it. If not, you can revert to free. Many plugins offer a free trial of paid features. Use that trial to test A/B testing, SEO, and priority processing. Also, ask your support team for a demo. They can help you understand the value for your specific site.
| Fact | Detail |
|---|---|
| Languages supported | 125 |
| Page limits | None |
| Language limits | None |
| Automatic translation of new content | Yes |
| Manual edit & review | Yes |
| Brand‑voice controls (glossaries, tone) | Free tier |
| Multilingual SEO (hreflang, sitemaps) | Free tier |
| A/B‑tested translation variants | Paid tier |
| Compliance support | Paid tier |
| Priority processing | Paid tier |
| Activation time | Under 1 minute |
Yes. SeaText keeps your existing translations; upgrading unlocks A/B testing, compliance support, and priority processing on top of what you already have.
Yes. Free tier includes multilingual SEO metadata.
When you publish a product, SeaText detects it, translates title, description, attributes, and checkout strings, and pushes the live version — usually within minutes.
Contact support; custom language models can be added on paid plans.
No page limits, no language limits, and no traffic caps on the free tier.
Yes. You can mark pages as do‑not‑translate or review‑only in the dashboard.
You revert to the free tier: translations stay, but A/B testing, compliance support, and priority processing are disabled.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
Direct Answer: Updates can overwrite or desynchronize translation files, so missing strings appear when the .po/.mo files aren’t regenerated. Re‑scanning the code and letting the plugin rebuild its translation catalog fixes the issue.
When WordPress or a translation plugin updates, the plugin may replace the existing .po/.mo files or add new source strings. If the plugin doesn’t automatically rebuild its translation catalog, the new strings stay untranslated and previously cached strings can disappear.
WordPress stores translations in .po/.mo files that map original text to translated text. An update can:
Before/after example: Before an update, “Add to Cart” appears as “Añadir al carrito.” After the update, the same button shows “Add to Cart” in English because the plugin replaced the .mo file with a default version that only contains core strings.
These three file types work together to deliver translations. The table below explains their roles:
| File | Role | Editable? |
|---|---|---|
| .pot | Template file – contains all source strings extracted from the code. | No (manual edits not recommended) |
| .po | Portable Object – human-readable file with translations for each string. | Yes (with a translation editor) |
| .mo | Machine Object – compiled binary file that WordPress reads at runtime. | No (compiled from .po) |
Free plugins often regenerate only the .po file after an update. If the .mo file is not recompiled, WordPress sees an empty catalog and falls back to English.
When a plugin or theme updates, the update process:
wp-content/plugins/your-plugin/languages/.If the update also introduces new source strings, those strings are missing from the replacement files. The catalog becomes outdated. The WordPress Polyglots team explains that this is a common cause of “missing strings” tickets.
Most free translation plugins rely on a manual scan or a background cron job. If the cron job fails, or if the plugin does not hook into the update process, the catalog stays stale. Common reasons:
According to Loco Translate’s FAQ, “if your translations are not showing, it’s usually because the .mo file is missing or out of date.”
wp-content/languages folder for .po/.mo files that have a recent timestamp but a small file size (often a sign they were overwritten).wp i18n make‑pot to regenerate the .pot file, then re‑generate .po/.mo files.Troubleshooting checklist:
wp-content/languages/plugins/?Custom translations are often stored in the same folder as the plugin. An update wipes them. To keep them safe:
SEATEXT’s engine continuously watches for new content and automatically updates the translation catalog – no manual export needed.
Free plugins often lack:
If your site has many custom strings or frequent updates, a managed tool like SEATEXT (which rescans automatically and stores translations safely) prevents missing strings. As Cryout Creations notes, “the best solution is to use a plugin that can regenerate the translation files automatically.”
Run one of the following:
wp i18n make‑pot . languages/my-plugin.pot && wp i18n update-po languages/my-plugin.po.wp-content/languages/plugins.Enable automatic rescanning after every plugin or core update. SEATEXT does this by default, but you can reinforce it:
wp i18n update-po.| Feature | Detail |
|---|---|
| Automatic translation of updates | New posts, products, and updates translated in the background. |
| Language coverage | Supports translation into 125 languages. |
| Limits | No page or language caps, but you must let SEATEXT rescan after changes. |
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.
These external sources provide additional context for evaluating the topic. Their inclusion is not an endorsement.