Support » Plugin: Yoast SEO » Update 14.1 with problems

  • Resolved magaworks

    (@magaworks)


    It is a Staging site. And I got the following error after updating the plugin:
    “DeleteDuplicateIndexables – Error executing ‘query’ with: DELETE wyi FROM wp_yoast_indexable wyi INNER JOIN wp_yoast_indexable wyi2 WHERE wyi2.object_id = wyi.object_id AND wyi2.object_type = wyi.object_type AND wyi2.id < wyi.id; Reason: Lock wait timeout exceeded; try restarting transaction”

    I am on Siteground so I do not believe there is any problem with permissions. “Lock wait timeout exceeded;” means I need to change which PHP variable?

    And then the final sentence “try restarting transaction”. Where can I restart it?

    Can you help me figure out What to do next?

Viewing 9 replies - 16 through 24 (of 24 total)
  • valeriovych

    (@valeriovych)

    Thank. I wrote not about the problem, but about its solution. The problem is solved, and all the people who come to this topic from a Google search (like me) can read the solution to the problem. It is necessary to TRUNCATE TABLE wp_yoast_indexable.

    Thanks for your great help.

    flora95

    (@flora95)

    I am having the same issues. The exact error is as follows:

    DeleteDuplicateIndexables - Error executing 'query' with: DELETE wyi FROM wp_yoast_indexable wyi INNER JOIN wp_yoast_indexable wyi2 WHERE wyi2.object_id = wyi.object_id AND wyi2.object_type = wyi.object_type AND wyi2.id < wyi.id; Reason: Lock wait timeout exceeded; try restarting transaction

    Our host has confirmed that the user has all of the correct permissions and has adjusted the wait_timeout from 30 to 120 seconds in MySQL configuration.

    This is severely impacting our website, is there an update with a fix to this issue?

    Thank you.

    • This reply was modified 5 months ago by flora95.
    • This reply was modified 5 months ago by flora95.
    Plugin Support Carl B

    (@devnihil)

    @flora95 The DeleteDuplicateIndexables error occurs when Yoast SEO plugin cannot complete the relevant MySQL query to remove the duplicate indexables objects from database and as such, it throws the relevant error.

    Can you please try the steps below and let us know if the problem resolves?

      
1) Install the Yoast Test Helper plugin

      2) Go to the Tools → Yoast Test → Yoast SEO and click on the “Reset indexables tables & migrations” button

      3) Go to SEO → Tools and run the “Start processing and speed up your site now” function again.

    For sites with more than 10,000 posts, instead of step 3) above, we’d advise using the WP CLI command to do the indexation on the server. You can read more about this here: https://yoa.st/wp-cli-index

    Can you please let us know if this resolves the problems?

    @devnihil we already tried the steps you suggested but your wp_yoast_indexable table is so large that we got a 504 Gateway Timeout.

    We have also removed the following indexables feature related tables:

    wp_yoast_indexable
    wp_yoast_indexable_hierarchy
    wp_yoast_migrations
    wp_yoast_primary_term

    and then reset the tables using WP-CLI command as your support suggested. The updated error is as follows:

    WpYoastIndexable – Error executing ‘query’ with: CREATE TABLEwp_yoast_indexable(idint(11) UNSIGNED auto_increment NOT NULL,permalinkmediumtext,permalink_hashvarchar(191),object_idint(11) UNSIGNED,object_typevarchar(32) NOT NULL,object_sub_typevarchar(32),author_idint(11) UNSIGNED,post_parentint(11) UNSIGNED,titlevarchar(191),descriptiontext,breadcrumb_titlevarchar(191),post_statusvarchar(191),is_publictinyint(1),is_protectedtinyint(1) DEFAULT ‘0’,has_public_poststinyint(1),number_of_pagesint(11) UNSIGNED,canonicalmediumtext,primary_focus_keywordvarchar(191),primary_focus_keyword_scoreint(3),readability_scoreint(3),is_cornerstonetinyint(1) DEFAULT ‘0’,is_robots_noindextinyint(1) DEFAULT ‘0’,is_robots_nofollowtinyint(1) DEFAULT ‘0’,is_robots_noarchivetinyint(1) DEFAULT ‘0’,is_robots_noimageindextinyint(1) DEFAULT ‘0’,is_robots_nosnippettinyint(1) DEFAULT ‘0’,twitter_titlevarchar(191),twitter_imagemediumtext,twitter_descriptionmediumtext,twitter_image_idvarchar(191),twitter_image_sourcevarchar(191),open_graph_titlevarchar(191),open_graph_descriptionmediumtext,open_graph_imagemediumtext,open_graph_image_idvarchar(191),open_graph_image_sourcevarchar(191),open_graph_image_metatext,link_countint(11),incoming_link_countint(11),prominent_words_versionint(11) UNSIGNED, PRIMARY KEY (id)) DEFAULT CHARSET=utf8; Reason: Table ‘wp_yoast_indexable’ already exists

    there is something inconsistent with your plugin, would be nice to get a plugin update here soon so that this is fixed…

    • This reply was modified 4 months, 3 weeks ago by flora95.
    Plugin Support Pcosta88

    (@pcosta88)

    @magaworks

    As the reset feature times out, the next step would be to manually reset the indexables tables. If you are not familiar with editing the database, please ask your web host to assist. For the health and safety of your site, we recommend creating regular backups of your site and database. This is especially important before editing the database directly. Learn more about the benefits of regular backups: https://wordpress.org/support/article/wordpress-backups/. Your host provider can help create a backup if needed.

    Please empty or remove the following indexables feature related tables:
    wp_yoast_indexable
    wp_yoast_indexable_hierarchy
    wp_yoast_migrations
    wp_yoast_primary_term

    After resetting the tables, you have a few options to run the SEO data migration:

    Use the WP-CLI commands: This requires access to your server through a terminal service. Your web host may be able to help. This guide explains more about it: https://developer.yoast.com/customization/yoast-seo/indexables-cli/.

    Use the Health Check & Troubleshooting plugin: https://wordpress.org/plugins/health-check/: With this plugin, you can temporarily disable all plugins and switch to a default theme. In the default environment, activate only Yoast SEO Premium and run the SEO data migration. Activate one plugin (or your theme) at a time and run the SEO data migration for the newly enabled content. This allows you to process content in sections.

    You can safely ignore the request to run the indexables feature. The plugin will automatically process the content in the background as content is added, modified, removed or viewed. Over time, the remaining items will be lowered. Periodically you can check the process under Admin > SEO > Tools

    Plugin Support Pcosta88

    (@pcosta88)

    @flora95

    How big is your site? Is it a couple hundred post/pages etc or is like 10s of thousands?

    @pcosta88 we have about 1000 posts/pages.

    The wp_yoast_indexable table had 107.3 MiB. The size caused the timeout.

    Plugin Support Pcosta88

    (@pcosta88)

    @flora95

    Are you a Yoast SEO Premium member? If so, it appears that we have forwarded your ticketed in our premium helpdesk to our technical team to review.

    If that is correct, we’d like to move our conversation with you to that ticket in our helpdesk system as it seems likely will need additional information.

    Plugin Support Michael Tina

    (@mikes41720)

    Closing this topic to keep the forum overview.

Viewing 9 replies - 16 through 24 (of 24 total)
  • You must be logged in to reply to this topic.