htaccess hell - brightonseo 2016

77
@chrisgreen87 @StrategiQ #BrightonSEO 2nd September 2016 @chrisgreen87 @StrategiQ .htaccess Hell Managing a Migration When There’s No Easy Answer

Upload: chris-green

Post on 16-Apr-2017

3.657 views

Category:

Marketing


1 download

TRANSCRIPT

Page 1: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

@chrisgreen87@StrategiQ

.htaccess Hell Managing a Migration When There’s

No Easy Answer

Page 2: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

A site migration Possibly the most important moment in a

website’s life-cycle

Page 3: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

A site migration Possibly the most important moment in a

website’s life-cycle

Page 4: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Done well, a new site can launch without hitch

Page 5: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Done badly, all your hard work will go down the

Page 6: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Page 7: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

On small sites this can be really easy

Page 8: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

On small sites this can be really easyOn large sites... ?

Page 9: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Page 10: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

That doesn’t mean you can just shrug it off

(don’t be lazy)

Page 11: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

It’s make or break for your new website

(I really mean it, don’t be lazy)

Page 12: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

In this presentation I’ll show you

Page 13: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

How to scope the size of the redirect challenge

Page 14: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

How to prioritise redirects

Page 15: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Tactics to help map them(less painfully - at least)

Page 16: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

“Best-case” matching when there’s no exact

Page 17: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Testing redirects pre & post launch

Page 18: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Keeping organised

Page 19: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Scoping the size of the redirect trouble

Page 20: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

1) Crawl your website

Page 21: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

1) Crawl your website

Page 22: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

2) Crawl any sitemaps

Page 23: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

3) Export landing page URLs from GA

Page 24: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

If the 5,000 row limit is too much of a pain - try http://bit.ly/analytics-edge

Page 25: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

4) Extract URLs from logs

Page 26: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

4) Extract URLs from logs

Page 27: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Or maybe you can be adventurous and use command line

This resource rocks, thanks Oliver Mason!-> http://bit.ly/log-command-line

Page 28: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

5) Scrape Google(but be nice)

Page 29: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

“But wait, this sounds a right faff!”

(I thought I told you not to be lazy)

Page 30: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Prioritising redirects

Page 31: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

1) Common-sense - top level pages

Page 32: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

2) Top-ranking pages

Page 33: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

3) Top trafficked pages

Page 34: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

4) Most crawled pages (from log files)

Page 35: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

5) … and if possible everything else

Page 36: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Mapping redirects

Page 37: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

1) Directory rewrites

Page 39: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Some more handy .htaccess rules?

http://bit.ly/aleyda-htaccess

Page 40: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

That’s the easy part over and done with!

Page 41: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

2) Old-to-new post/ product matching

Page 42: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Can be done in many different ways - depends on commonalities:- Post/Product ID

- Post/Product Name- Post/Product Title- URL Key Matching

etc...

Page 43: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

For example:

http://bit.ly/ecom-redirect-drive

Page 44: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Make friends with a developer

(Seriously - buy them a drink and everything!)

Page 45: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

But that’s not a get out of jail free card!

Page 46: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

3) Manually match them

Page 47: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Page 48: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

This is up to you to do the hard work…

Filters are your friend too

Page 49: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Filter your URLs, look for:

- Specific keywords- Directories- Parameters

Page 50: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

“Best case” matching

Page 51: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

1) Don’t just over-redirect to the homepage or top-level

categories

(This leads into soft 404s!)

Page 52: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Don’t just take my word for it Ask Glenn Gabe

http://bit.ly/soft-404s

Page 53: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

2) Match to the closest available example

Page 54: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

3) If there’s no suitable alternative, don’t be afraid to

let it drop

(if it’s important and there’s no alternative, you’re doing it wrong!)

Page 55: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Redirect implementation?

Assuming that you’re using apache - http://bit.ly/htaccess-for-seos

Page 56: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Redirect testing

Page 57: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

1) Modify redirects to “work” on staging/dev

Page 58: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Change the hostname to dev/staging

(change back before launch though!)

Page 59: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

2) Crawl, crawl & crawl again!

Page 60: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Change host on your old list of redirects & crawl

Page 61: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Pro tip:

Just because there’s a 301 response, doesn’t mean it’s the right destination!

Page 62: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

3) Test again after launch

Page 63: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Make sure nothing breaks after!

Page 64: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Keeping organised

Page 65: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

1) Excel/google docs is your friend

Page 66: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

2) Include 301 mapping into your sitemap - start early!

http://bit.ly/sitemap-redirect-template

Page 67: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

3) Learn to Vlookup!

http://bit.ly/vlookup-beginners

Page 68: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

4) Save often, split your workbook if things get too

heavy

Page 69: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

To recap...

Page 70: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

It takes time but it’s worth it!

Page 71: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Properly scope the size of the problem

Page 72: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Prioritise - more is better, but it has to stop somewhere

Page 73: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Map redirects intelligently - pattern or directory match where you can

Page 74: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Make friends with a developer!

Page 75: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Test, test & test again

Page 76: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Download this, it’ll helphttp://bit.ly/sitemap-redirect-template

Page 77: Htaccess Hell - BrightonSEO 2016

@chrisgreen87@StrategiQ

#BrightonSEO2nd September 2016

Thank you.@chrisgreen87

http://bit.ly/htaccess-hell