Link checker for all active courses

Jeff_F
Community Coach
Community Coach

Hello - For a few years I've entertained an idea to create a link check process that checks and rechecks (and rechecks) links used in courses before and during the term, perhaps every xx (6?) weeks. The goal being to improve the student and instructor experience and reduce student emails to the instructor, support, etc. The thinking is if we detect the issue before the students get to a module, then we can fix the issue (bad link)  before they are needed. Or at least that is the ambition.

Our current preterm process for checking links involves the built-in link checker within each course. We are using Power Automate's robot process automation feature to loop through a list of 300 to 800 courses, depending on the term, to open each course in sequence and to press the Link Validation button with the course Settings page. Our student assistants then manually view the results, rechecking reported broken links and taking notes of verified broken links and we then notify our course designers of the need for a new link or change to the page/ assignment/ whatever. This process can take a day or more to process, depending on the term and number of courses. 

After term start we do not recheck links in the active courses and I have received a report of there being 'too many' broken links reported during a term.  So I am thinking of a new way. For example, use Canvas Data to extract the HTML from all pages, assignments, discussion prompts, and quiz instructions. Then apply code such as a regular expression to extract all external urls, sort and remove duplicates, then use a link checker tool to identify if any links are broken. Share that list with our student assistants to verify, and then if there are any, to list all the courses/ pages/ assignments/ wherever the broken link resides.

Does anyone have experience doing anything like this? I.e. creating a global link checker. All ideas or suggestions on how to make this better/ faster/ stronger are welcome!

Best, Jeff