Bastian Grimm, Peak Ace AG | @basgr
Chancen, Risiken, Strategien, Tools & Workflows
Migration Best-Practices
2 pa.ag@peakaceag
Keine Lust mitzuschreiben?
https://pa.ag/seok17mig
3 @peakaceag pa.ag
NEVER CHANGE A RUNNING SYSTEM!
4 @peakaceag pa.ag
Jede (große) Veränderung birgt (zahlreiche) Chancen!
Aber aufgepasst: Der Preis fürs Scheitern ist hoch!
Inspired by @pip_net: http://pa.ag/2jcBr6c
Risiko Chance
User-Akzeptanz Einmalige Gelegenheit, Dinge signifikant besser zu machen
Komplexität Greenfield-Projekt: Alles kann in Frage gestellt werden
Stillstand Beste Chance “to get shit done”
Störungen Möglichkeit „Altlasten & historische Probleme" zu beseitigen
Politik Agiler als das reguläre, tägliche Geschäft
Performance Überdenken: RWD/Dynamic Serving, HTTPS, URL Design etc.
5 @peakaceag pa.ag
Was ist eure Zielsetzung für die Migration?
Das richtige Mindset ist super, super wichtig!
Ich will möglichst nichts/wenig
verlieren, ist nicht wirklich die
richtige Zielsetzung für eine
Migration!
„
6 @peakaceag pa.ag
Migrationstypen und mögliche Auswirkungen auf SEO
Mehrere Varianten können sich überschneiden – oder gleichzeitig umgesetzt werden...
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 it's 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
... und es gibt noch mehr: Design Migrationen, Strategie Migrationen, Content Migrationen, Protokoll Migrationen.
7 @peakaceag pa.ag
Wählt einen iterativen, mehrstufigen Ansatz
Debugging und ein möglicher Rollback würden, durch das gleichzeitige Durchführen
aller Änderungen, zu einer fast unmöglichen Aufgabe werden!
Source: http://pa.ag/2yJqT1N
8 @peakaceag pa.ag
Achtet auf jedes Detail!
Sorgfältige Dokumentation, genaue Definition der
Anforderungen und fortlaufende Tests sind unerlässlich!
9 @peakaceag pa.ag
Um Hilfe bitten…
… und am besten jemanden fragen, der diese Aufgabe
schon einmal erfolgreich gemeistert hat.
10 @peakaceag pa.ag
PLANNING & PREPARATION
11 @peakaceag pa.ag
Migrationsstrategie definieren
Was ändert sich, was bleibt?
Komplett umziehen oder selektiv?
12 @peakaceag pa.ag
Crawl Budget während der Migration beachten
Wichtig: Wie lange dauert ein vollständiger Recrawl meiner Seite (theoretisch)?
▪ Um den Protokollwechsel zu realisieren, muss
Google die Domain vollständig neu crawlen
und alle URLs abrufen.
▪ Bei einer Domain mit bspw. 100.000 Unter-
seiten müsste Google also 200.000 URLs
verarbeiten (Redirects).
▪ Bei einer durchschnittlichen Anzahl von 30.000
„Pages crawled/day“ würde das demnach
mindestens ~7 Tage dauern.
▪ Die Annahme ist nur „halb valide“, da nicht alle
URLs nacheinander einmal abgerufen werden.
13 @peakaceag pa.ag
You‘ll be needing tools… lots of them!
Vieles ist persönlicher Geschmack, aber ihr benötigt mindestens:
einen Crawler, Logfile Auswertung sowie Search Intelligence – und ja, das kostet Geld!
14 @peakaceag pa.ag
Pre-Migration – Website Health Check & Clean-up
Sauber optimierte Domains lassen sich deutlich einfacher und effizienter migrieren.
Das Risiko von Verlusten sinkt drastisch, wenn vorab aufgeräumt wird!
▪ Google Search Console: manuelle Maßnahmen,
Serverfehler (DNS, 5XXer), Mark-up validation
Errors (AMP, schema.org, Rich Cards), robots.txt
▪ Web Crawl: interne Redirects (& Ketten), Broken
URLs und interne Verlinkung
▪ Logfiles: Broken URLs, auffällige Statuscodes,
Crawler-Traps
▪ Algo Issues? Mit Panda, Penguin & Co.
umzuziehen, ist wenig sinnvoll…
15 pa.ag@peakaceag
Mindestens 404er & kaputte, interne Verlinkung fixen:
16 @peakaceag pa.ag
Alle URLs inventarisieren & dokumentieren #1
Absolute Must-haves: vollständiger Website Crawl, Server Logfiles & XML-Sitemaps
Mode > List > Upload
Kleine Domains
Große Domains
17 @peakaceag pa.ag
Alle URLs inventarisieren & dokumentieren #2
Zusätzlich: Holt euch jeweils die URLs, die stark verlinkt sind, viel Traffic bringen, am
meisten ge-shared wurden etc.
18 @peakaceag pa.ag
Tägliches Keyword Ranking Monitoring etablieren
Erfassen des Status Quo kritischer Rankings bzw. Keywords; ändern der Monitoring
Frequenz auf „täglich“ für möglichst aktuelle Daten
19 @peakaceag pa.ag
Status Quo Performance Benchmark etablieren
Lighthouse (via Chrome Dev Tools) oder webpagetest.org liefern relevante Metriken
Wichtig: Nicht nur die Homepage sondern auch Kategorie / Produktseiten erfassen
20 @peakaceag pa.ag
URL-Redirect Mapping vorbereiten
Als Daumenregel gilt: 1-zu-1-Weiterleitungen von alt auf neu!
21 @peakaceag pa.ag
Staging/Test Server bereitstellen
Und bitte unbedingt entsprechend sichern, die Inhalte sollen keinesfalls vorab im
Index landen (u.a. Duplicate Content Problematik)
Methodik Vorteile Nachteile
noindex (Meta Tag/Header)
- Externe Tools können ohne gesonderte
Freischaltung zugreifen
- URLs werden definitiv nicht indexiert
- Indexierungsregeln nicht vollständig testbar
(alles noindex)
- Crawl Budget Waste
robots.txt
- Externe Tools können ohne gesonderte
Freischaltung zugreifen
- Kein Crawl Budget Waste
- Indexierungsregeln nicht vollständig testbar
(nur mit robots.txt Override)
- Falls angelinkt, erscheinen Test-URLs mglw. im
Index (ohne Titel/Metas)
Passwort gesichert (.htaccess)
- Kein Crawl Budget Waste
- URLs werden definitiv nicht indexiert
- Alles sauber zu testen
- Externe Tools müssen mit Passwort
Authentifizierung umgehen können
IP-basierte Freischaltung
- Kein Crawl Budget Waste
- URLs werden definitiv nicht indexiert
- Alles sauber zu testen
- Externe Tools müssen mit IP-basierter
Authentifizierung umgehen können
VPN - Totsicher!
- So sicher, dass das nur ganz, ganz wenige Tools
überhaupt hinbekommen
22 @peakaceag pa.ag
EXAMPLE: PROTOCOL MIGRATION
23 @peakaceag pa.ag
Canonical Tags & weitere rel-alternate Notationen
Bei einer standalone mobile Website entsprechende Annotation nicht vergessen! RSS-
Feeds werden verwendet? Auch hier muss angepasst werden!
CANONICAL TAG
<link href="http://www.example.com/deep/url" rel="canonical" />
<link href="https://www.example.com/deep/url" rel="canonical" />
ALT
NEU
<link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.example.com/page-1" />
<link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.example.com/page-1" />
ALT
NEU
MOBILE TAG
24 @peakaceag pa.ag
Mehrsprachiges Setup? hreflang-Ziele anpassen
Auch einzelne Länder sind problemlos möglich, wichtig ist nur, dass der Kreisbezug passt.
HREFLANG
<link rel="alternate" hreflang="de" href="http://www.example.com/de/" />
ALT
<link rel="alternate" hreflang="fr" href="http://www.example.com/fr/" />
ALT
<link rel="alternate" hreflang="de" href="https://www.example.com/de/" />
NEU
<link rel="alternate" hreflang="x-default" href="http://www.example.com/" />
ALT
<link rel="alternate" hreflang="fr" href="https://www.example.com/fr/" />
NEU
<link rel="alternate" hreflang="x-default" href="https://www.example.com/" />
NEU
25 @peakaceag pa.ag
rel=next/prev Paginierungen & Accelerated Mobile Pages
Nutzt ihr Googles Empfehlung zur Paginierung? Oder AMPs? Mark-up Update!
PAGINIERUNG
<link href="http://www.example.com/deep/url?page=1" rel="prev" />
<link href="https://www.example.com/deep/url?page=1" rel="prev" />
ALT
NEU
<link href="http://www.example.com/deep/url?page=3" rel="next" />
ALT
<link href="https://www.example.com/deep/url?page=3" rel="next" />
NEU
AMP
<link rel="amphtml" href="http://www.example.com/amp/" />
<link rel="amphtml" href="https://www.example.com/amp/" />
ALT
NEU
26 @peakaceag pa.ag
Alle internen Links müssen angepasst werden!
Denn: Sich einfach auf interne Redirects zu verlassen ist keine Migrationsstrategie!
▪ Links zu anderen
internen URLs
▪ Links zu internen
Bild Dateien
▪ Links zu internen
Video Dateien
▪ Links zu internen
Webfonts
▪ Links zu internen
JavaScript Dateien
▪ Links zu internen
CSS Dateien
JS
HTML
Source Code
27 @peakaceag pa.ag
Auch Verlinkungen IN JavaScript Dateien anpassen
Denn: Sich einfach auf interne Redirects zu verlassen ist keine Migrationsstrategie!
▪ Links zu anderen
internen URLs
▪ Links zu internen
CSS Dateien
JAVASCRIPT
Dateien
▪ Links zu internen
Bild Dateien
28 @peakaceag pa.ag
Sowie auch Verlinkungen IN den CSS Dateien
Denn: Sich einfach auf interne Redirects zu verlassen ist keine Migrationsstrategie!
▪ Links zu internen
Bild Dateien
▪ Links zu internen
Webfonts
CSS
Dateien
▪ Weitere interne Links
29 @peakaceag pa.ag
Vorsicht bei vorhandenen internen Weiterleitungen!
Weiterleitungsketten vermeiden; die alten HTTP-URLs müssen zukünftig direkt auf die
neuen HTTPs-URLs weiterleiten!
Quelle: Redirect Chain Report via DeepCrawl
xxxx
xxxx
xxxx
xxxx
xxxx
30 @peakaceag pa.ag
XML-Sitemaps aktualisieren #1
Wichtig: Bei Verwendung des Sitemap Index Files muss auch hier eingegriffen werden!
Solltet ihr die Sitemap in der robots.txt referenzieren, ist die URL dort zu aktualisieren.
<url>
<loc>http://www.example.com/</loc>
<xhtml:link rel="alternate" hreflang="x-default" href="http://www.example.com/" />
<xhtml:link rel="alternate" hreflang=“de" href="http://www.example.com/de/" />
<xhtml:link rel="alternate" hreflang="fr" href="http://www.example.com/fr/" />
<xhtml:link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.example.com/" />
<image:image>
<image:loc>http://www.example.com/ich-bin-ein-bild.jpg</image:loc>
</image:image>
<video:video>
<video:content_loc>http://www.example.com/ich-bin-ein-video.flv</video:content_loc>
</video:video>
</url>
1
2
3
4
5
6
7
8
9
10
11
12
13
ALT
31 @peakaceag pa.ag
XML-Sitemaps aktualisieren #2
Wichtig: Bei Verwendung des Sitemap Index Files muss auch hier eingegriffen werden!
Solltet ihr die Sitemap in der robots.txt referenzieren, ist die URL dort zu aktualisieren.
<url>
<loc>https://www.example.com/</loc>
<xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/" />
<xhtml:link rel="alternate" hreflang=“de" href="https://www.example.com/de/" />
<xhtml:link rel="alternate" hreflang="fr" href="https://www.example.com/fr/" />
<xhtml:link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.example.com/" />
<image:image>
<image:loc>https://www.example.com/ich-bin-ein-bild.jpg</image:loc>
</image:image>
<video:video>
<video:content_loc>https://www.example.com/ich-bin-ein-video.flv</video:content_loc>
</video:video>
</url>
1
2
3
4
5
6
7
8
9
10
11
12
13
NEU
32 @peakaceag pa.ag
Structured Data Update (schema.org)
Auch die Referenzen des schema.org Mark-ups sind zu aktualisieren!
Achtung: Die Kurznotation „//schema.org“ validiert gemäß Testing Tool derzeit nicht!
<script type="application/ld+json"> {
"@context": "http://schema.org", "@type": "Product", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.5", "reviewCount":
"100" },
"description": "Hier stet eine tolle Produktbeschreibung",
"name": "Und hier der super Produktname",
"image": "http://www.example.com/ich-bin-ein-bild.jpg",
"offers": { "@type": "Offer", "availability": "http://schema.org/InStock", "price": "55.00", "priceCurrency": "EUR" }
} </script>
ALT
1
2
3
4
5
6
7
8
<script type="application/ld+json"> {
"@context": "https://schema.org", "@type": "Product", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.5",
"reviewCount": "100" },
"description": "Hier stet eine tolle Produktbeschreibung",
"name": "Und hier der super Produktname",
"image": "https://www.example.com/ich-bin-ein-bild.jpg",
"offers": { "@type": "Offer", "availability": "https://schema.org/InStock", "price": "55.00", "priceCurrency": "EUR" }
} </script>
NEU
1
2
3
4
5
6
7
8
33 @peakaceag pa.ag
Update von Links zu CDNs & anderen “Resource Hints”
Dateien, die auf einem CDN liegen müssen nun ebenfalls via HTTPS aufgerufen werden,
gleiches gilt für Direktiven wie preconnect, dns-prefetch etc.
Resource Hints
<script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
Old
New
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
CDN
<link rel="preconnect" href="http://cdn.example.com" pr="0.42">
<link rel="preconnect" href=" https:// cdn.example.com" pr="0.42">
Old
New
<link rel="preconnect" href="//cdn.example.com" pr="0.42">
Alternatively
Alternatively
34 @peakaceag pa.ag
HTTP-Header updaten & Cookie Einstellungen anpassen
Sofern verwendet: X-Robots Header Tags anpassen. Chrome Dev. Tools verwenden!
X-Robots rel-canonical via Apache .htaccess
<Files theRequestedFile.pdf >
Header add Link 'https://www.example.com/ebook.html; rel="canonical"'
</Files>
Andere HTTP-Header Varianten:
▪ Link: <https://www.example.com/de/>; rel="alternate"; hreflang="de"
▪ Link: <https://www.example.com/someurl>; rel="canonical"
▪ Link: <https://cdn.example.com>; rel="dns-prefetch"
35 @peakaceag pa.ag
Aus ALT wird NEU!
Gilt analog für alle Migrationsszenarien: Verweise (Links)
im alten werden durch das neue Format ersetzt.
36 @peakaceag pa.ag
Alles angepasst?
Vertrauen ist gut, Kontrolle ist besser: Zeit für einen
Test-Crawl der neuen HTTPS-Version!
37 @peakaceag pa.ag
Sicherstellen, dass keine Links auf HTTP-URLs verbleiben!
Wichtig: Bevor die Migration tatsächlich durchgeführt wird, ist zu überprüfen,
ob tatsächlich keine HTTP-Anfragen mehr auf dem HTTPS-System stattfinden!
38 @peakaceag pa.ag
Side-by-Side Vergleich der beiden Crawls
Um sicherzustellen, dass der Content 1:1 so verfügbar ist wie auf der HTTP-Variante,
unbedingt das Inventar vergleichen (HTTP vs. HTTPs z.B. via ScreamingFrog+Excel)!
39 @peakaceag pa.ag
Kurzer Exkurs: HTTPs spezifischer Crawl Output
DeepCrawl reportet u.a. auch HSTS Header sowie unsichere Formulare
40 @peakaceag pa.ag
WORK YOUR SEARCH CONSOLE!
41 @peakaceag pa.ag
HTTPs Properties anlegen (und GSC-Set einrichten)
Properties für HTTP und HTTPs jeweils mit und ohne WWW = 4 Domains
Bei einer separaten mobile Subdomain sind es 6 Properties insgesamt!
Voraussetzungen für eine Migration:
▪ Keine manuellen Maßnahmen
▪ Keine signifikante Menge an Crawl Errors
(DNS, Erreichbarkeit)
▪ Keine Probleme mit den XML-Sitemaps
▪ Valides Structured bzw. Rich Cards Mark-
up, dito keine AMP und hreflang-Fehler
http://xxxxxxx.de/
https://xxxxxxx.de/
http://www.xxxxxxx.de/
https://www.xxxxxxx.de/
https://www.xxxxxxx.de/
http://www.xxxxx.de/
42 @peakaceag pa.ag
Disavow Links File rechtzeitig übertragen
Besonders bei Domains mit „problematischem“ Linkprofil:
GSC Setup und Übertragung des Files mind. 48 Stunden vor dem Live-Switch erledigen!
43 @peakaceag pa.ag
Bevorzugte Domain sowie ggf. Crawl Rate einstellen
Eigentlich sind Einstellungen zur Crawl Rate überflüssig, wurden diese aber verwendet,
sollte hier zur Sicherheit ebenfalls der Ursprungszustand hergestellt werden.
44 @peakaceag pa.ag
Geotargeting für gTLDs (Verzeichnisse) konfigurieren
Sofern verwendet bzw. notwendig (gilt auch bei Verzeichnissen auf gTLDs wie .com)
45 @peakaceag pa.ag
GSC Fetch & Render testen
Prüft, ob Google alle „requested Components“ sauber inkludiert und darstellt!
46 @peakaceag pa.ag
XML-Sitemaps testen & neu übermitteln
Sofern verwendet bzw. funktional notwendig, sind auch die Einstellungen zum Handling
von URL-Parametern zu synchronisieren!
47 @peakaceag pa.ag
WOHOOO… LETS DO IT!
48 @peakaceag pa.ag
301-Redirect all the things!
So viel Vorbereitung und dann „nur“ noch URLs weiterleiten!
49 @peakaceag pa.ag
Einige Leute sagen, dass nun alle Redirects gleich sind…
Aber: Alles was wir für diesen Kunden getan haben, war die 302/307 auf 301-
Weiterleitungen umzustellen und einige Ketten aufzulösen!
50 @peakaceag pa.ag
Nutze das GSC “Site Move” Feature
Beachte: Es funktioniert nur bei Domain Migrationen!
51 @peakaceag pa.ag
List Crawl der alten HTTP-URLs & manuelle SERP-Kontrolle
Alte URLs in ScreamingFrog importieren (List Mode, follow Redirects), hier dürfen nur
noch 301er auftauchen. Zusätzlich manuelle Kontrolle indexierter URLs mittels LinkClump.
1 3
4
2
52 @peakaceag pa.ag
Ernsthaft: Prüft eure Weiterleitungen!
Das häufigste Problem bei Migrationen, die schiefgehen:
fehlende oder falsche Redirects!
53 @peakaceag pa.ag
POST MIGRATION TO DOS
54 @peakaceag pa.ag
Logfile-, GSC- & GA-Error Monitoring
Schaut euch unbedingt 4XXer sowie 5XXer Status Codes
genau an, diese sind idealerweise „live“ zu korrigieren.
55 pa.ag@peakaceag
Migration Performance Monitoring #1
HTTP-Error Status Code Monitoring (z.B. 40X for Googlebot & Bingbot)
56 pa.ag@peakaceag
Migration Performance Monitoring #2
HTTP-Redirects im Zeitverlauf und verschiedene User-Agent Filter (z.B. beinhaltet *bot*)
57 pa.ag@peakaceag
Migration Performance Monitoring #3
Aufschlüsselung der am häufigsten gecrawlten Seiten (täglich & wöchentlich)
58 pa.ag@peakaceag
Ihr mögt es einfach(er)? ScreamingFrog Logfile Analyzer
59 @peakaceag pa.ag
Kompletter Crawl der neuen Domain
Re-Test: keine kaputten URLs (4/5XXer), Tracking vorhanden,
Metas & andere Tags korrekt, Indexierungsregeln, etc.
60 @peakaceag pa.ag
Vollständiger Test nach WENN… DANN… Logik:
… wenn Google News Listings vorhanden sind, dann teste die Google News Sitemap.
… wenn du international arbeitest, dann teste hreflang-Tags/Sitemap Notationen.
… wenn Bewertungen (Feat. Snippets) vorhanden sind, dann teste schema.org Mark-up.
… wenn PPC Anzeigen geschaltet sind, dann update & teste die Landing Page URLs.
… wenn SSL auch auf anderen Subdomains genutzt wird, dann testet auch diese.
… etc.
61 @peakaceag pa.ag
AMP, strukturierte Daten & Rich Cards Error Monitoring
62 @peakaceag pa.ag
Crawl Frequenz in der GSC beobachten
Kurzfristige Spitzen sind völlig normal,
dramatische Einbrüche eher nicht!
63 @peakaceag pa.ag
Macht einen Side-by-Side Vergleich der Performance
HTTPs ist idR. etwas langsamer: Vergleicht eure Ergebnisse miteinander.
Klares Ziel: keinesfalls langsamer als vorher (für HTTPs immer HTTP/2 nutzen)
Ausprobieren: https://www.webpagetest.org/
64 @peakaceag pa.ag
Anpassen/Überarbeiten der externen Verlinkung
Nicht jede Linkquelle muss aktualisiert werden; konzentriert euch auf die stärksten
Domains (bspw. via LRT Power*Trust oder Majestic TrustFlow).
Quelle: Majestic
65 @peakaceag pa.ag
Ganz wichtig: geduldig sein!
Re-Crawling, Neuberechnung & die Vererbung von
„Trust“ kann unter Umständen einige Wochen dauern…
66 @peakaceag pa.ag
Insbesondere bei neuen URLs reichen zwei Wochen nicht:
Quelle: http://pa.ag/2htz26D
[…] it can take two
weeks for some sites
but for larger sites,
it is more like three
months, not even
close to two weeks.
„
67 @peakaceag pa.ag
Idealerweise sollte es so aussehen #1
Domain Migration (von “de” auf “com”), keine weiteren Änderungen; nach 6 Wochen
vollständig wiederhergestellt!
Source: Searchmetrics
68 @peakaceag pa.ag
Idealerweise sollte es so aussehen #2
Protokoll Migration: von HTTP auf HTTPS; 2 Wochen Visibility Abfall (-25 %) – jetzt
wieder aufwärts!
Source: Searchmetrics
69 @peakaceag pa.ag
#10 TIPS TO MAKE YOUR LIFE EASIER
70 @peakaceag pa.ag
#1 Mobile-Friendly Bulk Testing Tool
Auf Basis der Google API, mit Screenshots der Ergebnisse sowie Im- & Export
Check it out: https://technicalseo.com/seo-tools/mobile-friendly/
71 @peakaceag pa.ag
#2 hreflang Bulk Testing Tool
hreflang-Tag Testing, auch auf Basis von XML Sitemap Files (verschiedenen User-Agents)
Check it out: https://technicalseo.com/seo-tools/hreflang/
72 @peakaceag pa.ag
#3 Bulk Testing von Redirects & anderen Header
HTTP-Status-Codes (Errors, Redirects etc.) at scale: httpstatus.io
Check it out: https://httpstatus.io/
73 @peakaceag pa.ag
#4 Simuliert Googlebot für mobile mit JS Rendering!
Super easy mit ScreamingFrog, achtet hier insbesondere auf den gerenderten Output!
Auch hilfreich: Extract > Xpath > //head/link[@rel="amphtml"]/@href
74 @peakaceag pa.ag
#5 Nicht vergessen: Bilder mit umziehen!
Achte beim Ändern von URLs/Domains darauf, auch die Regeln für 301-Redirects von
Bildern zu implementieren.
Read the entire post: http://pa.ag/2yJtTLz
75 @peakaceag pa.ag
#6 Auch die robots.txt Datei mit umziehen!
Achte beim Domainwechsel darauf, auch den Inhalt der robots. txt zu übertragen!
76 @peakaceag pa.ag
#7 HTTP-503 ist dein bester Freund
Kombiniere den Statuscode mit “revisit-after“, um das Crawling kurzfristig zu drosseln;
niemals an Stelle dessen “noindex" /4xx verwenden!
Source: http://pa.ag/2xRiA5T
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.
„
77 @peakaceag pa.ag
#8 Die GSC Verifikation via DNS ist super hilfreich
Keinen Ärger mehr mit fehlenden Meta-Tags oder HTML Dateien – plus bei neuen
Frontends kann auch vorab verifiziert werden (ohne dass die Seite schon „live“ ist)!
More: http://pa.ag/2yJ7xtH
78 @peakaceag pa.ag
#9 Korrigiere Weiterleitungsketten
Insbesondere bei alten/großen Seiten verschwenden diese Mehrfach-Anfragen
wertvolle Leistung, Geschwindigkeit und unnötig viel Crawl-Budget!
79 @peakaceag pa.ag
#10 Vorsicht: JavaScript Frameworks sind weiterhin heikel!
Schaut euch Bartosz' umfangreiche Recherche zu Crawlability und Indexierbarkeit an.
Read more: http://pa.ag/2qLqlqH
80 @peakaceag pa.ag
Bonus?
81 @peakaceag pa.ag
Don‘t f*cking panic!
82 pa.ag@peakaceag
Wir wachsen: 25+ Performance Marketing Jobs in Berlin!
Sprecht mich gerne jederzeit an – oder meldet euch via jobs.pa.ag. Wir freuen uns!
83 pa.ag@peakaceag
Bastian Grimm
bg@pa.ag
twitter.com/peakaceag
facebook.com/peakaceag
www.pa.ag
Fragen? Let‘s go!
Always looking for talent! Check out jobs.pa.ag
https://pa.ag/seok17mig

Migration Best-Practices: So gelingt der erfolgreiche Relaunch - SEOkomm 2017

  • 1.
    Bastian Grimm, PeakAce AG | @basgr Chancen, Risiken, Strategien, Tools & Workflows Migration Best-Practices
  • 2.
    2 pa.ag@peakaceag Keine Lustmitzuschreiben? https://pa.ag/seok17mig
  • 3.
    3 @peakaceag pa.ag NEVERCHANGE A RUNNING SYSTEM!
  • 4.
    4 @peakaceag pa.ag Jede(große) Veränderung birgt (zahlreiche) Chancen! Aber aufgepasst: Der Preis fürs Scheitern ist hoch! Inspired by @pip_net: http://pa.ag/2jcBr6c Risiko Chance User-Akzeptanz Einmalige Gelegenheit, Dinge signifikant besser zu machen Komplexität Greenfield-Projekt: Alles kann in Frage gestellt werden Stillstand Beste Chance “to get shit done” Störungen Möglichkeit „Altlasten & historische Probleme" zu beseitigen Politik Agiler als das reguläre, tägliche Geschäft Performance Überdenken: RWD/Dynamic Serving, HTTPS, URL Design etc.
  • 5.
    5 @peakaceag pa.ag Wasist eure Zielsetzung für die Migration? Das richtige Mindset ist super, super wichtig! Ich will möglichst nichts/wenig verlieren, ist nicht wirklich die richtige Zielsetzung für eine Migration! „
  • 6.
    6 @peakaceag pa.ag Migrationstypenund mögliche Auswirkungen auf SEO Mehrere Varianten können sich überschneiden – oder gleichzeitig umgesetzt werden... 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 it's 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 ... und es gibt noch mehr: Design Migrationen, Strategie Migrationen, Content Migrationen, Protokoll Migrationen.
  • 7.
    7 @peakaceag pa.ag Wählteinen iterativen, mehrstufigen Ansatz Debugging und ein möglicher Rollback würden, durch das gleichzeitige Durchführen aller Änderungen, zu einer fast unmöglichen Aufgabe werden! Source: http://pa.ag/2yJqT1N
  • 8.
    8 @peakaceag pa.ag Achtetauf jedes Detail! Sorgfältige Dokumentation, genaue Definition der Anforderungen und fortlaufende Tests sind unerlässlich!
  • 9.
    9 @peakaceag pa.ag UmHilfe bitten… … und am besten jemanden fragen, der diese Aufgabe schon einmal erfolgreich gemeistert hat.
  • 10.
  • 11.
    11 @peakaceag pa.ag Migrationsstrategiedefinieren Was ändert sich, was bleibt? Komplett umziehen oder selektiv?
  • 12.
    12 @peakaceag pa.ag CrawlBudget während der Migration beachten Wichtig: Wie lange dauert ein vollständiger Recrawl meiner Seite (theoretisch)? ▪ Um den Protokollwechsel zu realisieren, muss Google die Domain vollständig neu crawlen und alle URLs abrufen. ▪ Bei einer Domain mit bspw. 100.000 Unter- seiten müsste Google also 200.000 URLs verarbeiten (Redirects). ▪ Bei einer durchschnittlichen Anzahl von 30.000 „Pages crawled/day“ würde das demnach mindestens ~7 Tage dauern. ▪ Die Annahme ist nur „halb valide“, da nicht alle URLs nacheinander einmal abgerufen werden.
  • 13.
    13 @peakaceag pa.ag You‘llbe needing tools… lots of them! Vieles ist persönlicher Geschmack, aber ihr benötigt mindestens: einen Crawler, Logfile Auswertung sowie Search Intelligence – und ja, das kostet Geld!
  • 14.
    14 @peakaceag pa.ag Pre-Migration– Website Health Check & Clean-up Sauber optimierte Domains lassen sich deutlich einfacher und effizienter migrieren. Das Risiko von Verlusten sinkt drastisch, wenn vorab aufgeräumt wird! ▪ Google Search Console: manuelle Maßnahmen, Serverfehler (DNS, 5XXer), Mark-up validation Errors (AMP, schema.org, Rich Cards), robots.txt ▪ Web Crawl: interne Redirects (& Ketten), Broken URLs und interne Verlinkung ▪ Logfiles: Broken URLs, auffällige Statuscodes, Crawler-Traps ▪ Algo Issues? Mit Panda, Penguin & Co. umzuziehen, ist wenig sinnvoll…
  • 15.
    15 pa.ag@peakaceag Mindestens 404er& kaputte, interne Verlinkung fixen:
  • 16.
    16 @peakaceag pa.ag AlleURLs inventarisieren & dokumentieren #1 Absolute Must-haves: vollständiger Website Crawl, Server Logfiles & XML-Sitemaps Mode > List > Upload Kleine Domains Große Domains
  • 17.
    17 @peakaceag pa.ag AlleURLs inventarisieren & dokumentieren #2 Zusätzlich: Holt euch jeweils die URLs, die stark verlinkt sind, viel Traffic bringen, am meisten ge-shared wurden etc.
  • 18.
    18 @peakaceag pa.ag TäglichesKeyword Ranking Monitoring etablieren Erfassen des Status Quo kritischer Rankings bzw. Keywords; ändern der Monitoring Frequenz auf „täglich“ für möglichst aktuelle Daten
  • 19.
    19 @peakaceag pa.ag StatusQuo Performance Benchmark etablieren Lighthouse (via Chrome Dev Tools) oder webpagetest.org liefern relevante Metriken Wichtig: Nicht nur die Homepage sondern auch Kategorie / Produktseiten erfassen
  • 20.
    20 @peakaceag pa.ag URL-RedirectMapping vorbereiten Als Daumenregel gilt: 1-zu-1-Weiterleitungen von alt auf neu!
  • 21.
    21 @peakaceag pa.ag Staging/TestServer bereitstellen Und bitte unbedingt entsprechend sichern, die Inhalte sollen keinesfalls vorab im Index landen (u.a. Duplicate Content Problematik) Methodik Vorteile Nachteile noindex (Meta Tag/Header) - Externe Tools können ohne gesonderte Freischaltung zugreifen - URLs werden definitiv nicht indexiert - Indexierungsregeln nicht vollständig testbar (alles noindex) - Crawl Budget Waste robots.txt - Externe Tools können ohne gesonderte Freischaltung zugreifen - Kein Crawl Budget Waste - Indexierungsregeln nicht vollständig testbar (nur mit robots.txt Override) - Falls angelinkt, erscheinen Test-URLs mglw. im Index (ohne Titel/Metas) Passwort gesichert (.htaccess) - Kein Crawl Budget Waste - URLs werden definitiv nicht indexiert - Alles sauber zu testen - Externe Tools müssen mit Passwort Authentifizierung umgehen können IP-basierte Freischaltung - Kein Crawl Budget Waste - URLs werden definitiv nicht indexiert - Alles sauber zu testen - Externe Tools müssen mit IP-basierter Authentifizierung umgehen können VPN - Totsicher! - So sicher, dass das nur ganz, ganz wenige Tools überhaupt hinbekommen
  • 22.
    22 @peakaceag pa.ag EXAMPLE:PROTOCOL MIGRATION
  • 23.
    23 @peakaceag pa.ag CanonicalTags & weitere rel-alternate Notationen Bei einer standalone mobile Website entsprechende Annotation nicht vergessen! RSS- Feeds werden verwendet? Auch hier muss angepasst werden! CANONICAL TAG <link href="http://www.example.com/deep/url" rel="canonical" /> <link href="https://www.example.com/deep/url" rel="canonical" /> ALT NEU <link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.example.com/page-1" /> <link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.example.com/page-1" /> ALT NEU MOBILE TAG
  • 24.
    24 @peakaceag pa.ag MehrsprachigesSetup? hreflang-Ziele anpassen Auch einzelne Länder sind problemlos möglich, wichtig ist nur, dass der Kreisbezug passt. HREFLANG <link rel="alternate" hreflang="de" href="http://www.example.com/de/" /> ALT <link rel="alternate" hreflang="fr" href="http://www.example.com/fr/" /> ALT <link rel="alternate" hreflang="de" href="https://www.example.com/de/" /> NEU <link rel="alternate" hreflang="x-default" href="http://www.example.com/" /> ALT <link rel="alternate" hreflang="fr" href="https://www.example.com/fr/" /> NEU <link rel="alternate" hreflang="x-default" href="https://www.example.com/" /> NEU
  • 25.
    25 @peakaceag pa.ag rel=next/prevPaginierungen & Accelerated Mobile Pages Nutzt ihr Googles Empfehlung zur Paginierung? Oder AMPs? Mark-up Update! PAGINIERUNG <link href="http://www.example.com/deep/url?page=1" rel="prev" /> <link href="https://www.example.com/deep/url?page=1" rel="prev" /> ALT NEU <link href="http://www.example.com/deep/url?page=3" rel="next" /> ALT <link href="https://www.example.com/deep/url?page=3" rel="next" /> NEU AMP <link rel="amphtml" href="http://www.example.com/amp/" /> <link rel="amphtml" href="https://www.example.com/amp/" /> ALT NEU
  • 26.
    26 @peakaceag pa.ag Alleinternen Links müssen angepasst werden! Denn: Sich einfach auf interne Redirects zu verlassen ist keine Migrationsstrategie! ▪ Links zu anderen internen URLs ▪ Links zu internen Bild Dateien ▪ Links zu internen Video Dateien ▪ Links zu internen Webfonts ▪ Links zu internen JavaScript Dateien ▪ Links zu internen CSS Dateien JS HTML Source Code
  • 27.
    27 @peakaceag pa.ag AuchVerlinkungen IN JavaScript Dateien anpassen Denn: Sich einfach auf interne Redirects zu verlassen ist keine Migrationsstrategie! ▪ Links zu anderen internen URLs ▪ Links zu internen CSS Dateien JAVASCRIPT Dateien ▪ Links zu internen Bild Dateien
  • 28.
    28 @peakaceag pa.ag Sowieauch Verlinkungen IN den CSS Dateien Denn: Sich einfach auf interne Redirects zu verlassen ist keine Migrationsstrategie! ▪ Links zu internen Bild Dateien ▪ Links zu internen Webfonts CSS Dateien ▪ Weitere interne Links
  • 29.
    29 @peakaceag pa.ag Vorsichtbei vorhandenen internen Weiterleitungen! Weiterleitungsketten vermeiden; die alten HTTP-URLs müssen zukünftig direkt auf die neuen HTTPs-URLs weiterleiten! Quelle: Redirect Chain Report via DeepCrawl xxxx xxxx xxxx xxxx xxxx
  • 30.
    30 @peakaceag pa.ag XML-Sitemapsaktualisieren #1 Wichtig: Bei Verwendung des Sitemap Index Files muss auch hier eingegriffen werden! Solltet ihr die Sitemap in der robots.txt referenzieren, ist die URL dort zu aktualisieren. <url> <loc>http://www.example.com/</loc> <xhtml:link rel="alternate" hreflang="x-default" href="http://www.example.com/" /> <xhtml:link rel="alternate" hreflang=“de" href="http://www.example.com/de/" /> <xhtml:link rel="alternate" hreflang="fr" href="http://www.example.com/fr/" /> <xhtml:link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.example.com/" /> <image:image> <image:loc>http://www.example.com/ich-bin-ein-bild.jpg</image:loc> </image:image> <video:video> <video:content_loc>http://www.example.com/ich-bin-ein-video.flv</video:content_loc> </video:video> </url> 1 2 3 4 5 6 7 8 9 10 11 12 13 ALT
  • 31.
    31 @peakaceag pa.ag XML-Sitemapsaktualisieren #2 Wichtig: Bei Verwendung des Sitemap Index Files muss auch hier eingegriffen werden! Solltet ihr die Sitemap in der robots.txt referenzieren, ist die URL dort zu aktualisieren. <url> <loc>https://www.example.com/</loc> <xhtml:link rel="alternate" hreflang="x-default" href="https://www.example.com/" /> <xhtml:link rel="alternate" hreflang=“de" href="https://www.example.com/de/" /> <xhtml:link rel="alternate" hreflang="fr" href="https://www.example.com/fr/" /> <xhtml:link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.example.com/" /> <image:image> <image:loc>https://www.example.com/ich-bin-ein-bild.jpg</image:loc> </image:image> <video:video> <video:content_loc>https://www.example.com/ich-bin-ein-video.flv</video:content_loc> </video:video> </url> 1 2 3 4 5 6 7 8 9 10 11 12 13 NEU
  • 32.
    32 @peakaceag pa.ag StructuredData Update (schema.org) Auch die Referenzen des schema.org Mark-ups sind zu aktualisieren! Achtung: Die Kurznotation „//schema.org“ validiert gemäß Testing Tool derzeit nicht! <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Product", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.5", "reviewCount": "100" }, "description": "Hier stet eine tolle Produktbeschreibung", "name": "Und hier der super Produktname", "image": "http://www.example.com/ich-bin-ein-bild.jpg", "offers": { "@type": "Offer", "availability": "http://schema.org/InStock", "price": "55.00", "priceCurrency": "EUR" } } </script> ALT 1 2 3 4 5 6 7 8 <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Product", "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.5", "reviewCount": "100" }, "description": "Hier stet eine tolle Produktbeschreibung", "name": "Und hier der super Produktname", "image": "https://www.example.com/ich-bin-ein-bild.jpg", "offers": { "@type": "Offer", "availability": "https://schema.org/InStock", "price": "55.00", "priceCurrency": "EUR" } } </script> NEU 1 2 3 4 5 6 7 8
  • 33.
    33 @peakaceag pa.ag Updatevon Links zu CDNs & anderen “Resource Hints” Dateien, die auf einem CDN liegen müssen nun ebenfalls via HTTPS aufgerufen werden, gleiches gilt für Direktiven wie preconnect, dns-prefetch etc. Resource Hints <script src="http://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> Old New <script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script> CDN <link rel="preconnect" href="http://cdn.example.com" pr="0.42"> <link rel="preconnect" href=" https:// cdn.example.com" pr="0.42"> Old New <link rel="preconnect" href="//cdn.example.com" pr="0.42"> Alternatively Alternatively
  • 34.
    34 @peakaceag pa.ag HTTP-Headerupdaten & Cookie Einstellungen anpassen Sofern verwendet: X-Robots Header Tags anpassen. Chrome Dev. Tools verwenden! X-Robots rel-canonical via Apache .htaccess <Files theRequestedFile.pdf > Header add Link 'https://www.example.com/ebook.html; rel="canonical"' </Files> Andere HTTP-Header Varianten: ▪ Link: <https://www.example.com/de/>; rel="alternate"; hreflang="de" ▪ Link: <https://www.example.com/someurl>; rel="canonical" ▪ Link: <https://cdn.example.com>; rel="dns-prefetch"
  • 35.
    35 @peakaceag pa.ag AusALT wird NEU! Gilt analog für alle Migrationsszenarien: Verweise (Links) im alten werden durch das neue Format ersetzt.
  • 36.
    36 @peakaceag pa.ag Allesangepasst? Vertrauen ist gut, Kontrolle ist besser: Zeit für einen Test-Crawl der neuen HTTPS-Version!
  • 37.
    37 @peakaceag pa.ag Sicherstellen,dass keine Links auf HTTP-URLs verbleiben! Wichtig: Bevor die Migration tatsächlich durchgeführt wird, ist zu überprüfen, ob tatsächlich keine HTTP-Anfragen mehr auf dem HTTPS-System stattfinden!
  • 38.
    38 @peakaceag pa.ag Side-by-SideVergleich der beiden Crawls Um sicherzustellen, dass der Content 1:1 so verfügbar ist wie auf der HTTP-Variante, unbedingt das Inventar vergleichen (HTTP vs. HTTPs z.B. via ScreamingFrog+Excel)!
  • 39.
    39 @peakaceag pa.ag KurzerExkurs: HTTPs spezifischer Crawl Output DeepCrawl reportet u.a. auch HSTS Header sowie unsichere Formulare
  • 40.
    40 @peakaceag pa.ag WORKYOUR SEARCH CONSOLE!
  • 41.
    41 @peakaceag pa.ag HTTPsProperties anlegen (und GSC-Set einrichten) Properties für HTTP und HTTPs jeweils mit und ohne WWW = 4 Domains Bei einer separaten mobile Subdomain sind es 6 Properties insgesamt! Voraussetzungen für eine Migration: ▪ Keine manuellen Maßnahmen ▪ Keine signifikante Menge an Crawl Errors (DNS, Erreichbarkeit) ▪ Keine Probleme mit den XML-Sitemaps ▪ Valides Structured bzw. Rich Cards Mark- up, dito keine AMP und hreflang-Fehler http://xxxxxxx.de/ https://xxxxxxx.de/ http://www.xxxxxxx.de/ https://www.xxxxxxx.de/ https://www.xxxxxxx.de/ http://www.xxxxx.de/
  • 42.
    42 @peakaceag pa.ag DisavowLinks File rechtzeitig übertragen Besonders bei Domains mit „problematischem“ Linkprofil: GSC Setup und Übertragung des Files mind. 48 Stunden vor dem Live-Switch erledigen!
  • 43.
    43 @peakaceag pa.ag BevorzugteDomain sowie ggf. Crawl Rate einstellen Eigentlich sind Einstellungen zur Crawl Rate überflüssig, wurden diese aber verwendet, sollte hier zur Sicherheit ebenfalls der Ursprungszustand hergestellt werden.
  • 44.
    44 @peakaceag pa.ag Geotargetingfür gTLDs (Verzeichnisse) konfigurieren Sofern verwendet bzw. notwendig (gilt auch bei Verzeichnissen auf gTLDs wie .com)
  • 45.
    45 @peakaceag pa.ag GSCFetch & Render testen Prüft, ob Google alle „requested Components“ sauber inkludiert und darstellt!
  • 46.
    46 @peakaceag pa.ag XML-Sitemapstesten & neu übermitteln Sofern verwendet bzw. funktional notwendig, sind auch die Einstellungen zum Handling von URL-Parametern zu synchronisieren!
  • 47.
  • 48.
    48 @peakaceag pa.ag 301-Redirectall the things! So viel Vorbereitung und dann „nur“ noch URLs weiterleiten!
  • 49.
    49 @peakaceag pa.ag EinigeLeute sagen, dass nun alle Redirects gleich sind… Aber: Alles was wir für diesen Kunden getan haben, war die 302/307 auf 301- Weiterleitungen umzustellen und einige Ketten aufzulösen!
  • 50.
    50 @peakaceag pa.ag Nutzedas GSC “Site Move” Feature Beachte: Es funktioniert nur bei Domain Migrationen!
  • 51.
    51 @peakaceag pa.ag ListCrawl der alten HTTP-URLs & manuelle SERP-Kontrolle Alte URLs in ScreamingFrog importieren (List Mode, follow Redirects), hier dürfen nur noch 301er auftauchen. Zusätzlich manuelle Kontrolle indexierter URLs mittels LinkClump. 1 3 4 2
  • 52.
    52 @peakaceag pa.ag Ernsthaft:Prüft eure Weiterleitungen! Das häufigste Problem bei Migrationen, die schiefgehen: fehlende oder falsche Redirects!
  • 53.
    53 @peakaceag pa.ag POSTMIGRATION TO DOS
  • 54.
    54 @peakaceag pa.ag Logfile-,GSC- & GA-Error Monitoring Schaut euch unbedingt 4XXer sowie 5XXer Status Codes genau an, diese sind idealerweise „live“ zu korrigieren.
  • 55.
    55 pa.ag@peakaceag Migration PerformanceMonitoring #1 HTTP-Error Status Code Monitoring (z.B. 40X for Googlebot & Bingbot)
  • 56.
    56 pa.ag@peakaceag Migration PerformanceMonitoring #2 HTTP-Redirects im Zeitverlauf und verschiedene User-Agent Filter (z.B. beinhaltet *bot*)
  • 57.
    57 pa.ag@peakaceag Migration PerformanceMonitoring #3 Aufschlüsselung der am häufigsten gecrawlten Seiten (täglich & wöchentlich)
  • 58.
    58 pa.ag@peakaceag Ihr mögtes einfach(er)? ScreamingFrog Logfile Analyzer
  • 59.
    59 @peakaceag pa.ag KompletterCrawl der neuen Domain Re-Test: keine kaputten URLs (4/5XXer), Tracking vorhanden, Metas & andere Tags korrekt, Indexierungsregeln, etc.
  • 60.
    60 @peakaceag pa.ag VollständigerTest nach WENN… DANN… Logik: … wenn Google News Listings vorhanden sind, dann teste die Google News Sitemap. … wenn du international arbeitest, dann teste hreflang-Tags/Sitemap Notationen. … wenn Bewertungen (Feat. Snippets) vorhanden sind, dann teste schema.org Mark-up. … wenn PPC Anzeigen geschaltet sind, dann update & teste die Landing Page URLs. … wenn SSL auch auf anderen Subdomains genutzt wird, dann testet auch diese. … etc.
  • 61.
    61 @peakaceag pa.ag AMP,strukturierte Daten & Rich Cards Error Monitoring
  • 62.
    62 @peakaceag pa.ag CrawlFrequenz in der GSC beobachten Kurzfristige Spitzen sind völlig normal, dramatische Einbrüche eher nicht!
  • 63.
    63 @peakaceag pa.ag Machteinen Side-by-Side Vergleich der Performance HTTPs ist idR. etwas langsamer: Vergleicht eure Ergebnisse miteinander. Klares Ziel: keinesfalls langsamer als vorher (für HTTPs immer HTTP/2 nutzen) Ausprobieren: https://www.webpagetest.org/
  • 64.
    64 @peakaceag pa.ag Anpassen/Überarbeitender externen Verlinkung Nicht jede Linkquelle muss aktualisiert werden; konzentriert euch auf die stärksten Domains (bspw. via LRT Power*Trust oder Majestic TrustFlow). Quelle: Majestic
  • 65.
    65 @peakaceag pa.ag Ganzwichtig: geduldig sein! Re-Crawling, Neuberechnung & die Vererbung von „Trust“ kann unter Umständen einige Wochen dauern…
  • 66.
    66 @peakaceag pa.ag Insbesonderebei neuen URLs reichen zwei Wochen nicht: Quelle: http://pa.ag/2htz26D […] it can take two weeks for some sites but for larger sites, it is more like three months, not even close to two weeks. „
  • 67.
    67 @peakaceag pa.ag Idealerweisesollte es so aussehen #1 Domain Migration (von “de” auf “com”), keine weiteren Änderungen; nach 6 Wochen vollständig wiederhergestellt! Source: Searchmetrics
  • 68.
    68 @peakaceag pa.ag Idealerweisesollte es so aussehen #2 Protokoll Migration: von HTTP auf HTTPS; 2 Wochen Visibility Abfall (-25 %) – jetzt wieder aufwärts! Source: Searchmetrics
  • 69.
    69 @peakaceag pa.ag #10TIPS TO MAKE YOUR LIFE EASIER
  • 70.
    70 @peakaceag pa.ag #1Mobile-Friendly Bulk Testing Tool Auf Basis der Google API, mit Screenshots der Ergebnisse sowie Im- & Export Check it out: https://technicalseo.com/seo-tools/mobile-friendly/
  • 71.
    71 @peakaceag pa.ag #2hreflang Bulk Testing Tool hreflang-Tag Testing, auch auf Basis von XML Sitemap Files (verschiedenen User-Agents) Check it out: https://technicalseo.com/seo-tools/hreflang/
  • 72.
    72 @peakaceag pa.ag #3Bulk Testing von Redirects & anderen Header HTTP-Status-Codes (Errors, Redirects etc.) at scale: httpstatus.io Check it out: https://httpstatus.io/
  • 73.
    73 @peakaceag pa.ag #4Simuliert Googlebot für mobile mit JS Rendering! Super easy mit ScreamingFrog, achtet hier insbesondere auf den gerenderten Output! Auch hilfreich: Extract > Xpath > //head/link[@rel="amphtml"]/@href
  • 74.
    74 @peakaceag pa.ag #5Nicht vergessen: Bilder mit umziehen! Achte beim Ändern von URLs/Domains darauf, auch die Regeln für 301-Redirects von Bildern zu implementieren. Read the entire post: http://pa.ag/2yJtTLz
  • 75.
    75 @peakaceag pa.ag #6Auch die robots.txt Datei mit umziehen! Achte beim Domainwechsel darauf, auch den Inhalt der robots. txt zu übertragen!
  • 76.
    76 @peakaceag pa.ag #7HTTP-503 ist dein bester Freund Kombiniere den Statuscode mit “revisit-after“, um das Crawling kurzfristig zu drosseln; niemals an Stelle dessen “noindex" /4xx verwenden! Source: http://pa.ag/2xRiA5T 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. „
  • 77.
    77 @peakaceag pa.ag #8Die GSC Verifikation via DNS ist super hilfreich Keinen Ärger mehr mit fehlenden Meta-Tags oder HTML Dateien – plus bei neuen Frontends kann auch vorab verifiziert werden (ohne dass die Seite schon „live“ ist)! More: http://pa.ag/2yJ7xtH
  • 78.
    78 @peakaceag pa.ag #9Korrigiere Weiterleitungsketten Insbesondere bei alten/großen Seiten verschwenden diese Mehrfach-Anfragen wertvolle Leistung, Geschwindigkeit und unnötig viel Crawl-Budget!
  • 79.
    79 @peakaceag pa.ag #10Vorsicht: JavaScript Frameworks sind weiterhin heikel! Schaut euch Bartosz' umfangreiche Recherche zu Crawlability und Indexierbarkeit an. Read more: http://pa.ag/2qLqlqH
  • 80.
  • 81.
  • 82.
    82 pa.ag@peakaceag Wir wachsen:25+ Performance Marketing Jobs in Berlin! Sprecht mich gerne jederzeit an – oder meldet euch via jobs.pa.ag. Wir freuen uns!
  • 83.
    83 pa.ag@peakaceag Bastian Grimm bg@pa.ag twitter.com/peakaceag facebook.com/peakaceag www.pa.ag Fragen?Let‘s go! Always looking for talent! Check out jobs.pa.ag https://pa.ag/seok17mig