Support Log in

Recipe: Migrating from WPML to Lang Forge

User Guide
Prefer video? Watch the Lang Forge tutorials 9 short guides covering every feature Watch

Migrating from one multilingual plugin to another requires care, but the process is straightforward if you follow these steps. This recipe covers the complete migration from WPML to Lang Forge, including pre-migration checks, the actual migration, and post-migration verification.

Pre-Migration Checklist

Complete these steps before making any changes:

  1. Back up your entire site. Create a full backup of your WordPress files and database. Use a backup plugin (UpdraftPlus, BackWP, or similar) or your hosting provider’s backup tool. This is your safety net if anything goes wrong
  2. Document your current WPML settings:
– Note your URL format (Directory, Subdomain, Parameter, or Domain)

– List all active languages and which one is the default

– Note any custom language codes or overrides

– Record how many posts, pages, and products exist per language (go to WPML > Translation Management for these counts)

  1. Export your WPML glossary if you have one. Save it as a CSV file. You will import it into Lang Forge later
  2. Check for WPML-dependent theme features. Some themes have built-in WPML integration that calls WPML functions directly. Lang Forge includes a WPML compatibility layer that handles the most common functions, but review your theme for any deep WPML-specific customizations
  3. Notify your team. If other people manage translations, inform them that the migration is happening and translations should pause until the migration is complete
  4. Choose a low-traffic time. Perform the migration during off-peak hours to minimize visitor impact

Step-by-Step Migration Process

  1. Install Lang Forge (but do not activate it yet). Upload the plugin via Plugins > Add New > Upload Plugin
  2. Deactivate WPML. Go to Plugins > Installed Plugins and deactivate all WPML plugins (WPML Multilingual CMS, WPML String Translation, WPML Translation Management, and any WPML add-ons). Do not delete them yet
  3. Activate Lang Forge. The plugin activates and detects that WPML data exists in your database
  4. Run the WPML Import tool. Go to Lang Forge > Tools > Migration and select WPML
  5. The import tool scans your database and shows a summary:
– Number of languages detected

– Number of translation groups found

– Number of posts, pages, and custom post types with translations

– Number of string translations

  1. Review the summary to make sure it matches your pre-migration documentation
  2. Click Start Import
  3. The import process:
– Reads WPML’s icl_translations table to identify all translation groups

– Creates Lang Forge translation links between original posts and their translations

– Imports language assignments for every post

– Imports string translations from WPML’s string translation tables

– Preserves all post content, metadata, and publication statuses

  1. Wait for the import to complete. The progress bar shows the current stage and percentage. For a site with 500 posts across 3 languages, the import typically takes one to three minutes
  2. Configure Lang Forge settings. Go to Lang Forge > Languages and verify:
– All languages were imported correctly

– The default language matches your previous WPML default

Then go to Lang Forge > Settings and verify:

– The URL format matches your previous WPML format (choose the same format to preserve existing URLs)

– The Translatable Content checkboxes match the post types you had enabled in WPML

  1. Save changes and go to Settings > Permalinks to refresh URL rewrite rules

Post-Migration Verification

  1. Test translated pages. Visit several translated pages in your browser to confirm the correct content appears in the correct language. Test at least:
– The homepage in each language

– A blog post with translations

– A page with custom fields

– A WooCommerce product page (if applicable)

  1. Test the language switcher. Verify that switching languages on the frontend works correctly and directs visitors to the correct translated page
  2. Check hreflang tags. View the page source and confirm hreflang tags are present and correct for all languages
  3. Test URL structure. Confirm that translated URLs match the format you had with WPML. For example, if WPML used /es/about/, Lang Forge should serve the same page at the same URL
  4. Verify string translations. Go to Lang Forge > String Translation and spot-check a few translated strings to confirm they were imported correctly
  5. Import your glossary. If you exported a WPML glossary in step 3, go to Lang Forge > Glossary and import the CSV file
  6. Test search. Use your site’s search function in each language to confirm translated content appears in search results
  7. Check menus. Verify that language-specific menus are assigned to the correct menu locations. WPML and Lang Forge handle menu translation differently, so you may need to reassign menus to the new language-specific locations created by Lang Forge

Common Pitfalls and How to Avoid Them

Pitfall: URLs change after migration.

This happens when you select a different URL format in Lang Forge than you used in WPML. Always match the URL format exactly. If WPML used the Directory format, select Directory in Lang Forge.

Pitfall: Some translations are not linked after import.

Occasionally, WPML data has inconsistencies where translation group records are incomplete. After import, go to Lang Forge > Translation Status and check for posts listed as “untranslated” that you know have translations. Use the Link Existing feature to manually reconnect any unlinked translations.

Pitfall: Menu items point to wrong pages.

WPML uses a different mechanism for menu translation than Lang Forge. After migration, check each language menu and update any menu items that point to original-language pages instead of their translations.

Pitfall: String translations are missing.

WPML stores some strings in a format that the import tool may not fully capture — particularly strings registered by less common plugins. After import, filter String Translation by “Untranslated” status and re-translate any missing strings.

Pitfall: Custom WPML shortcodes no longer work.

If your content uses WPML shortcodes like [wpml-string] or wpml_translate_single_string() in templates, these will stop working after WPML is deactivated. Search your content and theme files for WPML-specific shortcodes and replace them with Lang Forge equivalents or standard WordPress approaches.

> Tip: Keep WPML installed (but deactivated) for at least two weeks after migration. This preserves the original WPML data in your database as a fallback. Once you are fully confident the migration is complete, you can safely delete the WPML plugins.

> Good to know: The WPML import tool only reads data — it does not modify or delete any WPML tables. If you need to revert the migration, you can deactivate Lang Forge, reactivate WPML, and everything returns to its previous state.

Forge AI Assistant Online

Hi! I'm the Lang Forge AI assistant. Ask me anything about the plugin — setup, features, troubleshooting, or development.

Just now
Powered by Forge AI · Browse docs