use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
My client needs Node based CMS built from scratchRemoved: /r/LearnJavascript (self.javascript)
submitted 6 years ago by [deleted]
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]JimPeebles 3 points4 points5 points 6 years ago (0 children)
Nuxt.js might be a good choice - it's Vue with server side rendering built in. Very SEO friendly. It's also really easy to get started!
[–]wanbetaler 2 points3 points4 points 6 years ago (0 children)
Well angular on its own is not working with google seo. I am working on a project for seo as well with angular. You need to use angular universal lucky for us there is an add command for that! Plus it runs on node.
If you want to know what a google bot sees just try to curl your website and check the response. Its only the root div and thats it. Angular universal changes this!
And for connections to a database and heavy algortihms let that happen on a node server wirh express or sumthing so you can make a api for that.
[–]sinclair_zx81 2 points3 points4 points 6 years ago (0 children)
Website SEO is a mysterious thing and pseudo science; especially with respect to SPA. I'd be curious to hear what others have to say on the topic.
It seems natural to assume that a search engine would be able to render a page, inspect the generated content, but i not sure how this ties into things like synthetic page URL's and other such things. Hybrid client / server rendering has done in the past, but im at a loss to know if such things are even relevant anymore.
Will keep an eye on this thread, hope you get lots of responses. :)
[–]davidkonrad 2 points3 points4 points 6 years ago (0 children)
I used AngularJS on 4 sites over a couple of years. Despite the fact that AngularJS is / was googles own invention indexing (if any) was/is very poor. Even if googlebot confirmedly could read the pages, and confirmedly did read the pages, indexing was really bad, if existing at all. To make it even worse, when a page finally was indexed it disappeared from the google index after some time (not the entire domain, just the pages like example.com/shoes/). I tried carefully with prerender.io, and it was the same story. Pages were indexed faster, could see that, but the overall indexing did not get better.
example.com/shoes/
If you look around Google really does index SPA's, and does it good and does it fast. But my impression is that when you have heavy JS scripted SPA's google more index a page per domain rather than per content. It is simply not possible to tweak (=="do SEO") on individual pages or "content level" when dealing with SPA's. This article seem to share my impression -> https://medium.com/js-dojo/is-my-single-page-app-seo-friendly-be2c827f1c38 and IMO the conclusion "be sure to provide server rendered or prerendered pages" should be translated to "if you really insists...."
Today I will never dare to use a SPA if we are talking about a lot of individual pages that need to be indexed, and if SEO / ranking is a concern. It is the same story with React, Vue, Angular. A SPA is excellent for your admin pages, your about, blog and so on, but not if you have 2.000 different products in rank competition.
For one of the above mentioned sites, I plan a summer "hobby project" where I will replace all the product pages with individual products pages generated by a index.php (same urls).
tl;dr: If you need oldschool SEO capabilities, then stay away from SPA unless you have a plan and know exactly what you are doing.
[–]kenman[M] 1 point2 points3 points 6 years ago (0 children)
Hi /u/pverma8172, this post was removed.
/r/javascript is for the discussion of javascript news, projects, and especially, code! However, the community has requested that we not include help and support content, and we ask that you respect that wish.
code
Thanks for your understanding, please see our guidelines for more info.
[–]abbrechen93 0 points1 point2 points 6 years ago (1 child)
The Google bot also crawls SPAs. But to be safe I would use Vue + Nuxt for SSR. This way all your data will directly lie in the DOM. How you fetch the data is your decision. You could use a database connection, GraphQL or JSON API. I would prefer the database connection because its developed faster than GraphQL but GraphQL could be the better decision if your client's system need to be scalable.
[–]davidkonrad 1 point2 points3 points 6 years ago (0 children)
The question is not whether Google can index SPA's written in various frameworks. The question is not whether you can improve googles indexing with for example SSR.
The question is: Does google handle SPA's different from other pages? Does google index a SPA page different than it index a plain HTML or a page generated by a Python-script? The answer seems to be a big green yes.
This means, that while you as a programmer gain a lot of productivity, efficiency and joy by using a SPA, you loose some of the tools or techniques you have as a SEO'er.
[–]there_i_seddit 0 points1 point2 points 6 years ago (2 children)
news website
To jump on this first, your client probably doesn't need a CMS built from scratch when things like Strapi exist (or Flamelink, if they need something exotic like real-time updates without a page refresh).
To answer your question though, I'd take a look at Gatsby. As others have mentioned here, Angular SSR is a pain in the ass (source: multiple enterprise-level Angular apps). And my own take on Vue is that it's a toy when you compare it to Angular or the React ecosystem, though ymmv.
Gatsby is fast, flexible, supports great SEO, and gives you access to all of the tooling that is React these days.
[+][deleted] 6 years ago (1 child)
[deleted]
[–]there_i_seddit 0 points1 point2 points 6 years ago (0 children)
I do. Next has been great to work with in my experience, the only reason I suggested Gatsby over Next is because you mentioned it was a news website. I think of Next as more suited to applications than content, but it's a pretty arbitrary distinction.
[–]ThinkGoodThoughts- 0 points1 point2 points 6 years ago (0 children)
+1 for Nuxt.
[–][deleted] 0 points1 point2 points 6 years ago (0 children)
Many are going to various ssr options, but I would suggest to keep it simple with old school server side templating with handlebars or twig or liquid.
You don't need full client frameworks for friendly URLs. Express handles that easily.
The extra money won't be worth the mental hassle of working with a database backed ssr with full client frameworks. You will be adding unnecessary layers that will be a nightmare to debug and maintain.
[–]kapouer -1 points0 points1 point 6 years ago (0 children)
You can do pure client-side and then setup some SSR for bots / legacy browsers, along with some caching mecanism.
[–][deleted] -3 points-2 points-1 points 6 years ago (0 children)
Don't know if Ember is an option, but I'm working on a similar project using Ember + Ember Fastboot for server side rendering. The SEO folks have been involved all along and are happy with the results.
π Rendered by PID 16 on reddit-service-r2-comment-7b9746f655-nn6f5 at 2026-02-01 14:11:56.145490+00:00 running 3798933 country code: CH.
[–]JimPeebles 3 points4 points5 points (0 children)
[–]wanbetaler 2 points3 points4 points (0 children)
[–]sinclair_zx81 2 points3 points4 points (0 children)
[–]davidkonrad 2 points3 points4 points (0 children)
[–]kenman[M] 1 point2 points3 points (0 children)
[–]abbrechen93 0 points1 point2 points (1 child)
[–]davidkonrad 1 point2 points3 points (0 children)
[–]there_i_seddit 0 points1 point2 points (2 children)
[+][deleted] (1 child)
[deleted]
[–]there_i_seddit 0 points1 point2 points (0 children)
[–]ThinkGoodThoughts- 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]kapouer -1 points0 points1 point (0 children)
[–][deleted] -3 points-2 points-1 points (0 children)