SlideShare a Scribd company logo
@basgr from @peakaceag#SMX #29A
Bastian Grimm, Peak Ace AG | @basgr
Successfully relaunching your website >> the tech edition
Migration Best Practices
@basgr from @peakaceag#SMX #29A
Never change a running system!
3 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Every (big) change brings (loads of) opportunity!
But always keep in mind: the price tag for failure is immense!
Risk Reward
User acceptance “Once in a lifetime” opportunity
Project complexity Greenfield project: question everything
Resilience/freeze Best chance to really “get shit done”
Interruption Opportunity to eliminate “legacy problems”
Politics Usually more agile vs regular, daily business
Performance Rethink RWD/dynamic serving, HTTPS, URL design, etc.
4 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Migration types and their potential impact on SEO
Often these types overlap – or multiple things are done at once.
Inspired by @jonoalderson: http://pa.ag/2xUCMnJ
Type Example
Hosting migrations You’re changing hosting or CDN provider(s).
You’re changing, adding, or removing server locations.
You’re changing your tech stack/caching/lbs.
Software migrations You’re changing CMS (or its version/plugins, etc.).
You’re changing the language used to render the website.
You’re merging platforms; e.g., a blog which operated on a separate domain.
Domain migrations You’re changing the main domain of your website.
You’re buying/adding new domains/subdomains to your ecosystem.
You’re moving a website, or part of a website, between domains.
Template migrations You’re changing the layout/structure/navigation of important pages.
You’re adding or removing template components.
You’re changing elements in your code, like title, canonical, or hreflang tags.
… and there are more: design migrations, strategy migrations, content migrations, protocol migrations, etc.
5 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Make it a granular, multi-step approach
Doing everything at once will make debugging & rolling back an almost impossible task!
Source: http://pa.ag/2yJqT1N
6 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
What is your goal for the migration?
The right mindset is super, super important!
I want to lose as little as
possible!” – isn’t really the
right goal for a migration!
@basgr from @peakaceag#SMX #29A
Thorough documentation, in-depth definition of requirements
and ongoing testing are essential!
Be crazy about details
@basgr from @peakaceag#SMX #29A
…from someone who has successfully
done this type of work before.
Ask for help…
9 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
▪ Google Search Console: manual actions,
server errors (DNS, 5XX response codes),
mark-up validation errors (AMP, schema.org,
rich cards), robots.txt
▪ Web crawl: internal redirects as well as
redirect chains, broken URLs, and internal links
▪ Log files: broken URLs, suspicious status
codes, crawler traps
▪ Algo issues? Relocating with Panda, Penguin
& Co. makes very little sense
Pre-migration site health check & clean-up
A properly optimised domain migrates easier and more efficiently.
Getting your house in order before the move minimises the risk of losing rankings.
10 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Be careful with broken pages & broken internal linking
11 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
You will need an arsenal of tools!
A lot depends on personal taste, but you’ll need at least one tool each for crawling, log
file analysis as well as search intelligence – and yes, this costs money!
@basgr from @peakaceag#SMX #29A
Figure out well in advance how to get access to all relevant server
access logs, e.g., native access or using a SaaS solution.
Get access to server logs
13 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Gather all URLs including static assets #1
Must haves: log files, XML sitemaps as well as a full website crawl
Extras: analytics (top ranking URLs and/or URLs generating the most traffic)
Mode > List > Upload
small domains
large domains
14 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Gather all URLs including static assets #2
Additionally: get the URLs that are strongly linked, bring a lot of traffic and /or have
been shared the most, etc.
15 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Switch to monitor your keyword rankings daily
Check critical keywords daily to ensure you are only working with the most recent data.
16 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Establishing a status quo performance benchmark
Lighthouse (via Chrome DevTools) or webpagetest.org provide relevant metrics.
Important: don’t just test the homepage, but also category/product pages.
@basgr from @peakaceag#SMX #29A
As a rule of thumb: 1-to-1 redirects from old to new!
Prepare URL redirect mapping
18 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Provide staging/test server
Make sure the server is locked-down properly to ensure your content doesn’t get
indexed in advance (i.a. duplicate content problems).
Methodology Pros Cons
noindex (meta tag/header)
- External tools can access without
separate access rules
- URLs are definitely not indexed
- Indexing rules cannot fully be tested
(all noindex)
- Waste of crawl budget
robots.txt
- External tools can access without
separate access rules
- No crawl budget is wasted
- Indexing rules cannot fully be tested
(only with robots.txt override)
- If linked, test URLs may appear in the index
(without title/metas).
password secured (.htaccess)
- No crawl budget is wasted
- URLs are definitely not indexed
- Everything can be tested properly
- External tools must be able to handle password
authentication.
IP-based access
- No crawl budget is wasted
- URLs are definitely not indexed
- Everything can be tested properly
- External tools must be able to handle IP-based
authentication.
VPN - Absolutely safe! - So safe, only a few tools can handle it!
19 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Build your very own migration Q&A check-list
Depending on what type of changes you’re undergoing, this needs to be adapted.
Use Aleyda’s template for more inspiration: https://pa.ag/2H6bOLH
Canonical tags & other rel-alternate annotations
Remember to annotate your dedicated mobile site and to
adapt your RSS feeds
Stage: Pre-migration Who? Bastian When? 23.05.18
Multilingual setup: Customize hreflang target URLs
Keep in mind: Various locations can be affected (e.g. head
section, server headers, xml sitemaps)
Stage: Pre-migration Who? Bastian When? 23.05.18
Update pel=next/prev pagination annotations
Are you using Google´s recommendation for pagination?
Stage: Pre-migration Who? Bastian When? 23.05.18
Update XML Sitemaps
Sitemap index file needs to be changed also, if you
reference it in robots.txt
Stage: Pre-migration Who? Bastian When? 23.05.18
Structured data update (schema.org)
Update your schema.org mark-up references. Short annotations
like “//schema.org“ don´t validate!
Stage: Pre-migration Who? Bastian When? 23.05.18
Update CDN settings and resource hints
Update requests for assets to CDNs & any resource hints
(preconnect, dns-prefetch)
Stage: Pre-migration Who? Bastian When? 23.05.18
Update HTTP header & customize cookie settings
If applicable, customize X-Robots header tags. Use Chrome
DevTools!
Stage: Pre-migration Who? Bastian When? 23.05.18
20 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Update internal links
Simply relying on redirects is no migration strategy
▪ Links to other internal
URLs
▪ Links to internal image
files
▪ Links to internal video
files
▪ Links to internal web
fonts
▪ Links to internal
JavaScript files
▪ Links to internal CSS
files
JS
HTML
Source code
21 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Update internal links (within JavaScript files)
Simply relying on redirects is no migration strategy
▪ Links to other internal
URLs
▪ Links to internal CSS
files
JAVASCRIPT
Files
▪ Links to internal image
files
22 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Update internal links (within CSS files)
Simply relying on redirects is no migration strategy
▪ Links to internal image
files
▪ Links to internal
web fonts
CSS
Files
▪ Any other internal links
23 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Be careful with internal redirects!
Avoid redirect chains: old URLs should lead directly to the corresponding new URL
Source: Redirect Chain Report via DeepCrawl
@basgr from @peakaceag#SMX #29A
Better safe than sorry: let’s test crawl the staging server
and run a comparison
Everything updated?
@basgr from @peakaceag#SMX #29A
Work your search console
26 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Prerequisites for a migration:
▪ No manual actions
▪ No significant amount of crawl errors (DNS,
availability)
▪ No problems with the XML sitemaps
▪ Valid structured data/rich cards mark-up, no
AMP and hreflang errors
Create new properties & eventually merge them into a set
Properties for HTTP and HTTPS with and without www = 4 domains
If you use separate mobile domains, there are 6 domains in total!
27 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Transfer disavow links file in time
Especially for domains with a “questionable” link profile: GSC setup and disavow file
transfer should be done approximately 48 hours before going live!
28 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Set your preferred domain and (if necessary) crawl rate
You don’t need to set the crawl rate, but, if you have done so previously, I would
suggest transferring the original settings (for now).
29 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Configure geo targeting for gTLDs
Synchronise settings for handling URL parameters if necessary (i.e. for “.com” gTLDs)
@basgr from @peakaceag#SMX #29A
After all this preparation, all you need to do now
is to "just" redirect URLs.
301 redirect all the things!
31 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Even if, as some Googlers say, all redirects are equal…
…all we did for this client was change the (chained) 302/307 to 301 redirects!
@basgr from @peakaceag#SMX #29A
Note: it only works for domain migrations!
Use the GSC “site move” feature
33 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Before you send to the index: test GSCs fetch & render
Make sure Google includes and displays all requested components properly!
34 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Test and re-submit all XML sitemaps
Also: synchronise URL parameter settings, if you were using them or if you need them
for your site’s functionality.
35 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
List crawl of old URLs & manual SERP checks
Import old URLs, e.g., to ScreamingFrog (list mode), only 301s should appear here.
Additional manual check of indexed URLs, e.g., via LinkClump add-on in Chrome.
1 3
4
2
@basgr from @peakaceag#SMX #29A
The most common problem with migrations gone wrong?
Missing or wrong redirects!
Seriously: check your redirects
@basgr from @peakaceag#SMX #29A
More post migration to-do‘s
@basgr from @peakaceag#SMX #29A
Focus on 4XX and 5XX status codes first, tackle those “live”!
Log file, GSC & GA error monitoring
39 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
#1 Migration performance monitoring
HTTP error status code monitoring (e.g., 40X for Googlebot & Bingbot)
40 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
#2 Migration performance monitoring
HTTP redirects over time and split by user-agent containing *bot*
41 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
#3 Migration performance monitoring
Top crawled pages breakdown (daily & weekly)
42 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Prefer an easier way? ScreamingFrog Log File Analyzer
@basgr from @peakaceag#SMX #29A
Re-test: no broken URLs (4/5XXer), tracking in place,
correct metadata & other tags, indexing rules, etc.
Complete crawl of the new domain
44 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Test and apply an “if... then... logic”
Based on your previously built Q&A checklist, make sure to double-check everything!
IF
Google news listings are available,
then test the Google news sitemap.
IF
you work internationally, then test
hreflang tags/sitemap annotations.
IF ratings (featured snippets) are available,
then test schema.org mark-up.
IF PPC ads are shown, then update and test
the landing page URLs.
IF SSL is also used on other subdomains,
then test these as well.
etc.
45 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
AMP, structured data, and rich cards error monitoring
@basgr from @peakaceag#SMX #29A
Short-term peaks are completely normal, dramatic drops rather not!
Keep an eye on the crawl frequency
47 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
Compare performances side-by-side
HTTPs is usually a little bit slower: compare your results.
Clear goal: never slower than before (always use HTTP/2 for HTTPs)
Try it out: https://www.webpagetest.org/
@basgr from @peakaceag#SMX #29A
Some tips to make your life easier
49 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
#1 Bulk testing all the things: mobile-friendliness
Mobile-friendliness at scale: technicalseo.com
Check it out: https://technicalseo.com/seo-tools/mobile-friendly/
50 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
#2 Bulk testing all the things: hreflang tags
hreflang tags (in sitemaps) at scale: technicalseo.com
Check it out: https://technicalseo.com/seo-tools/hreflang/
51 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
#3 Bulk testing all the things: redirects & other headers
HTTP status codes (errors, redirects, etc.) at scale: httpstatus.io
Check it out: https://httpstatus.io/
52 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
#4 Simulate Googlebot for smartphones with JS-rendering
ScreamingFrog can do that easily at scale; pay close attention to rendered output!
Also pretty cool: Extract > Xpath > //head/link[@rel="amphtml"]/@href
53 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
#5 Don’t forget to redirect your images as well!
When changing URLs/domains, make sure to implement redirect rules for images.
Read the entire post: http://pa.ag/2yJtTLz
54 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
#6 Move your robots.txt file
When changing domains, make sure to transfer (the contents of) robots.txt!
55 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
#7 HTTP 503 is your friend
Combine with “revisit-after” to throttle crawling; never use “noindex”/4XX instead!
Webmasters should return a 503 HTTP header for all
the URLs participating in the blackout […] Googlebot's
crawling rate will drop when it sees a spike in 503 […]
as Googlebot is currently configured, it will halt all
crawling of the site if the site’s robots.txt file returns a
503 status code for robots.txt.”
Source: http://pa.ag/2xRiA5T
56 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
#8 GSC’s DNS verification can be pretty helpful
No need to worry about missing meta tags; plus you can verify before deploying a
site/frontend to a new domain – and it’s faster as well!
More: http://pa.ag/2yJ7xtH
57 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
#9 Fix those redirect chains, especially on legacy sites…
…as multiple requests waste valuable performance and crawl budget!
58 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
#10 Careful: JavaScript frameworks are still tricky
Check out Bartosz‘ massive research on crawlability and indexability!
Read more: http://pa.ag/2qLqlqH
59 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A
http://pa.ag/smx18mig
Always looking for talent! Check out jobs.pa.ag
Bastian Grimm
bg@pa.ag
twitter.com/peakaceag
facebook.com/peakaceag
www.pa.ag
Liked the deck? Here you go:

More Related Content

PPTX
How Search Works
PDF
Content Prioritisation: Approaching infinite opportunities with finite resour...
PDF
E-Commerce SEO Horror Stories : How to tackle the most common issues 
at scal...
PDF
Javascript, SEO and Dollhouses by - #5HoursofTechnicalSEO @SEMrush
PDF
SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...
PDF
Python For SEO specialists and Content Marketing - Hand in Hand
PPTX
SEO Strategy: Where The F**K Do I Even Start? - Brighton SEO April 2022
PPTX
Search Query Processing: The Secret Life of Queries, Parsing, Rewriting & SEO
How Search Works
Content Prioritisation: Approaching infinite opportunities with finite resour...
E-Commerce SEO Horror Stories : How to tackle the most common issues 
at scal...
Javascript, SEO and Dollhouses by - #5HoursofTechnicalSEO @SEMrush
SEO low hanging Fruit - Identifying High Impact Opportunities Fast #SEOforUkr...
Python For SEO specialists and Content Marketing - Hand in Hand
SEO Strategy: Where The F**K Do I Even Start? - Brighton SEO April 2022
Search Query Processing: The Secret Life of Queries, Parsing, Rewriting & SEO

What's hot (20)

PDF
Advanced SEO: Logs, Load, and Language
PDF
The 8-Step eCommerce Framework to Elevate Your SEO Game at #WTSFest 2020
PDF
What Makes your SEO Fail (and how to fix it) #BrightonSEO
PDF
eCommerce Internal Linking: Into the Spider-Verse-to-upload.pdf
PDF
SEO Case Study - Hangikredi.com From 12 March to 24 September Core Update
PDF
Martin McGarry - SEO strategy c/o England manager Gareth Southgate
PDF
How to Implement Machine Learning in Your Internal Linking Audit - Lazarina S...
PDF
Developing Technical SEO Skills - Brighton SEO Sept 2021
PDF
Brighton SEO Autumn 2021: Core Web Vitals: Loopholes, Flaws, and Endless Delays
PDF
Cómo Gestionar Proyectos SEO Complejos de Forma Exitosa #SEonthebeach
PDF
BrightonSEO Oct 2022 Similar_ai.pdf
PDF
SEO at Scale - BrightonSEO April 2022
PPTX
Beth Barnham Schema Auditing BrightonSEO Slides.pptx
PPTX
Brighton SEO April 2022 - Automate the technical SEO stuff
PDF
SEO Reporting for Success at #FOS22
PPTX
BrightonSEO Summer 2021 - The Underrated Value of Internal Links
PDF
The SEO Guide to Migrate International Websites #SMProfs
PPTX
Internal Linking - The Topic Clustering Way edited.pptx
PPTX
GretaMunari - The redemption of content automation
PDF
SEO in the Age of Artificial Intelligence | How AI influences Search
Advanced SEO: Logs, Load, and Language
The 8-Step eCommerce Framework to Elevate Your SEO Game at #WTSFest 2020
What Makes your SEO Fail (and how to fix it) #BrightonSEO
eCommerce Internal Linking: Into the Spider-Verse-to-upload.pdf
SEO Case Study - Hangikredi.com From 12 March to 24 September Core Update
Martin McGarry - SEO strategy c/o England manager Gareth Southgate
How to Implement Machine Learning in Your Internal Linking Audit - Lazarina S...
Developing Technical SEO Skills - Brighton SEO Sept 2021
Brighton SEO Autumn 2021: Core Web Vitals: Loopholes, Flaws, and Endless Delays
Cómo Gestionar Proyectos SEO Complejos de Forma Exitosa #SEonthebeach
BrightonSEO Oct 2022 Similar_ai.pdf
SEO at Scale - BrightonSEO April 2022
Beth Barnham Schema Auditing BrightonSEO Slides.pptx
Brighton SEO April 2022 - Automate the technical SEO stuff
SEO Reporting for Success at #FOS22
BrightonSEO Summer 2021 - The Underrated Value of Internal Links
The SEO Guide to Migrate International Websites #SMProfs
Internal Linking - The Topic Clustering Way edited.pptx
GretaMunari - The redemption of content automation
SEO in the Age of Artificial Intelligence | How AI influences Search
Ad

Similar to Migration Best Practices - SMX London 2018 (20)

PDF
Migration Best Practices - SMX West 2019
PPTX
SEARCH Y - Bastian Grimm - Migrations Best Practices
PDF
Migration Best Practices - Search Y 2019, Paris
PPTX
Migration Best Practices - Peak Ace on Air
PDF
Migration Best Practices - SEOkomm 2018
PDF
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
PDF
SEO Migrations for International Web Setups
PDF
Site Migrations by Nik Ranger
PDF
SearchLeeds 2018 - Steve Chambers - Stickyeyes - How not to F**K up a Migration
PDF
60 Minutes to Website Migration Success
PDF
چک لیست و راهنمای کامل مراقبت‌های سئویی برای قبل، بعد و در حین انتقال سی‌اِم‌...
PPTX
Website Migrations at SMX Munich 2019 - Patrick Stox
PPTX
Omi sido-beyond-the-basics-of-website-migration.pptx
PPTX
Essential Technical SEO learnings from 120+ site migrations
PDF
The SEO Guide for Successful Web migrations #EUSearchCon
PDF
Managing website migration for @SearchLND
PPTX
Wolfgang Essentials 2017 - Replatforming & SEO
PDF
A Guide to Properly Migrating a CMS: The Rainbow Edition
PPTX
Migraciones y el impacto en SEO
PDF
Website Migration SEO Checklist For Beginners.pdf
Migration Best Practices - SMX West 2019
SEARCH Y - Bastian Grimm - Migrations Best Practices
Migration Best Practices - Search Y 2019, Paris
Migration Best Practices - Peak Ace on Air
Migration Best Practices - SEOkomm 2018
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
SEO Migrations for International Web Setups
Site Migrations by Nik Ranger
SearchLeeds 2018 - Steve Chambers - Stickyeyes - How not to F**K up a Migration
60 Minutes to Website Migration Success
چک لیست و راهنمای کامل مراقبت‌های سئویی برای قبل، بعد و در حین انتقال سی‌اِم‌...
Website Migrations at SMX Munich 2019 - Patrick Stox
Omi sido-beyond-the-basics-of-website-migration.pptx
Essential Technical SEO learnings from 120+ site migrations
The SEO Guide for Successful Web migrations #EUSearchCon
Managing website migration for @SearchLND
Wolfgang Essentials 2017 - Replatforming & SEO
A Guide to Properly Migrating a CMS: The Rainbow Edition
Migraciones y el impacto en SEO
Website Migration SEO Checklist For Beginners.pdf
Ad

More from Bastian Grimm (20)

PDF
SEOday Köln 2020 - Surprise, Surprise - 5 SEO secrets
PDF
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
PDF
Advanced data-driven technical SEO - SMX London 2019
PDF
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
PDF
The need for Speed: Advanced #webperf - SEOday 2018
PDF
OK Google, Whats next? - OMT Wiesbaden 2018
PDF
Super speed around the globe - SearchLeeds 2018
PDF
Welcome to a new reality - DeepCrawl Webinar 2018
PDF
Web Performance Madness - brightonSEO 2018
PDF
Digitale Assistenzsysteme - SMX München 2018
PDF
AMP - SMX München 2018
PDF
How fast is fast enough - SMX West 2018
PDF
Whats Next in SEO & CRO - 3XE Conference 2018 Dublin
PDF
Migration Best-Practices: So gelingt der erfolgreiche Relaunch - SEOkomm 2017
PDF
Digitale Assistenten - OMX 2017
PDF
Welcome to a New Reality - SEO goes Mobile First in 2017
PPTX
Welcome to a New Reality - SEO goes Mobile First in 2017
PPTX
Three site speed optimisation tips to make your website REALLY fast - Brighto...
PPTX
HTTPs Migration How To - SMX München 2017
PPTX
Keyword Strategie: Do's & Don'ts bei der Keyword Recherche - SMX München 2017
SEOday Köln 2020 - Surprise, Surprise - 5 SEO secrets
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
Advanced data-driven technical SEO - SMX London 2019
Data-driven Technical SEO: Logfile Auditing - SEOkomm 2018
The need for Speed: Advanced #webperf - SEOday 2018
OK Google, Whats next? - OMT Wiesbaden 2018
Super speed around the globe - SearchLeeds 2018
Welcome to a new reality - DeepCrawl Webinar 2018
Web Performance Madness - brightonSEO 2018
Digitale Assistenzsysteme - SMX München 2018
AMP - SMX München 2018
How fast is fast enough - SMX West 2018
Whats Next in SEO & CRO - 3XE Conference 2018 Dublin
Migration Best-Practices: So gelingt der erfolgreiche Relaunch - SEOkomm 2017
Digitale Assistenten - OMX 2017
Welcome to a New Reality - SEO goes Mobile First in 2017
Welcome to a New Reality - SEO goes Mobile First in 2017
Three site speed optimisation tips to make your website REALLY fast - Brighto...
HTTPs Migration How To - SMX München 2017
Keyword Strategie: Do's & Don'ts bei der Keyword Recherche - SMX München 2017

Recently uploaded (20)

PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Machine learning based COVID-19 study performance prediction
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Big Data Technologies - Introduction.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Modernizing your data center with Dell and AMD
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Cloud computing and distributed systems.
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
NewMind AI Monthly Chronicles - July 2025
Machine learning based COVID-19 study performance prediction
Spectral efficient network and resource selection model in 5G networks
Big Data Technologies - Introduction.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
The AUB Centre for AI in Media Proposal.docx
Reach Out and Touch Someone: Haptics and Empathic Computing
Modernizing your data center with Dell and AMD
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
MYSQL Presentation for SQL database connectivity
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Network Security Unit 5.pdf for BCA BBA.
Review of recent advances in non-invasive hemoglobin estimation
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Cloud computing and distributed systems.
The Rise and Fall of 3GPP – Time for a Sabbatical?

Migration Best Practices - SMX London 2018

  • 1. @basgr from @peakaceag#SMX #29A Bastian Grimm, Peak Ace AG | @basgr Successfully relaunching your website >> the tech edition Migration Best Practices
  • 2. @basgr from @peakaceag#SMX #29A Never change a running system!
  • 3. 3 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Every (big) change brings (loads of) opportunity! But always keep in mind: the price tag for failure is immense! Risk Reward User acceptance “Once in a lifetime” opportunity Project complexity Greenfield project: question everything Resilience/freeze Best chance to really “get shit done” Interruption Opportunity to eliminate “legacy problems” Politics Usually more agile vs regular, daily business Performance Rethink RWD/dynamic serving, HTTPS, URL design, etc.
  • 4. 4 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Migration types and their potential impact on SEO Often these types overlap – or multiple things are done at once. Inspired by @jonoalderson: http://pa.ag/2xUCMnJ Type Example Hosting migrations You’re changing hosting or CDN provider(s). You’re changing, adding, or removing server locations. You’re changing your tech stack/caching/lbs. Software migrations You’re changing CMS (or its version/plugins, etc.). You’re changing the language used to render the website. You’re merging platforms; e.g., a blog which operated on a separate domain. Domain migrations You’re changing the main domain of your website. You’re buying/adding new domains/subdomains to your ecosystem. You’re moving a website, or part of a website, between domains. Template migrations You’re changing the layout/structure/navigation of important pages. You’re adding or removing template components. You’re changing elements in your code, like title, canonical, or hreflang tags. … and there are more: design migrations, strategy migrations, content migrations, protocol migrations, etc.
  • 5. 5 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Make it a granular, multi-step approach Doing everything at once will make debugging & rolling back an almost impossible task! Source: http://pa.ag/2yJqT1N
  • 6. 6 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A What is your goal for the migration? The right mindset is super, super important! I want to lose as little as possible!” – isn’t really the right goal for a migration!
  • 7. @basgr from @peakaceag#SMX #29A Thorough documentation, in-depth definition of requirements and ongoing testing are essential! Be crazy about details
  • 8. @basgr from @peakaceag#SMX #29A …from someone who has successfully done this type of work before. Ask for help…
  • 9. 9 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A ▪ Google Search Console: manual actions, server errors (DNS, 5XX response codes), mark-up validation errors (AMP, schema.org, rich cards), robots.txt ▪ Web crawl: internal redirects as well as redirect chains, broken URLs, and internal links ▪ Log files: broken URLs, suspicious status codes, crawler traps ▪ Algo issues? Relocating with Panda, Penguin & Co. makes very little sense Pre-migration site health check & clean-up A properly optimised domain migrates easier and more efficiently. Getting your house in order before the move minimises the risk of losing rankings.
  • 10. 10 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Be careful with broken pages & broken internal linking
  • 11. 11 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A You will need an arsenal of tools! A lot depends on personal taste, but you’ll need at least one tool each for crawling, log file analysis as well as search intelligence – and yes, this costs money!
  • 12. @basgr from @peakaceag#SMX #29A Figure out well in advance how to get access to all relevant server access logs, e.g., native access or using a SaaS solution. Get access to server logs
  • 13. 13 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Gather all URLs including static assets #1 Must haves: log files, XML sitemaps as well as a full website crawl Extras: analytics (top ranking URLs and/or URLs generating the most traffic) Mode > List > Upload small domains large domains
  • 14. 14 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Gather all URLs including static assets #2 Additionally: get the URLs that are strongly linked, bring a lot of traffic and /or have been shared the most, etc.
  • 15. 15 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Switch to monitor your keyword rankings daily Check critical keywords daily to ensure you are only working with the most recent data.
  • 16. 16 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Establishing a status quo performance benchmark Lighthouse (via Chrome DevTools) or webpagetest.org provide relevant metrics. Important: don’t just test the homepage, but also category/product pages.
  • 17. @basgr from @peakaceag#SMX #29A As a rule of thumb: 1-to-1 redirects from old to new! Prepare URL redirect mapping
  • 18. 18 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Provide staging/test server Make sure the server is locked-down properly to ensure your content doesn’t get indexed in advance (i.a. duplicate content problems). Methodology Pros Cons noindex (meta tag/header) - External tools can access without separate access rules - URLs are definitely not indexed - Indexing rules cannot fully be tested (all noindex) - Waste of crawl budget robots.txt - External tools can access without separate access rules - No crawl budget is wasted - Indexing rules cannot fully be tested (only with robots.txt override) - If linked, test URLs may appear in the index (without title/metas). password secured (.htaccess) - No crawl budget is wasted - URLs are definitely not indexed - Everything can be tested properly - External tools must be able to handle password authentication. IP-based access - No crawl budget is wasted - URLs are definitely not indexed - Everything can be tested properly - External tools must be able to handle IP-based authentication. VPN - Absolutely safe! - So safe, only a few tools can handle it!
  • 19. 19 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Build your very own migration Q&A check-list Depending on what type of changes you’re undergoing, this needs to be adapted. Use Aleyda’s template for more inspiration: https://pa.ag/2H6bOLH Canonical tags & other rel-alternate annotations Remember to annotate your dedicated mobile site and to adapt your RSS feeds Stage: Pre-migration Who? Bastian When? 23.05.18 Multilingual setup: Customize hreflang target URLs Keep in mind: Various locations can be affected (e.g. head section, server headers, xml sitemaps) Stage: Pre-migration Who? Bastian When? 23.05.18 Update pel=next/prev pagination annotations Are you using Google´s recommendation for pagination? Stage: Pre-migration Who? Bastian When? 23.05.18 Update XML Sitemaps Sitemap index file needs to be changed also, if you reference it in robots.txt Stage: Pre-migration Who? Bastian When? 23.05.18 Structured data update (schema.org) Update your schema.org mark-up references. Short annotations like “//schema.org“ don´t validate! Stage: Pre-migration Who? Bastian When? 23.05.18 Update CDN settings and resource hints Update requests for assets to CDNs & any resource hints (preconnect, dns-prefetch) Stage: Pre-migration Who? Bastian When? 23.05.18 Update HTTP header & customize cookie settings If applicable, customize X-Robots header tags. Use Chrome DevTools! Stage: Pre-migration Who? Bastian When? 23.05.18
  • 20. 20 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Update internal links Simply relying on redirects is no migration strategy ▪ Links to other internal URLs ▪ Links to internal image files ▪ Links to internal video files ▪ Links to internal web fonts ▪ Links to internal JavaScript files ▪ Links to internal CSS files JS HTML Source code
  • 21. 21 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Update internal links (within JavaScript files) Simply relying on redirects is no migration strategy ▪ Links to other internal URLs ▪ Links to internal CSS files JAVASCRIPT Files ▪ Links to internal image files
  • 22. 22 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Update internal links (within CSS files) Simply relying on redirects is no migration strategy ▪ Links to internal image files ▪ Links to internal web fonts CSS Files ▪ Any other internal links
  • 23. 23 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Be careful with internal redirects! Avoid redirect chains: old URLs should lead directly to the corresponding new URL Source: Redirect Chain Report via DeepCrawl
  • 24. @basgr from @peakaceag#SMX #29A Better safe than sorry: let’s test crawl the staging server and run a comparison Everything updated?
  • 25. @basgr from @peakaceag#SMX #29A Work your search console
  • 26. 26 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Prerequisites for a migration: ▪ No manual actions ▪ No significant amount of crawl errors (DNS, availability) ▪ No problems with the XML sitemaps ▪ Valid structured data/rich cards mark-up, no AMP and hreflang errors Create new properties & eventually merge them into a set Properties for HTTP and HTTPS with and without www = 4 domains If you use separate mobile domains, there are 6 domains in total!
  • 27. 27 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Transfer disavow links file in time Especially for domains with a “questionable” link profile: GSC setup and disavow file transfer should be done approximately 48 hours before going live!
  • 28. 28 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Set your preferred domain and (if necessary) crawl rate You don’t need to set the crawl rate, but, if you have done so previously, I would suggest transferring the original settings (for now).
  • 29. 29 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Configure geo targeting for gTLDs Synchronise settings for handling URL parameters if necessary (i.e. for “.com” gTLDs)
  • 30. @basgr from @peakaceag#SMX #29A After all this preparation, all you need to do now is to "just" redirect URLs. 301 redirect all the things!
  • 31. 31 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Even if, as some Googlers say, all redirects are equal… …all we did for this client was change the (chained) 302/307 to 301 redirects!
  • 32. @basgr from @peakaceag#SMX #29A Note: it only works for domain migrations! Use the GSC “site move” feature
  • 33. 33 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Before you send to the index: test GSCs fetch & render Make sure Google includes and displays all requested components properly!
  • 34. 34 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Test and re-submit all XML sitemaps Also: synchronise URL parameter settings, if you were using them or if you need them for your site’s functionality.
  • 35. 35 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A List crawl of old URLs & manual SERP checks Import old URLs, e.g., to ScreamingFrog (list mode), only 301s should appear here. Additional manual check of indexed URLs, e.g., via LinkClump add-on in Chrome. 1 3 4 2
  • 36. @basgr from @peakaceag#SMX #29A The most common problem with migrations gone wrong? Missing or wrong redirects! Seriously: check your redirects
  • 37. @basgr from @peakaceag#SMX #29A More post migration to-do‘s
  • 38. @basgr from @peakaceag#SMX #29A Focus on 4XX and 5XX status codes first, tackle those “live”! Log file, GSC & GA error monitoring
  • 39. 39 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A #1 Migration performance monitoring HTTP error status code monitoring (e.g., 40X for Googlebot & Bingbot)
  • 40. 40 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A #2 Migration performance monitoring HTTP redirects over time and split by user-agent containing *bot*
  • 41. 41 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A #3 Migration performance monitoring Top crawled pages breakdown (daily & weekly)
  • 42. 42 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Prefer an easier way? ScreamingFrog Log File Analyzer
  • 43. @basgr from @peakaceag#SMX #29A Re-test: no broken URLs (4/5XXer), tracking in place, correct metadata & other tags, indexing rules, etc. Complete crawl of the new domain
  • 44. 44 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Test and apply an “if... then... logic” Based on your previously built Q&A checklist, make sure to double-check everything! IF Google news listings are available, then test the Google news sitemap. IF you work internationally, then test hreflang tags/sitemap annotations. IF ratings (featured snippets) are available, then test schema.org mark-up. IF PPC ads are shown, then update and test the landing page URLs. IF SSL is also used on other subdomains, then test these as well. etc.
  • 45. 45 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A AMP, structured data, and rich cards error monitoring
  • 46. @basgr from @peakaceag#SMX #29A Short-term peaks are completely normal, dramatic drops rather not! Keep an eye on the crawl frequency
  • 47. 47 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A Compare performances side-by-side HTTPs is usually a little bit slower: compare your results. Clear goal: never slower than before (always use HTTP/2 for HTTPs) Try it out: https://www.webpagetest.org/
  • 48. @basgr from @peakaceag#SMX #29A Some tips to make your life easier
  • 49. 49 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A #1 Bulk testing all the things: mobile-friendliness Mobile-friendliness at scale: technicalseo.com Check it out: https://technicalseo.com/seo-tools/mobile-friendly/
  • 50. 50 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A #2 Bulk testing all the things: hreflang tags hreflang tags (in sitemaps) at scale: technicalseo.com Check it out: https://technicalseo.com/seo-tools/hreflang/
  • 51. 51 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A #3 Bulk testing all the things: redirects & other headers HTTP status codes (errors, redirects, etc.) at scale: httpstatus.io Check it out: https://httpstatus.io/
  • 52. 52 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A #4 Simulate Googlebot for smartphones with JS-rendering ScreamingFrog can do that easily at scale; pay close attention to rendered output! Also pretty cool: Extract > Xpath > //head/link[@rel="amphtml"]/@href
  • 53. 53 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A #5 Don’t forget to redirect your images as well! When changing URLs/domains, make sure to implement redirect rules for images. Read the entire post: http://pa.ag/2yJtTLz
  • 54. 54 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A #6 Move your robots.txt file When changing domains, make sure to transfer (the contents of) robots.txt!
  • 55. 55 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A #7 HTTP 503 is your friend Combine with “revisit-after” to throttle crawling; never use “noindex”/4XX instead! Webmasters should return a 503 HTTP header for all the URLs participating in the blackout […] Googlebot's crawling rate will drop when it sees a spike in 503 […] as Googlebot is currently configured, it will halt all crawling of the site if the site’s robots.txt file returns a 503 status code for robots.txt.” Source: http://pa.ag/2xRiA5T
  • 56. 56 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A #8 GSC’s DNS verification can be pretty helpful No need to worry about missing meta tags; plus you can verify before deploying a site/frontend to a new domain – and it’s faster as well! More: http://pa.ag/2yJ7xtH
  • 57. 57 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A #9 Fix those redirect chains, especially on legacy sites… …as multiple requests waste valuable performance and crawl budget!
  • 58. 58 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A #10 Careful: JavaScript frameworks are still tricky Check out Bartosz‘ massive research on crawlability and indexability! Read more: http://pa.ag/2qLqlqH
  • 59. 59 @peakaceag pa.ag@basgr from @peakaceag#SMX #29A http://pa.ag/smx18mig Always looking for talent! Check out jobs.pa.ag Bastian Grimm bg@pa.ag twitter.com/peakaceag facebook.com/peakaceag www.pa.ag Liked the deck? Here you go: