• Resolved PediatricSafety

    (@pediatricsafety)


    We just recently started using broken link checker, however our site is > 8 years old and we’re continuously finding broken links in our old posts.

    After running BLC, we have 364 broken links, but all are related to comments. The good news is those will be easy to address. Bad news is it’s not locating any broken links in posts or pages. I don’t expect we’ll find many in pages, however the posts is what’s surprising me.

    I checked the settings and it’s set to check posts, so I’m wondering if we missed something else somewhere in the setup. We told it to check published posts, etc.

    If you can think of something we might have missed, please let me know. We could really use BLC’s help finding all our broken links.

    Thanks very much!
    Stefanie

Viewing 2 replies - 1 through 2 (of 2 total)
  • Similar issue here – it scans and finds all links, then only checks comments and pages for broken links but not the posts. I know for sure there are a ton of broken links in the posts (approx ~3k out of 100k links are broken).

    All links are listed in the ALL tab, and if I click RECHECK it will check the individual link but not add it to the broken list if it is found broken. I also noticed that it does not recheck if I do a bulk selection.

    Tested with all other plugins deactivated, on production, staging, and now localhost – all have the same issue.

    Here’s how I fixed it:

    – uncheck ‘Comments’ on the ‘Look For Links In’-tab, under ‘Broken Link Checker Options’ (via the ‘Installed Plugins’-page)
    – deactivate and then re-activate the plugin
    – on your server, find this file: domain_com.php.error.log
    – download and open it (in a regular text-editor, like Notepad or Wordpad)
    – scroll to the bottom and check if you find this error:

    “[] WordPress database error Illegal mix of collations (utf8mb4_unicode_520_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation ‘=’ for query INSERT INTO wp_blc_synch(container_id, container_type, synched)
    SELECT posts.id, posts.post_type, 0 FROM wp_posts AS posts LEFT JOIN wp_blc_synch AS synch ON (synch.container_id = posts.ID and synch.container_type=posts.post_type) WHERE posts.post_status IN (‘publish’, ‘future’, ‘draft’) AND posts.post_type IN (‘page’, ‘post’, ‘feedback’, ‘iwp-log’, ‘tablepress_table’) AND synch.container_id IS NULL made by activate_plugin, do_action(‘activate_broken-link-checker/broken-link-checker.php’), WP_Hook->do_action, WP_Hook->apply_filters, blc_activation_hook, require(‘/plugins/broken-link-checker/includes/activation.php’), blcModuleManager->plugin_activated, blcModule->plugin_activated, blcContainerManager->activated, blcAnyPostContainerManager->resynch, blcPostTypeOverlord->resynch”

    The error itself is: “Illegal mix of collations (utf8mb4_unicode_520_ci,IMPLICIT)

    Which you can fix yourself:
    – open your database in PhpMyAdmin
    – export the DB (just in case; better yet, repair and optimize it first)
    – on the SQL-tab, execute this query:
    (paste and click ‘GO’)

    ALTER TABLE wp_blc_synch CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

    * make sure you get the table-name/prefix right – the above ‘wp_’ is the generic one!

    This changes the char-set of the table and the plugin starts working.

    • This reply was modified 6 years, 2 months ago by trois.
    • This reply was modified 6 years, 2 months ago by trois.
Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Only finding broken links in comments, nothing in posts or pages’ is closed to new replies.