Prag
04/22/2021, 4:04 PMBig Chungus
04/22/2021, 4:11 PMBig Chungus
04/22/2021, 4:11 PMChristian Hausknecht
04/22/2021, 4:17 PMBecause of SEO requirements, the chosen solution should be able to render plain HTML on the server side.Sounds a bit weird in 2021 😉 You could still deliver a good template, but of course the pure content (and therefore links to other sites) is rendered at client side. I am by far no expert in this topic, but I would assume google and others will analyse rendered sites nowadays. If not, practically the majority of site would not be indexable at all in a meaningfull way 😄
Prag
04/22/2021, 4:25 PMPrag
04/22/2021, 4:27 PMPrag
04/22/2021, 4:29 PMServer Side Rendered
The most popular mode for Nuxt. With SSR, also called "universal" or "isomorphic" mode, a Node.js server will be used to deliver HTML based on your Vue components to the client instead of the pure javascript. Using SSR will lead to a large SEO boost, better UX and more opportunities (compared to a traditional Vue SPA).
Because implementing SSR on your own can be really tedious, Nuxt.js gives you full support out of the box and will take care of common pitfalls.
Big Chungus
04/22/2021, 4:29 PMBig Chungus
04/22/2021, 4:31 PMPrag
04/22/2021, 4:37 PMBig Chungus
04/22/2021, 4:39 PMnapperley
04/22/2021, 10:33 PMpabl0rg
04/22/2021, 11:39 PMpabl0rg
04/22/2021, 11:40 PMChristian Hausknecht
04/23/2021, 7:35 AMPrag
04/23/2021, 6:29 PMI have a strong opinion to such disfunctional requirements probably made by non technical bull**** bingo stakeholdersThe need for SEO depends on the type of website. If it's a webapp like Gmail or an internal website or website with a login required, then it doesn't really need SEO/SSR. But if it's a webshop, then SEO is crucial for business survival. SE bots hate JS, because they need to use headless browsers to render it. It requires more resources, so such websites are often less crawled, or crawled superficially, or put on low priority. Google says for example: https://developers.google.com/search/docs/guides/dynamic-rendering
Currently, it's difficult to process JavaScript and not all search engine crawlers are able to process it successfully or immediately. In the future, we hope that this problem can be fixed, but in the meantime, we recommend dynamic rendering as a workaround solution to this problem. Dynamic rendering means switching between client-side rendered and pre-rendered content for specific user agents.Dynamic rendering is an alternative to SSR. Dynamic rendering uses pre-rendering. In pre-rendering a headless browser renders the page, and then stores the generated HTML in a cache. Which is then served to search engines and/or normal clients. (Normal clients can benefit from it by the reduced FCP (First Contentful Paint time). (There exist external commercial services that provide pre-rendering solutions.)
(I have no idea at all, how this could ever be realized, as you would habe to drop all interaction from a fritz2 app and "magically" replace those with some ``<a href="...">``)SSR is basically the ability to render the content on the server as a string containing HTML. Once this HTML is generated by the server and send to the client (browser), the client renders the HTML producing visible content. After this, JavaScript kicks in, and synchronized the HTML with the JS framework by attaching event handlers. This synchronized is called hydration. After hydration, the client basically doesn't need to be hydrated anymore, not even when switching pages, unless the client performs a hard page refresh or opens a link by opening it in a new tab. An alternative to hydration is the use of html in a noscript tag. This is done for example in Discourse forum (check the html source). So if SEO is important, then currently the best solution for Fritz2 users is to use those Google guidelines, and a pre-rendering solution.
Christian Hausknecht
05/17/2021, 7:34 AM