About frans

Website:
frans has written 4625 articles so far, you can find them below.

Your Start-to-Finish Guide to Using Google’s Disavow Tool

Posted by MarieHaynes

Have you used Google’s disavow tool? You might want to. If you have been actively involved in SEO for your website over the last few years, there is a good chance that you have unnatural links pointing to your site. These can hurt you in the eyes of Google’s Penguin algorithm. Or, in some cases they can even get you a manual unnatural links penalty. 

In this article we will talk about some very practical things that will help you when using the disavow tool. These tips should help you whether you are an experienced SEO or a small business owner who is trying to clean up a few unnatural links.

What is the disavow tool?

Introduced in October of 2013, the disavow tool is Google’s way of allowing you to ask Google not to count certain links that point to your site. You can find the tool here. And here is Google’s documentation on how to use the tool.

The scariest part of this documentation is this:

Google disavow warning

Using the disavow tool incorrectly can hurt you. You should only be disavowing links that you know were made with the intention of manipulating Google’s results. Many articles have been written to help site owners decide which links are unnatural. But, there are not many articles written that take you through the process of auditing and disavowing your links from start to finish. 

My hope is that this article will help answer any questions you have about using Google’s disavow tool. If there is something that I haven’t covered, then leave a comment below and I will do my best to answer.

Creating an audit spreadsheet

There are many services out there that can give you a list of your links. Some of these are great resources for organizing your links into a manageable format. I’m not a fan of services that try to audit your links for you as I believe that manually reviewing each link is necessary. But, some of these tools may be useful when it comes to putting a link auditing spreadsheet together. This Moz post contains a good review of many of the tools that are out there.

If you would like to create your own list of backlinks rather than using a tool or a program, then here is what I would recommend:

First, download your links from all available sources

You will want to start by downloading your links from Webmaster Tools. When you go to Search Traffic –> Links to your site –> More, you’ll see this:

downloading links

Download both the sample links and the latest links.

Disavow Tip: If you have a site that has more than 1,000 linking domains, sometimes you can get more links from Webmaster Tools by downloading the sample list of links daily for a few days.

I would also recommend downloading links from the following sources:

  • majestic.com – Majestic has an option where you can get your links for free if you follow steps to verify your site. It’s definitely worth it.
  • opensiteexplorer.org – This is Moz’s tool. It won’t give you as many links as Majestic, but occasionally you can find some links in there that are not in the other sources.
  • ahrefs.com – This is a paid option. In my opinion, it is worth the money. I will often get links reported in ahrefs that are not found in any of the other sources.

Combine the links into one big spreadsheet

As you get your spreadsheet from each source, find the column that contains the url of the sites linking to you. Copy this entire column into a new spreadsheet. You can do this in Excel or in Google Docs. In the last year or so, Google Docs has gotten much better at handling large amounts of data. As such, the directions I’m going to give in this tutorial are for use in Google Docs as not everyone may have access to Excel. If you have a Google login or a Gmail account you have access to Google Docs.

You’ll end up with a big spreadsheet containing every link reported by each of the tools. At this point, this spreadsheet will contain a lot of duplication, but don’t worry, we will deal with this soon.

(Note: It’s not a bad idea to also include other columns that may help you with your audit such as the anchor text or nofollowed status, but for the sake of simplicity in this tutorial, we will just include the urls.)

Break these urls down to the subdomain level

Create a new column to the left of your urls. At the top type in the following formula:

=left(B1,find(“/”,B1,9)-1)

Then, highlight column A and press CTRL-D. This will fill the formula down the column and you will end up with something that looks like this:

url audit

Now, highlight column A and we’ll ask the spreadsheet to convert the formula results to values. You need to do this in order to be able to copy and paste in this column. To do this, do CTRL-C to copy and then select Edit –> Paste Special –> Paste Values Only.

Now we’re going to use the Find and Replace feature to break these down to the subdomain level. Keep column A highlighted and click Edit –> Find and Replace, and type in http://. Leave the replace field blank and press “Replace All”.

removing http from url audit

Now do the same thing for the following phrases:

https://

www.

Don’t forget the period after “www.”!

Once this is complete, then column A contains the domains/subdomains of each url.

list of domains and subdomains

De-duplicate so you just have one link from each domain

Now what we are going to to is dedupe this list so that we just have one link from each domain. Most spreadsheets have a dedupe function built in. However, I have found that when you are dealing with a large number of rows, this will often crash the spreadsheet, so what I do is first, sort column A using alphabetical order, and then create a new column to the left of my domains and add the following formula:

=if(B1=B2,”duplicate”,”unique”)

Copy this down so that the spreadsheet will now show you which entries are duplicates. You can then filter this column to show only the duplicates and delete each of these rows.

What you will be left with is one url from each domain linking to you.

Audit!

Now you need to visit each url on your spreadsheet and make a decision on whether or not you should keep links from this domain or disavow. On your spreadsheet, mark each url as either “disavow” or “keep”:

disavow audit

In some cases, I’ll mark some links as “debatable” and then review them again once I have seen all of the links in a link profile. Sometimes there are patterns of unnatural linking that only become visible after reviewing a good portion of the backlinks.

Here are the questions that I would ask when looking at each link:

  • Was this link made solely for SEO purposes?
  • Does this link truly, honestly have the possibility of directing clients your way?
  • Would you be worried if a Google employee or a competitor saw this link?

Disavow tip: When Google penalizes a site, or affects it algorithmically because of unnatural links, their goal is to demote sites who have been actively cheating. Every site has weird looking links that make you think, “Where the heck did that come from?” But there is no need to go disavowing everything that you don’t recognize. Penguin will not affect a site just because it has some odd looking links.

If you’re having a hard time deciding which links to disavow, then here are some resources that give more advice on how to make disavow decisions:

After reading those, if you are still unsure about the majority of your links and whether or not they should be disavowed, then it may be best to hire someone who is experienced in disavow work to do this audit for you.

Making your disavow file

Add “domain:” in front of the domains

Once you have finished assessing each link, you’ll want to filter your disavow column so that you just see the links that you have decided to disavow.

disavow or keep links

Then, create a new sheet on your spreadsheet, copy your domains column and paste it into this new sheet:

url spreadsheet

Now we’re going to add “domain:” in front of each domain name.

Disavow tip: You ALWAYS want to disavow on the domain level. If you disavow on the url level, you run a very high risk of missing bad links. For example, if you are disavowing a link on http://www.example.com/article.html, that same link may also exist on http://www.example.com/articles/ and http://www.example.com/tag/links, and http://www.example.com/article.html?utm=fb and so on.

To add “domain:” in front of each domain name, type the following formula into B1:

=”domain:”&A1

Copy this formula down the entire column. Then, as before, do a copy and then paste special –> paste as values.

Now you’ve got your disavow directives in column B:

domail list

Make a text file

Your disavow file has to be a .txt file in UTF-8 format or 7-bit ASCII. There are a few ways that you can do this. On my Mac, what I do is open TextEdit, copy and paste my “domain:example.com” column (column B), and then click “Format” –> “Make plain text”. I then save this as a .txt file.

Another option that works well is to create a new Google Doc document, copy the disavow directives into this document and then click “File” –> “Download As” –> “Plain text”.

Disavow tip: There are many other ways to make a .txt file. But sometimes these files create odd characters that can throw errors when you file the file. If you are getting odd errors once you file, then try creating your text file using the Google Doc method mentioned above. This seems to be the most reliable way to produce a text file that Google won’t reject.

What about comments?

I have seen disavow files that look like this: comments in disavow doc

You can leave a comment in your disavow file by starting a line with a “#”. However, no Google employee will look at your disavow file. It is completely machine processed. Comments are there just for your own use. I will insert comments where it might be useful for me when I’m editing the disavow file in the future. For example, I might say the following:

#The following links were disavowed on December 16, 2014. These links are ones that we know are low quality directory links.

Filing your disavow

To file your disavow file, go to the disavow tool, and select your site from the dropdown list.

filing a link disavow

Click “disavow links” and then “disavow links” again and then “choose file”. This is where you will upload the .txt file that we just created.

If you’ve been successful, then you’ll see something that looks like this:

successful link disavow

But, you may find that you have errors:

errors in link disavow

Common errors

Here are some things to look for if you have an error message:

  • If you have typed “domain:http://www.example.com“, you need to remove the http://www.
  • Sometimes the backlink tools will give you domains with odd characters in them that the disavow tool doesn’t like. For example, sometimes ahrefs.com will give me domains that look like this:
_¼_¡_á_ü_____ü__„â_µ„Û___µ„â.„Û„ã.com

If I try to disavow domain:_¼_¡_á_ü_____ü__„â_µ„Û___µ„â.„Û„ã.com, that’s going to throw errors. These domains never resolve. I just delete them from my disavow.

  • Look for domains with ports attached. For example, you may see domain:example.com:8080 on your list. Just remove the :8080. A colon will cause your disavow to throw an error.

As mentioned above, if you are getting errors and you can’t figure out why, try formatting your file with a Google Doc and saving as a .txt. This usually works for me.

Modifying your disavow file

If you have unnatural links, then it is a really good idea to do regular checks of your backlinks. I have several clients for which I do monthly backlink audits and even though they are not currently building links, each month I will see a good number of new unnatural links. Many of these are old links from as early as 2006 that are just surfacing now. Some are new spammy links that perhaps are the result of previous automated processes that continue to propagate. And some may even be attempts at negative SEO. My point is that most sites that I have seen that needed to have disavow work done will need to continually update their disavow file.

Disavow tip: When you upload a new disavow file, you are COMPLETELY REWRITING your old file. If your old file has 300 domains in it and you want to add 30 new domains, your new file will have 330 domains in it.

In order to update your disavow file, you’ll need to go to the disavow tool, select your site, select “disavow links” and again, “disavow links” and “download”. I have no idea why, but Google will give you your file in the form of a .csv and not a .txt file. What I do next is copy column A and paste it in either TextEdit (on a Mac) or into a Google Doc. You can then add your new links and save the file as a .txt and file it as before.

When does the disavow start to work?

As soon as you upload your disavow file, Google will start to apply the disavow directives to each link of yours as they crawl the web. Let’s say that I have a link on

http://www.spammysite.com/article.html

and I have disavowed

domain:spammysite.com

The next time that Google crawls http://www.spammysite.com/article.html, or any other page on this domain that links to you, they will apply an invisible nofollow tag to each link that points to your site. This means that these links will no longer be included in algorithmic calculations (i.e. Penguin) for your site. If your site is affected by the Penguin algorithm, you will not likely see changes right away. You will need to wait until Google reruns the Penguin algorithm and regathers information about your links. Google has hinted that soon this will happen continuously rather than on a sporadic basis. Hopefully this will mean that sites will be able to escape Penguin quicker. You’ll still need to wait for Google to recrawl all of the links on your disavow file though. John Mueller from Google has said that it can take up to a year for all of your links to get recrawled. However, in my experiments, the longest a link took to be disavowed was three months. Most links were disavowed within a month.

Should you be removing links as well as disavowing?

This is a subject that deserves its own article.  In fact, I have written a full article about this here. In general, if there is a link that I control, and I know I can easily remove it, then removing it is the best option. But, if you are dealing with an algorithmic issue such as Penguin, in my opinion, there is no need to go on an exhaustive email campaign to ask site owners to remove links. These campaigns are expensive and depending on the niche, the success rate is often very low. If you have a manual penalty, however, then yes, you need to make attempts to remove every unnatural link.

Can you reavow a link?

What if you made a mistake and included domains in your disavow file that were actually good links? You can remove a disavow directive by modifying your disavow file so that it no longer contains that domain and then re-uploading it. However, Matt Cutts commented earlier in the year that it takes much longer to reavow a link than to disavow it. You would think that the next time it was crawled, Google would remove the invisible “nofollow”, however, there is some type of lag time built in before the link starts to count again. The purpose of this is to make it harder for spammers to find ways to cheat the system.

Questions?

You need to be careful when using the disavow tool.  But, this doesn’t mean that the average webmaster cannot use it.  If you know you have low quality links pointing to your site, then this tool can be a good way to ask Google to not to count these links against you. Still, I have found that in over two years of helping people use this tool, questions often arise. If you have questions I’ll do my best to answer. Or, if you have used the disavow tool and have hints to add, I’d love to hear your comments!


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don’t have time to hunt down but want to read!

Continue reading →

How You Can Build a Meaningful Brand

Posted by Hannah_Smith

Earlier this year I wrote a post about the future of marketing. In it, I made a handful of predictions; arguably the most ‘out there’ of which was this: in the future, only brands which ‘mean something’ to consumers will survive. 

In today’s post I’ll be exploring what it takes to become a meaningful brand, and how you might go about building one.

SEO is not dead

Just so we’re clear, I’m not saying SEO is dead, or that organic search is not an important channel 🙂
These stats speak for themselves:

However, what we’re being asked to do as SEOs is constantly evolving. 

It used to be that you could build a very successful business online just by being great at SEO. But today, the SERPs are changing, and ranking first doesn’t mean what it used to:

The BBC still rank first organically for ‘weather’—but their listing is pushed beneath the fold. Plus, given the that the information the searcher is seeking is displayed right there in the SERP, I’m guessing they’re not receiving as much traffic from this term as they once were.

But it’s not just informational queries:

Skyscanner still rank first for the term ‘flights to paris’, but again here their organic listing is pushed beneath the fold thanks to paid search listings and the proprietary Google flight product.

Google is even going so far as to show its proprietary products against branded searches (hat-tip to  Barry Adams for pointing this out):

MoneySuperMarket’s organic listing is above the fold, but Google is nonetheless being very aggressive.

As a consequence of these changes, as SEOs, we’re being asked to do different things. Clients of yesteryear used to say things like:

Get us links!

But today they’re saying things like:

Get us press coverage, social shares and exposure [links] on sites our target audience reads.

Whilst they may not explicitly be asking us to build a brand, nonetheless much of what we do today looks a lot like brand building. But where do we start?

What does ‘brand’ mean?

Before we kick off I think it’s worth exploring what brand really means. We have a tendency to use ‘brand’ and ‘company’ or ‘organisation’ interchangeably, but in reality they are two distinctly different things.

Here’s a definition:

brand – to impress firmly; fix ineradicably; place indelibly

Therefore a brand is not a brand unless it leaves a lasting impression, and of course, it needs to be a favourable impression. Essentially companies or organisations need to build brands that mean something to people.

However, right now companies and organisations are struggling to do this effectively:

“In Europe and the US, consumers would not care if 92% of brands ceased to exist” 
source

That means that consumers would only miss 8% of brands. 

Clearly we have a mountain to climb. How do we go about building meaningful brands? Particularly on SEO retainer budgets?

You can learn a lot by deconstructing the success of others

Like many in the search industry, I’m a fan of taking stuff apart to figure out how it works. So, when trying to figure out how to go about building a meaningful brand, I started by looking at what meaningful brands are doing right now.

I uncovered three core principles—some meaningful brands do all three; some just do one or two—I’ll deal with them each in turn.

1) Meaningful brands find opportunities to delight customers

Most people’s interactions with brands suck. But great interactions stand out and are shared. Let’s take a look at some examples:

@smartcarusa

Here’s how @smartcarusa responded when someone suggested that a single bird dropping would total one of their cars:

Now the takeaway here is not to rush out and make a bunch of infographics on disparate topics.
Out of context, the infographic is neither remarkable, nor particularly interesting, and I don’t think it would have garnered coverage had it not been created in response to this tweet.
But I think a lesson we can take from this is that going the extra mile to respond in a novel way can yield out-sized returns.

@ArgosHelpers

This is how @ArgosHelpers responded to a customer asking when PS4s would be back in stock:

The takeaway here is not people love brands who use slang—I think this is actually a very artfully worded response. See how the brand has taken care to use the same language as their customer without being in any way condescending? That’s what you need to shoot for.

@TescoMobile

This is how @TescoMobile responded when someone described their network as a ‘turn off’:

Whoa! 

The lesson here is definitely not ‘be a dick to people who are dicks to you’; I think the lesson here is that a well-judged, cheeky response can travel.

Ultimately you need to tread carefully if you want to use this type of tactic. I think @TescoMobile got away with this one—but it is really close to the line. To do this sort of thing you need to have a deep understanding of your audience—what’s considered funny and what’s just plain rude? This can vary hugely depending on the niche you’re working in and the public perception of your brand.

Moreover, if you’re a brand engaging in this sort of activity, you need to consider not only your own response, but the potential response from your audience, too. Some brands have an army of loyal advocates. But if brands aren’t careful, they may unwittingly encourage said army to attack an individual with a response like this.

Of course it’s not just interactions that have the capacity to delight—sometimes being nimble is enough:

@Arbys

When Pharrell turned up to the GRAMMYs wearing *that hat* here’s how @Arbys responded:

The takeaway here is not that you need a bit of luck, instead it’s that you need to be ready, willing and able to take advantage of opportunities as and when they arise. I think that if @Arbys hadn’t tweeted that, then someone else would have done and their brand wouldn’t have benefited.

Hopefully you can see where I’m going with this; let’s move on to principle two:

2) Meaningful brands give people the ability to define themselves to others

Have you ever thought about why you share what you share on social media? Most of us don’t think about it too much, but The New York Times did a study on the psychology of sharing in which 68% of respondents said they share things via social media to give others a better sense of who they are and what they care about.

For example, I might share an article from hbr.org because I want you to think I’m the sort of person who reads Harvard Business Review. Or I might share an Oatmeal comic because I want you to think I have an excellent sense of humour. I might share something about the Lean In movement because I want to let you know where I stand on important issues.

If you’re seeking to create a meaningful brand, this can be an excellent space to play in because brands can give people the ability to define themselves to others. Now I don’t necessarily mean by creating content like this which literally allows people to define themselves:

Brands can also help people define themselves by creating things people ‘look good’ sharing—let’s take a look at some examples:

GE’s #6SecondScience

The takeaway here is to create things which are tangentially related to your brand, that people ‘look good’ sharing. When people shared this content they were sharing stuff that was more than just ‘cool’—by sharing this content they were also able to express their enthusiasm for science.

In a similar vein meaningful brands create commercials that don’t feel like commercials—again, these are things that people ‘look good’ sharing:

Wren’s First Kiss

This film definitely got people talking. To date it’s received over 94 million YouTube views and coverage on over 1300 sites. But this isn’t just a video content play…

Oreo

When Oreo turned 100, they created 100 pieces of content over 100 days:

This campaign got over 1m Facebook ‘likes’ and thousands of pieces of press coverage. 

But actually, I think the smartest thing about this campaign was that it was highly topical content which put the cookie right in the centre of people’s conversations without being self-serving.

Still with me? Let’s move on to principle three:

3) Meaningful brands stand for something above and beyond their products or services

This is difficult to explain in the abstract, so I’m going to shoot straight to some examples.

BrewDog

BrewDog is a craft beer company. Their brand values are drawn from punk subculture—they’re anti-establishment and believe in individual freedom.
So when Dead Pony Club ale was ‘banned’ because the phrase “rip it up down empty streets” was printed on the label, their response was to issue a press release apologising for ‘not giving a shit’ over the marketing rules breach.
Their fans loved their response:

The takeaway here isn’t that sweary press releases get attention (although they undoubtedly do)—by refusing to take the ruling lying down BrewDog showed people they were a brand which stood for something beyond great beer.

Nike

A core value for Nike is “if you have a body, you are an athlete”, and these values have inspired incredible creative like this:

I think that this advert is powerful because Nike isn’t talking about how their trainers enhance your performance, they’re talking about celebrating everyone’s athletic endeavours. It’s about more than just their products. 

OKCupid

I think that taking the decision to stand for something is perhaps most potent when it could actually cost a brand customers. When Mozilla appointed a new CEO, OKCupid showed this message to Firefox users:

They went on to say:

The takeaway here is not ‘align your brand with a cause and win the the Internet’, but rather, taking a bold stance on a relevant issue, even if it could actually hurt your business, can create a lasting impression.

What do I mean by ‘actually hurt your business’? Sadly, not everyone believes in equal rights for gay couples, as such, taking this stance could cost OK Cupid.

Using these principles day-to-day

The reality for me is that right now, much of this I can’t affect—sadly no clients have dropped several million into my lap and asked me to create them an ad like Nike’s 🙂

That said, I do think that it’s helped me to clarify my thinking on what it means to be a meaningful brand and how to figure out how to get there. At Distilled (the company who is good enough to employ me), the place we play most frequently is principle two—we create content which allows people to define themselves to others; things that people ‘look good sharing’. 

Perhaps more importantly, we’re taking the time to understand the companies we’re working with better so that our creative work is better aligned with their brand values. 

And so, dear reader, over to you—I’d love to hear what you think it takes to build a meaningful brand, and what’s working (and not working) for you, do let me know via the comments.

This post is based on a session I presented at SearchLove; those who are interested can view the full deck below:


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don’t have time to hunt down but want to read!

Continue reading →

HTTP/2: A Fast, Secure Bedrock for the Future of SEO

Posted by Zoompf

In prior articles, we’ve written extensively about website performance and securing your website, both factors Google has publicly announced as search ranking factors. These articles provide extensive tips using existing tools and technologies to improve your site performance and security (tips we highly recommend you follow). But did you know Google also developed and is championing a new web transport protocol called SPDY that addresses many of the inherent performance and security flaws in the web today?

In this article I will dive into more detail on how this new protocol works, why it is important to you, and how you can get started using it today.

From experiment to standard

Google created the SPDY protocol as a multi-year experiment to find a faster way for browser and servers to communicate. The results have been so positive that the Internet Engineering Task Force (IETF) is using SPDY as the basis for HTTP/2, a replacement to the current network protocol that powers all Internet web traffic today. While technically HTTP/2 is still an evolving specification, many web browsers, web servers, networking devices, and websites already support both SPDY and HTTP/2 in its current form.

While there are some subtle differences between SPDY and HTTP/2, for the purposes of this article it’s safe to use those terms interchangeably. As HTTP/2 rises to prominence in the popular vocabulary, the SPDY vernacular will fall out of use in favor of HTTP/2. For this reason, I will simply refer to SPDY as HTTP/2 for the remainder of this article.

What problem is HTTP/2 trying to solve?

To understand why Google and the IETF are creating a new version of HTTP, we need to understand the fundamental performance limitations we have today. It helps to consider this analogy:

Imagine if all the roads in the modern world were built back during the age of horse drawn carriages: narrow, bumpy and with low speed limits (still true in some cities…). Sure it took a while to get anywhere, but the delay was mostly due to the speed of your horse. Flash forward to today: same bumpy roads, but now everyone is driving a car. Now the horse is not the bottleneck, but instead all those cars piling up on the same log jammed road!

Believe it or not, most website traffic today is not far from this analogy. The original HTTP protocol dates back nearly 25 years. The most recent update is HTTP/1.1 which was standardized back in 1999. That is a lifetime in Internet time!

Like those narrow, bumpy roads of yore, the web back then was a very different place: smaller web pages, slower Internet connections, and limited server hardware. In a sense, the “horse” was the bottleneck. HTTP/1.1 was very much a product of those times.

For example, when web browser loads a web page using HTTP/1.1 it can requests resource (like an image, JavaScript file, etc) one at a time, per connection to the server. It looks like this:

http11-basic

You’ll notice the browser is spending a long time waiting on each request. While HTTP/1.1 won’t let us make multiple requests at the same time over the same connection, browsers can try and speed things up by making two connections to the same server, as shown in the diagram below:

http11-multiple

Using two connections is a little better, but the browser still spends a lot of time waiting to get a download. And we can only download two resources at a time. We could try and making more connections to download more resource in parallel. Modern browsers try to do this and can make between 2-6 connections per server. Unfortunately this is still an poor approach, because each connection itself is used so inefficiently. Since the average web page has over 100 resources, the delay in making all those individual requests one at a time over just a few connections added up and your page loads slowly.

You can actually see this inefficiency by looking at a waterfall chart. We discussed waterfalls in a previous Moz post on optimizing Time To First Byte, and we also have a detailed guide on how to read waterfall charts. Most waterfall charts will show long green sections which represents the time the browser is waiting to download a resource. All that time wasted on waiting instead of downloading is a major reason why websites load slowly.

This inefficient waiting on resources is why optimizations like combining JavaScript or CSS files can help your site load faster. But optimizations like this are just stopgap measures. While you can (and should) continue to optimize our pages to make fewer and smaller requests, we’re not going to truly evolve to the next level of performance until we “fix the roads” and improve the fundamental way in which the web communicates. Specifically, we need to find a better way to utilize those network connections. 

This is where HTTP/2 comes in.

The solution: HTTP/2

At its core, HTTP/2 is about using the underlying network connections more efficiently. HTTP/2 changes how requests and responses travel on the wire, a key limitation in the prior versions of HTTP.

HTTP/2 works by making a single connection to the server, and then “multiplexing” multiple requests over that connection to receive multiple responses at the same time. It looks like this:

http2-multiplexing

The browser is using a single connection, but it no longer requests items one at a time. Here we see the browser receives the response headers for file #3 (maybe an image), and then it receives the response body for file #1. Next it starts getting the response body for file #3, before continuing on to file #2.

Think of multiplexing like going to the grocery store and calling your spouse just once to get the full list: “Okay we need milk, eggs, and butter. Check.” Compare this to HTTP/1.1 which is like calling your spouse over and over: “Do we need milk? Okay, bye.” “Hello me again—do we need eggs too? Yep, okay.”, “Okay sorry one last question, do we need flour too? Nope, good.”

All of that data is interwoven much more efficiently on that single connection. The server can supply the browser with data whenever it is ready. There is no more “make request; do nothing while waiting; download response” loop. While slightly more complex to understand, this approach has several advantages.

First of all, network connections don’t sit idle while you are waiting on a single resource to finish downloading. For example, instead of waiting for one image to finish downloading before starting the next, your browser could actually finish downloading image 2 before image 1 even completes.

This also prevents what is known as head-of-line blocking: when a large/slow resource (say for example a 1 MB background image) blocks all other resources from downloading until complete. Under HTTP, browsers would only download one resource at a time per connection. HTTP/2’s multiplexing approach allows browsers to download all those other 5 KB images in parallel over the same connection and display as they become available. This is a much better user experience.

Another great performance benefit of HTTP/2 is the “Server Push” feature: this allows the server to proactively push content to a visitor without them requesting it. So for example, when a browser visits your website, your server can actually “push” your logo image down to the browser before it even knows it needs it. By proactively pushing needed resources from the server, the browser can load pages much quicker then was previously possible.

Last, but not least: HTTP/2 works best with HTTPS. As we mentioned before, both performance and security are an ever increasing component of search ranking. While the HTTP/2 specification technically allows for use over non-HTTPS connections, Google’s earlier SPDY protocol required HTTPS. For compatibility reasons, most web server software will only use HTTP/2 over an encrypted HTTPS connection. Getting on the HTTPS bandwagon not only protects the security of your users and is good for your search ranking, but also is the most effective way to adopt HTTP/2. For more information, see our prior post on enabling HTTPS.

The future, today!

So clearly HTTP/2 offers some great benefits for both speed and performance, but what does this mean to you right now? Well, you may be surprised to learn, HTTP/2 is already available, and can be supported by you without impacting your old users running on HTTP/1.1.

You can think of HTTP/2 just like any other protocol, or even a spoken language. For it to work, you just need an agreement from both the sender and receiver to speak the same language. In this case, the “sender” is the web browser and the receiver is your web server.

Browser support

Since it’s unlikely you will create your own web browser like Microsoft, Google, Apple or Mozilla, you will not need to worry about the “sender” side of the equation. Support for HTTP/2 in the web browser is already in widespread use across the modern browsers of today, with adoption only increasing as older browser versions age out.

In fact, the latest versions of all the major desktop web browsers already support HTTP/2. Chrome and Firefox has supported it for several years. Apple added support to Safari in fall of 2014 with Safari 8. IE 11 supports HTTP/2, but only if you are running Windows 8.

Similarly, there is already widespread HTTP/2 adoption on smart phones as well. Android’s older web browser, helpfully named Browser, has support HTTP/2 for several years. The current default browser for Android is Google’s Chrome browser. Mobile versions of Chrome use the same networking code as Desktop Chrome. This means that both Chrome on Android devices, as well as Chrome on iOS devices, both support HTTP/2. Apple added support to the iOS version of Safari with iOS 8.

Your best best is to look at your website analytics and see what web browsers your visitors are using. Chances are, the majority of visitors have HTTP/2 capable web browsers (you can check against this list of desktop and mobile browsers that support HTTP/2). In that case, you can safely move on to the next step.

Web server support

While you have little control over which browsers your visitors use, you do have direct control over your web server. Put quite simply, to support HTTP/2 you need to select a web server that supports HTTP/2 and enable it. And of course, that server should also continue to support HTTP/1.1 as well because you will always have users using older browsers.

Continuing our “spoken language” analogy from before, you can think of HTTP/1.1 and HTTP/2 as different languages like English or French. As long as both parties can speak the same language, they can communicate. If your server only supports HTTP/1.1, then visitors can only speak to it with HTTP/1.1. But, if your server also supports HTTP/2, then your users browser will also choose to speak (the faster) HTTP/2. And finally if your server does speak HTTP/2, but your users browser does not, then they will continue to speak HTTP/1.1 just as before, so there’s no danger in “breaking” your older users.

Right now, both the Apache and nginx web servers support HTTP/2. nginx supports HTTP/2 natively, and Apache supports it via the mod_spdy module. Since Apache and nginx serve traffic for 66% of all active web servers, chances are good that your website’s server can support HTTP/2 right now.

If you aren’t using nginx or Apache you still have other options. There are a number of smaller, more specialized projects that support HTTP/2. You can also place a reverse proxy that support HTTP/2 like HAProxy in front of your existing web server to get the same benefit as having a web server that directly supports HTTP/2.

If you run your site through a hosting provider, check with them to see which web server version they are running. Major sites like WordPress.com and CloudFlare all already offer HTTP/2 support. If your provider is not yet supporting HTTP/2, let them know this is important!

Adding HTTP/2 support

As I mentioned, HTTP/2 is simply another language your web server can use to communicate. Just as a person can learn a new language while remembering their mother tongue, your web server will continue to know how to communicate HTTP/1.1 after you add support for HTTP/2. You aren’t in danger of shutting anyone out from speaking with your site. People using newer browsers will communicate using HTTP/2, and older browsers will continue using the older HTTP/1.1—nothing breaks. If you have the time, there really is no reason not to update your site to support HTTP/2.

Remember, HTTP/2 is just a better way to transmit web content than HTTP/1.1. Everything else about your website (the URLs, your HTML markup, your redirects or 404 pages, your page content, etc) all stays the same. This makes adding support for HTTP/2 fairly straight forward:

  1. Make sure your website is using HTTPS. See our previous article on implementing HTTPS without sacrificing performance.
  2. Verify your server software or infrastructure can support HTTP/2.
  3. Update and configure your server software or infrastructure to support HTTP/2.

That’s it. Your website is now using HTTP/2.

Well hopefully it is. The steps involved to update/configure your website will vary depending on your what software you use, so we cannot provide you with detailed guide. However, we did built a free tool, SPDYCheck, which you can use to verify you have properly configured your website to HTTP/2 (aka SPDY). SPDYCheck works like a checklist, verifying each step of how a browser negotiates with your server to communicate via HTTP/2. It can tell you where in the process things are not working, and it also provides helpful recommendations like enabling Strict Transport Security. With SPDYCheck, you can be sure that everything is functioning properly, and verify that you site supports HTTP/2.

Conclusion

We all know that faster sites help improve search engine rankings, but faster sites also offer better user experiences. Faster sites engage your users longer, and promote sharing further sharing and linking. HTTP/2 is an amazing leap forward that can help improve the performance and user experience of your website. However, HTTP/2 is not a silver bullet. Optimizations like losslessly optimizing your website’s images can have a big effect on your site’s performance and will still be needed. In short, while you should add HTTP/2 support to your website, make sure you are doing other optimizations and following performance best practices to ensure the best possible user experience. If you are looking for a place to start, or want to see how your site is doing, Zoompf’s free performance report is a great way to understand what you can do to make your website faster.


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don’t have time to hunt down but want to read!

Continue reading →

Lessons from the Front Line of Front-End Content Development

Posted by richardbaxterseo

As content marketing evolves, the list of media you could choose to communicate your message expands. So does the list of technologies at your disposal. But without a process, a project plan and a tried and tested approach, you might struggle to gain any traction at all.

In this post, based on my MozCon 2014 presentation, I’d like to share the high level approach we take while developing content for our clients, and the lessons we’ve learned from initial research to final delivery. Hopefully there are some takeaways for you to enhance your own approach or make your first project a little less difficult.

This stuff is hard to do

I hate to break it to you, but the first few times you attempt to develop something a little more innovative, you’re going to get burned. Making things is pretty tough and there are lots of lessons to learn. Sometimes you’ll think your work is going to be huge, and it flops. That sucks, move on, learn and maybe come back later to revisit your approach.

To structure and execute a genuinely innovative, successful content marketing campaign, you need to understand what’s possible, especially within the context of your available skills, process, budget, available time and scope.

You’ll have a few failures along the journey, but when something goes viral, when people respond positively to your work – that, friends, feels amazing.

What this post is designed to address

In the early days of SEO, we built links. Email outreach, guest posting, eventually, infographics. It was easy, for a time. Then, Penguin came and changed everything.

Our industry learned that we should be finding creative and inventive ways to solve our customers’ problems, inspire, guide, help – whatever the solution, an outcome had to be justified. Yet still, a classic habit of the SEO remained: the need to decide in what form the content should be executed before deciding on the message to tell.

I think we’ve evolved from “let’s do an infographic on something!” to “I’ve got a concept that people will love should this be long form, an interactive, a data visualization, an infographic, a video, or something else?”

This post is designed to outline the foundations on an approach you can use to enhance your approach to content development. If you take one thing away from this article, let it be this:

The first rule of almost anything: be prepared or prepare to fail. This rule definitely applies to content development!

Understand the technical environment you’re hosting your content in

Never make assumptions about the technical environment your content will be hosted in. We’ve learned to ask more about technical setup of a client’s website. You see, big enterprise class sites usually have load balancing,  pre-rendering, and very custom JavaScript that could introduce technical surprises much too late in the process. Better to be aware of what’s in store than hope your work will be compatible with its eventual home.

Before you get started on any development or design, make sure you’ve built an awareness of your client’s development and production environments. Find out more about their CMS, code base, and ask what they can and cannot host.

Knowing more about the client’s development schedule, for example how quickly a project can be uploaded, will help you plan lead times into your project documentation.

We’ve found that discussing early stage ideas with your client’s development team will help them visualise the level of task required to get something live. Involving them at this early stage means you’re informed on any potential risk in technology choice that will harm your project integrity later down the line.

Initial stakeholder outreach and ideation

Way back at MozCon 2013, I presented an idea called “really targeted outreach“. The concept was simple: find influential people in your space, learn more about the people they influence, and build content that appeals to both.

We’ve been using a similar methodology for larger content development projects: using social data to inspire the creative process gathered from the Twitter Firehose and other freely available tools, reaching out to identified influencers and ask them to contribute or feedback on an idea. The trick is to execute your social research at a critical, early stage of the content development process. Essentially, you’re collecting data to gain a sense of confidence in the appeal of your content.

We’ve made content with such a broad range of people involved, from astronauts to butlers working at well known, historic hotels. With a little of the right approach to outreach, it’s amazing how helpful people can be. Supplemented by the confidence you’ve gained from your data, some positive results from your early stage outreach can really set a content project on the right course.

My tip: outreach and research several ideas and tell your clients which was most popular. If you can get them excited and behind the idea with the biggest response then you’ll find it easier to get everyone on the same page throughout your project.

Asset collection and research

Now, the real work begins. As I’ve written elsewhere, I believe that the depth of your content, it’s accuracy and integrity is an absolute must if it is to be taken seriously by those it’s intended for.

Each project tends to be approached a little differently, although I tend to see these steps in almost every one: research, asset collection, storyboarding and conceptual illustration.

For asset collection and research, we use a tool called Mural.ly – a wonderful collaborative tool to help speed up the creative process. Members of the project team begin by collecting relevant information and assets (think: images, quotes, video snippets) and adding them to the project. As the collection evolves, we begin to arrange the data into something that might resemble a timeline:

murally

After a while, the story begins to take shape. Depending on how complex the concept is, we’ll either go ahead with some basic illustration (a “white board session”) or we’ll detail the storyboard in a written form. Here’s the Word document that summarised the chronological order of the content we’d planned for our Messages in the Deep project:

messages-in-the-deep-storyboard

And, if the brief is more complex, we’ll create a more visual outline in a whiteboard session with our designers:

interactive-map-sketch

How do you decide on the level of brief needed to describe your project? Generally, the more complex the project, the more important a full array of briefing materials and project scoping will be. If, however, we’re talking simpler, like “long form” article content, the chances are a written storyboard and a collection of assets should be enough.

schema-guide

Over time, we’ve learned how to roll out content that’s partially template based, rather than having to re-invent the wheel each time. Dan’s amazing Log File Analysis guide was reused when we decided to re-skin the Schema Guide, and as a result we’ve decided to give Kaitlin’s Google Analytics Guide the same treatment.

Whichever process you choose, it helps to re-engage your original contributors, influencers and publishers for feedback. Remember to keep them involved at key stages – if for no other reason than to make sure you’re meeting their expectations on content they’d be willing to share.

Going into development

Obviously we could talk all day about the development process. I think I’ll save the detail for my next post, but suffice it to say we’ve learned some big things along the way.

Firstly, it’s good to brief your developers well before the design and content is finalised. Particularly if there are features that might need some thought and experimental prototyping. I’ve found over time that a conversation with a developer leads to a better understanding of what’s easily possible with existing libraries and code. If you don’t involve the developers in the design process, you may find yourself committed to building something extremely custom, and your project timeline can become drastically underestimated.

It’s also really important to make sure that your developers have had the opportunity to specify how they’d like the design work to be delivered; file format; layers and sizing for different break points are all really important to an efficient development schedule and make a huge difference to the agility of your work.

Our developers like to have a logical structure of layers and groups in a PSD. Layers and groups should all be named and it’s a good idea to attach different UI states for interactive elements (buttons, links, tabs, etc.), too.

Grid layouts are much preferred although it doesn’t matter if it’s 1200px or 960px, or 12/16/24 columns. As long as the content has some structure, development is easier.

As our developers like to say: Because structure = patterns = abstraction = good things and in an ideal world they prefer to work with style tiles.

Launching

Big content takes more promotion to get that all important initial traction. Your outreach strategy has already been set, you’ve defined your influencers, and you have buy in from publishers. So, as soon as your work is ready, go ahead and tell your stakeholders it’s live and get that flywheel turning!

My pro tip for a successful launch is be prepared to offer customised content for certain publishers. Simple touches, like The Washington Post’s animated GIF idea was a real touch of genius – I think some people liked the GIF more than the actual interactive! This post on Mashable was made possible by our development of some of the interactive to be iFramed – publishers seem to love a different approach, so try to design that concept in right at the beginning of your plan. From there, stand back, measure, learn and never give up!

That’s it for today’s post. I hope you’ve found it informative, and I look forward to your comments below.


Sign up for The Moz Top 10, a semimonthly mailer updating you on the top ten hottest pieces of SEO news, tips, and rad links uncovered by the Moz team. Think of it as your exclusive digest of stuff you don’t have time to hunt down but want to read!

Continue reading →