Upcoming LunaMetrics Seminars
Seattle, Nov 3-7 New York City, Nov 17-21 Washington DC, Dec 1-5 Los Angeles - Anaheim, Dec 8-12

Using iCurl for Technical SEO On the Go

Analyzing source code and checking HTTP response headers are two of the modern SEO’s integral functions. If you’ve become accustomed to smashing your keyboard (command + option + U in Chrome on Mac) or right clicking to access the page source in your browser, you’ve undoubtedly felt the pain of being an SEO on the go. Every so often—be it out of personal interest or requisite urgency—I’ve sought the ability to view the source HTML and HTTP response headers (in tandem) from my iPhone. (If you’re interested in checking just the page source from your mobile browser, the bookmarklet solution seems promising.)

Enter iCurl for iPhone

In the past, I’ve talked a bit about using cURL for checking server response headers. Now, I’ll talk about using iCurl, “the easy-to-use cURL utility for iPhone,” for conducting basic technical analyses on the go. You can download iCurl from the App Store for the reasonable price of . . . FREE. Fair warning: It provides a good amount of advanced functionality. I’ll focus on the basics, for now, but I encourage you to play around with the more granular settings (e.g., Request Parameters, HTTP Header fields, Session Management, etc.) as you become more familiar with the app.

Let’s take a look at the app interface.

iCurl Get Request

You’ll notice that the type of HTTP request we’re about to send is displayed in the black-gradient bar at the top of the screen. iCurl gives us the ability to make more than just GET requests. In the same-colored bar at the bottom of the screen, we see options for POST (create), PUT (generally update), DELETE, and HEAD requests. For the purpose of this walkthrough, we’ll be using GET requests alone, as this is the HTTP method that we use when requesting URLs in our browsers. If we wanted to simulate an account creation or post deletion, we might make use of the POST and DELETE methods, respectively.

As I mentioned previously, there are a number of advanced options (each of which is detailed pretty nicely by the team who put this app together). For now, though, we’ll make use of just the Base URL field. This is the URL for which we’ll be issuing the HTTP GET request.

Making the Request

iCurl LunaMetrics

Let’s say that we have some questions about the way LunaMetrics is redirecting their non-www URLs to their www counterparts. We want to make sure—first and foremost—that there is in fact a redirection in place. Furthermore, we want to see a 301 redirect – not a 302. (This example is pretty bland; I know.)

Normally, we’d have to wait out our sojourn on the train home or our uncle’s sister’s child’s (possibly our brother’s) birthday party to perform our checkup. With iCurl, we can conduct our analysis on the go. We simply enter the non-www URL (http://lunametrics.com) into the Base URL field and tap “Go!” in the upper right-hand corner. Just like that, we’ve issued a GET request from iCurl.

At this point, the server is processing our request and readying a response. In the browser, this response comes in the form of an HTML page and associated assets. In iCurl, however, we get a bit more.

Analyzing the Response Header

iCurl Redirection Response

Not long after making the request, we get our response. A popup notification informs us that the first response came in the form of an HTTP redirection. Right away, we see that LunaMetrics has indeed redirected their non-www home page URL to its www counterpart. We can also confirm that the redirect is a 301. Brilliant.

Once we tap “OK” to close the modal, we can see the HTTP Header that was returned when the destination URL (or the URL that returned 200 in this case – http://www.lunametrics.com/) was requested. We get the response code, server header, vary header, etc. – all of those things we like to check. If LunaMetrics had specified a canonical URL in the response header, it would show up here, too.

It’s worth noting that, when chained redirects are encountered, you will “tap out” the redirect modals in reverse order. That is to say, the last redirect in the chain is shown in the modal that you’ll “tap out” first. This is because the popup notifications are delivered as the redirects are encountered, and the last sits on top of the first. This does mean that we can see chained redirects, too! Test it out by requesting http://toysrus.com.

Analyzing the Response Content

iCurl HTTP Response

Having access to the response header alone is great. Getting access to the source code (or response content), right below, is awesome. While the source doesn’t look pretty and can be a tad difficult to navigate, it is fully scrollable and, honestly, it gets the job done.

In the screenshot to the right, you can see that we’ve successfully found the rel=”canonical” link element. We can check the title tag, meta description, structured data, and whatever else our hearts desire. (If the iCurl team could work on adding a search function to the response page, that would be phenomenal.)

We also have the option to view the response content like we might in a mobile browser. To do this, simply tap the “View as HTML content” button. Pretty nifty, eh? Not too shabby an investigation for it taking place on the train ride home.

While iCurl might be one of those apps that lies dormant for long periods of time, it provides us with a simple way to perform the most basic of technical SEO analyses while on the go or away from our computers. Don’t request response headers at the dinner table (unless prompted), but do use it as needed.

What are some other mobile tools and apps that you use for SEO? Is there an Android equivalent to iCurl?

http://www.lunametrics.com/blog/2013/07/10/icurl-technical-seo-analysis/

4 Responses to “Using iCurl for Technical SEO On the Go”

Trent Erwin says:

Hadn’t heard of iCurl so thanks for the info. Great that it’s free!

Gidseo says:

Android App equivalent is Browseo – a great little app!

Troy says:

Yea same I haven’t heard of iCurl before. But thanks for the heads up!

Love the fact that this is free and can’t wait to try it out!