Technologiczne, Gadżety, Telefony Komórkowe, Pobieranie Aplikacji

Google wyjaśnia różnicę między przekierowaniami JavaScript i HTTP

Uwaga: Poniższy artykuł pomoże Ci w: Google wyjaśnia różnicę między przekierowaniami JavaScript i HTTP

Podczas hangouta specjalista ds. SEO zapytał Johna Muellera o przekierowania JavaScript i HTTP.

Ich pytanie brzmiało: jaka jest różnica między przekierowaniami JavaScript a przekierowaniami 301 lub przekierowaniami z kodem stanu HTTP i które z nich poleciłby John w przypadku krótkich linków?

John odpowiedział, że jeśli chodzi o przekierowania, to zdecydowanie preferowane jest przekierowanie po stronie serwera, w ramach którego można jak najszybciej przekazać Google kod wyniku.

Powodem, dla którego jest to zdecydowanie preferowane, jest to, że można go natychmiast przetworzyć.

Przy każdym żądaniu kierowanym do Twojego serwera na jeden z tych adresów URL Google zobaczy adres URL przekierowania. Zobaczą link do nowej lokalizacji, a Google będzie mógł od razu go kliknąć.

Jeśli jednak do wygenerowania przekierowania używasz JavaScriptu, Google musi najpierw wyrenderować JavaScript, aby zobaczyć, co faktycznie robi.

Wtedy zobaczą: „Och, faktycznie jest tam przekierowanie. A potem pójdą i pójdą za tym.”

Jeśli to w ogóle możliwe, John zaleca użycie przekierowania po stronie serwera w przypadku każdego rodzaju przekierowania, które wykonujesz w swojej witrynie.

Jeśli nie możesz wykonać przekierowań po stronie serwera, czasami musisz to zrobić, a przekierowanie JavaScript również zostanie przetworzone. Po prostu trwa to trochę dłużej.

Typ przekierowania meta-odświeżania to kolejna opcja, z której możesz skorzystać, ale to również trwa nieco dłużej.

Trwa to dłużej, ponieważ Google musi to sprawdzić na stronie. Ale przekierowania po stronie serwera są świetne.

Istnieją różne typy przekierowań po stronie serwera.

Jest 301 i 302. Są też 306, 307, 308. Zasadniczo różnice polegają na tym, czy jest to przekierowanie stałe, czy tymczasowe.

Stałe przekierowanie informuje Google, że powinien skupić się na stronie docelowej. Tymczasowe przekierowanie informuje Google, że powinien skupić się na bieżącej stronie, która przekierowuje, i wracać do niej.

Różnica między modelami 301, 302 i 307, John zapomniał, czym jest ten drugi, jest raczej różnicą techniczną dotyczącą różnych typów żądań serwera.

Jeśli więc wpiszesz adres URL w przeglądarce, otrzymasz żądanie dotyczące tego adresu URL. Natomiast jeśli wyślesz coś do formularza lub użyjesz określonych typów żądań API, może to być żądanie pocztowe.

Przekierowanie typu 301, 302 przekieruje tylko zwykłe żądania przeglądarki, a nie formularze i żądania API.

Jeśli więc masz w swojej witrynie interfejs API korzystający z żądań POST lub masz formularze, w których podejrzewasz, że ktoś może przesyłać coś pod adres URL, który przekierowujesz, wówczas oczywiście używasz innych typów.

Jednak w większości przypadków chcesz użyć przekierowania 301 lub 302, a różnice między nimi są bardzo minimalne.

Dzieje się to mniej więcej w 11:25 na filmie.

Transkrypcja Hangouta Johna Muellera

Jan (pytanie)
OK, a teraz znowu pytanie o przekierowania, o różnice pomiędzy JavaScript a przekierowaniami z kodem stanu HTTP 301 i który z nich poleciłbym w przypadku krótkich linków.

Jan (odpowiedź)
Ogólnie rzecz biorąc, jeśli chodzi o przekierowania, zdecydowanie preferowane jest przekierowanie po stronie serwera, w którym można jak najszybciej przekazać nam kod wyniku. Zdecydowanie preferowanym powodem jest to, że można go natychmiast przetworzyć. Zatem przy każdym żądaniu, które trafi do Twojego serwera na jeden z tych adresów URL, zobaczymy ten adres URL przekierowania, zobaczymy link do nowej lokalizacji, możemy od razu to śledzić. Natomiast jeśli używasz JavaScript do wygenerowania przekierowania, najpierw musimy wyrenderować JavaScript i zobaczyć, co robi JavaScript. A potem zobaczymy, och, faktycznie jest tu przekierowanie, a potem pójdziemy i będziemy się nim kierować.

Jeśli więc to w ogóle możliwe, zalecałbym użycie przekierowania po stronie serwera w przypadku każdego rodzaju przekierowania, które wykonujesz w swojej witrynie. Jeśli nie możesz wykonać przekierowania po stronie serwera, czasami musisz to zrobić, a przekierowanie JavaScript również zostanie przetworzone. Po prostu trwa to trochę dłużej. Przekierowanie typu meta odświeżania to kolejna opcja, z której możesz skorzystać, ale zajmuje to również trochę więcej czasu, ponieważ w pewnym sensie musimy to rozgryźć na stronie. Ale przekierowania po stronie serwera są świetne. Istnieją różne typy przekierowań po stronie serwera.

Więc jest 301 i 302. I myślę, co to jest, 306, 307, 308, coś w tym stylu. Zasadniczo istnieją różnice, niezależnie od tego, czy jest to przekierowanie stałe, czy tymczasowe. Stałe przekierowanie mówi nam, że powinniśmy skupić się na stronie docelowej, tymczasowe przekierowanie mówi nam, że powinniśmy skupić się na bieżącej stronie, która przekierowuje i w pewnym sensie wracać do tej. I różnica między 301, 302 i 307.

I zapomniałem, czym był ten drugi, to raczej różnica techniczna w odniesieniu do różnych typów żądań. Jeśli więc wpiszesz adres URL w przeglądarce, wykonasz tak zwane żądanie pobrania tego adresu URL. Natomiast jeśli wyślesz coś do formularza lub użyjesz określonych typów żądań API, może to być żądanie pocztowe. A przekierowanie TYPU 301, 302 przekieruje tylko zwykłe żądania przeglądarki, a nie formularze i żądania API.

Jeśli więc masz w swojej witrynie interfejs API, który korzysta z żądań POST, lub jeśli masz formularze, w których podejrzewasz, że ktoś może przesyłać coś pod adres URL, który go przekierowuje, to oczywiście używasz innych typów. Ale w większości jest to zwykle 301 lub 302. A różnice są bardzo minimalne.