Hi I am attempting to build a largish website for my company & love to get some feedback on whether I am crazy or its a great idea. I am basically got the ok to go free rein, I guess as long as its going to have benefits (e.g performance, maintainability, scalability, re usability & SEO)
The way I am thinking of going about it.
Wordpress multisite (company has a handful of branches worldwide) e.g China, South Africa, US etc, so content needs to be tailored. Plan to use subdomains?
WP REST API - ability for reusable data across the websites and other blogging sites (scalability and performance) also the capability of browsing offline? http://themeshaper.com/tag/react/
AngularJS for routing/views/get-post requests or possibly React-router?
ReactJS for the view (performance and reusable components across all sites)
Most importantly - good for SEO (site is crawlable) which I believe ReactJS has that covered? ref: http://en.blog.altima.fr/seo/reactjs-seo/ but also whether I need prerender.io or other because of the routing?
Wondering how this will all work together and if theres any issues with the combination of these? Still also getting my head around if this needs to be setup as "Isomorphic" with a node server? (some more insight into this would be great also)
I have been inspired by the theme https://github.com/royboy789/angular-react-wordpress-theme
Thanks!
Not sure that mix of cool buzzwords (WP, Angular, React) is the good way to choose you technology stack. May be good ideas is to use Angular+Laravel, React+Laravel, Wp+HTML.
Considering SEO if you use Angular or React you just have AJAX-site. You can use prerender technique for your site. But recently Google stated that AJAX-crawl scheme is deprecated: http://googlewebmastercentral.blogspot.com/2015/10/deprecating-our-ajax-crawling-scheme.html . So may be there is no need to prerender your pages only for crawlers.
Related
I apologize in advance for how new I am to this all. I have a new business and there are some things I want to code for it myself as proof of concept till we have enough revenue to actually hire real coders.
Our ecosystem will have 4 major areas and I'm not sure if my approach is how to go about it or even possible.
The normal, static, info webpage that just talks about our business. (SEO and load times important)
A React JS / Next JS non-static section of that same website for blog and other dynamic content. (SEO and load times important)
A react JS employee backend for customer tracking and another tracking of customer data. (SEO and load times not as important here).
A customer portal where they can log in and see stats and stuff about their account (this will pull from data we enter in the employee backend and they can access to track progress) (I would eventually like android/ios apps as well as web portal for this so I was thinking using react-native / react-native web for this section to try and maximize code reuse. (SEO not important, but a smooth experience is)
I planed on using firebase to host it all. I'm curious if this seems it can work? Can you combine all of these different frameworks and strategies in one overall project like this without causing over bloat of download and such? Like for example, the employee backend will likely have a lot of packages and dependencies that the static front end would not require. And the static frontend would be in the same project as the dynamic blog but be built on different things (one static HTML, the other react with next.js? is that a bad idea?). Also, it's been hard to find info on exactly how goog react-native-web is so I'm just lost with this all and would love some guidance. Thank you so much in advance for any direction you can offer.
With firebase hosting you can host static sites, and redirect some paths, such as /api/* or /dynamic/* to firebase cloud functions.
On those cloud functions, you can do dynamic rendering, e.g. with remix.run or next.js.
If you use good cache-headers on those cloud functions, firebase hosting caches the results appropriately, making dynamic rendering of all pages feasible too.
We are thinking of remaking our more and more popular ecommerce website.
I am new to React, just went through some tutorials, read some articles on it. Learned about the use of React Native, React Render which wpuld probably be of use for eventual mobile apps and SEO improvements.
My question is if React is suited for such websites since it is mainly used to create SPAs. For ecommerce SEO is verry important, for obvious reasons, and React is not so good at this.
What would you suggest? Does anyone have experience with similar cases?
Please give us some advice on what we could use to make a complete and complex ecommerce website. What technologies/programming languages/framewors (even if other than React) should we use? Please suggest only modern technologies and libraries.
By the way, we are currently working with PHP and Yii framework.
General
At its base, React has nothing to do with SEO. It is just a way to build your web application through components (same as Vue or other frameworks).
Magento - a PHP shop system - is using React to render its frontend. You can find more on this special system in the Magento Community. See also the Documentation for Magento PWA.
Experience
What would you suggest? Does anyone have experience with similar cases?
PWA and storefronts with React/Vue/Angular are all very new. Everyone got the same problems. How to do SEO, synchronize data between storefront, APIs and the shop core system. Here's a list (to be continued).
SEO: how to work with URLs, manual URL redirects for products/cms/categories/...
SEO: Server side rendering is currently the best solution to handle googles crawler.
How to sync products, other data and especially the cart while or after beeing offline.
Extensions: How to integrate new or existing extensions which might already be installed in the conventional shop
...
Each community is trying to solve those issues. Every community learns from the other and if you choose a more or less active storefront, you should be good to go. But really keep in mind that (in my opinion) all of them are in alpha or beta state with a lot of changes you have to integrate into your own theme/extensions/etc.
Projects
Here are a few storefronts you can choose from. Most of them have an API you can adapt to support your own Shop system. I would go with a React storefront, because I found it the most readable solution and it has a huge community. But choose yourself.
Magento PWA Studio (React)
DEITY (React)
Front-Commerce (React)
Vue Storefront (Vue)
...
Regarding of what backend you use to power the API behind a React app (Ruby on Rails, Node.js/Express, Java, etc), what are the consequences of making the frontend React app separate repository?
I like the idea of having my ReactJS app separated from my backend API code, just want to understand the pros/cons of going with this approach.
pros
front-end devs doesnt have to get familiar with backend
You can choose not to show your secret recipe.
can upgrade and deploy one without the other
Code Reusablity
Lazy loading for better UX
I actually dont have any cons to tell about this. it's just that i feel right developing apps like this. installing npm packages in RoR felt so wrong.
more Pros -
You new separate UI can link to more backends than 1 - think centralized UI for disparate components
Like Angular more, bang you got it
Like React more than Angular, bang you got it
Cons -
Needs added work to setup CORs
You will probably have to cookup secret sauce for pagination, serialization (i.e tied together even though separate) - not a problem if you follow a standard anyway
Need to have a long deep thought on behaviour when the backkend is down
Need to wrap brain around pull vs push
You now have 2 diff OS stacks & TCP stacks in the picture to increase your work on sys admin patching & understanding latency between the components
wrap brain around state & its management
IMHO separating the UI is worth all the cons given the pros outlined here & by Shan
I'm thinking about upgrading my site. It's a trade place a lot like ebay.com.
My site is build in Laravel 5.1, but without any front-end framework. Because of that, I was wondering if it made any sense to use a front-end framework like angular js?
Pros and cons please.
I don't know that much about angular js, but if I convert my laravel application to fully obey the REST principles, i'm also well suited for building an iOS-app when that time comes???
http://tilsalg.dk - Link to my site
I don't know whether it is suitable to use angularjs for this purpose. The problem is as far as I am concerned, that website which are written in javascript (so angular) can not be indexed well by SEO's. I'm hearing a lot that Google can index it but I'm a little sceptical about this. For a trading website like ebay it's very important that the site is SEO optimized. Of course if you use REST principles you can always change the frontend and that is also the way to do it.
I am preparing e-commerce project in AngularJS, but i have doubts.
SEO? Is it problem or not? If i know it is possible to have good SEO
with AngularJS with google,but what with others searcher engine?
I experienced many tools like tools for tracking users (how users
fill forms, what they do on sites etc.) doesn't work with dynamic
contents.
Is world ready for dynamic webpages like AngularJS or not yet? I am really not sure... do whole project in AngularJS or static pages...
Maybe some example of working e-commerce project, for example shop or something like that which SEO and users tracking are important? Good ready project is always good prove.
I just want be sure i wouldn't lose traffic from SEO and i would track and analyze users behavior on my sites. I am not really sure would i?
Ok , so what I can tell you from my experience with angular :
SEO is definitely a problem, but there is solutions out there (like https://prerender.io/ ). Is it enough for e-commerce ? I don't know.
We use google analytics in our (quite big) Angularjs project, it works (it's not as easy to install though, but some have contribute project that can help https://github.com/revolunet/angular-google-analytics )
[EDIT]
For Angularjs e-commerce exemple app you can look at the builtwith page :
https://builtwith.angularjs.org/
And use e-commerce tag.
One of the e-commerce site was :
https://www.hatch.co/