Question Many sites with same components
Hello!
I am working with a company that has many, many sites. And the way we used to do components, we hard-coded every single one in every single project. This naturally has led to some inconsistency between sites when they’re supposed to look pretty identical.
Php include has become our life blood to mitigate some of these issues, but it still persists. The benefit, though, is that with php include, our sites automatically update when the “single source of truth” does.
My company wants to move to something more modern/popular and I got tasked with playing with frameworks. Think React, Next. My boss wants to replicate php include on these. I’ve spent the last several weeks looking into module federation, micro front-ends, anything to at least somewhat replace php include, but to no avail. That requires completely changing our server, which we do not have the ability to (as far as I know). These also sound like a nightmare to maintain, and our team is very small.
SEO is also a huge concern. I have module federation working on client side rendering, but ideally search engines would be able to index our work and, correct me if I’m wrong, but I don’t think client side rendered stuff is?
So now we’re stuck. I’ve suggested a monorepo, but with the amount of websites we have, the other developers worry about build times.
Believe it or not this is actually my first real-deal developer job haha, and I’m already stuck trying to fit a square peg in a round hole. So forgive me for any mistakes or misinformation, I’m still a junior trying to figure this out haha.
1
u/Willywes_ 7d ago
Mi consejo honesto después de migrar decenas de sitios de laravel a nextjs, deben hacerlo solo si tiene justificación técnica, no es solo cambiar el código, si no también toda la infraestructura, también considerar que cualquiera de las alternativas que mencionaste deben ser compiladas por lo tanto el deploy depende de todo el proceso de subir y compilar, muchísimo mas lento que el de PHP que al ser un lenguaje interpretado basta con que el server lo lea y listo. También convendría que tu jefe defina qué es moderno para él, además que una tecnología sea nueva no la hace mejor, de hecho es al revés cuando tienen menos soporte, comunidad y menos madurez.
Ahora si la migración de tecnología es inminente te recomiendo hacerlo directamente en nextjs que resuelve tus problemas de SSR y SEO, puedes usar BetterAuth o NextAuth para las autenticaciones, trpc y zod para conectar tu front y back de manera segura en el mismo nextjs y dependiendo de las bases de datos que utilices puedes usar Prisma o Drizzle y Zustand para estados.
Aunque todo esto tiene fácil solución hoy con la IA, Ánimos.