Angular SEO for a directory multi-language app - node.js

I am doing an angularjs app with a nodejs-expressjs server.
I want to do an app that it's similar to a business directory.
I have doubts about if it's possible doing it SEO friendly to the all items at the directory, either by his name or his features (tags). Always having in mind that all pages are created with AngularJS.
If it is possible, how to do that dinamically.
I implemented an example that uses prerender server (this https://github.com/prerender/prerender) and the prerender-node library at the app server.
My example's pages, created by angularjs, does work (are SEO friendly, it appears at google's search)..but the pages are "static", and the directory it's going to add always new bussines to the directory that I want to appear in googles searching.
Besize, I want my app to be multi-language, and also have doubts about how to do all of that be multi-language, and if it is possible.
I hope you can help me.

If you're hosting your own Prerender server, it will serve the page "on the fly" every time Google accesses it, so it will always have the latest, dynamic content from your pages. If you're using a Prerender plugin to cache your pages, you'll need to make sure you recache them... or use our Prerender.io SaaS and we'll take care of all of the recaching for you.
It sounds like you just want Google to crawl your pages more often because of how dynamic your content might be. In order to have Google crawl your pages more often, make sure to quality inbound links from other sites to increase your PageRank.
Here is lots of advice from Google about multi language sites: https://support.google.com/webmasters/answer/182192?hl=en

Related

Is it possible to have a Shopify website and a code website on the same domain?

I want to build an HTML, CSS, and Js for my home page and my landing pages and a Shopify store for my product pages but I want to be on the same domain so that the flow doesn't break and my SEO and analytics be more precise.
How can I achieve that?
I would venture that you have two options (there may be more, but these popped in my head first):
Create a subdomain of your primary domain. This wouldn't mess with your current domain's SEO and you may actually see benefits from future SEO since the two are connected by a common domain. I know search engines treat subs as their own, but your sites will be driving traffic between each other and this would keep your customers within your overall domain.
Create a page/series of pages under your primary domain with pictures and Shopify buttons for each item. This is highly redundant and, frankly, a waste of time and energy, but I am putting it out there, nonetheless.
Use the Buy button SDK over your main content website to append the product from Shopify and utilize the Shopify cart functionalities.
I think this is the best option when you want to have a separate website along with Shopify, its cost is lower than the regular Shopify plan.
Here are some links:
buy Button
Documentation
Shopify Lite
Storefront API with Checkout API also provide all the power of Shopify to those that do not want to host on the Shopify online store platform. Would suit your use case fine it seems.

How to optimize SEO for SPA using React-Helmet?

My project is a single page application using react js. I have heard that Google can crawl javascript pages including react js single page applications, without the need of server side rendering (even though it's generally better for SEO).
However, when I used webmaster tool: fetch and render as google, both what google bots are seeing and what visitors to my page are seeing are blank.
Even though I can add specific urls to google indexing, google only uses the title and description tag that I have put in my static index.html file, it doesn't get the nested react helmet component's title and description. Does anyone have experience in this? Appreciate it much!
To answer your question, ensure that you have polyfilled the necessary es6 features, google crawler's javascript feature can be quite limited, it does not have Array.find for example. You can read more about that here https://github.com/facebookincubator/create-react-app/issues/746#issue-179072109
As for tips for improving SEO, you can use these tips:
You can prerender your pages on build time to static html by using react-snapshot https://www.npmjs.com/package/react-snapshot This works great if your app does not have many dynamic content.
You can use pre rendering service like prerender.io / use static hosting with prerendering feature like netlify or roast.io. As for prerender.io, you can even host it yourself!

SEO with single page application

I built a node.js social networking web site for noders but I get some serious problems to improve my SEO factors. How can I make it SEO friendly? And yes, given that it is a single page app, it is a little harder!
There are two ways to make sure a single page application is SEO friendly: dynamic rendering and server-side rendering.
Dynamic rendering is the easiest way. In this case, requests coming from bots are forwarded via a service that can execute JavaScript and render your SPA into a plain HTML page readable by any search engine bot. This can be done using a headless browser. An example of such a service is Rendertron that uses headless Chrome. These days it's probably the best option, and you can easily install it on your server along with your web server (Apache, Nginx, or whatever you use).
Server-side rendering (SSR) may appear to be a bit more complicated. In this case, the pre-rendered SPA is also a plain HTML for search engines, but on the other hand, it's a fully functional application that can continue running once it's loaded into a browser. SSR probably brings no advantages for SEO compared to dynamic rendering. Still, a pre-rendered SPA may load faster for users, especially on a slow mobile device, because the device will not have to execute all JavaScript before the user sees the first page.
Here is an article with a bit more details https://trackabi.com/blog/single-page-application-seo
I've toyed around with this before. A good place to start is…
http://backbonetutorials.com/seo-for-single-page-apps/
There are also services and libraries for node that will render your app server side in phantom (or the like) and serve it to the bots.

Rebuilding an 'Asp.Net' website in Drupal

A website is built in Asp.Net. I need to migrate it to Drupal,i.e, build it in Drupal. It has got a lot of content and demands many 'blocks' on the front page. It would be very tedious to have those many blocks in drupal as it would take a lot of time to load the content whenever the page reloads.
Is there a way out to manage such huge data while building that website in Drupal.
I don't see any features on that page that couldn't be accomplished with Drupal. The "time to load" issue you mention could be alleviated by using one of the variety of cache methods available in Drupal, such as the Boost module. If you're concerned about performance, I'd recommend checking out the Pressflow project, especially coupled with Varnish, a reverse proxy cache.

CMS for already-built site

I redesigned a website that was using CMS Made Simple. It's a relatively small site and I'm learning as I go along, so I first built the redesign using just HTML but I'm now going to use PHP includes.
But I don't know how to integrate what I'm building into the CMS. I searched around the server and I can't find any traces of the pages built with CMSMS, so I assume that everything is contained somewhere within the CMS.
But I want something that will allow pages to be built and edited both inside and outside the CMS. If it's done outside, I want to be able to just FTP the new or changed content to the server.
Is this possible, and if so, what would be the best free CMS?
Thank you.
I don't know if I understood yout question, but I think you don't understand the concept of a CMS.
The redesign you made should only change the Theme/Style files, the content itself should be changed only in the administration of the CMS. What you may change from outside and FTP is only the theme files.
Things work this way so the person that put content in the site doesn't have do be a designer/developer.
BUT, there are some kind of CMS that may allow you to do what you want, but they are not completely free. Give it a look at CushyCMS and PageLime.
Since they intend to be a CMS for editing already made static sites, you may use it and if needed you can pull some page from FTP, edit it and then push it back.
You can try Template Externalizer http://dev.cmsmadesimple.org/projects/externalizer, which will give you FTP Access to Edit different content blocks, all templates, css and some content. I'm sure it will make your life easier when developing or integrating HTML into the page.
Template Externalizer, "watches" a FTP folder. and when you upload files onto the server, it saves the changes into the database making your change visible right away.
The files willl be located here: CMSROOT-INSTALLATION-PLACE/tmp/externalizer/
I hope this helps a bit.

Resources