Laika · strategic & SEO consulting

TECHNOLOGY · JAVASCRIPT (SSR / SSG)

If the content depends on JavaScript running, it depends on too many things.

React, Next.js, Angular, Vue or Nuxt can work very well. Problems appear when what matters only exists after hydration, or when a page's state doesn't match its response.

Let's talk about your project
+15
years working visibility for large brands
+200
projects with our own data behind them
48 h
to reply, at most

Brands that have trusted Laika

  • Foot District
  • Cosentino
  • Telepizza
  • Arcos
  • Autocasión
  • ILUNION
  • El Corte Inglés
  • Uno de 50
  • Roberto Verino
  • Don Disfraz
  • Lladró
  • GF Hoteles
  • Racetick
  • Douglas
  • Startupxplore
  • Infoempleo
  • CEF
  • VisionLab
  • cdmon
  • Fronda
  • Tressis
  • Packlink
  • Toys R Us
  • SAP
  • Motocard
  • ¡HOLA!
  • Multiópticas
  • PandaGo
  • ALSA
  • Clínica Menorca
  • Funidelia
  • Regalo Original
  • Médicos Sin Fronteras
  • Maxcolchón
  • Cofares
  • Samsung
  • Logiscenter
  • Decathlon
  • Bijou Brigitte
  • Adolfo Domínguez
  • Kia
  • Foot District
  • Cosentino
  • Telepizza
  • Arcos
  • Autocasión
  • ILUNION
  • El Corte Inglés
  • Uno de 50
  • Roberto Verino
  • Don Disfraz
  • Lladró
  • GF Hoteles
  • Racetick
  • Douglas
  • Startupxplore
  • Infoempleo
  • CEF
  • VisionLab
  • cdmon
  • Fronda
  • Tressis
  • Packlink
  • Toys R Us
  • SAP
  • Motocard
  • ¡HOLA!
  • Multiópticas
  • PandaGo
  • ALSA
  • Clínica Menorca
  • Funidelia
  • Regalo Original
  • Médicos Sin Fronteras
  • Maxcolchón
  • Cofares
  • Samsung
  • Logiscenter
  • Decathlon
  • Bijou Brigitte
  • Adolfo Domínguez
  • Kia

Some of these situations may sound familiar

Google indexes pages with no content

The HTML arrives nearly empty and content loads afterwards. Sometimes it resolves, sometimes it doesn't.

Filters create addresses the server doesn't know about

Routes that only work while navigating inside the site and return something else on direct entry.

Pages that don't exist return 200

The error message renders on screen, but the response says everything is fine.

Metadata changes too late

Title and description update on hydration, and don't always arrive in time.

Speed is good in the lab and bad in the field

Real user data doesn't look like the synthetic measurement, and it's the one that counts.

The scope

We compare what the server returns with what the user sees, review routes, states and metadata, and define what should be served pre-rendered and what can stay client-side.

We work on the judgement and the spec: what needs to change on JavaScript, in which order and how it gets checked afterwards. Your team or your development partner implements it, and we review that what reaches production is what was agreed.

The areas of work

Four fronts that come up again and again on JavaScript projects. Depending on where your project stands, some weigh more than others.

Rendering strategy

Decide per page type what is served rendered and what is generated client-side.

See the detail
  • Served HTML versus final content comparison
  • Recommendation per template: server, static or client
  • Review of generation and revalidation timings
  • Criteria for new pages

Routes, states and responses

Make every address return the code and content it should.

See the detail
  • Review of errors, redirects and empty pages
  • Routes generated by filters and internal search
  • Pagination and progressive loading
  • Internal linking accessible without JavaScript

Metadata and structured data

Make tags travel in the response instead of depending on hydration.

See the detail
  • Server-side generation of title, description and canonical
  • Structured data per page type
  • Tags for social sharing and assistants
  • Duplication control across similar routes

Field performance

Improve what real users feel, not just the score.

See the detail
  • Reading real user data per template
  • Review of script weight and third parties
  • Loading priorities on the highest-value pages
  • Verification after each release

Who does it?

A small team with real hours inside JavaScript. MJ leads the strategy and the specialist who reviews your platform is the one who explains it to you.

Why Laika?

Knowing the platform changes the conversation: you stop arguing about whether something is possible and start deciding when it ships.

We've worked on JavaScript projects long enough to know where its real limits are and what a second pass at configuration can solve.

  • We look at the response, not the screen

    Most JavaScript diagnoses are resolved by comparing what the server serves with what the user sees.

  • You always talk to whoever decides

    There's no management layer between you and the judgement. MJ leads the strategy and the specialist team executes.

  • If we're not the right fit, we say so

    Even if that means there's no project for us, we'd rather say so before signing.

Frequently asked questions

Is server rendering better than static generation?

It depends on how often each page changes and how many there are. The answer is usually different per template type.

Can you work with our framework?

Yes. What we review is how the response resolves, not the library's name.

Do we need to rebuild the site?

Almost never. It's usually solved by changing the rendering mode of a handful of templates.

Tell us about your project

Knowing which version you run, who develops it and what worries you is enough for us to say whether it makes sense to talk.

Tell us like you'd tell a colleague: no jargon needed.

We only use this to reply to you.

Shall we talk about your platform?

We look at your project before proposing anything and tell you what can move without fighting the roadmap.

Let's talk about your project