4
scout
3y

I have to build a front-end website.....kinda similar to tripadvisor etc. which framework should I choose? Vue or react? P.s. I have zero experience in both.

Comments
  • 0
    If we're talking about marketable skills, see what types of jobs are looking for what in your area.
  • 1
    If SEO is important like for TripAdvisor and you don't want it to be a hassle: none of them. Either HTML & jQuery or something like Svelte/ static site generator (eg. metalsmith). Not sure how it can be a "frontend" website as Tripadvisor offers user interaction & probably Has a huge database.
  • 2
    If it's tripadvisor scale and complexity, angular.
  • 3
    Vue and react itself is not really that good with SEO, so maybe use nuxt or next. I maybe biased because I'm a react dev my self, but nextjs is really easy to use especially because there are plenty of examples of use cases available for me to implement.
  • 2
    @volttide I feel like it’s good to learn next maybe after getting some react basics down, just what I have experienced anyways.
  • 0
    Since SEO appears to be important in such a project, you have to rely on server-side rendering for all your SEO relevant content.
    I personally work most of the times with CraftCMS which runs on PHP / TWIG (non-headless mode), so I use Vue components in the front-end only for inputs and other SEO-irrelevant stuff. All the rest, like displaying oberlays or modals is done with Vue directives, so the HTML content is already there from the server and Vue only changes its view behaviour in the front-end.
    It may sound complicated, but I've reached SEO scores of up to 98/100 on websites like this.
  • 0
    Addendum:
    If you really want to go full SPA with client-side routing, you could split crawlers and normal users by implementing User-agent rules in your .htaccess config and only show crawlers server-side rendered, unstyled raw HTML.
    I've done that in multiple cases with Angular SPAs and Craft in headless mode.
    It's just a bit annoying having to create the website 2 times: The SPA and a dumbed down, unstiled crawler version. 😄
  • 1
    @PonySlaystation
    Dunno why people have this idea. I've had no issues with google indexing over the last 8 years with spas. That includes a site for a major market retailer. Never really had an issue with the appropriate content being absorbed.
  • 1
    @SortOfTested Have you used server-side rendering? Then it should not be a problem.

    As far as my current knowledge goes, on client-side rendering, the Google crawler is the only one that can somewhat run and crawl SPAs. Every other crawler, like Facebook (for sharing preview) or LinkedIn has never been able to get the needed content.
    Correct me if I'm wrong. 🙂
  • 1
    @PonySlaystation
    Nope, haven't used server side rendering in almost a decade. The furthest I've had to do was writing a slim injector middleware for social that returned a version of the index with opengraph meta rendered, but the spa itself remained unmolested. Twitter also seems to be more capable than facebook, unsurprisingly.
  • 0
    @SortOfTested Ah, yeah that works too.

    "Many roads lead to Rome." 😄
  • 0
  • 3
    The only familiar thing I picked from all comments, is angular. Should I go ahead with that? Also where do I start I have no idea :/
  • 0
    @scout Angular sounds good. Just start and you’ll pick things up as you need to.

    Alternatively, even if I’d recommend stencil if you care about SEO, you might just check out svelte. Both of them are highly flexible and super easy to pick up.
  • 0
    @PonySlaystation Facebook/Twitter and so on have their own head tags? This can also be done with partial SSR so you’ll save some time
  • 1
    @SortOfTested I consider it a duty to target smaller search engines too (thats the only way I can comfort myself Google might not have a near total monopoly one day)

    I've worked on a few client SPA projects and all of them had trouble with SEO (even with Google search).
    You almost always need to be extra careful or put in extra effort. On server-rendered sites everything "just" works, for all potential targets.
  • 1
    @webketje
    I mean, we tested the shit out of them. Our marketing team would have rained shit otherwise; ad campaign data (conversion and other metrics) were a key organizational metric for investors. This was for 30+ international markets

    Just because your team had difficulties doesn't mean it isn't possible, or easy to do if you understand what's actually driving it. Throwing up your hands and spending piles of money on servers, cache clusters and the complexity that brings for want of some adoit surgically placed engineering isn't remotely a good idea. That's just throwing the baby out with the bathwater.
Add Comment