Support » Plugin: Cross-linker » Duplicating data

  • Resolved Guilherme Euler


    Dear friends,
    I’m using Cross-linker on my website but all days I have to clean my database tables of Cross-linker.
    All data on tables above are duplicating all time:

    • wp_interlinker_settings (only setting link_to_thrusites and link_first_word)
    • wp_interlinker_special_chars
    • wp_interlinker_divide_chars
    • wplw_interlinker_attributes (creating a lot of blank linkes)

    It’s making my site down because the large database size 🙁

    Can you help me? I’m using the version

    Thank you very much!

Viewing 12 replies - 1 through 12 (of 12 total)
  • Hello friends… I found a workaround to error.
    The function table_interlinker_install() was being performed each time the site was visited.
    I simply edited the file crosslink.php and commented the line 2758 to prevent new data insertions on mysql tables.

    Ok, it’s only a workaround, the real motive I can’t see just now 🙁

    Plugin Author janhvizdak



    table_interlinker_install() will only create certain tables if they don’t exist, thus this doesn’t seem to be the cause unless there’s something broken – meant as you “hard deleted” some tables or data.

    In fact I’ve simulated similar behaviour some time ago after dropping certain tables in mysql console, however this is not the way to work with this plugin.

    It would be nice if you got back to me via email so I’d get more details and could duplicate your issue in my testing environment.




    table_interlinker_install() will only create certain tables if they don’t exist’

    This is true, for me, but this plugin fills my error log with

    WordPress database error Table '#_interlinker_special_chars' already exists for query CREATE TABLE #_interlinker_special_chars (


    WordPress database error Out of memory (Needed 1676920 bytes) for query show tables like '#_interlinker_special_chars'

    and the same for the other tables.

    it appears this plugin is also taking up a decent amount of resources on each page request. is there an easier less resourceful way this can be improved?


    My Cross-linker was duplicating data, as I said… on example…

    The table called $prefix_interlinker_divide_chars needs to have only one line with the following content:
    id | characters
    1 ; . , ) ( – : & > < ? ! * / +

    On my case, this table had more than 3.000 lines… yes, three thousand. This basically means that the server have to process more than 3000 lines of code instead of only 1. It’s a very slow process and take a lot of resources from the server.

    The table $prefix_interlinker_special_chars had more than 7.000 lines… the correct is only 19.

    This means that Cross Linker was populating the tables in each visit on blog.

    I really had to edit the crosslink.php file and comment the line 2758 to prevent the unnecessary table populating. Yes, it only a workaround, but I can’t take my server consuming 100% of CPU processing at all time.

    Sorry about my english, my native language is Brazilian Portuguese and I used the Google Translator to help me writing to you.

    Thank you very much.

    PS: In time… the problem is happening with WordPress version 3.4.x and 3.5.x.

    Hey Jan, I have not dropped the tables from my database… the plugin simple can’t locate the tables and try to create new ones, and, of course, populate the tables in all time that the plugin was called.

    Plugin Author janhvizdak


    Here comes the explanation:

    Data is inserted into $table_crosslink_chars (prefix_interlinker_divide_chars) only when show tables like '$table_name' returns something else than name of table.

    So the issue could be related to insufficient privileges (on show tables) or other issue.

    It would be ideal if you logged to mysql console or phpMyAdmin with login and password that your wordpress installations are using, and then perform that command with real table names. And then post the output here.

    A minor core modification will be released anyway.



    thanks Jan for the update and Eulergui your English is fine. 🙂

    Plugin Author janhvizdak



    New version has been released, please confirm whether the issue is gone or not.



    as follow up i’m still receiving the errors reported previously in my error log.

    without your plugin:
    Options Optimizer:
    27 queries in 0.483 seconds.
    Memory Usage Current: 24,125,008, Peak: 24,212,120

    with your plugin:
    Options Optimizer:
    463 queries in 0.883 seconds.
    Memory Usage Current: 24,903,240, Peak: 24,981,900

    Plugin Author janhvizdak


    Well, I cannot help you without seeing data in your crosslinker.

    Please, write me an email, dump your crosslinker mysql data and attach them to the email.

    Also, give me URL of post/page that crosslinker works with.

    Otherwise it is not possible to help you.

    Plugin Author janhvizdak


    @tcr: I have reviewed all CREATE TABLE statements and all but backup ones are secured with IF NOT EXISTS.

    Please, ensure that you really are using recent release. If you’re using some kind of php caching module, double-check it doesn’t have old Cross-Linker version in cache (can be secured by restarting apache service). Otherwise there’s a more serious bug which is not about Cross-linker.

    As regards to your error mentioned above (WordPress database error Table '#_interlinker_special_chars' already exists for query CREATE TABLE #_interlinker_special_chars ()

    There’s line 145 doing this:

    $sql = "CREATE TABLE IF NOT EXISTS ".$table_name." (

    So there’s no doubt you cannot be getting that error with latest release.

    BTW, you should login to a mysql console or at least phpMyAdmin to see statistics about queries. Not another plugin unless you know exactly what it’s doing, or if you’re author (so you know what it does too). There is NO guarantee Cross-linker executes over 400 queries during pageload, it just means there are 400+ queries in total. There could be a dependency or something else that makes Options Optimizer useless with Cross-Linker.

    Another discussion could point to Cross-Linker PRO version which can skip database usage.

    Thanks for understanding.

    Plugin Author janhvizdak


    I’m marking this as resolved as there has been no reply for a week + sql statements have been updated with latest release.

Viewing 12 replies - 1 through 12 (of 12 total)
  • The topic ‘Duplicating data’ is closed to new replies.