I needed to secure a copy of an old blog site before we started redeveloping it. I’d always assumed that in Mac Safari there was an option to not only download a page but also all the attached pages but there isn’t. I couldn’t believe it and so googled it and found that sure enough Safari doesn’t support downloading an entire site.
I was sure that someone else must have already solved this problem so I looked around the Mac App Store. I couldn’t find anything that would do this initially. Then I came across an App called Kiosk Monster. This is designed to download a website to your Mac Laptop so that you can take it to trade shows / opens days etc and run it in kiosk mode. That means that it’s secured or locked down so that people can click around the website you’ve downloaded but they can’t go to other websites or indeed start messing about with your Mac. That’s actually really useful and I’m sure I’ll use it from time to time but the added bonus is that to achieve this the app does download the entire site to your Mac.
It wasn’t obvious to start with whereabouts the app was storing the downloaded site. With a little research I discovered that for each site it downloads it creates a new directory in ~\Library\Application Support\KioskMonster so from there you can backup or copy the website to wherever you want to store it.
I highly recommend this app, at £4.99 it solved an immediate problem and I’m sure I’ll be using this a lot in the future. Click here to view it in the Mac App Store.
If you have any questions or alternative suggestions for doing this type of work do please get in touch.
Update January 2021: A free, Unix/Linux Approach to downloading a whole website
From the command line create a directory to hold the website eg
then cd mywebsite
now use this command to download the site
wget -r https://mywebsite.co.uk/
This can also be used to Download a complete website on a Mac from the command line so you can keep an offline version.
Searching the website files for a string
Once downloaded this command can be useful to search for strings across the whole downloaded site
grep -r “Freephone” .
This tells grep to search all files across all sub-directories under the current directory for the word “Freephone”
The command below, will search all the html files for the 01203 Telephone Area Code and list the file details in date last modified sequence.
grep -l “01203” -r | xargs ls -alt