as I know Jhipster is a single page web application, does search engines like google able to index its public pages?
you are correct: the monolithic app or the gateway of a microservice jhipster insance is a spa, i.e. all the technics that are applied to spa pages to be crawled by google should be posible to be added also to a jhipster applilcation. An intresting post is here
Related
I need to develop a Vue.js SPA where some of its pages need to be referenced by search engines.
I've read about multiple ways to make SPAs SEO-Friendly so I found the following solutions
Server-rendered pages
Prerendering
Since we have a lot of dynamic content to index, generating a static page for each "row" in the database seems not acceptable since we have hundreds if not thousands of content pages.
Creating multiple routes (one for users to visualize and one for bots to crawl)
This solution has been proposed by my manager and it interests me since it's more suitable for our case.
I found this article that illustrates the idea using another SPA framework
My question here is how can I detect that a crawler or an indexation bot have accessed our SPA in order to redirect it to our server rendered web pages and how to actually achieve that in Vue.js 2 (Webpack) ?
If you are concerned about SEO, the solution is to use SSR. Read through https://v2.vuejs.org/v2/guide/ssr.html#The-Complete-SSR-Guide.
If you already have server rendered webpages, as you mentioend in your question, then using SSR would be less work than keeping the Vue SPA and server app in sync. Not to mention, if the Vue SPA and server app show different content, this could hurt SEO and frustrate users.
Any method you use to target web crawlers can be by-passed, so there is no generic solution for this. Instead, try and focus on specific web crawlers, like Google's.
For Google, start by registering your app at https://www.google.com/webmasters. If you need to determine if the Google crawler visited your server, look at the user agent string; there are already other answers for that: Is it possible to find when google bot is crawling any urls on my site and record the last access time to a text file on server, https://support.google.com/webmasters/answer/80553?hl=en.
I am building new web app using keystone js with hbs template. Can google crawl my website?
Thanks.
Yes Google will be able to crawl your site.
Handlebars templates will be rendered on the server before being sent to the client.
You might want to set meta tags in your templates to help with SEO.
On the following web page, there is a section called 3.2. SEO AND SOCIAL OPTIMIZATION which you might find helpful:
https://nodevision.com.au/blog/post/tutorial-blogging-with-nodejs-and-keystone-cms
I have this reactjs webapp - http://52.26.51.120/
It loads a single page and then you can click links to dynamically load other boards on the same page... such as 52.26.51.120/#/b, 52.26.51.120/#/g
Now the thing is, I want each of these to be an individual page, for the purpose of seo. I want you to be able to google "my-site.com g", and you will see the result 52.26.51.120/#/g. This obviously cant work if you are using reactjs and it is all on one page. Google will only render and cache that main page (can it even render that page? does google execute javascript?)
Even more specifically, id want something like my-site.com/g/1234 to load a thread. There could be a thousand threads every day, so im not sure how to handle that.
Are there any solutions to this? to allow react to possibly serve up static pages as html so that they can be cached on google? I am using expressjs and webpack as my server right now, and all the code is executed in jsx files.
Thanks
You can use Prerender.io service. In a nutshell you will need to connect your server app or web server with prerender service and do little setup (see documentation). After that search engines and crawlers will be served with a static (prerendered) content while users will get classic React.js (or any other single page) app.
There is a hosted service with free tier or open source version
I suspect you could do some smart configuration with nginx and it could convert a url of domain/board to a redirection of domain/#/board when detecting the user-agent as a bot instead of a typical user.
I have the my own application in google api.
and google+page for this application in https://cloud.google.com/console
Is it possible to publish any links to my website by the google-api on google+page wall?
The short answer is no.
While there is a Pages API that supports this functionality, currently publishing sites like HoutSuite have access.
I have an idea to develop iOS App which update user if any feed is updated on wordpress website. Please tell the way/steps how i can achieve the same.
I have tried and searched on google but didn't got solution for my problem. This is one thing i got on youtube about web site reader : http://www.youtube.com/watch?v=Bk0d1npGoq4 But, I doesn't have to developer such app which reads web site content, i would like to show notification as soon as feed on the web is updated.
This is the website ( http://www.webhostingbreak.com/ ) whose reader i want to developer.
Please suggest me some solutions or logic which can help me to complete my task.
You've got several way to access the content of a Wordpress blog.
First and easiest solution is to use the basic RSS feed which is available on any Wordpress, and which is compatible with other kinds of websites.
With Wordpress, more specifically, you can use the XML-RPC API embed by the CMS.
This API need to be enable on the Wordpress website and every request will have to be authenticated with a real user to the Wordpress website (you can implement the registration process in the app or use a generic user in every installed app).
You have several library which handle the XML-RPC calls such as https://github.com/corristo/xmlrpc