searchlove boston 2016 | mike king | developer thinking for seos

134
DEVELOPER THINKING FOR SEOS MICHAEL KING MANAGING DIRECTOR, IPULLRANK @IPULLRANK

Upload: distilled

Post on 19-Jan-2017

3.142 views

Category:

Marketing


0 download

TRANSCRIPT

Page 1: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

DEVELOPER THINKING FOR

SEOS

MICHAEL KING

MANAGING DIRECTOR, IPULLRANK

@IPULLRANK

Page 2: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Baby Sign Language

…and how it relates to technical SEO

Page 3: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

So, I’m Having a Baby (She is too)…

It’s a girl!

Page 4: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Last Night I Learned Infants Can Learn Sign Language

Page 5: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Which is Great Because They Act like Drunks Otherwise

Page 6: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Which is Astonishingly Similar to the Perception of

Marketers

Page 7: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

SEOs generally know what they want, just not how to effectively ask for it.

Page 8: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

As of Late People Started Saying You Don’t Need to Be Technical

Page 9: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Yet, the Web is More Technical than Ever Before

Page 10: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

The modern SEO needs to think like a developer because we are in a technical SEO renaissance.

Page 11: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Lucky for You This Is The Point Where I have My Own Agency

Shameless plug.

Page 12: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Changes in Web Technologies

What is pushing this renaissance?

Page 13: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

JavaScript is Not Going Away

Nearly every site on the web is using JavaScript to perform some type of transformation on the page. It’s obvious that Google needed to solve for this.

Page 14: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Growth of AngularJS

AngularJS, the single page application, MVW framework continues to grow dramatically in the top million websites.

Page 15: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

AngularJS is Popular in Most Verticals

It’s likely that you’ll run into an AngularJS site soon enough in your optimization duties

Page 16: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

ReactJS is Growing Too

Similarly, Facebook’s MVW framework is growing as well. Although, it has a built in feature for making sure that it renders proper HTML, but it’s still a framework you should know how to optimize for.

Check out this post https://builtvisible.com/react-js-seo/

Page 17: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Ironically, React (Facebook) is SEO-ready, Angular (Google) is Not

Angular 1 did not have anything to make it easier to crawl. React has ReactDOMServer.renderToString to allow React to serve fully rendered HTML from the server.

Page 18: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

View Source is Dead

Page 19: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Inspect Element Only

Page 20: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

HTTP/2 – Perhaps the Most Important Thing

All you need to know right now is that it’s fast as hell.

Page 21: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Adoption is Super Low For Now Though

Page 22: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

We Need More from Our SEO Tools

Many of them are far behind search engines

Page 23: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

What are rankings in 2016?

Page 24: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

So, You’re #1? Cool Story, Bro.

Where they at tho?

Page 25: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

On What Device, OS and Location?

Different browser and OS configurations will show you different results. So what truly is a mobile ranking?

+ + = Ranking #3+Nexus 5 Android NYCChrome

Safari

+ + = Ranking #1+iPhone 6 iOS NYC

Page 26: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Are we measuring for contextand actionability or just vanity?

Page 27: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Please Give Me Position 0 in My Rankings

Page 28: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Please Give Me My Results in Context of Paid

#1 is really #8 in this SERP

Page 29: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

What is cloaking in 2016?

Page 30: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

304 Response Codes

The Not-Modified response code tells clients that they do not need to download a page again if it has already been downloaded.

Page 31: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Googlebot Respects the 304

What is cloaking when Google accepts 304 response codes and does not revisit that content after indexation?

Page 32: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

What is Cloaking in the Adaptive/Responsive Era?

Many people show less or more content based on the context of the browser/user, so what is cloaking now?

Page 33: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Google accepts directives in HTTP headers.

Page 34: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

X-Robots-Tag HTTP Header

Many of the popular crawling tools do not look for this in the response headers.

Page 35: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Hreflang HTTP Header

I have not seen a tool that looks for this HTTP header. However, this implementation is preferred over the many lines of hreflang tags on every page.

Page 36: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Rel-Canonical HTTP Header

Many tools do not look for the rel-canonical HTTP header.

Page 37: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

All of these HTTP headers are better than clogging up the <head> of the code.

Page 38: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

JavaScript Redirects for Mobile

Google allows client side redirects for automation redirection of mobile to desktop and vice versa. Many crawling tools do not account for this.

Page 39: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Many SEO tools do not account for these things

Page 40: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Chrome DevTools Does

Natively in Chrome’s Developer Tools you can see all of the HTTP Request and Response Headers in the Network tab section.

Page 41: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Geolocation Emulation is Built-in to Chrome

If you’re running into issues with finding local rankings now that Google has gotten rid of nearEquals you can just change your location on the browser level.

Page 42: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Remote Debugging

You can also see this for a specific mobile devices with the remote debugging features of Chrome.

Page 43: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Crawlability

What can be crawled at this point?

Page 44: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Google is Crawling Headless

Make no mistake that Google has not been crawling with just text driven crawlers for a long time.

Page 45: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Adam Audette Said It So You KNOW It’s True

Adam ran a few tests a little under a year ago further proving out these capabilities

Page 46: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Also an Ex-Googler Confirmed It

A former Google developer said the headless crawling was his primary project from 2006 – 2010.

Page 47: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

I Said it in 2011

Page 48: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

JsCrawlability.com

Eric Wu has been doing tests to get a better determination of what it is that Google can actually see. http://www.jscrawlability.com

Page 49: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

But Mike, what does it matter?

Page 50: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Well I Captured Video of Headless Googlebot

It’s a question of what does Googlebot do on your site. Using LuckyOrange I captured Googlebot sessions from Search Console’s Fetch and Render and then I submitted it to the index. They load the page and leave. The mouse never moves, the headless browser never came back.

Page 51: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Get a Free Trial of LuckyOrange and Try it Yourself

This code will only place LuckyOrange on the page if a JS-enabled Googlebot comes to your site. My test did not show what Googlebot from the wild does when it’s crawling.

Page 52: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Log Files Went out of Style?

No, log file analysis has not gone out of style. In fact, it’s more valuable than ever before.

LOOK AT YOUR LOG FILES!

Page 53: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Log File Analysis

We parse the logs and query them in MySQL, but you can use any number of tools for this.

Page 54: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Screaming Frog Log File Analyzer

The Screaming Frog team rolled out an awesome new tool recently for log file analysis.

Page 55: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Search Console’s Crawl Stats are Mediocre

I personally find what Google gives us to be pretty much useless. Don’t less this take the place of going through your logs.

Page 56: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Log Files Help You Spot What Really Happens

I had a client come last year that was unsure whether it was Penguin or changes in their offline media buying habits had led to the downturn in traffic. Layering the Googlebot logs made it clear.

0

50000000

100000000

150000000

200000000

250000000

0

500000

1000000

1500000

2000000

2500000

Unknown organic organic home organic dyor

organic er organic home,dyor,er organic cushion organic net of home

organic ritani organic diamonds direct home paid brand sessions

tv spend web sessions (as reported by adaptv) Top 800 Monthly SV impressions

Googlebot Visits

Penguin Update

Page 57: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Social Shares Influence Crawl Patterns

We find that there is a higher correlation with crawling and social shares than crawling and links. Commonly held SEO knowledge would make you believe this is entirely dictated by links.

0

1000000

2000000

3000000

4000000

5000000

6000000

0

100000

200000

300000

400000

500000

600000

700000

Googlebot Visits Links Social Shares FB Twitter G+

Page 58: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Prerendering is the Best Practice

Using a solution like prerender.io is the best practice.

Page 59: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Prerender Can Cause Problems

However, we’ve seen Prerender setups misidentify Googlebot as a human users and serve the wrong the AngularJS versions.

0

20000

40000

60000

80000

100000

120000

Googlebot Perceived as Human

Page 60: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Prerender Setup Serving Non-200

Prepping the prerender cache can cause outages and lead to pages falling in and out of the index.

0

2000

4000

6000

8000

10000

12000

14000

16000

20

6

30

1

30

2

30

4

40

3

40

4

40

5

41

0

50

0

50

3

50

4

20

6

30

1

30

2

30

4

40

3

40

4

41

0

50

3

50

4

20

6

30

1

30

2

30

4

40

4

40

5

41

0

50

0

50

3

50

4

20

6

30

1

30

2

30

4

40

1

40

4

40

5

41

0

50

0

50

3

50

4

20

6

30

1

30

2

30

4

40

3

40

4

40

5

41

0

50

2

50

3

50

4

1 2 3 4 5

-

hit

miss

pass

Page 61: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Also Prerendering is Not a Requirement

We got rid of prerender on 2 sections of the site and saw the traffic from Organic Search increase YoY. Google can index it just fine.

Page 62: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

AJAX Crawling Deprecated

Google has gotten rid of the AJAX crawling scheme because they don’t need it anymore. They have perfected their ability to crawl headless at reasonable scale. They say don’t block the CSS or JS because it’s a browser.

Page 63: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

They Say Don’t Prerender Just for Google

Page 64: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Prerender Does Speed Up Crawling

There is certainly value in prerendering for speed, but then that makes me wonder, why not just not use Angular?

Page 65: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

A Better Idea Is a Library that Doesn’t Need Prerender

Let’s stop going after the shiny object and go with the things that are built to work, shall we? Check out MeteorJS – http://www.meteor.com

Page 66: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Or go with Angular2

Brad Green is the Google engineering product manager for AngularJS. He says Angular2 is better in every way.

Page 67: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Don’t Forget Google Wants Progressive Enhancement

Thinking with the IoT in mind, progressive enhancement still makes sense. However, frameworks like AngularJS are completely contradictory in that they don’t offer graceful degradation.

Page 68: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Scraping

The backbone of a lot of our analysis as SEOs

Page 69: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Most Tools use cURL or Similar

There are many similar libraries, but many SEO tools are built on library called cURL for managing HTTP requests. This is a text based crawler.

Page 70: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

This is a fundamental flaw of many SEO tools because they are not constructing the DOM and its CSS/JS transformations. Search Engines are.

Page 71: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

PhantomJS – For Scraping the Modern Web

There are many headless browsers out there such as Selenium, but PhantomJS is the go to. http://www.phantomjs.org

Page 72: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

HorsemanJS – The Easy PhantomJS

I prefer HorsemanJS which is a NodeJS module that is incredibly simple. http://www.horsemanjs.org

Page 73: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

In-Browser Scraping

I wrote a post on how you can scrape using your browser’s Console.

Page 74: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Scrape the Unscrapable

Nothing is in unscrapable when you’re using a browser.

Page 75: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Multi-Page In-browser Scraping

If you want to scrape multiple pages check out ArtooJS https://medialab.github.io/artoo/

Page 76: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

WebScraper.io

WebScraper is another high-powered in-browser scraping tool. No code required. http://www.webscraper.io

Page 77: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Or You Can Make Screaming Frog Headless

You can make Screaming Frog headless by placing a proxy with a headless browser in front of it. From my initial findings, there is not much different aside from the order it identifies URLs and its ability to scrape content from pages.

Page 78: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Here’s the Code

Here’s the node code for how I did it. HorsemanJS is not the best tool for the proxy, but it’s great for a proof of concept.

Screaming Frog pings for robots.txt a lot. Make sure you handle it with a cURL request rather than a headless one.

For speed, don’t load images

Make sure you’re setting the right headers before your return the HTML. HorsemanJS does not return headers.

Page 79: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

PHP Wrapper for PhantomJS

For those of you that prefer PHP, the PHP PhantomJS wrapper is pretty decent as well. http://jonnnnyw.github.io/php-phantomjs/

For speed, don’t load images

Page 80: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Content & Linking

You knew I wasn’t going to get up here and not talk about these things, right?

Page 81: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Google Looks at Entities First

According to Paul Haahr, Google looks at entities first and it appears that we as an industry have talked about this in theory, but not truly worked it into the optimization workflow.

Page 82: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

AlchemyAPI

I encourage you to work AlchemyAPI into your keyword research and content optimization process.

Page 83: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Term Relevance

There’s also been a lot of talk about co-relevance, topic modeling and TF*IDF. This is a great opportunity for technical elements to influence content creation.

Page 84: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

In Fact Just Do Everything Cyrus Says

https://moz.com/blog/7-advanced-seo-concepts

Page 85: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Moz’s New Tool Will Help

Moz has made the related keywords concept more accessible by adding it to Moz Pro. Searchmetrics also has a similar solution.

Page 86: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Onpage.Org’s TF-IDF Tool is Also Great

http://onpage.org

Page 87: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

John Mueller Says 302s Pass PageRank

Don’t let Google mislead you about 302s vs. 301s.

Page 88: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

These Rankings Say He’s Wrong

We had a client with millions for 302s and all we did was change them to 301s

June August September

HyperTraffic (1-3) 1272 1,283 1,473

Traffic (4-10) 979 983 837

Striking Distance (11-20) 167 161 110

Emerging (21-40) 106 103 98

Developmental (41-100) 156 90 87

Unranked 0 60 75

0

200

400

600

800

1000

1200

1400

1600301 redirects

Page 89: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

This Traffic Improvement Says He’s Wrong

Traffic went up pretty dramatically despite seasonality.

August 27th301 redirects

11,039,18810,455,517

11,348,902

12,049,481

11,250,148

12,902,847

11,040,192

13,158,296

11,287,790 12,203,99812,508,164

13,158,296

14,041,313

15,609,390

0

2,000,000

4,000,000

6,000,000

8,000,000

10,000,000

12,000,000

14,000,000

16,000,000

18,000,000

April May Jun Jul Aug Sep Oct

Organic Visits

2014 2015

Page 90: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

But. We need to stop saying ‘just do 301 redirects.’

Page 91: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Instead Do Optimal 301 Redirects

Pattern matching on the .htaccess level is always faster than a list of redirects and always better than doing it on the code/page level. Developers will respect that you understand what you’re talking about.

ReWriteRule url_pattern

file_reference [R=301, L]

redirect 301 /relative/path/to/file.php

http://www.yoursite.com/path/to/new/file.php

redirect 301 /relative/path/to/file.php

http://www.yoursite.com/path/to/new/file.php

redirect 301 /relative/path/to/file.php

http://www.yoursite.com/path/to/new/file.php

>

Page 92: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Internal Linking Structures

Internal Linking Structures are still an incredibly powerful asset. I’d like to see more tools like what Portent has built to visualize them and understand where there is opportunity. https://www.portent.com/blog/seo/seo-force-directed-diagrams.htm

Page 93: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Searchmetrics Does a Great Job of This

I wish all the link indices had a stronger focus on internal linking structure and visualizing where there are opportunities to flow more link equity throughout the site. Searchmetrics’ Site Structure tool does this well.

Page 94: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Paul’s Method is Good for Rolling Your Own

http://searchengineland.com/improve-internal-linking-calculate-internal-pagerank-r-246883

Page 95: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

If Possible, Always Update your internal links on the database level

WordPress Example

UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://www.oldsiteurl.com', 'http://www.newsiteurl.com');

Page 96: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Google is becoming the presentation layer of the web. Help them do it.

Page 97: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Schema.org / JSON-LD

Schema.org is a lot more reasonable to implement now that they are allowing JSON-LD. Being in knowledge boxes and such yields a lot more traffic than it takes away.

Page 98: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Page Speed

Google’s next big play

Page 99: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Google Expects Ludicrously Speedy

Google has an expectation that the above the fold content on the page will load within 1 second. You basically get 400 ms to make that happen.

Page 100: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

The Critical Rendering Path

Page 101: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

DevTools Is Your Friend

In the Timeline section, DevTools gives you a point by point break down of each operation and how it impacts the site’s load time. This is how you can determine what exactly is slowing down your pages.

Page 102: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

How Your Code Is Laid Out Matters A LOT

Page 103: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

This Is what PageSpeed Insights Helps With

Page 104: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

External Resources Also Slow Down the Page

Chartbeat is typically a huge culprit and using rel-dns-prefetch can speed this up considerably.

Page 105: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

AMP is a Spec to Enforce the Critical Rendering Path

Sound familiar?

Page 106: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Responsive Sites are SLOOOOOOOW

One of the key things you can do, aside from optimizing for the critical rendering path, is conditional loading.

Page 107: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

PreBrowsing Directives

Browsers have preloading directives which allow the page to download elements in the background for later viewing or within the same session.

Page 108: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Rel-Preconnect

Rel-preconnect will resolve the DNS, start the TCP handshake and negotiate the TLS tunnel beforehand, effectively shaving hundreds of milliseconds to several seconds in page load.

Page 109: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

When to Use Rel-Preconnect

When you see a long time for connections to happen or a lot of idle time, it’s a good idea to use rel-preconnect.

Page 110: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

<link rel=“preconnect”

href=“domain name”>

Page 111: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

How Rel-Prerender Works

It loads the page in an invisible tab to make the page appear instantly.

Page 112: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Not to Be Confused with Prerender.io

Page 113: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Google Uses It in the SERPs

This could potentially be a way to definitively identify navigational queries. h/t @yoast

Page 114: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

I Sent Thousands of Headless Visits

Page 115: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Rel-Prerender’d Pages Generally Perform Better

Page 116: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Use it With the GA API

Get the pageviews of the ga:pagePath based on the ga:previousPagePath set to the current page that you’re on.

You’ll get a list of the pages your users are most likely to visit next. Set one of these as the rel-prerender.

Page 117: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Code.

Inject rel-prerender into the page programmatically.

You could also session the URLs the user is going to toensure you are always prerendering a new page.

Page 118: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

It Improved Our Site Speed 68.35%

One line of code did this magic.

Page 119: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Don’t use it on mobile.

Analytics packages aside from Google Analytics may show fake sessions.

Page 120: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Defer JS Load with Page Visibility API

Page 121: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Rel-Preload for Same Page Preloading

I haven’t played with it yet, but Ian says they’re using it on the Portent site. https://www.smashingmagazine.com/2016/02/preload-what-is-it-good-for/

Page 122: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

How to Go Forward

Things you should know and do to be prepared for the technical renaissance

Page 123: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Understand the Document Object Model

https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction

Page 124: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Critical Rendering Path

https://developers.google.com/web/fundamentals/performance/critical-rendering-path/analyzing-crp?hl=en

Page 125: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Page Speed

https://www.portent.com/blog/design-dev/ultimate-site-speed-guide-what-impacts-site-speed.htm

Page 126: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Log File Analysis

https://builtvisible.com/log-file-analysis/

Page 127: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Understand SEO for JavaScript Frameworks

https://builtvisible.com/javascript-framework-seo/

Page 128: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Learn DevTools

http://ipullrank.com/6-things-you-should-know-about-in-chrome-devtools/

Page 129: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Accelerated Mobile & Instant Pages

Even if you’re not a publisher, I encourage you to watch these projects as I expect that Google and Facebook will grow the specsdramatically once they’re adopted.

Page 130: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Read Up On HTTP/2

https://moz.com/blog/http2-a-fast-secure-bedrock-for-the-future-of-seo

Page 131: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

IPULLRANK.COM @ IPULLRANK

Get Back to Testing All The Things

Page 132: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

Let’s stop chasing the content train and get back to making experiences that perform.

Page 133: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

That’s All I’ve Got

Page 134: SearchLove Boston 2016 | Mike King | Developer Thinking for SEOs

THANK YOU

Michael King

Managing Director, iPullRank

[email protected] http://ipullrank.com

@iPullRank