Link Checker for XenForo 2.x by AddonsLab

Link Checker for XenForo 2.x by AddonsLab [Paid] 4.1.1

No permission to buy ($54.99)
AddonsLab updated Link Checker for XenForo 2.x by AddonsLab with a new update entry:

New feature: replace redirecting URLs

This versions adds the possibility for finding all URLs that redirect and replacing them with the URL to which they redirect:

View attachment 233322


Here, original_url and redirect_url are keywords, that should be used exactly the way shown above. In such case, all links will be found that have a URL, that redirects to another URL (independent of final status code of the link). This allows to replace all URLs that 30x redirect to their actual target, which...

Read the rest of this update entry...
 
Hi @AddonsLab
we need an option for 30x to remplace with the new link of the page. this option will be nice because there is no reason to remove 30x link, just correct them
The product does not show intermittent status codes for redirecting URLs, but follows the redirects and checks the final status code of the link (usually 20x for working URLs and 40x/50x for broken ones). Please check the latest release, where we made it possible to replace all URLs that redirect with their target, so this way your board will not have 30x URLs at all.

Does this add-on show counts for the number of times a link appears? That would be very useful to us on a large forum, as fixing them can be prioritized by frequency.
I am afraid that's not possible using the UI of the product. If you are familiar with MySQL, you can get such aggregated view based on data in the table xf_allm_tag by grouping the results by tag_url_id column.

Is this similar to the WordPress plugin, Broken Link Checker? https://wordpress.org/plugins/broken-link-checker/

It checks for broken links (internally and externally) and offers the option to replace broken links with new links, right?

Yes, it is. Please check the product description for more information and screenshots.

Thank you!
 
I am afraid that's not possible using the UI of the product. If you are familiar with MySQL, you can get such aggregated view based on data in the table xf_allm_tag by grouping the results by tag_url_id column.
Thanks, is it something you'd consider adding? I'm familiar with MySQL, but may as well run find and replace queries direct if I go down that route.
 
Thanks, is it something you'd consider adding? I'm familiar with MySQL, but may as well run find and replace queries direct if I go down that route.

I am afraid we don't have the time to develop another page just for showing the most common links, especially in the period when we need to support our add-ons for XenForo 2.2.x.

Doing direct find and replace queries in MySQL can be a much more dangerous operation compared to just generating a list of links based on database tables you have. For direct SQL queries you also need normalized database, you can't aggregate link information just based on raw post messages. You also can't check the HTTP status of the links via MySQL. So the product does all that and you get database tables populated with all information you need to find the most common URLs and it gives many tools, including advanced find/replace operations using regular expressions to manipulate this data safely.

Just let us know if you have any other questions regarding product's functionality.

Thank you!
 
Is it possible in this to bulk replace bbcode of dead links.

e.g. URL id replaced with[BROKEN] so that we can style it show the actual url but with a strikethrough and prefix. I think this is what the old Dead Link manager addon did and was very useful.

e.g.

Screenshot 2020-09-11 at 12.24.05.webp
 
Is it possible in this to bulk replace bbcode of dead links.

e.g. URL id replaced with[BROKEN] so that we can style it show the actual url but with a strikethrough and prefix. I think this is what the old Dead Link manager addon did and was very useful.

e.g.

View attachment 234711

Not exactly, but similar changes are possible. If you want to completely delete the link and replace it with arbitrary static BB Code, you can use the Delete tag option:

1599824119482.webp

Another option you have is leaving the link intact but changing its text:

1599824498683.webp

The preview on the bottom shows the final output, so be sure it is what you expect before proceeding.

Thank you!
 
Got a bit of an error

Code:
    ErrorException: Job XF:ApprovalQueueProcess: [E_WARNING] First parameter must either be an object or the name of an existing class src/addons/AddonsLab/ContentHandler/Traits/PostTrait.php:144

    Generated by: Unknown account Sep 11, 2020 at 6:41 PM

Stack trace

#0 [internal function]: XF::handlePhpError(2, '[E_WARNING] Fir...', '/home/caf/publi...', 144, Array)
#1 src/addons/AddonsLab/ContentHandler/Traits/PostTrait.php(144): property_exists(Array, 'user_id')
#2 src/addons/AddonsLab/LinkChecker/ModeratorLog/Tag.php(44): AddonsLab\LinkChecker\ContentHandler\PostHandler->getContentUserId()
#3 src/XF/ModeratorLog/AbstractHandler.php(67): AddonsLab\LinkChecker\ModeratorLog\Tag->setupLogEntityContent(Object(XF\Entity\ModeratorLog), Object(AddonsLab\LinkChecker\Entity\Tag))
#4 src/XF/ModeratorLog/Logger.php(149): XF\ModeratorLog\AbstractHandler->log(Object(AddonsLab\LinkChecker\Entity\Tag), 'delete_link', Array, Object(SV\ConversationEssentials\XF\Entity\User))
#5 src/XF/Logger.php(37): XF\ModeratorLog\Logger->log('allm_tag', Object(AddonsLab\LinkChecker\Entity\Tag), 'delete_link', Array, true)
#6 src/addons/AddonsLab/LinkChecker/ApprovalQueue/Tag.php(141): XF\Logger->logModeratorAction('allm_tag', Object(AddonsLab\LinkChecker\Entity\Tag), 'delete_link', Array)
#7 [internal function]: AddonsLab\LinkChecker\ApprovalQueue\Tag->actionDelete(Object(AddonsLab\LinkChecker\Entity\Tag))
#8 src/XF/ApprovalQueue/AbstractHandler.php(120): call_user_func_array(Array, Array)
#9 src/addons/AddonsLab/LinkChecker/ApprovalQueue/Tag.php(118): XF\ApprovalQueue\AbstractHandler->performAction('delete', Object(AddonsLab\LinkChecker\Entity\Tag))
#10 src/XF/Job/ApprovalQueueProcess.php(67): AddonsLab\LinkChecker\ApprovalQueue\Tag->performAction('delete', Object(AddonsLab\LinkChecker\Entity\Tag))
#11 src/XF.php(479): XF\Job\ApprovalQueueProcess->XF\Job\{closure}()
#12 src/XF/Job/ApprovalQueueProcess.php(68): XF::asVisitor(Object(SV\ConversationEssentials\XF\Entity\User), Object(Closure))
#13 src/XF/Job/Manager.php(253): XF\Job\ApprovalQueueProcess->run(G)
#14 src/XF/Job/Manager.php(195): XF\Job\Manager->runJobInternal(Array, G)
#15 src/XF/Job/Manager.php(111): XF\Job\Manager->runJobEntry(Array, G)
#16 job.php(21): XF\Job\Manager->runByIds(Array, 8)
#17 {main}

Request state

array(4) {
  ["url"] => string(8) "/job.php"
  ["referrer"] => string(41) "https://cafesaxophone.com/approval-queue/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(5) {
    ["only_ids"] => array(1) {
      [0] => string(5) "43881"
    }
    ["_xfRequestUri"] => string(16) "/approval-queue/"
    ["_xfWithData"] => string(1) "1"
    ["_xfToken"] => string(8) "********"
    ["_xfResponseType"] => string(4) "json"
  }
}

Delete
 
Still indexing...

Also I got this email:

We have detected, that your license information at CaféSaxophone Forum for add-on ID "[AddonsLab] Link Checker" is invalid.

Here is the reason why the license was considered invalid: Your license seems to be invalid. If you have moved your website to another server/domain, make sure to reissue your license and retry the installation.

The add-on will be now disabled. Please check your license key or contact the add-on provider at https://customers.addonslab.com/submitticket.php to resolve the issue.

Please re-enable the add-on and provide a correct license key to continue using the add-on.


???

Could trhis be due to my 1 (allowed) private test forum?
v3_BRvBVmLsYGxwUq4rCorRI3sZjxn2g5MMOcBEEOMKwgy2KBHwqZrOb85aG06JdEX3zkO86-Stq1AhO1nfL_K5RNe9ryn3yRb5pUsN_eKoc0-QLetucY_EtBU6FzRtcWgjhh21R_VCRa1JZpH53P_kMnCYBkioE1FybPs41TA5sOu995kDGVxs58KaHWNpRSH6SPhuPnoAAuZMftqssIf4--CgayL6QD9nDfYagLU0dGzfZ3aI51dODHSqtEKV-dLwHTzY_oIEaDNheohYw90bxLsIc1gx1iVl6_s8YYmQJGJV_owqzf8UnazmtUIKskWe9klDbPh9u7-p49Sc3N7YbKHUV8u_IqWlIkUZd57Ljdcmfat_dcN-dNqj-Ov5RbBKI8qcetzXE5uPVa7Kjku1QTnEWeIcTfAXri7jyUjrkgH8IwXuym-GAP6ALP2DpBTE73ZBJUIQfeZCSlpLOPuhoM-GNE3WkoetAPml_3tvLBg
 
Still indexing...

Also I got this email:

We have detected, that your license information at CaféSaxophone Forum for add-on ID "[AddonsLab] Link Checker" is invalid.

Here is the reason why the license was considered invalid: Your license seems to be invalid. If you have moved your website to another server/domain, make sure to reissue your license and retry the installation.

The add-on will be now disabled. Please check your license key or contact the add-on provider at https://customers.addonslab.com/submitticket.php to resolve the issue.

Please re-enable the add-on and provide a correct license key to continue using the add-on.


???

Could trhis be due to my 1 (allowed) private test forum?
v3_BRvBVmLsYGxwUq4rCorRI3sZjxn2g5MMOcBEEOMKwgy2KBHwqZrOb85aG06JdEX3zkO86-Stq1AhO1nfL_K5RNe9ryn3yRb5pUsN_eKoc0-QLetucY_EtBU6FzRtcWgjhh21R_VCRa1JZpH53P_kMnCYBkioE1FybPs41TA5sOu995kDGVxs58KaHWNpRSH6SPhuPnoAAuZMftqssIf4--CgayL6QD9nDfYagLU0dGzfZ3aI51dODHSqtEKV-dLwHTzY_oIEaDNheohYw90bxLsIc1gx1iVl6_s8YYmQJGJV_owqzf8UnazmtUIKskWe9klDbPh9u7-p49Sc3N7YbKHUV8u_IqWlIkUZd57Ljdcmfat_dcN-dNqj-Ov5RbBKI8qcetzXE5uPVa7Kjku1QTnEWeIcTfAXri7jyUjrkgH8IwXuym-GAP6ALP2DpBTE73ZBJUIQfeZCSlpLOPuhoM-GNE3WkoetAPml_3tvLBg

Please login to your account and check the license details. The add-on is licensed for one domain, and I guess that's enough for you to test the add-on and see how it functions on your private board. Once you purchase a license, we will add a second domain to your license, to run the product on production and test boards.

Click the Reissue button there and you can activate the add-on on your private board again. After activation check product settings and make sure valid license information is shown there.

Thank you!
 
OK that is done (it had not disabled on the live forum so i will do the trial there) however two days later it is still indexing. is that normal for a smallish forum?

Threads 24,548 Messages 421,090

The execution of background tasks will be delayed due to the current server load - 1.15 (configured limit: 1.0).

Do I change the limit or what?

Thanks
 
OK that is done (it had not disabled on the live forum so i will do the trial there) however two days later it is still indexing. is that normal for a smallish forum?

Threads 24,548 Messages 421,090

The execution of background tasks will be delayed due to the current server load - 1.15 (configured limit: 1.0).

Do I change the limit or what?

Thanks

Yes, you need to raise server load limit from product's settings page. Independent of size of forum, the product has this limitation enabled by default in the settings, as checking link status can be resource-intensive process, and could overload the server. Raise the limit to 2.0 and the indexation will continue.
 
Yes, you need to raise server load limit from product's settings page. Independent of size of forum, the product has this limitation enabled by default in the settings, as checking link status can be resource-intensive process, and could overload the server. Raise the limit to 2.0 and the indexation will continue.
Done

But it now says:

The execution of background tasks will be delayed due to the current server load - 2.31 (configured limit: 2.0).

EDIT: upped it to 3, all going ahead OK.
 
Last edited:
Done

But it now says:

The execution of background tasks will be delayed due to the current server load - 2.31 (configured limit: 2.0).

EDIT: upped it to 3, all going ahead OK.

Sure, you can set it to any number, just any load above 1 indicates the processes already sometimes get stuck and wait for the processor to finish another task. If your site functions properly, no performance issues, feel free to increase the load limit.
 
Couple of questions:

1 Seems to be moderated links in approval queue only have the option to delete. Shouldn't they also have an option to replace with text? If they are just deleted we are merlely left with a gap in the text of the message where the link was.

2 What does this mean (especially in the context of a 7 day trial)

There are 1388 delayed links to check. The last one will be checked on Oct 28, 2020 at 7:40 PM (time now: Sep 13, 2020 at 4:55 PM).

3 Why a tick not a cross next to actual dead links?


Screenshot 2020-09-13 at 16.17.00.webp

Thanks!
 
1 Seems to be moderated links in approval queue only have the option to delete. Shouldn't they also have an option to replace with text? If they are just deleted we are merlely left with a gap in the text of the message where the link was.

You have selection for the content type and tag type (URL, Image, Attachment). Selecting any of it will activate type-specific search and replace controls.

There are 1388 delayed links to check. The last one will be checked on Oct 28, 2020 at 7:40 PM (time now: Sep 13, 2020 at 4:55 PM).

Some servers reply back with a header, that means "Check back later". Link checker schedules another check after some time for these links.

Trial period is meant for you to test the functionality of the add-on and confirm that it works for you in general, I don't think the fact that some links have to be re-checked later anyhow affects customer's conclusion if the add-on is useful for them or no.

3 Why a tick not a cross next to actual dead links?

Link checker does not guarantee the links "actually work" or they are "actually broken". All we can do is using the information the server returns, and if a server returns 200 OK status for a broken link, we have no way to know that it is actually broken. You can find more information in our FAQ section.

Thank you!
 
You have selection for the content type and tag type (URL, Image, Attachment). Selecting any of it will activate type-specific search and replace controls.

The only filters I have are any or allm_tag

(EDIT: screenshot using default style)


Screenshot 2020-09-14 at 10.58.05.webp
 
Last edited:
AddonsLab updated Link Checker for XenForo 2.x by AddonsLab with a new update entry:

Bug-fix: PHP Error - First parameter must either be an object or the name of an existing class

This release fixes a PHP error:

ErrorException: Job XF:ApprovalQueueProcess: [E_WARNING] First parameter must either be an object or the name of an existing class src/addons/AddonsLab/ContentHandler/Traits/PostTrait.php:144

The new version is available for all licensed customers at

Thank you!

Read the rest of this update entry...
 
Now I don't know how to get back my forum as I just get this: (unless I restore to backup but that was hours ago (I know I should have backed up before udating the addon)



Code:
An exception occurred: [XF\PrintableException] Php IonCube extension is not installed. The trial version of the add-on requires this extension and minimum PHP 5.6 version to run. Full version does not have such requirement and will run without IonCube. in src/addons/AddonsLab/LinkChecker/license-no-ioncube.php on line 7

    include() in src/addons/AddonsLab/LinkChecker/Listener/TemplaterTemplatePreRender.php at line 15
    include() in src/vendor/composer/ClassLoader.php at line 444
    Composer\Autoload\includeFile() in src/vendor/composer/ClassLoader.php at line 322
    Composer\Autoload\ClassLoader->loadClass()
    spl_autoload_call()
    is_callable() in src/XF/Extension.php at line 33
    XF\Extension->fire() in src/XF/App.php at line 2660
    XF\App->fire() in src/XF/Template/Templater.php at line 1297
    XF\Template\Templater->renderTemplate() in src/XF/Template/Template.php at line 24
    XF\Template\Template->render() in src/XF/Mvc/Renderer/Html.php at line 48
    XF\Mvc\Renderer\Html->renderView() in src/XF/Mvc/Renderer/Html.php at line 38
    XF\Mvc\Renderer\Html->renderErrors() in src/XF/Mvc/Dispatcher.php at line 427
    XF\Mvc\Dispatcher->renderReply() in src/XF/Mvc/Dispatcher.php at line 400
    XF\Mvc\Dispatcher->render() in src/XF/Mvc/Dispatcher.php at line 58
    XF\Mvc\Dispatcher->run() in src/XF/App.php at line 2190
    XF\App->run() in src/XF.php at line 391
    XF::runApp() in admin.php at line 13
 
Last edited:
Back
Top Bottom