How crawlable is Ember Cli? - ember-cli

I've been developing my own personal website for some time now, and I noticed that there are absolutely no search results except the Github repo and other related resources.
So, is pre-rendering with ember-prerender or creating some other noJS solution the way to go for Ember.js? Or does Ember CLI handles crawling quite well, but the problem is either in my Project setup or Heroku?

The links posted here are no way in shape or form endorsements, but simply a possible solution to the Ember CLI SEO problem at hand.
Post edited on 3/3/16
Prerender.io
The solution that I tried to use for my website. It allows up to 250 pages to be indexed for free which works perfectly for small websites. Pricing for large website seems fair as the startup tier gets 20k pages for $15 a month.
If you are deploying to Heroku using the heroku-buildpack-ember-cli, then you can quickly set it up because of Pull #41.
Add <meta name="fragment" content="!"> to your index.html
Create an account on Prerender.io to get a token.
heroku config:set PRERENDER_HOST=service.prerender.io
heroku config:set PRERENDER_TOKEN=token
SEO.js
I haven't used it, so I can only say that this one offers 100 snapshots for free...
BroomBone.com
Seems to be more business related. I consider checking out if your website is big enough...

Related

Publishing a Headless ecommerce. Which Costs i need to consider?

I'm developing an ecommerce website.
It's for a "ground-based" clothing store that is used to sells only via third party platform.
And now want a own website.
I started with Wordpress+Woocommerce.
Then i tried a ZeitNow+Next+Graphql+React version.
It connects itself to Wordpress+Woocomerce database via GraphQL Queries.
It uses ZeitNow to avoid implementing a real Node+Express server on my machine.
Which path to choose to complete the website and publish it ? My doubts are related mainly to COSTS.
If i choose the classic WP+Woocommerce way i need :
0-20 EUR /year for Domain Name.
120EUR / year approximately for a classic web server (with PHP+MySQL) hosting plan where to place the Wordpress+Woocommerce.
If i'd like to choose second option, based on what i know actually i need :
0-20 EUR /year for Domain Name.
120EUR / year approximately for a classic web server (with PHP+MySQL) hosting plan where to place the Wordpress+Woocommerce "head" part of my project, .
0EUR /year for serveless ZeitNow (free plan).
But where i need to place the "App" (ZeitNow+Next+GraphQl+React)?
An other Web server (with Node) ?
So an other 120EUR/ year plan ?
Or beacuse it's serverless i can only "deploy" to zeitNow and only link my domain to ZeitNow?
Its not clear to me.
I found on the web things like "Netifly", "Firebase", "Heroku", "AWS" ...
Are they all equivalent to Zeit Now?
I would like to publish a website with benefits of WooCommerce CMS system.
Like adding products, managing stocks, handling discounts plans, access to PayPal and Stripe payment methods integrations (i don't trust my self enough to build integration on my own due to security risks).
I wolud like also the keep benefits of using React for front End like performance (at least perceived) for Final User, or no need of Ajax request to update Cart and Wishlist.
And what about calculating if my project needs a "payed plan" of ZeitNow/Netifly/AWS to manage the request? How i can calculate them?
Sorry for the high number of question, but for me, understand the co-existence of these things is overwhelming!
Thanks.
You will always need a paid plan on any platform if you are running a for-profit endeavor.
You may need ZEIT Now to host your frontend and another server for the GraphQL API unless you really want to go DevOps-less by using serverless functions.
Here are very relevant pages for calculating costs:
ZEIT Now pricing page. Notice the "Serverless Execution" and also "BandWidth" prices.
Netlify.
AWS.
In the end, you will need to deploy a "Proof-of-Concept" and be really careful with the metrics. It is impossible to pinpoint an exact number with a custom solution because depending on your implementation, it can be more or less expensive to make API calls. Solutions like Shopify may be the best approach for your type of app. I only recommend that you develop your own stack if you want to customize, scale, and prepare the base for a team of developers later.
Disclaimer: I work for ZEIT at the moment.

Configuring OWASP Zap Spider to output the "chain of URLs" for each request

I am new to vulnerability testing at my new job at an EC site development (we also get them up and continue to run them on AWS EC2).
I am wondering if there is a way to configure Spider so that I can get ouput of the the "URL chain" to serve all the requests that are listed when I run php artisan route:list
Currently, my colleague who joined the company a few months before me is manually inputting this info into a spreadsheet.
Ex. "Home->Register user info->Confirm registered user info->main shopping page->item category page->item description page->confirm adding product to cart page->etc."
I find this to be extremely tedious, he does as well, and because he only speaks Japanese, I don't think he is able to post questions here.
I have started looking through the Zap documentation but have not seen anything relevant yet. Any advice is appreciated.
You can Active Scan specific orders of operations by leveraging the Sequence addon: https://github.com/zaproxy/zap-extensions/wiki/HelpAddonsSequenceSequence. You can get it via the ZAP Marketplace:
There's also the Call Graph addon which might be of benefit to you, though I don't know the export options it provides off the top of my head.
Another alternative that might work for you would be writing a Standalone script that goes through the Sites Tree or History table looking at URLs and Referer headers:
https://github.com/zaproxy/community-scripts/blob/master/standalone/Traverse%20sites%20tree.js
https://github.com/zaproxy/community-scripts/blob/master/standalone/Loop%20through%20history%20table.js

How to host dynamic website which uses MongoDB, Node, Stripe (since Github Pages won't work?)

Thus far I have enjoyed Github Pages for putting up my webpages and projects online where others can view and interact with them. This is also handy for displaying and linking to things I've worked on in my portfolio.
My newest project, a tutorial on building shopping cart with thorough functionality, involves Node.js, Express.js, MongoDB, Passport.js, Stripe.js.
Link to Shopping Cart Repository
The gh-pages version of the site: Github Pages version of the repository gives a 404 Error. As I understand, because this involves interacting with a server (MongoDB and Node), this is a "dynamic page", whereas Github Pages can only host "static pages".
Is there a way that I can have this up and running online so that others can see and interact with it?
If not, is another solution to simply record and post a video of the website in action?
Thank you.
For Node you can use Heroku.com
And for MongoDB I think you can find a free hosted on internet, either you can maybe create a local MongoBD server as local with Node

How to deploy Umbraco 7.3.1 without backoffice

Is there a standard way to deploy Umbraco without the backoffice? Some other cmses call this Author / Publish.
I want to configure 2 sites, the public site which does not have a backoffice, and an author site which does have the backoffice. Both of those sites will target the same database, but the author site will only be accessible from within an internal vpn.
The benefit of this approach is security. If there is no backend available on the public site and it is essentially a read only copy of the site it is much harder to hack.
You can deploy the website on one of the servers without the /Umbraco or /Umbraco-client folders which will effectively remove the backoffice. What you're really looking at is a load-balanced scenario. Umbraco 7.3 makes this really easy and there's a fair bit of documentation available.
I would recommend taking a look at the Load Balancing documentation on https://our.umbraco.org/Documentation/Getting-Started/Setup/Server-Setup/Load-Balancing/ - it includes a "recipe" for previous versions along with a good guide on the pitfalls.

Web app roll out

I've been developing web apps some years now, actually as a hobby. When I write something, unsing Laravel, Sails.js, or Meteor and I add a feature, I upload it and it's there, for everyone.
However, I've always been wondering how bigger sites like facebook manage to roll out features to just some users. Do they push their changes to just some servers? But in that case - how do they manage the make the selected users access just these servers?
Or some db entry to see if the user has access to the feature/ version?
So how does it work?
Really interested in this :)
Large sites like Facebook use a technique called Feature toggles to control the functionality that is active at run-time. The following blog article describes Facebook's approach:
https://abhishek-tiwari.com/post/decoupling-deployment-and-release-feature-toggles