Updates

SiteHaul updates itself, so you get these automatically. Newest first.

Sites that hijack scrolling now capture properly

Version 1.3.0

Some sites do not really scroll. They hold the page still and slide the content past you. Those came back almost entirely black, and SiteHaul now captures them.

Fixed

  • Sites built with a smooth-scrolling script (Locomotive, Lenis and similar) came back as a black page with a strip of content. Those sites keep the page one screen tall and move the content behind it, so an ordinary full-page screenshot photographs the empty space rather than the site. SiteHaul now recognises them and captures a screen at a time as it moves the page, then joins the results into one image.
  • Newsletter popups that would not close are closed. Some of them, including Klaviyo's, use a close button with nothing on it to identify it, so it was being missed and the popup sat over the page and blocked scrolling for the whole capture.

Worth knowing

  • These sites are the hardest thing to screenshot on the web, and browser extensions cannot capture them at all. Expect them to take longer than a normal page, because the only way to do it is to move through the site and photograph it as you go.
  • Everything else captures exactly as before. The slower path is only used on pages that need it.

Capture any list of URLs, and pages behind a password

Version 1.2.0

A sitemap is not the only way to say what you want. You can now paste the URLs instead, and open pages that are protected by a single password.

New

  • Capture a list of URLs instead, under Advanced. Paste them one per line and SiteHaul skips the sitemap entirely. This is the answer for a page deliberately kept out of the sitemap, for a site that has no sitemap at all, and for the times you want four specific pages rather than to untick eighty.
  • Page password, also under Advanced. For a page protected by one password and no username, like WordPress's built-in page protection. It is only tried on pages that turn out to be gated, it is never saved, and it is never written into your run folder. A password that gets rejected is reported as exactly that, rather than as a page that happens to be locked.
  • A pasted list can span several sites, which makes 'grab the pricing page of ten competitors' one run. Those runs are named by site rather than by whichever URL was first, and every filename leads with its host so you can tell whose is whose.

Fixed

  • Images that had loaded could still come out as blank rectangles, most often the largest photo on a long page. A downloaded image is not necessarily a drawn one, and SiteHaul now waits for each one to be ready to paint rather than merely arrived. It also waits longer for big images: one real photo took six seconds by itself and was losing a race with the old limit.

Improved

  • The Advanced options are stacked rather than in a row, so opening one no longer shifts the others around under your cursor.

The free plan is now 50 pages a month

Version 1.1.0

Plus two fixes for captures that came back wrong: very tall pages, and chat widgets sitting over every page of a site.

Changed

  • The free plan is 50 captured pages a month, down from 200. At 200 most people never reached the limit, so the free plan was not really a trial of the paid one. Nothing else about it changes: no account, no card, and the URL list export stays free. The lifetime license is still $49 once, for unlimited pages.
  • If you are part-way through a month when you update, that month keeps the old limit. The new one starts with your next calendar month, so nothing you have already captured counts against it.

Fixed

  • Very tall pages were saved as a single screenful instead of the whole page. Anything over 20,000 pixels was affected, which in practice means long blog indexes and archive pages at the mobile size, and the run reported those pages as saved.
  • Chat bubbles are cleared from captures now even when a site has built its own instead of using a well-known one. A chat widget sits in the corner of every page, so a single one could turn up in an entire run.

Busy sites no longer turn into broken captures

Version 1.0.9

Some sites limit how fast anyone can request pages. SiteHaul now slows down and waits when that happens, instead of saving the error page the site sends back.

Fixed

  • When a site asks SiteHaul to slow down, it now waits and tries the page again. Previously it carried straight on, which meant one busy moment could spoil the rest of the run.
  • If a page still can't be captured, it is skipped and listed as skipped, rather than saved as a screenshot of the site's error message. Those pages no longer count towards your free monthly pages either.

Improved

  • Pages are requested a little more gently, which stops most sites limiting you in the first place. A large site takes a couple of seconds longer to capture, and is far more likely to come back complete.
  • The capture log now tells you when SiteHaul is waiting and why, and the summary spells out how many pages were skipped and what to do about it.

Popups and chat widgets get cleared

Version 1.0.7 and 1.0.8

SiteHaul now clears the things that sit on top of a page, so your captures come back showing the actual site.

Improved

  • Newsletter and signup popups are closed before the screenshot is taken, including ones that appear late, after the page has finished loading and scrolling. A single popup could otherwise sit over every page in a run, at both sizes.
  • Live chat widgets are hidden too. A chat bubble sits in the corner of every page of a site, so one widget could turn up in every capture you took.

Fixed

  • Fixes to how the app starts up, and to the browser it uses to capture pages.

Tall pages now fit Figma

Version 1.0.6

Long pages used to arrive in Figma soft and shrunken. They can now be split so every part lands at full size.

New

  • Split tall pages for Figma, a new option next to the cookie banner setting. Figma will not take an image taller than 4096 pixels and shrinks the whole page to fit, which is why long pages landed blurry. With this ticked, pages over that height are saved as numbered parts instead, each at full size and full width.
  • Only the pages that are actually too tall get split, so everything else keeps its usual single file and name.

Back to one window, and clearer error messages

Version 1.0.5

A polish release. SiteHaul is back to running in a single window throughout a capture, and error messages now show up clearly, right where you're looking, instead of a faint grey line easy to miss.

Fixed

  • Leaving a running capture and coming back to it could sometimes open a second window with its own separate page count. SiteHaul now runs in a single window throughout, start to finish.

Improved

  • A failed sitemap lookup or hitting your free-page limit now shows a clear message right under the field you used, with a real Upgrade button when that's the fix.
  • The 'No sitemap found' message now says what SiteHaul checked and shows what a sitemap URL looks like, instead of assuming you already know one.
  • The logo in the header now takes you back to the start screen from anywhere in the app, including the licenses page.

SiteHaul is on sale, and licensing moved to Polar

Version 1.0.4

You can buy SiteHaul now. Licensing runs on Polar, which we picked over the alternative for one reason that matters after you've paid: you can manage your own license keys and devices without emailing anyone.

New

  • Buy a lifetime license: $49 once, unlimited pages, no subscription. The free 200 pages a month stay exactly as they were.
  • Your license activates up to 3 Macs, and you can free one up yourself from the Polar customer portal when you replace a machine or reinstall.
  • Lost your key? You can replace it yourself, rather than waiting on us to dig it out.

Why Polar

  • The obvious failure of device-limited licensing is getting locked out of software you paid for: replace a Mac, reinstall a couple of times, and the activations are gone, with no way to fix it except an email and a wait.
  • Polar lets you deactivate a Mac and reissue a key yourself, so that never happens. That was worth more to us than any other difference between the options.
  • Polar is the merchant of record, so they handle billing and sales tax properly wherever you are. Nothing about how SiteHaul works changed: activation still happens once, then the app trusts your Mac and keeps working offline.

Captures get their own window

Version 1.0.3

A polish release. A capture now runs in its own window instead of taking over the app, every run folder carries its own URL inventory, and SiteHaul asks your Mac for less than it used to.

New

  • Captures run in their own window. Starting a run no longer takes the app over, so you can line up another one or look through past runs while it works.
  • Every run folder now gets a urls.md: the full list of discovered URLs, grouped by type. It is the record of the site and the starting point for a redirect map, so you no longer have to remember to export it.
  • An About panel and a proper app menu, including Check for Updates.
  • Recent runs open their gallery when you click the row.

Improved

  • Redesigned start screen. The capture panel is the centrepiece, the options are grouped, and the free plan counter is a quiet line in the header instead of a card.
  • The app icon, the in-app mark and the favicon are finally the same artwork.
  • Buttons and inputs now use the system font. They were quietly falling back to the browser default.
  • Better layout when the window is narrow.

Asking for less

  • SiteHaul no longer asks for access to your Downloads folder. That prompt came from a small convenience feature that offered to bin the installer for you, and it was not worth the alarm on first launch.
  • Removed the camera, microphone and Bluetooth declarations that Electron adds to every app by default. SiteHaul has never used any of them and should not claim otherwise.

Screenshot everything in one click

Version 1.0.2

Capture a whole site without picking pages, choose where your captures are saved, and a security pass over the whole app.

New

  • Screenshot everything: skip the page picker and capture the entire sitemap in one click.
  • Choose where captures are saved. Your license and free plan count now live separately from the captures folder, so moving or deleting that folder can never cost you your license.
  • Every run writes a capture-log.txt you can read yourself. It stays on your machine and is never uploaded.
  • The open-source licenses SiteHaul is built on are now listed in the app.

Changed

  • Page copy export to Markdown is now part of the lifetime license. The URL list export stays free.

Hardening

  • The local capture engine now listens only on your own machine rather than on the network.
  • Text taken from a target site is escaped before it is shown, and compressed sitemaps are size capped, so a hostile site cannot misbehave through the app.
  • A content security policy on the app's own interface.

SiteHaul is here

Version 1.0.1

The first public release. Point SiteHaul at a website and it reads the sitemap, captures every page at desktop and mobile sizes, and hands you a tidy, predictably named folder you control.

In the box

  • Full-page screenshots of every page in a sitemap, at desktop 1440 and mobile 390.
  • A contact-sheet gallery, a ZIP export, and a URL list export.
  • Handles the messy web: cookie banners are clicked rather than hidden, lazy images are forced to load, animations are frozen, and login walls are flagged instead of screenshotted.
  • Signed and notarized by Apple, and it updates itself from here on.