Wpis z mikrobloga

Cześć,
pytanie co do next i jego sporych zmian na przestrzeni ostatniego roku.
Mam na stronie głównej slider z dwoma elementami, na pierwszym slajdzie jest h1, na drugim h2, foto i trochę tekstu, wiadomo.
Next teraz wymusza dyrektywę 'use client' jeśli element ma być interaktywny. Treść generowana po stronie klienta nie jest SEO friendly, więc jak mogę zrobić by treść H1, H2 itd. została wygenerowana w sposób seo friendly, a następnie wyświetlona zgodnie z desginem.
Czy wystarczy że treść do slidera przekazuję jako propsy i jest już ok pod SEO? Niby tekst wyszedł z serwera, a slider osobno z js, ale w sumie h1 wyświetlona będzie na komponencie client. Nie wiem czy dobrze rozumiem to zachowanie 'use client' pod tym względem.
Ktoś to przerabiał? Strona w app routerze jeśli to ma jakieś znaczenie.

#seo #programowanie #frontend #backend #javascript #nextjs
  • 7
  • Odpowiedz
@beerman: Ale to nie jest tak, że treść generowana po stronie klienta nie jest brana pod uwagę przez crawlery - jest, bo inaczej masa stron bez SSR byłaby 'pusta' według Google'a (roboty czekają na wygenerowanie treści).
  • Odpowiedz
@beerman: W ogóle zakładam, że takie zmienianie treści mogłoby więcej namieszać niż pomóc + będziesz miał błędy związane z hydracją. To co możesz ewentualnie zrobić jak jesteś pewny, że generowany przez Swipera czy z czego tam korzystasz content nie jest dostępny, to dodanie tych opisów/treści wizualnie ukrytych poza komponent (ale jak to jest slider to tak nie ma sensu) - https://www.a11yproject.com/posts/how-to-hide-content/

To w pełni wspierane od strony a11y i SEO rozwiązanie,
  • Odpowiedz
  • 0
@Wyrazisty: Dzięki. Tak, dokładnie jest to Swiper.
Mówisz, żeby się pozbyć tego? W sumie wyszło jakiś czas temu z mody, ale faktycznie czasem na stronach januszexów jeszcze się czasem trafia. Ta strona to też pod nieduży biznes.
Co prawda komponent mam już zakodowany i CMS już też ma pola, ale jeśli finalnie lepiej po prostu hero jako zdjęcie + nagłówek no to może ma to sens, by zrobić prościej.
  • Odpowiedz
@beerman: Można się bawić z SSR, ale chyba najprościej wyrzucić slider, który sam w sobie nie jest SEO friendly i wstawić statyczny element. A wtedy czas zaoszczędzony i pora na CS'a ( ͡° ͜ʖ ͡°)
  • Odpowiedz
@beerman: Jak Ty decydujesz to jasne, że tak. Sam pracuję przy bardzo dużych projektach i dalej muszę slidery robić w co drugim z nich, bo biznesowi nie przetłumaczysz, ale poza tym, że niektórzy trzymają się tej bezsensownej mody to nie ma żadnego logicznego argumentu za używaniem karuzeli.
  • Odpowiedz
  • 0
@Wyrazisty: @ContentNinja W takim razie chyba wywalę. Dochodzi do dodatkowy problem, bo wszystkie komponenty mam zrobione w styled-components, a to też jest brane jako clienckie XD
To było robione 3 lata temu pod gatsbiego i teraz migruję na nexta + payloadcms i sporo się pozmieniało od tamtej pory.
Samo to że styled components dla global styles wymaga providera już mi to śmierdziało, bo skoro całą apkę wrapuje w komponent używający 'use
  • Odpowiedz
@beermam Możesz zawsze dodać customowe style do slidera, z tym nie będzie problemu. Ma listę CSSowych zmiennych i wystarczy je ponadpisywać o ile nie chcesz jakichś dużych zmian tylko theming. A co do Tailwinda to szczerze mówiąc nie polecam, zwykły CSS imho dużo wygodniejszy, no chyba że mocno nie lubisz to czeka Cię tailwindowy śmietnik :D
  • Odpowiedz