The Instructure Community will enter a read-only state on November 22, 2025 as we prepare to migrate to our new Community platform in early December. Read our blog post for more info about this change.
Found this content helpful? Log in or sign up to leave a like!
Is there any way to reformat multiple pages in a Canvas Course or does that need to be done individually?
Solved! Go to Solution.
James ( @james_whalley ) is on-track by saying we're not sure what you mean by reformat. It presumably means editing the page, making some change, and then saving the page. It's that middle step we're unsure of.
I'm going to assume that you're not using some templating system. If you were, it might have the capability to make global changes.
Canvas does not have any built-in bulk editing tools for pages. Canvas does not have any built-in bulk editing tools for a lot of things. For a long time, people used a Google Spreadsheet I wrote to bulk edit the due dates, but Canvas finally added their own solution for that.
To do any kind of bulk editing of pages, you would need to use the Pages REST API.
With a script (pick your favorite programming language), you can obtain a list of all the pages, filter them if necessary to just those you want to update, download each page, edit the page, and then update the page if it has changed.
For example, I have a weekly resource page for my statistics course that I update each week. Each semester, I run a script that downloads the page that was copied from the previous term and edits it. It changes the dates in the heading to match the current semester and adds a footer at the bottom of the page with links and other tools. I can also run this at any point during the semester if those tools or links change and it will update them.
I have another script that downloads every page and assignment in the course and looks for dates that fall outside the current semester. It's too easy for me to miss a "The discussion is open through Friday, November 3" when the semester runs from January through May. Or I have text that says "Open the IRC Data (FA23) Spreadsheet" but it should be SP24. That script doesn't automatically change things, but it alerts me to which things need changed.
Hello @MattMiddleton,
Can you describe what you mean by reformatting pages? There is currently not tons that can be done to pages en masse via the user interface, but I would like to look into this further for you.
Regards,
James
James ( @james_whalley ) is on-track by saying we're not sure what you mean by reformat. It presumably means editing the page, making some change, and then saving the page. It's that middle step we're unsure of.
I'm going to assume that you're not using some templating system. If you were, it might have the capability to make global changes.
Canvas does not have any built-in bulk editing tools for pages. Canvas does not have any built-in bulk editing tools for a lot of things. For a long time, people used a Google Spreadsheet I wrote to bulk edit the due dates, but Canvas finally added their own solution for that.
To do any kind of bulk editing of pages, you would need to use the Pages REST API.
With a script (pick your favorite programming language), you can obtain a list of all the pages, filter them if necessary to just those you want to update, download each page, edit the page, and then update the page if it has changed.
For example, I have a weekly resource page for my statistics course that I update each week. Each semester, I run a script that downloads the page that was copied from the previous term and edits it. It changes the dates in the heading to match the current semester and adds a footer at the bottom of the page with links and other tools. I can also run this at any point during the semester if those tools or links change and it will update them.
I have another script that downloads every page and assignment in the course and looks for dates that fall outside the current semester. It's too easy for me to miss a "The discussion is open through Friday, November 3" when the semester runs from January through May. Or I have text that says "Open the IRC Data (FA23) Spreadsheet" but it should be SP24. That script doesn't automatically change things, but it alerts me to which things need changed.
What I mean is I have Pages for daily agenda items and links to assignments and I have them organized/formatted in a certain way. I was wondering/hoping there was something within Canvas I was unaware of that would universally change the format for those pages if ticked/checked. Sounds like that's not a thing within Canvas, correct?
Thanks!
@matt before we implemented an enterprise level bespoke assignment solution, we persuaded out ITS team to download all 2000 relevant assignments content by using an API call. This could equally be done with pages.
We then hoiked the html code into Excel (theres a 32k cell character limit so we had to split it across fields).
We used a combination of IF THEN and FIND/REPLACE to update dates and formatting, and then returned the content to the ITS team to upload back into Canvas.
For smaller batches we would wrangle the code in a spreadsheet then copy paste it back to the target Canvas Assignment (I think we did the same thing with home pages).
Hello @MattMiddleton,
Within Canvas, yes, you are correct; there is no way to bulk change Canvas Pages.
As @paul_fynn and @James have pointed out, there are ways to do this outside of the user interface via APIs, but these are more complex solutions.
Regards,
James
Community helpTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign inTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign in