Zoompf's Web Performance Blog

Note: Archived Content

This is the archived version of the Zoompf blog. Since our acquisition by Rigor, all our new research and posts on web performance are being published on The Rigor Blog

New Zoompf Features: CasperJS Support, Bulk Scans, and More!

 Billy Hoffman on November 22, 2013. Category: Internal Development

We’ve been publishing a lot on our blog recently. We even published a great post on improving conversions via front-end website optimization over on Moz.com this week. But that’s not all we’ve been working on. At Zoompf, we’ve also been crazy productive, writing code long into the night, continuing to make Zoompf the best front-end performance testing tool there is. I am happy to announce our November 2013 release which has 4 big new features.

Performance Scans with CasperJS Scripts

I’m incredibly excited about this first feature: Zoompf now supports using CasperJS scripts to drive performance auditing!

CasperJS is a JavaScript framework to automate functional testing. It allows you to test rich, multi-step actions or application flows on your website. This makes CasperJS perfect for testing things like registering for an account, adding items to a shopping cart, or walking through the checkout process. All the tests are written in JavaScript and personally I think learning CasperJS is a much easier process with a lower learning curve than other browser automation suites like Selenium.

Why should do be doing automated tests? Automated tests like CasperJS allow organizations to automate most functional testing. This in turn accelerates who quick new features can be tested and deployed, and makes possible DevOps trends like Continual Deployment. And now, you can use those same CasperJS scripts to test your website for performance issue as well.

To start, select the “Scan with Automated Script” option, as shown below:


CasperJS Automated Script


Next, add a name for your scan, copy your CasperJS script into the form, and click the “Scan” button.


Adding a CasperJS Script


Zoompf will execute your CasperJS script and audit all the the web content the script accesses for performance issues.


Auditing Script


Now you can audit entire sections, processes, or funnels on your website to find performance problems. This feature is amazing for anyone wanting to test the complex areas or flows of their site for performance issues.

Bulk Webpage Scanning

Zoompf has always had the ability to scan a single page and its resources, or crawl an entire site. However, some of our customers had a different use case. They wanted to provide Zoompf a list of URLs of specific pages to test. For example, one company wanted to test all of their landing pages for a marketing campaign in a single scan.

Zoompf could do scans like this, but it was a little tricky and involved changing some settings. To help our customers, Mark wrote a great blog post last month about to configure Zoompf to audit multiple pages. It’s proven to be such a popular way to use Zoompf, we’ve created an easier way to do this.

Now, Zoompf has a new scan option: Bulk Webpage Scans.


Bulk Scan Option


Using Bulk Webpage Scans, you can provide Zoompf a list, and we will audit all of the pages. The results are all rolled up into a single scan that you can review or generate reports. If you have common sets of pages that you’d like to audit all together, this is the feature you’ve been looking for!

Creating Monitor Jobs from Scans

Zoompf’s ability to continually audit your website for performance issues is one of our most valuable features. This way, we can detect specific performance regressions with your site as soon as they appear. We can also defect when new content was added that is not fully optimized. Zoompf can immediately email you, telling you not only that your website now has a performance issue, what exact what the issue is and how to resolve it.

Today, I’m happy to announce its even easier to create a monitor job in Zoompf with our “Monitor This Scan” feature. Simply conduct a webpage, bulk scan, or Automated Script scan. On the scan results page there will be a new “Monitor This” option as shown below:


monitor This Scan


By clicking this button, you can create a monitor job based on the exact same settings you used for the scan. All you need to do a name your new monitor job. You can also add in who should be emailed when regression or new performance issues are detected, as shown below:




This is a great way to tweak what you’d like Zoompf to scan, and when you are happy, create a monitor job using those same settings. It also makes creating a monitor job for a CasperJS script, or for a bulk set for web pages very easy, since you don’t have to reenter or reconfigure anything.

Advanced Scan Diagnostics

Every now and then, a Zoompf scan can fail for any number of reasons, including:

  • The URL was mis-typed or the hostname does not resolve
  • The website is actively blocking HTTP connections from servers on the Amazon’s cloud
  • The website is down and can’t be contacted

To provide you better guidance to resolve failures such as these, Zoompf has completely overhauled it’s scan diagnostic system to provide you far greater detail about the scanning process.

Consider the example below. I am trying to do a scan of zoompf.com but instead I mis-type it as zoompfc.om.


Good Scan Detector - Typo


When the Zoompf scanner encounters a failure with the inappropriate URL, it now provides extensive logs showing what did and did not work with the scan. This is especially helpful when target sites are down for maintenance or have misconfigured redirect chains.


Good Scan Detector - Warning Message


We even include a Connection Log to show you exactly what the scanner saw while initially connecting to your site. If you still want to see the results, you can click the link to do so. Zoompf also marks scans with connection problems with a warning icon in your scans list as shown below:




Please note the Connection Log is always available under the “Logs” button, even if no error was detected.

Zoompf: Powered by Amazon Web Services

While its not necessarily a publicly facing feature, in the last 2 months Zoompf has transitioned all its infrastructure from Rackspace into Amazon Web Services. Last year I wrote about the economic advantages of Rackspace over Amazon EC2. However, recent price reductions at Amazon, as well as some ambitious plans for our future meant it was better to move over to EC2. We are currently using EC2, S3, and RDS quite heavily. Before our database servers existed on the same servers as our scanning boxes or our web servers. Already we have seen big improvements in performance moving our databases off-server into dedicated RDS instances. There are a number of features we have planned to add to Zoompf in the next few month. Moving to AWS provides us with a better foundation to build on top of, and, for some features, enables us to create features that would not have been possible on our older systems.

Next Steps

Its an exciting time at Zoompf. These features are just of few of the things we can do with our newly designed backend systems and our move to AWS. We have tons of awesome new features and secrets that we will reveal in the next month or two. Make sure to follow us on Twitter and subscribe to our posts via RSS or Email so you don’t miss anything.

If your web team is currently not using Zoompf to speed up your website performance, try out our free website scan to learn more about how Zoompf can help.


Have some thoughts, a comment, or some feedback? Talk to us on Twitter @zoompf or use our contact us form.