2017-06-07 32 views
7

Mam prosty projekt Angular 4 obsługiwany przez Express. Kiedy próbowałem pobrać moją witrynę za pomocą Googlebota, po prostu pokazała pustą stronę (innerHTML z AppRoot). Myślałem, że Google twierdzi, że jego roboty obsługują strony Angular 4/JS?Angular 4 i SEO

Jeśli to nadal jest problem, czy renderowanie po stronie serwera przy użyciu Angular Universal jest naprawdę najlepszym rozwiązaniem? Tak jak muszę skonfigurować inny serwer, który obsługuje renderowaną aplikację po stronie serwera, oprócz głównego serwera obsługującego normalną stronę renderowaną po stronie klienta? A jeśli tak, to jak mam powiedzieć googlebot, aby przejść do portu dla renderowanej aplikacji po stronie serwera i normalnego ruchu http, aby przejść do portu dla renderowanej aplikacji po stronie klienta? Nie są ruchami indeksującymi http?

+1

To pytanie wydaje się być nie na temat, ponieważ nie mieści się w granicach dyskusji opisanych w Centrum pomocy. – Will

+0

Renderowanie po stronie serwera przy użyciu Angular Universal powinno rozwiązać problem związany z SEO. Zarówno googlebot, jak i normalny ruch powinny trafić na ten sam serwer. Nie powinno być oddzielnego układu dla googlebotów IMO. Tutaj jest dobra lektura: https://coursetro.com/posts/code/68/Make-your-Angular-App-SEO-Friendly-(Angular-4-+-Universal) – Raptor

+0

@Deepakswain tak, nowy facet, to jest. Jest to połączenie pytania rekomendacyjnego ("czy renderowanie po stronie serwera przy użyciu Angular Universal jest naprawdę najlepszym rozwiązaniem?") Oraz o tym, jak działa Googlebot, co nie jest tutaj tematem. Idź przeczytaj tag [tag: seo]. – Will

Odpowiedz

0

Problem nie jest zależny od Angular4. Wszelkie dane generowane dynamicznie przez javascript będą wyświetlane jako puste, a następnie ładują jego zawartość. Zakładam, że patrzysz na google page speed Insights.

Aby zobaczyć, co zobaczyć google:

  1. komentarz swój zewnętrzny css
  2. komentarz swoje js zewnętrznych

To będzie google widoku początkowego. Potem Google pobierze pliki zewnętrzne, uruchomi javascript i wyrenderuje stronę. Prędkość strony Google będzie karać Cię za wszelkie zmienione piksele nad przewinięciem przed i po pobraniu zasobów zewnętrznych.

Angular Universal (lub dowolny rendering po stronie serwera, ponieważ nie jest to problem kątowy) rozwiąże ten problem.

Nadzieję, że pomaga.