This thread is resolved. Here is a description of the problem and solution.
Problem: You are using WPML to translate your website and have encountered two issues: 1) WPML automatically appends '-ar' or the Arabic page title to the slug in Arabic translations, despite wanting to keep the slug in English for both languages. 2) You experience a 'too_many_requests_error' on Arabic product pages, which does not occur in English.
Solution: For the issue of WPML appending '-ar' to slugs in Arabic translations, WordPress does not allow two categories with the same slug, which is why WPML adds the language code. However, you can bypass this by manually editing the slug. For guidance on how to do this, please visit Translating Post Categories and Custom Taxonomies.
Regarding the 'too_many_requests_error', this might be caused by redirection issues. You can check the product URL for redirection problems at Redirect Checker. It's also advisable to disable any unnecessary redirections or adjust server settings.
If these solutions do not resolve your issues or if they seem outdated or irrelevant to your case, we highly recommend checking related known issues at https://wpml.org/known-issues/, verifying the version of the permanent fix, and confirming that you have installed the latest versions of themes and plugins. If problems persist, please open a new support ticket at WPML support forum for further assistance.
This is the technical support forum for WPML - the multilingual WordPress plugin.
Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.
Background of the issue:
I am using WPML to translate my website hidden link. I have translated product categories through WPML → Taxonomy Translation. I want to keep the slug in English for both languages, but WPML automatically appends -ar or arabic page title to the slug in Arabic. I also experience a too_many_requests_error on product pages in Arabic, which does not occur in English.
Symptoms:
WPML automatically changes slugs by appending -ar in Arabic translations. Too many requests error occurs on Arabic product pages.
Questions:
How can I enforce the same slug in both languages without WPML appending -ar?
How can I resolve the too_many_requests_error on Arabic product pages?
For your other question, looks like there's some kind of redirection in place which is causing so many 301 moved permanently headers. You may check for such a product URL at hidden link for more details and try disabling any redirections (or check server settings).
If the redirection issue continues to appear, please report in a separate ticket, because as per forum policy we can only handle one issue per ticket/chat. So you can get more to the point help, without mixing up several issues in one long ticket.
1. Language Switching & URL Structure Issue
When I switch from the primary language (English) to the secondary language (Arabic), WPML automatically appends the language code (e.g., /ar/) to the URL. However, this behavior is causing inconsistencies because the Arabic URLs now differ structurally from the primary language URLs. I’ve reviewed the documentation you shared, but it doesn’t address my specific scenario.
2. Redirection Problem (Priority Issue)
The redirection issues began after I changed the English URL format to "Postname" (e.g., example.com/product-name). While English URLs work perfectly, Arabic product pages fail to load correctly (e.g., example.com/ar/product-name returns errors). I suspect I accidentally modified a critical setting, which triggered this problem.
Next Steps:
I’ll focus on resolving the redirection issue first (Arabic product pages).
Will create a separate ticket for the URL structure inconsistency.
Please note that when you use "different languages in directories" option in WPML -> Languages, then WPML adds language code to the URL, like you see /ar/ for the Arabic. If you don't want to make this part of the URL, you can either use "Language name added as a parameter" which adds something like ?lang=ar or "A different domain per language" which requires separate domains per language. See https://wpml.org/documentation/getting-started-guide/language-setup/#language-url-format for details.
However, if you want to change /ar/ to something else, then you'll need to add a new language and change the code accordingly. Because once a language has been added, this code can not be changed. See following for details:
I’m not sure if my concerns are being fully understood, or perhaps I haven’t explained them properly. Here’s the issue I’m facing:
- My English URL: hidden link
- My Arabic URL: hidden link
As you can see, the Arabic URL automatically adds /ar/ and appends -ar to the category slug (gaming-desk-ar). However, I want to keep the same category name (gaming-desk) for both languages—only changing the content (text) when switching to Arabic.
Currently, when I manually change product taxonomies, the system forces -ar into the Arabic URLs. Additionally, only translated products appear in Arabic without a 301 error.
What I need:
1. The same category, product, and page slugs in both English and Arabic (e.g., /gaming-desk/ in both).
2. Only the content (text) should change based on language selection.
I completely understand your concern, however, as I mentioned earlier that by default, WordPress does not allow having two categories with the same slug, so WPML adds the language code at the end.