---
title: "How to Fix Non-English Characters in WordPress Permalinks"
description: "How the plugin handles accented and non-Latin letters in slugs, and how to get clean Latin URLs for non-English content."
url: "https://wpfactory.com/docs/special-characters-non-english-permalinks/"
updated: "2026-09-27"
category: How to
---

# How to Fix Non-English Characters in WordPress Permalinks

To fix non-English characters in WordPress permalinks, activate [Remove Special Characters From Permalinks (URLs) for WordPress](https://wpfactory.com/item/remove-special-characters-from-permalinks-wordpress-plugin/) and update the post. Accented Latin letters become plain letters, but letters from other scripts (Arabic, Cyrillic, Chinese, Greek and so on) are deleted, not transliterated. For those languages, type a Latin slug in the editor's URL field before saving. No settings are involved.

## How the plugin treats non-English letters

WordPress stores non-ASCII slugs in URL-encoded form, for example `%d0%bc%d0%b8%d1%80` for a Cyrillic word. Remove Special Characters decodes the slug, converts what it can to plain Latin letters and deletes the rest.

| Language group | What happens | Example |
| --- | --- | --- |
| Latin alphabets with accents (French, Spanish, Portuguese, Polish, Czech, Turkish and similar) | Accented letters are converted to their plain form by WordPress's `remove_accents()` function. WordPress already does this for slugs generated from titles; the plugin applies the same conversion to anything left over. | `crème-brûlée` becomes `creme-brulee` |
| German, Danish, Catalan, Serbian, Bosnian | `remove_accents()` applies a few extra rules when the site language is one of these, for example German umlauts become `ae`, `oe` and `ue` on a German-language site. | `grüße` becomes `gruesse` (German site language) |
| Non-Latin scripts (Arabic, Hebrew, Cyrillic, Greek, Chinese, Japanese, Korean, Thai, Hindi and others) | Every letter is removed. Only Latin letters, digits, hyphens, underscores and dots that were already in the slug survive. | `кофе-2026` becomes `2026` |

**Important:** if a slug contains no Latin letters or digits at all, nothing is left after cleanup and the post is saved with an empty slug, so its permalink will not work as expected. Always give these posts a Latin slug by hand, as described below.

## How to get clean Latin URLs for non-English content

1. Open the post, page or product in the editor.
2. Open the URL or permalink field (in the block editor, click the post URL in the **Post** sidebar; in the classic editor or product screen, click **Edit** next to the permalink).
3. Type the slug you want using Latin letters, digits and hyphens, for example a transliteration or an English translation of the title: `coffee-beans-2026`.
4. Click **Publish** or **Update**. Because the slug contains only safe characters, Remove Special Characters leaves it exactly as typed.
5. For titles written in accented Latin languages you do not need to type anything: saving converts the accents automatically.

## Decide before you clean existing content

WordPress fully supports non-Latin slugs, and many sites in Arabic, Russian or Chinese rank well with them. Removing those letters changes every affected URL. Before you run the Pro bulk tool on a site whose slugs are in a non-Latin script, consider:

- The bulk tool cleans every published post whose slug has any character outside the safe set, and non-Latin letters count. Slugs made entirely of non-Latin letters would become empty.
- Search engines have indexed the current URLs. Changed URLs need redirects (see [How to Redirect Old Permalinks After Removing Special Characters](https://wpfactory.com/docs/special-characters-redirect-old-urls/)).
- There is no undo button. Back up your database first.

For these sites, the safer approach is to set Latin slugs manually on the posts that need them.

## FAQ

### Does the plugin transliterate Arabic, Cyrillic or Chinese into Latin letters?

No. Letters from non-Latin scripts are deleted. Only accented Latin letters are converted.

### Why did my post end up with an empty or very short slug?

Its slug had few or no Latin letters or digits, so almost everything was removed. Type a Latin slug in the URL field and update the post.

### Will a Latin slug I type by hand be changed?

No. A slug that already contains only a to z, 0 to 9, hyphens, underscores and dots is left as it is.

### Does the site language matter?

Only for a few special letters. WordPress's `remove_accents()` uses extra rules for German, Danish, Catalan, Serbian and Bosnian site languages; everything else is handled the same way on every site.

### Get more control

This feature is free. [Remove Special Characters From Permalinks (URLs) for WordPress](https://wpfactory.com/item/remove-special-characters-from-permalinks-wordpress-plugin/) Pro adds a one-click bulk cleanup and forced redirects for old URLs. [See what Pro unlocks](https://wpfactory.com/item/remove-special-characters-from-permalinks-wordpress-plugin/).

Need a hand? Our team answers every ticket on the [Remove Special Characters support forum](https://wpfactory.com/support/item/remove-special-characters-from-permalinks-wordpress-plugin/).

Related articles

- [How to Bulk Clean Special Characters from All WordPress Permalinks](https://wpfactory.com/docs/special-characters-bulk-clean-permalinks/)
- [Getting Started with Remove Special Characters From Permalinks](https://wpfactory.com/docs/special-characters-getting-started/)
- [How to Remove Special Characters from WordPress URLs](https://wpfactory.com/docs/special-characters-remove-from-urls/)
- [Remove Special Characters Developer Reference](https://wpfactory.com/docs/special-characters-developer-reference/)
- [Remove Special Characters Troubleshooting](https://wpfactory.com/docs/special-characters-troubleshooting/)
