Skip Navigation

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.

This topic contains 12 replies, has 2 voices.

Last updated by Andrey 6 years, 7 months ago.

Assigned support staff: Andrey.

Author Posts
March 30, 2015 at 5:56 pm #590733

igorG-5

After update to Version 3.1.9.4 all pages on my site wteinternational.com, except home page, show 404 error. All pages, English and Russian. What is it?

I have deactivated WPML Multilingual CMS and WPML String Translation. As a result, English pages are in place.

Please advise.

Best regards,
Igor.

March 31, 2015 at 12:55 pm #591331

Andrey
Supporter

Timezone: Europe/Kiev (GMT+03:00)

Did you try to refresh permalinks in Settings > Permalinks ?

Could you please also test with a default theme (theme 2014 for example) ?

March 31, 2015 at 6:04 pm #591647

igorG-5

Why should I to refresh permalinks? And how? OK, I just clicked Save Changes there. No result.

I see absolutely no reason to waste my time playing with themes on live site. I use the same theme for 15 months. Last theme update was 1 month ago. Update of WMPL was yesterday, what crashed the site.

I tried to deactivate all plugins, except WMPL Multilingual CMS - site doesnt work, everywhere is 404. Deactivating of WMPL Multilingual CMS returns all English pages in place.

Please find the issue in your update or tell me where to get previous versions of WPML.

March 31, 2015 at 9:08 pm #591746

igorG-5

I have copied site to staging. You can look at it here: hidden link

Any page except home, returns 404.

On live site, hidden link I have restored forlder with WPML Multilingual CMS Version 3.1.9.3 from backup. It works.

Therefore, problem is caused by WPML Multilingual CMS Version 3.1.9.4.

April 1, 2015 at 8:18 am #591928

Andrey
Supporter

Timezone: Europe/Kiev (GMT+03:00)

I need to request temporary access (wp-admin and FTP) to your site – preferably to a test site where the problem has been replicated if possible – in order to be of better help. You will find the needed fields for this below the comment area when you log in to leave your next reply. The information you will enter is private which means only you and I can see and have access to it.

You can find previous version by the link below, but it's not good option to downgrade the version. This version include compatibility with the next version of WordPress.
https://wpml.org/download/wpml-multilingual-cms/?section=changelog

April 2, 2015 at 8:08 am #592623

Andrey
Supporter

Timezone: Europe/Kiev (GMT+03:00)

I got the access details. I will take a look and update you here as soon as I know more.

April 3, 2015 at 12:49 pm #593519

Andrey
Supporter

Timezone: Europe/Kiev (GMT+03:00)

We are still looking on this. I'll keep you posted.

April 6, 2015 at 1:25 pm #594234

Andrey
Supporter

Timezone: Europe/Kiev (GMT+03:00)

It looks like the issue was, that you had a different collation between database tables. I found errors below, when version 3.1.9.4 was activated :

WordPress database error: [Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '=']
SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id LEFT JOIN wp_icl_translations icl_t ON icl_t.element_id = tt.term_taxonomy_id AND icl_t.element_type = CONCAT('tax_', tt.taxonomy) WHERE tt.taxonomy IN ('category') AND tt.term_taxonomy_id NOT IN ( SELECT t.term_taxonomy_id FROM wp_term_taxonomy t LEFT JOIN wp_icl_translations i ON (t.term_taxonomy_id = i.element_id OR i.element_id IS NULL) WHERE i.element_type LIKE 'tax%' AND t.taxonomy = 'category' AND i.language_code <> 'en') AND ( ( icl_t.element_type IN ('tax_category') AND icl_t.language_code = 'en' ) OR icl_t.element_type NOT IN ('tax_category') OR icl_t.element_type IS NULL ) ORDER BY t.name ASC

WordPress database error: [Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '=']
SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON t.term_id = tt.term_id LEFT JOIN wp_icl_translations icl_t ON icl_t.element_id = tt.term_taxonomy_id AND icl_t.element_type = CONCAT('tax_', tt.taxonomy) WHERE tt.taxonomy IN ('category') AND tt.term_taxonomy_id NOT IN ( SELECT t.term_taxonomy_id FROM wp_term_taxonomy t LEFT JOIN wp_icl_translations i ON (t.term_taxonomy_id = i.element_id OR i.element_id IS NULL) WHERE i.element_type LIKE 'tax%' AND t.taxonomy = 'category' AND i.language_code <> 'en') AND ( ( icl_t.element_type IN ('tax_category') AND icl_t.language_code = 'en' ) OR icl_t.element_type NOT IN ('tax_category') OR icl_t.element_type IS NULL ) ORDER BY t.name ASC

What I have done to solve this on your staging site :

1. Go to the database

2. Change the collation for "icl_" tables to utf8_general_ci ( for same collation as your WP tables have )

Please check your staging site.

April 9, 2015 at 8:00 pm #596901

igorG-5

Andrey,

I have changed collation for all icl tables on live site and installed last version of WPML. The same result - 404. However, staging works well and even faster than live by feelings. But since raising the ticket, we added some info and posts to live site and cannot just copy from staging to live. So, should we:
1. Stop any development, copy from live to staging and wait for your modifications on staging again?
2. Or could you explain in more details what to do?

Another question - why database on staging became 5MB only instead of 40MB on live?

Best regards,
Igor.

April 10, 2015 at 8:14 am #597068

Andrey
Supporter

Timezone: Europe/Kiev (GMT+03:00)

We are currently investigating this more. I hope we can give more details soon.

No need to stop development, but can you copy your live site to the staging site again ?

I am not sure why you have a difference in databases, I just changed the collation and did not delete any tables.

April 10, 2015 at 12:12 pm #597219

Andrey
Supporter

Timezone: Europe/Kiev (GMT+03:00)

We are running relatively low level functionality on the database as some hosts like WP-Engine do.
In this case it means that strings where saved slightly differently in WPML’s tables than in the WordPress tables themselves.

We have a workaround and an automatic fix for this problem and it will be included in the next release.

How to apply a workaround:
hidden link

Let me know if this help. Try it first on the staging site.

April 10, 2015 at 4:39 pm #597443

igorG-5

Thank you Andrey,

With this video I understood what to do. Now the latest versions of WMPL are running well on my site.

Best regards,
Igor.

April 10, 2015 at 5:05 pm #597463

Andrey
Supporter

Timezone: Europe/Kiev (GMT+03:00)

You're welcome.

Have a nice weekend !