Resolved

Reported for: WPML Multilingual CMS 3.5.0

Resolved in: WPML Multilingual CMS 3.5.1 beta 3

Topic Tags: String Translation

Symptoms

In the recent release WPML 3.5.0, we add the new table icl_string_pages to preload string translations and increase the site performance.

However in some specific sites, URL arguments like http://my-site.com/my-page/?arg1=value1&arg2=value2 are used for different things. This increases the unnecessary rows in the icl_string_pages table. Then the table size might reach hundreds of MBs and the site performance is affected significantly.

Workaround

The current workaround is to upgrade to WPML Multilingual CMS 3.5.1 beta 3 or to wait for the official release of WPML Multilingual CMS 3.5.1

Updating from a previous beta (3.5.1 beta 2 or 3.5.1 beta 1) requires that you set temporary this setting in your wp-config.php

define('ICL_SITEPRESS_DEV_VERSION', '3.5.1');

Then after visiting your site once, you have to remove that setting.

10 Responses to “Too big icl_string_pages table in WPML 3.5.0 causes performance issues”

  1. I have this issue, but unfortunately defining the variable does not enable the beta version to appear. I cleared the transients just to make sure, but still no luck. Is there a direct link to download the beta? My icl_string_pages is 850 MB with 4.5 million records

    • Log in to your WPML account, click on Downloads and scroll all the way to the bottom. You will see “CMS Beta Package”. Download and unzip it.

  2. I noticed that it also saves non existing pages like:

    wp-cron.php?doing….

    or pages which usually should throw out a 404 error. Does this Beta adresses those issues too?

    • Yes. The 3.5.0, by mistake, allowed all arguments and blocked only a few. 3.5.1 changes the logic. All arguments are blocked, except for a selected few, which WordPress uses to set IDs for pages, taxonomy and other known items. The beta is complete and fully tested. We will push it as “production” version on Monday morning. You can download the beta from your WPML account, under Downloads. On Monday, it will arrive as an automated update.

    • I don’t think that it’s directly related. Can you please open a support ticket about it and offer to send us a backup of your site? We’ll need to check what takes up so much space in the options table. Of course, if it’s related to WPML, we’ll handle it ASAP. If it’s not related to WPML, we’ll explain what’s causing it.

  3. Can we manually truncate the table? I can’t login anymore in wp admin because the db is full 250mb due to this table being that big. And can’t even log in ftp because of that (hosting restrictions). Only access to phpmyadmin.

    Can I empty the table, install the beta, and will the table repopulate itself after that? Can I force that?

    • The recent beta version will do that for you. Please log in to your WPML.org account, click on Downloads and scroll to the bottom. Download “CMS Beta Package” and unzip it. Inside that ZIP you will find additional ZIPs for each of WPML’s components. This version truncates that table and replaces it with two smaller tables that will not grow. We were hoping to release this update today, but testing took longer and we’ve postponed the release for everyone to tomorrow morning. The released version tomorrow morning will be the same as this beta, which is ready now for manual download.