uclibs / ucrate

Scholar@UC: University of Cincinnati's self-submission institutional repository
https://scholar.uc.edu
Other
5 stars 3 forks source link

Implement Link Checker in code or dev environment #1125

Open scherztc opened 7 months ago

scherztc commented 7 months ago

Descriptive summary

Here's a list of open source: https://medevel.com/os-broken-link-checkers-to-improve-your-seo/

Siteinspector https://github.com/siteinspector/siteinspector

LinkThumbnailer: This gem is primarily used for generating thumbnails from URLs, but it can also be utilized to verify if URLs are accessible or broken.

W3C Validators: Although primarily used for validating HTML, CSS, and feed formats, the W3C validator can also be used to check for broken links in a document. You can integrate this with your Rails application by using gems like w3c_validators. https://github.com/w3c-validators/w3c_validators

Typhoeus and Nokogiri: You can create a custom link checker using Typhoeus (for making HTTP requests) and Nokogiri (for parsing HTML). This combination is powerful for crawling your site and checking each link.

broken_link_finder: This is a Ruby gem that can find broken hyperlinks in websites. It's easy to integrate into a Ruby on Rails application for checking both internal and external links. https://github.com/michaeltelford/broken_link_finder

Custom Rake Tasks: You can write custom Rake tasks that crawl your site and check for broken links. This approach provides flexibility, allowing you to tailor the checking process to your specific needs.

link-checker-api: This is a standalone web service for checking links. It's designed to asynchronously check multiple links and can be integrated into a Ruby on Rails application via API https://github.com/alphagov/link-checker-api/blob/main/docs/api.md

Online Services: There are also online services like Broken Link Checker, Dead Link Checker, and others, which you can use outside of your application to check for broken links. These services often provide APIs, which you can use to automate the process from within your Rails application.

Expected behavior

Actual behavior

Steps to reproduce the behavior

  1. Do this
  2. Then do this...

Related work

Link to related issues or prior related work here.