Uncovering the huge number of iFrame server calls that made my site load slower than the Greenland Ice Sheet.

duck with I'm stupid sign around it's neck.

A few months ago I ran across a mention that the familiar “Look Inside” feature Amazon shows on Kindle book pages was also available for installation on websites. It is officially called Kindle Instant Preview (originally Kindle For Web when it was launched in 2010) and allows you to see several pages of the book, usually the table of contents, first chapter, and other selections. It also offers all the user experience comforts of previewing directly on a Kindle device, such as adjustable font sizes and a direct link to purchase the book on Amazon. Hot dog, what’s not to love?

I followed the instructions and installed it right away, noting that it was an iFrame element. Normally I avoid these like the plague because of known security issues, accessibility concerns, and tangled SEO associations. But it was new and sexy and gosh darn it, I wanted it. Visitors to my website remarked favorably on the novelty and I think I sold a few books through it.

A rude awakening.

I would like to say that whenever I add a new feature to my site I immediately run GTMetrix, my favorite website loading speed measurement tool, but in this case I obviously didn’t. Because if I had, I would have found that I had increased my server requests by 68, or 34 for each book, almost tripling my requests. My load time plummeted to 12.94 seconds, slower than the Greenland Ice Sheet*.

Upon reflection this makes sense; not only are you waiting for your own server but the Amazon one as well. I immediately removed these Led Zepplins and restored my load time to a lovely 2.74 seconds (later shaved to the current 1.8 seconds by switching to SiteGround).

Lesson learned: it’s okay to add new features but always test how they effect your loading speed. Because we have to keep Google happy.

*The Greenland Ice Sheet moves at an average 72 feet per day, or 8.33 feet/second.