SlideShare a Scribd company logo
SEO
#TarczaAntykryzysowaSenuto
JavaScript
w praktyce
Poszukiwanie odpowiedzi na
pytanie, czy JS ma negatywny
wpływ na widoczność strony w
wyszukiwarkach i szukanie
przyczyn tej sytuacji.
Agenda
Wyszukiwarki
vs. JS
Czy Google i inne
wyszukiwarki
internetowej potrafią
ogarnąć JS?
WRS
Co trzeba wiedzieć o
Googlowym Web
Rendering Service?
Wydajność
Jak nasz JS wpływa
na prędkość strony?
Przykłady & Chrome
Dev Tools 101.
SPA / PWA
Na co zwrócić
uwagę tworząc SPA i
PWA? Podejścia do
SSR i ich
konsekwencje.
Wyszukiwarki
vs. JavaScript
01
Świat vs. JavaScript1,2,3
Świat vs. JavaScript1,2,3
Proces indeksowania stron4
- Google4
“The page may stay on this queue for a few
seconds, but it can take longer than that. Once
Googlebot's resources allow, a headless
Chromium renders the page and executes the
JavaScript.”
- Martin Splitt (03.2020)5
“You can assume that between initial crawling and
rendering on median there's a delay of 5
seconds and the queue”
Które strony zostaną
skierowane do
renderowania?6,7
“Pretty much every website when
we see them for the first time
goes to rendering, so there's no
indexing before it hasn't been
rendered.”
Google porówna zwróconą stronę z serwera
z tą wyrenderowaną przez siebie. 6,7
Jak sprawdzić co renderujemy przy pomocy JS?
Chrome Dev
Tools
Porównując pierwszą
stronę zwróconą z
serwera z tą finalnie
wyrenderowaną w
przeglądarce.
Wyłącz JS w
przeądarce
Obsługę JS można
wyłączyć samemu
bezpośrednio w
przeglądarce wpisując np.
chrome://settings/conte
nt/javascript
What Would JS
Do?
Narzędzie udostępniane
za darmo przez Onely:
https://www.onely.com/t
ools/wwjd/
WWJD
Czy Google poprawnie renderuje
moją stronę?
GSC
URL Inspection Tool
Czy Google poprawnie renderuje
moją stronę?
Mobile-
Friendly
Test
https://search.googl
e.com/test/mobile-
friendly
Czy Google
poprawnie
indeksuje
moją stronę?
site:url “fragment, którego szukamy”
WRS
Web Rendering Service
02
- Google8
“Googlebot, wykorzystując usługę renderowania
sieciowego (WRS), stale analizuje i identyfikuje
zasoby, które nie mają wpływu na istotne treści
strony i może ich nie pobierać. “
Odrzuci pytania o pozwolenie
na dostęp8
Nie zachowa danych z
poprzednich odwiedzin8
Local Storage
Session Storage
Cookies
Możliwe, że
zignoruje nagłówki
odpowiedzi
związane z
cachowaniem,
serio.8
“Googlebot caches aggressively
in order to reduce network
requests and resource usage.
WRS may ignore caching
headers.”
Content fingerprinting8,9,10
main.js main.2bb85551.js
main.js?version=2bb85551
Wydajność
vs. JavaScript11
03
Jak przeglądarka przetwarza JS?12
Pobieranie Rozpakowywanie Parsowanie /
Kompilowanie
Renderowanie
01 02 03 04
Źródło: https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/javascript-startup-optimization
Jak przeglądarka przetwarza JS?12
Rozpakowywanie Parsowanie /
Kompilowanie
02 03
Źródło: https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/javascript-startup-optimization
170 KB JS vs 170 KB JPEG12
Pobieranie Parsowanie /
kompilowanie
vs.
Dekodowanie
Renderowanie
vs.
Rasteryzacja
JavaScript 3.4 s 2 s 1.5 s
Obrazek 3.4 s 0.064 s 0.028 s
@addyosmani, Slow 3G, 170KB skompresowane, Moto G4
Parsowanie / kompilowanie
chrome://flags/#enable-devtools-experiments
Parsowanie / kompilowanie
chrome://flags/#enable-devtools-experiments
Shift x6
Shift x6
Parsowanie / kompilowanie
Parsowanie / kompilowanie12
Źródło: https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/javascript-startup-optimization
Czy pliki są skompresowane?12,13,14
Czy pliki są skompresowane?12,13,14
Czy przesyłamy tylko to, co niezbędne?12,15,16
Czy przesyłamy tylko to, co niezbędne?12,15,16
Czy kod jest zminimalizowany?12
Jak
analizować
Third
Party?17
Jak
analizować
Third
Party?17
Jak analizować Third Party?17
Jak analizować Third Party?17
Jak analizować Third Party?17
Co jeszcze ciekawego ukrywa
się w Dev Toolsach?
Co jeszcze ciekawego ukrywa
się w Dev Toolsach?
SPA / PWA
& SSR
Czyli wszystkie modne skróty na
w jednym miejscu.
04
Czym się różnią:
SPAMPA PWA
Klasyk
Nowa strona
=
nowy URL
All in One18
Nowa strona
=
JS aktualizuje stronę
MPA lub SPA
z ikonką na
ekranie19
Czym jest
PWA?20
Źródło: https://web.dev/what-are-pwas/
O co chodzi z tymi service workerami?19
Źródło: https://developers.google.com/web/updates/2018/05/beyond-spa
O co chodzi z tymi service workerami?19
Źródło: https://developers.google.com/web/updates/2018/05/beyond-spa
Checklista PWA dla SEO
(checklista PWA dla dev)22
Unikalne URLe
Zmieniamy adresy URL w
pasku przegladarki za
pomoca JS, bez
przeladowania strony.
# to zło.
Web App Manifest
Plik JSON umieszczony w
<head>.
Dostępność
Działa na wszystkich
przegladarkach.
JS & CSS widoczne dla
Googlebota.
Google Analytics
Śledzenie offline
=
Measurement Protocol
Infinite scroll21
Czy działa poprawnie?
SSR!
Czy została wdrożona
jakakolwiek forma SSR
lub prerendering?
Jak zapewnić Googlebotowi dostęp do statycznego
HTML?23
DYNAMIC RENDERING HYBRID RENDERING /
ISOMORPHIC JS
JAMstack APPROACH
Crawler otrzyma statyczna
stronę na podstawie User
Agenta. Bot jest traktowany
inaczej niż użytkownicy.
Bot i użytkownicy są traktowani
tak samo. Brak wyjątków na UA.
Bot i użytkownicy są traktowani
tak samo. Brak wyjątków na UA.
Trzeba monitorować osobną
usługę.
Aplikacja działa równolegle na
serwerze i w przeglądarce.
Renderowanie strony to ostatni
etap jej budowania przez
programistów.
Jeśli o niej zapomnimy (rozjedzie
się content pomiędzy wersjami)
możemy podpaść pod cloaking.
Skomplikowana implementacja. Warto sprawdzić: GatsbyJS24
Walidacja SSR
URL inspection Tool
lub
Mobile-friendly Test
Structured Data
Testing Tool
Problemy z
wyrenderowaną treścią
Niepełna strona lub wygląda
inaczej niż powinna.
Wysokie czasy
odpowiedzi
Crawler może anulować request.
Potencjalne obniżenie crawling
budgetu.
Brakuje danych
strukuralnych
Brakuje UA Google-Structured-
Data-Testing-Tool lub problem z
serwowaniem JSON-LD
Potencjalne problemy z Prerenderingiem25
Źródła – Wyszukiwarki vs. JS
1. Udział w rynku wyszukiwarek internetowych (Statista, 2020)
2. “The new evergreen Googlebot” (Google, 2019)
3. Bingbot wykorzystuje do renderowania ten sam silnik co Googlebot (Bing, 2019)
4. Tutorial – Podstawy SEO JS (Google, 2020)
5. Google Webmaster JavaScript SEO office hours (Google, o3.2020)
6. Google Webmaster Central office-hours (Google, 08.2019)
7. How much content is NOT indexed in Google in 2019? (Onely, 2019)
Źródła – WRS
8. Fix Search-related JavaScript problems (Google, 2020)
9. Prevent unnecessary network requests with the HTTP Cache (Google, 2018)
10. Caching: Google Webmasters JavaScript SEO office hours (Google, 03.2020)
Źródła – Wydajność
11. Prędkość ładowania strony jako czynnik rankingowy (Google, 2018)
12. JavaScript Start-up Optimization (Google, ?)
13. Next Generation Server Compression With Brotli (Smashing Magazine, 2016)
14. Boosting Site Speed Using Brotli Compression (LinkedIn, 2017)
15. Code Splitting (Webpack tutorial)
16. Tree Shaking (Webpack tutorial)
17. How do I measure the impact of third-party script on my page? (Google,?)
Źródła – SPA / PWA / SSR
18. Single-page application (Wikipedia, 2020)
19. Beyond SPAs: alternative architectures for your PWA (Google, 2018)
20. What are Progressive Web Apps? (Google, 2020)
21. Infinite scroll search-friendly recommendations (Google, 2014)
22. What makes a good Progressive Web App? (Google, 2020)
23. SEO & Progressive Web Apps: Looking to the Future (MOZ, 2019)
24. GatsbyJS
25. Implement dynamic rendering (Google,?)
Dzięki!
Tak, teraz można zadawać pytania.
Barbara Gaca-Tworek
Technical SEO @PMI
https://www.linkedin.com/in/barbaragaca/
https://twitter.com/GacaTworek

More Related Content

What's hot

Semantic Publishing and Entity SEO - Conteference 20-11-2022
Semantic Publishing and Entity SEO - Conteference 20-11-2022Semantic Publishing and Entity SEO - Conteference 20-11-2022
Semantic Publishing and Entity SEO - Conteference 20-11-2022
Massimiliano Geraci
 
A beginner's guide to machine learning for SEOs - WTSFest 2022
A beginner's guide to machine learning for SEOs  - WTSFest 2022A beginner's guide to machine learning for SEOs  - WTSFest 2022
A beginner's guide to machine learning for SEOs - WTSFest 2022
LazarinaStoyanova
 
게임 지표 이해하기
게임 지표 이해하기게임 지표 이해하기
게임 지표 이해하기
Suyeong Park
 
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출 NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
정주 김
 
Google Analytics
Google AnalyticsGoogle Analytics
Google Analytics
Daniel Ku
 
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
Lee Sangkyoon (Kay)
 
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
YEONG-CHEON YOU
 
Veronika bSEO-Googles-MUM-Speaker-Slides.pptx
Veronika bSEO-Googles-MUM-Speaker-Slides.pptxVeronika bSEO-Googles-MUM-Speaker-Slides.pptx
Veronika bSEO-Googles-MUM-Speaker-Slides.pptx
Veronika Höller
 
Preparing for an SEO pitch
Preparing for an SEO pitchPreparing for an SEO pitch
Preparing for an SEO pitch
Richard Kirk
 
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
devCAT Studio, NEXON
 
Google Search Console: An Ultimate Guide
Google Search Console: An Ultimate GuideGoogle Search Console: An Ultimate Guide
Google Search Console: An Ultimate Guide
Tyler Horvath
 
웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표
Seong Heum Park
 
SEO Automation Without Using Hard Code by Tevfik Mert Azizoglu - BrightonSEO ...
SEO Automation Without Using Hard Code by Tevfik Mert Azizoglu - BrightonSEO ...SEO Automation Without Using Hard Code by Tevfik Mert Azizoglu - BrightonSEO ...
SEO Automation Without Using Hard Code by Tevfik Mert Azizoglu - BrightonSEO ...
Tevfik Mert Azizoglu
 
BrightonSEO talk - Sarah Presch
BrightonSEO talk - Sarah PreschBrightonSEO talk - Sarah Presch
BrightonSEO talk - Sarah Presch
Sarah Presch
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
Heungsub Lee
 
Formation Google Tag Manager
Formation Google Tag ManagerFormation Google Tag Manager
Formation Google Tag Manager
Cartelis
 
Website Pre SEO Analysis Report- Online Marketing: Search Engine Optimization
Website Pre SEO Analysis Report- Online Marketing: Search Engine OptimizationWebsite Pre SEO Analysis Report- Online Marketing: Search Engine Optimization
Website Pre SEO Analysis Report- Online Marketing: Search Engine Optimization
Vikesh Sanwalodia
 
[IGC2017] 오버턴VR 개발기 -1인 개발 3년차 리포트
[IGC2017] 오버턴VR 개발기 -1인 개발 3년차 리포트[IGC2017] 오버턴VR 개발기 -1인 개발 3년차 리포트
[IGC2017] 오버턴VR 개발기 -1인 개발 3년차 리포트
Daehoon Han
 
DirectStroage프로그래밍소개
DirectStroage프로그래밍소개DirectStroage프로그래밍소개
DirectStroage프로그래밍소개
YEONG-CHEON YOU
 
Ist Google Analytics noch zu retten?
Ist Google Analytics noch zu retten?Ist Google Analytics noch zu retten?
Ist Google Analytics noch zu retten?
📊 Markus Baersch
 

What's hot (20)

Semantic Publishing and Entity SEO - Conteference 20-11-2022
Semantic Publishing and Entity SEO - Conteference 20-11-2022Semantic Publishing and Entity SEO - Conteference 20-11-2022
Semantic Publishing and Entity SEO - Conteference 20-11-2022
 
A beginner's guide to machine learning for SEOs - WTSFest 2022
A beginner's guide to machine learning for SEOs  - WTSFest 2022A beginner's guide to machine learning for SEOs  - WTSFest 2022
A beginner's guide to machine learning for SEOs - WTSFest 2022
 
게임 지표 이해하기
게임 지표 이해하기게임 지표 이해하기
게임 지표 이해하기
 
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출 NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
 
Google Analytics
Google AnalyticsGoogle Analytics
Google Analytics
 
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
 
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
GPGPU(CUDA)를 이용한 MMOG 캐릭터 충돌처리
 
Veronika bSEO-Googles-MUM-Speaker-Slides.pptx
Veronika bSEO-Googles-MUM-Speaker-Slides.pptxVeronika bSEO-Googles-MUM-Speaker-Slides.pptx
Veronika bSEO-Googles-MUM-Speaker-Slides.pptx
 
Preparing for an SEO pitch
Preparing for an SEO pitchPreparing for an SEO pitch
Preparing for an SEO pitch
 
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
윤석주, 신입 게임 프로그래머가 되는 법 - 넥슨 채용 프로세스 단계별 분석, NDC2019
 
Google Search Console: An Ultimate Guide
Google Search Console: An Ultimate GuideGoogle Search Console: An Ultimate Guide
Google Search Console: An Ultimate Guide
 
웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표웹 프로그래밍 팀프로젝트 최종발표
웹 프로그래밍 팀프로젝트 최종발표
 
SEO Automation Without Using Hard Code by Tevfik Mert Azizoglu - BrightonSEO ...
SEO Automation Without Using Hard Code by Tevfik Mert Azizoglu - BrightonSEO ...SEO Automation Without Using Hard Code by Tevfik Mert Azizoglu - BrightonSEO ...
SEO Automation Without Using Hard Code by Tevfik Mert Azizoglu - BrightonSEO ...
 
BrightonSEO talk - Sarah Presch
BrightonSEO talk - Sarah PreschBrightonSEO talk - Sarah Presch
BrightonSEO talk - Sarah Presch
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
 
Formation Google Tag Manager
Formation Google Tag ManagerFormation Google Tag Manager
Formation Google Tag Manager
 
Website Pre SEO Analysis Report- Online Marketing: Search Engine Optimization
Website Pre SEO Analysis Report- Online Marketing: Search Engine OptimizationWebsite Pre SEO Analysis Report- Online Marketing: Search Engine Optimization
Website Pre SEO Analysis Report- Online Marketing: Search Engine Optimization
 
[IGC2017] 오버턴VR 개발기 -1인 개발 3년차 리포트
[IGC2017] 오버턴VR 개발기 -1인 개발 3년차 리포트[IGC2017] 오버턴VR 개발기 -1인 개발 3년차 리포트
[IGC2017] 오버턴VR 개발기 -1인 개발 3년차 리포트
 
DirectStroage프로그래밍소개
DirectStroage프로그래밍소개DirectStroage프로그래밍소개
DirectStroage프로그래밍소개
 
Ist Google Analytics noch zu retten?
Ist Google Analytics noch zu retten?Ist Google Analytics noch zu retten?
Ist Google Analytics noch zu retten?
 

Similar to Gaca-Tworek Barbara: JavaScript SEO w praktyce: Webinar Senuto

SEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawy
SEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawySEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawy
SEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawy
Szymon Słowik
 
Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1
Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1
Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1
Tomasz Stopka
 
Responsive Web Design - kto mało pyta, nie błądzi
Responsive Web Design - kto mało pyta, nie błądziResponsive Web Design - kto mało pyta, nie błądzi
Responsive Web Design - kto mało pyta, nie błądzi
Jakub Wiśniewski
 
Django - webowy framework dla wymagających
Django - webowy framework dla wymagającychDjango - webowy framework dla wymagających
Django - webowy framework dla wymagających
Krzysztof Kreczko
 
Wydajny frontend 2024 - nowości optymalizacyjne
Wydajny frontend 2024 - nowości optymalizacyjneWydajny frontend 2024 - nowości optymalizacyjne
Wydajny frontend 2024 - nowości optymalizacyjne
Bartłomiej Miś
 
Perfomance w Joomla - Jak przyspieszyć działanie strony?
Perfomance w Joomla - Jak przyspieszyć działanie strony?Perfomance w Joomla - Jak przyspieszyć działanie strony?
Perfomance w Joomla - Jak przyspieszyć działanie strony?
Piotr Nalepa
 
SemKRK#9 - Damian Sałkowski - Machine Learning & Data Science w SEO - Rozszyf...
SemKRK#9 - Damian Sałkowski - Machine Learning & Data Science w SEO - Rozszyf...SemKRK#9 - Damian Sałkowski - Machine Learning & Data Science w SEO - Rozszyf...
SemKRK#9 - Damian Sałkowski - Machine Learning & Data Science w SEO - Rozszyf...
Damian Sałkowski
 
Wydajność aplikacji Web z perspektywy użytkownika
Wydajność aplikacji Web z perspektywy użytkownikaWydajność aplikacji Web z perspektywy użytkownika
Wydajność aplikacji Web z perspektywy użytkownika
Jacek Okrojek
 
Word up warszawa 2015
Word up warszawa 2015Word up warszawa 2015
Word up warszawa 2015
Tomasz Dziuda
 
Wydajny frontend 2023
Wydajny frontend 2023Wydajny frontend 2023
Wydajny frontend 2023
Bartłomiej Miś
 
Efektywne pozycjonowanie | 6 kroków na szczyty wyszukiwarek
Efektywne pozycjonowanie | 6 kroków na szczyty wyszukiwarekEfektywne pozycjonowanie | 6 kroków na szczyty wyszukiwarek
Efektywne pozycjonowanie | 6 kroków na szczyty wyszukiwarek
Martyna Zastrożna
 
Back to the roots – słów kilka o optymalizacji stron
Back to the roots – słów kilka o optymalizacji stronBack to the roots – słów kilka o optymalizacji stron
Back to the roots – słów kilka o optymalizacji stron
Silesia SEM
 
semKRK #14 - Sebastian Heymann
semKRK #14 - Sebastian HeymannsemKRK #14 - Sebastian Heymann
semKRK #14 - Sebastian Heymann
semKRK
 
SEO Surgery Polska #1 by Łukasz Rogala
SEO Surgery Polska #1 by Łukasz RogalaSEO Surgery Polska #1 by Łukasz Rogala
SEO Surgery Polska #1 by Łukasz Rogala
Anton Shulke
 
Alternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDbAlternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDbWojciech Soczyński
 
Google webmaster tools - Poznaj swojego przyjaciela!
Google webmaster tools - Poznaj swojego przyjaciela!Google webmaster tools - Poznaj swojego przyjaciela!
Google webmaster tools - Poznaj swojego przyjaciela!
Tomasz Stopka
 
Przydatne narzędzia pozycjonera
Przydatne narzędzia pozycjoneraPrzydatne narzędzia pozycjonera
Przydatne narzędzia pozycjoneraEbooki za darmo
 
Środowisko PWA
Środowisko PWAŚrodowisko PWA
Jak ładujemy skrypty JS i jakie ma to znaczenie?
Jak ładujemy skrypty JS i jakie ma to znaczenie?Jak ładujemy skrypty JS i jakie ma to znaczenie?
Jak ładujemy skrypty JS i jakie ma to znaczenie?
BarbaraGacaTworek
 
Nie takie bloki straszne… czyli wstęp do Gutenberga
Nie takie bloki straszne… czyli wstęp do GutenbergaNie takie bloki straszne… czyli wstęp do Gutenberga
Nie takie bloki straszne… czyli wstęp do Gutenberga
Krzysztof Grabania
 

Similar to Gaca-Tworek Barbara: JavaScript SEO w praktyce: Webinar Senuto (20)

SEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawy
SEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawySEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawy
SEO na WordPressie - czemu zielone swiatelko w Yoast nie zalatwia sprawy
 
Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1
Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1
Optymalizacja Wordpress jedną wtyczką - SEMURAI on AIR #1
 
Responsive Web Design - kto mało pyta, nie błądzi
Responsive Web Design - kto mało pyta, nie błądziResponsive Web Design - kto mało pyta, nie błądzi
Responsive Web Design - kto mało pyta, nie błądzi
 
Django - webowy framework dla wymagających
Django - webowy framework dla wymagającychDjango - webowy framework dla wymagających
Django - webowy framework dla wymagających
 
Wydajny frontend 2024 - nowości optymalizacyjne
Wydajny frontend 2024 - nowości optymalizacyjneWydajny frontend 2024 - nowości optymalizacyjne
Wydajny frontend 2024 - nowości optymalizacyjne
 
Perfomance w Joomla - Jak przyspieszyć działanie strony?
Perfomance w Joomla - Jak przyspieszyć działanie strony?Perfomance w Joomla - Jak przyspieszyć działanie strony?
Perfomance w Joomla - Jak przyspieszyć działanie strony?
 
SemKRK#9 - Damian Sałkowski - Machine Learning & Data Science w SEO - Rozszyf...
SemKRK#9 - Damian Sałkowski - Machine Learning & Data Science w SEO - Rozszyf...SemKRK#9 - Damian Sałkowski - Machine Learning & Data Science w SEO - Rozszyf...
SemKRK#9 - Damian Sałkowski - Machine Learning & Data Science w SEO - Rozszyf...
 
Wydajność aplikacji Web z perspektywy użytkownika
Wydajność aplikacji Web z perspektywy użytkownikaWydajność aplikacji Web z perspektywy użytkownika
Wydajność aplikacji Web z perspektywy użytkownika
 
Word up warszawa 2015
Word up warszawa 2015Word up warszawa 2015
Word up warszawa 2015
 
Wydajny frontend 2023
Wydajny frontend 2023Wydajny frontend 2023
Wydajny frontend 2023
 
Efektywne pozycjonowanie | 6 kroków na szczyty wyszukiwarek
Efektywne pozycjonowanie | 6 kroków na szczyty wyszukiwarekEfektywne pozycjonowanie | 6 kroków na szczyty wyszukiwarek
Efektywne pozycjonowanie | 6 kroków na szczyty wyszukiwarek
 
Back to the roots – słów kilka o optymalizacji stron
Back to the roots – słów kilka o optymalizacji stronBack to the roots – słów kilka o optymalizacji stron
Back to the roots – słów kilka o optymalizacji stron
 
semKRK #14 - Sebastian Heymann
semKRK #14 - Sebastian HeymannsemKRK #14 - Sebastian Heymann
semKRK #14 - Sebastian Heymann
 
SEO Surgery Polska #1 by Łukasz Rogala
SEO Surgery Polska #1 by Łukasz RogalaSEO Surgery Polska #1 by Łukasz Rogala
SEO Surgery Polska #1 by Łukasz Rogala
 
Alternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDbAlternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDb
 
Google webmaster tools - Poznaj swojego przyjaciela!
Google webmaster tools - Poznaj swojego przyjaciela!Google webmaster tools - Poznaj swojego przyjaciela!
Google webmaster tools - Poznaj swojego przyjaciela!
 
Przydatne narzędzia pozycjonera
Przydatne narzędzia pozycjoneraPrzydatne narzędzia pozycjonera
Przydatne narzędzia pozycjonera
 
Środowisko PWA
Środowisko PWAŚrodowisko PWA
Środowisko PWA
 
Jak ładujemy skrypty JS i jakie ma to znaczenie?
Jak ładujemy skrypty JS i jakie ma to znaczenie?Jak ładujemy skrypty JS i jakie ma to znaczenie?
Jak ładujemy skrypty JS i jakie ma to znaczenie?
 
Nie takie bloki straszne… czyli wstęp do Gutenberga
Nie takie bloki straszne… czyli wstęp do GutenbergaNie takie bloki straszne… czyli wstęp do Gutenberga
Nie takie bloki straszne… czyli wstęp do Gutenberga
 

Gaca-Tworek Barbara: JavaScript SEO w praktyce: Webinar Senuto

  • 2. Poszukiwanie odpowiedzi na pytanie, czy JS ma negatywny wpływ na widoczność strony w wyszukiwarkach i szukanie przyczyn tej sytuacji.
  • 3. Agenda Wyszukiwarki vs. JS Czy Google i inne wyszukiwarki internetowej potrafią ogarnąć JS? WRS Co trzeba wiedzieć o Googlowym Web Rendering Service? Wydajność Jak nasz JS wpływa na prędkość strony? Przykłady & Chrome Dev Tools 101. SPA / PWA Na co zwrócić uwagę tworząc SPA i PWA? Podejścia do SSR i ich konsekwencje.
  • 8. - Google4 “The page may stay on this queue for a few seconds, but it can take longer than that. Once Googlebot's resources allow, a headless Chromium renders the page and executes the JavaScript.”
  • 9. - Martin Splitt (03.2020)5 “You can assume that between initial crawling and rendering on median there's a delay of 5 seconds and the queue”
  • 10. Które strony zostaną skierowane do renderowania?6,7 “Pretty much every website when we see them for the first time goes to rendering, so there's no indexing before it hasn't been rendered.”
  • 11. Google porówna zwróconą stronę z serwera z tą wyrenderowaną przez siebie. 6,7
  • 12. Jak sprawdzić co renderujemy przy pomocy JS? Chrome Dev Tools Porównując pierwszą stronę zwróconą z serwera z tą finalnie wyrenderowaną w przeglądarce. Wyłącz JS w przeądarce Obsługę JS można wyłączyć samemu bezpośrednio w przeglądarce wpisując np. chrome://settings/conte nt/javascript What Would JS Do? Narzędzie udostępniane za darmo przez Onely: https://www.onely.com/t ools/wwjd/ WWJD
  • 13.
  • 14. Czy Google poprawnie renderuje moją stronę? GSC URL Inspection Tool
  • 15. Czy Google poprawnie renderuje moją stronę? Mobile- Friendly Test https://search.googl e.com/test/mobile- friendly
  • 16. Czy Google poprawnie indeksuje moją stronę? site:url “fragment, którego szukamy”
  • 18. - Google8 “Googlebot, wykorzystując usługę renderowania sieciowego (WRS), stale analizuje i identyfikuje zasoby, które nie mają wpływu na istotne treści strony i może ich nie pobierać. “
  • 19. Odrzuci pytania o pozwolenie na dostęp8
  • 20. Nie zachowa danych z poprzednich odwiedzin8 Local Storage Session Storage Cookies
  • 21. Możliwe, że zignoruje nagłówki odpowiedzi związane z cachowaniem, serio.8 “Googlebot caches aggressively in order to reduce network requests and resource usage. WRS may ignore caching headers.”
  • 22.
  • 24.
  • 26. Jak przeglądarka przetwarza JS?12 Pobieranie Rozpakowywanie Parsowanie / Kompilowanie Renderowanie 01 02 03 04 Źródło: https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/javascript-startup-optimization
  • 27. Jak przeglądarka przetwarza JS?12 Rozpakowywanie Parsowanie / Kompilowanie 02 03 Źródło: https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/javascript-startup-optimization
  • 28. 170 KB JS vs 170 KB JPEG12 Pobieranie Parsowanie / kompilowanie vs. Dekodowanie Renderowanie vs. Rasteryzacja JavaScript 3.4 s 2 s 1.5 s Obrazek 3.4 s 0.064 s 0.028 s @addyosmani, Slow 3G, 170KB skompresowane, Moto G4
  • 34. Parsowanie / kompilowanie12 Źródło: https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/javascript-startup-optimization
  • 35. Czy pliki są skompresowane?12,13,14
  • 36. Czy pliki są skompresowane?12,13,14
  • 37. Czy przesyłamy tylko to, co niezbędne?12,15,16
  • 38. Czy przesyłamy tylko to, co niezbędne?12,15,16
  • 39. Czy kod jest zminimalizowany?12
  • 45. Co jeszcze ciekawego ukrywa się w Dev Toolsach?
  • 46. Co jeszcze ciekawego ukrywa się w Dev Toolsach?
  • 47. SPA / PWA & SSR Czyli wszystkie modne skróty na w jednym miejscu. 04
  • 48. Czym się różnią: SPAMPA PWA Klasyk Nowa strona = nowy URL All in One18 Nowa strona = JS aktualizuje stronę MPA lub SPA z ikonką na ekranie19
  • 50. O co chodzi z tymi service workerami?19 Źródło: https://developers.google.com/web/updates/2018/05/beyond-spa
  • 51. O co chodzi z tymi service workerami?19 Źródło: https://developers.google.com/web/updates/2018/05/beyond-spa
  • 52. Checklista PWA dla SEO (checklista PWA dla dev)22 Unikalne URLe Zmieniamy adresy URL w pasku przegladarki za pomoca JS, bez przeladowania strony. # to zło. Web App Manifest Plik JSON umieszczony w <head>. Dostępność Działa na wszystkich przegladarkach. JS & CSS widoczne dla Googlebota. Google Analytics Śledzenie offline = Measurement Protocol Infinite scroll21 Czy działa poprawnie? SSR! Czy została wdrożona jakakolwiek forma SSR lub prerendering?
  • 53. Jak zapewnić Googlebotowi dostęp do statycznego HTML?23 DYNAMIC RENDERING HYBRID RENDERING / ISOMORPHIC JS JAMstack APPROACH Crawler otrzyma statyczna stronę na podstawie User Agenta. Bot jest traktowany inaczej niż użytkownicy. Bot i użytkownicy są traktowani tak samo. Brak wyjątków na UA. Bot i użytkownicy są traktowani tak samo. Brak wyjątków na UA. Trzeba monitorować osobną usługę. Aplikacja działa równolegle na serwerze i w przeglądarce. Renderowanie strony to ostatni etap jej budowania przez programistów. Jeśli o niej zapomnimy (rozjedzie się content pomiędzy wersjami) możemy podpaść pod cloaking. Skomplikowana implementacja. Warto sprawdzić: GatsbyJS24
  • 54. Walidacja SSR URL inspection Tool lub Mobile-friendly Test Structured Data Testing Tool
  • 55. Problemy z wyrenderowaną treścią Niepełna strona lub wygląda inaczej niż powinna. Wysokie czasy odpowiedzi Crawler może anulować request. Potencjalne obniżenie crawling budgetu. Brakuje danych strukuralnych Brakuje UA Google-Structured- Data-Testing-Tool lub problem z serwowaniem JSON-LD Potencjalne problemy z Prerenderingiem25
  • 56. Źródła – Wyszukiwarki vs. JS 1. Udział w rynku wyszukiwarek internetowych (Statista, 2020) 2. “The new evergreen Googlebot” (Google, 2019) 3. Bingbot wykorzystuje do renderowania ten sam silnik co Googlebot (Bing, 2019) 4. Tutorial – Podstawy SEO JS (Google, 2020) 5. Google Webmaster JavaScript SEO office hours (Google, o3.2020) 6. Google Webmaster Central office-hours (Google, 08.2019) 7. How much content is NOT indexed in Google in 2019? (Onely, 2019)
  • 57. Źródła – WRS 8. Fix Search-related JavaScript problems (Google, 2020) 9. Prevent unnecessary network requests with the HTTP Cache (Google, 2018) 10. Caching: Google Webmasters JavaScript SEO office hours (Google, 03.2020) Źródła – Wydajność 11. Prędkość ładowania strony jako czynnik rankingowy (Google, 2018) 12. JavaScript Start-up Optimization (Google, ?) 13. Next Generation Server Compression With Brotli (Smashing Magazine, 2016) 14. Boosting Site Speed Using Brotli Compression (LinkedIn, 2017) 15. Code Splitting (Webpack tutorial) 16. Tree Shaking (Webpack tutorial) 17. How do I measure the impact of third-party script on my page? (Google,?)
  • 58. Źródła – SPA / PWA / SSR 18. Single-page application (Wikipedia, 2020) 19. Beyond SPAs: alternative architectures for your PWA (Google, 2018) 20. What are Progressive Web Apps? (Google, 2020) 21. Infinite scroll search-friendly recommendations (Google, 2014) 22. What makes a good Progressive Web App? (Google, 2020) 23. SEO & Progressive Web Apps: Looking to the Future (MOZ, 2019) 24. GatsbyJS 25. Implement dynamic rendering (Google,?)
  • 59. Dzięki! Tak, teraz można zadawać pytania. Barbara Gaca-Tworek Technical SEO @PMI https://www.linkedin.com/in/barbaragaca/ https://twitter.com/GacaTworek

Editor's Notes

  1. W 2018 roku Google oglosilo, ze predkosc ladowania strony jest czynnikiem rankingowym.