JavaScript for Line of Business Applications
596.1K views | +2 today
Follow
JavaScript for Line of Business Applications
Keeping track of current JavaScript Frameworks that help design your clientside Business Logic Layers.
Curated by Jan Hesse
Beam to my Inbox:
Your new post is loading...
Your new post is loading...

Popular Tags - Filter using the Funnel

Current selected tag: 'SEO'. Clear
Scoop.it!

AngularJS & SEO - finally a piece of cake

The TL:DR quintessence is, be a hero and build the html-snapshot-and-rerouting stuff yourself, for example with angular and PhantomJS, like it's lined out in the nice yearofmoo article. Or, go somewhere and pay for it. To be fair, there are some well lay out service providers for this and the whole technique still has its right to exist.

No comment yet.
Scoop.it!

AngularJS SEO with Prerender.io

AngularJS SEO with Prerender.io | JavaScript for Line of Business Applications | Scoop.it

AngularJS is an excellent framework for building websites and apps. Built in routing, data-binding and directives among other features enable AngularJS to completely handle the front-end of any type of application.

The one pitfall to using AngularJS (for now) is Search Engine Optimization (SEO). In this tutorial, we will go over how to make your AngularJS website or application crawlable by Google.

Search engines crawlers (or bots) were originally designed to crawl HTML content of web pages. As the web evolved, so did the technologies powering websites and JavaScript became the de facto language of the web. AJAX allowed for asynchronous operations on the web. AngularJS fully embraces the asynchronous model and this is what creates problems for Google’s crawlers.

If you are fully utilizing AngularJS, there is a strong possibility that you will only have one real HTML page that will be fed HTML partial views asynchronously. All the routing and application logic is done on the client side, so whether you’re changing pages, posting comments, or performing other CRUD operations, you are doing it all from one page.

No comment yet.
Scoop.it!

Making Durandal applications SEO crawlable

Making Durandal applications SEO crawlable | JavaScript for Line of Business Applications | Scoop.it

The web is changing. JavaScript frameworks like Durandal are rising and more and more applications are created this way, offering excellent user experiences. But, is the web ready for this movement? Let's just say that it's a "work in progress".

There are a lot of things we have to be aware of when developing a dynamic JavaScript application and one of the most important things is SEO. When we develop a Durandal application and make it available to the world, one of the first things we would like to see is the application being indexed by google. But without any configuration, the only thing we will see indexed is the root page of our site. What's the problem? I created one of my best web applications, the users love it, it's quick and optimized...but nobody can enjoy it because google can't see it.

What googlebot can see is our index page and nothing more, and the reason is because our content is generated dynamically and the web hasn't traditionally worked this way. We may think "times are changing" and Google should be aware about this...and of course it is. But to take advantage of it we have to make some changes in our application first.

No comment yet.
Scoop.it!

Prerender - AngularJS SEO, BackboneJS SEO, or EmberJS SEO

Prerender - AngularJS SEO, BackboneJS SEO, or EmberJS SEO | JavaScript for Line of Business Applications | Scoop.it

Allow your AngularJS, BackboneJS, or EmberJS apps to be crawled perfectly by search engines.

How it works:
* The Rails or Node middleware inspects the user agent of each request to your app
* If a search engine crawler is detected, the middleware makes a GET request to the Prerender service
* The Prerender service makes a call to your app for the same exact page that the crawler is requesting
* The Prerender service renders the page with all of the javascript using phantomjs
* The HTML of that rendered page is sent back to the middleware in your app
* The middleware then returns that HTML to the crawler

No comment yet.
Scoop.it!

Ember JS & SEO - How to easily implement SEO friendly URLs in 3 steps

Ember JS & SEO - How to easily implement SEO friendly URLs in 3 steps | JavaScript for Line of Business Applications | Scoop.it

This post is a follow up to my previous post about SEO and getting your App crawled. A very important topic of SEO are URLs, as they have a big impact on your ranking by the various search engines. Therefore you will want to create custom URLs in your app. In this blog post we will have a look at how to implement custom URLs this with 3 easy steps. At the end i will show you a shortcut that allows you to skip the steps 2 and 3 and do it with 1 step! I will provide JSBins for you to play around with both approaches.

This are the 3 steps towards your custom URLs:

* Modify the mapping in your router and add dynamic segments to customize your URL.

* Implement the serialize method to create an URL representation of your models.

* Implement the model method to convert a URL into a model again. This is needed when a user enters your App via URL, e.g. a user hits refresh or someone shares a link to your page.

No comment yet.
Scoop.it!

Ember JS & SEO - Make your App crawlable with the Hashbang Location

Ember JS & SEO - Make your App crawlable with the Hashbang Location | JavaScript for Line of Business Applications | Scoop.it

The topic of Search Engine Optimization (SEO) pops up quite often, when disadvantages of Javascript MVC frameworks are discussed. Naturally webapps written entirely in Javascript are not crawable without any actions taken by you. In this article i will discuss the fundamental problems of javascript mvc apps in this topic and then i will present a solution for EmberJS Apps.

All crawling approaches basically need to solve two problems:

* Search Engines must be able to discover URLs, which should be crawled.

* Your server must be able to respond to these URLs, when the Search Engine crawler asks for it.

Let’s first discuss these two problems and possible solutions. Afterwards i will discuss two common approaches adressing both problems.

No comment yet.
Scoop.it!

AngularJS and SEO - Part 2 - Title and meta description

Getting your site in the Google and Bing index may be the most important step but you still need to optimize your content for searchability.

e.g. you will have to deal with title tags and meta description for each page in order to rank well.
There is nothing built in for AngularJS to deal with this, so we had to roll our own directives for this.

No comment yet.
Scoop.it!

Angulartics | Web analytics for AngularJS applications

Angulartics | Web analytics for AngularJS applications | JavaScript for Line of Business Applications | Scoop.it
Angulartics is an AngularJS module that lets you implement web analytics using the vendor of your choice.
No comment yet.
Scoop.it!

SEO in JS Web Apps

JavaScript and search engines have always had a tricky relationship, and SEO is often used as an argument against single page applications. I’m aiming to put some of those misconceptions to rest in this article and show you that it’s perfectly possible to create a pure JavaScript web application and still have good SEO.

No comment yet.
Scoop.it!

Single Page Application Done Right

Single Page Application Done Right | JavaScript for Line of Business Applications | Scoop.it

Not too long ago, FTBpro.com moved its website from classic web architecture (CWA) to a single-page application (SPA). For those who are less familiar with SPA, the major differences between the two are as follows...

To put it in simpler words – while in CWA the client gets a full HTML page on each request, in SPA the client gets all needed to be able to render the HTML by itself on the first page load so that subsequent requests might be carried in a very fluent and rich manner. It makes your website more of an application and less of a si

No comment yet.
Scoop.it!

Using PhantomJS at scale

Using PhantomJS at scale | JavaScript for Line of Business Applications | Scoop.it

About a year ago SmugMug had a dilemma. Our upcoming site-wide redesign and refactor  (aka the new SmugMug) moved all of our rendering code into client-side JavaScript using YUI. We had a problem; SEO is critical for our customers and search engines couldn’t index the new site.

Possible solutions were thrown around: do we duplicate our code in PHP? Use an artificial DOM? What about PhantomJS? Duplicating code would be a monumental effort and a continued burden when writing new features. Initial tests of fake/artificial DOMs proved unreliable. A small prototype Node.js web server that hooked into PhantomJS proved promising. Node.js’ async model would be perfect for handling things that wait for I/O like rendering webpages. We came up with the project name ‘The Phantom Renderer’ soon after.

No comment yet.
Scoop.it!

What you need to know about Angular SEO

Search engines, such as Google and Bing are engineered to crawl static web pages, not javascript-heavy, client-side apps. This is typical of a search engine which does not render javascript when the search bot is crawling over web pages.

This is because our javascript-heavy apps need a javascript engine to run, like PhantomJS or v8, for instance. Web crawlers typically load a web page without using a javascript interpreter.

There are several different ways that we can tell Google to handle indexing our app. One, the more common approach is by using a backend to serve our angular app. This has the advantage of being simple to implement without much duplication of code.

A second approach is to render all of the content delivered by our angular app inside a <noscript> tag in our javascript. We’re not going to cover the second approach

In this article, we’re going to walk through how you can build an SEO toolchain for your workflow, presenting a bunch of different options for you to choose what works best for you.

No comment yet.
Scoop.it!

Embersmith - Static HTML and JSON generator for Ember.js projects

Embersmith is a Node.js application that takes Markdown files from your project's /contents directory and converts them toHTML & JSON in /public directory.

No comment yet.
Scoop.it!

Making your ajax webapp crawlable

Making your ajax webapp crawlable | JavaScript for Line of Business Applications | Scoop.it

As awesome as Google's crawlbot is, it doesn't view your website like a real human does. If your page requires ajax requests to fire and javascript code to populate the DOM in order to view anything useful, Google won't see that. Here's how I've solved this problem for this blog.

I know you're like me and want a recipe instead of pouring over official documentation, so here it goes.

Google requires you to have not just a hash (#) be the delimiter right before your webapp's route, but a hashbang (#!). Ember doesn't support this out of the box, so we need to register a new type of location implementation.


No comment yet.
Scoop.it!

MEAN SEO - Judo.js node module for static content creation

After implementing my own solution for creating snapshots, I decided to create a node.js module to help others out too.  Judo.js is a node module which is meant to help users generate sitemaps & HTML snapshots for their sites.  The basic idea is that you describe your URLs via a configuration object to Judo and it will take care of the creation part.  Some of the nice features of Judo is that you can configure the freshness of the snapshots per URL.  This makes sense when you have a lot of URLs for your site.  You may only want some snapshots to be re-generated monthly, but maybe others need to be re-generated daily.  Another nice feature of Judo is that you can have it generate one snapshot for a given URL, but then generate multiple HTML snapshot files from it.  This can help save time when you have duplicate URLs pointing to the same content.

No comment yet.
Scoop.it!

AngularJS and SEO - Part 1 - Get your JS site indexed

In this series we will go through a few steps on how to make your AngularJS site crawlable by google and other search engines.
Note: This part does apply to Knockout, Backbone and other frameworks to.

For this series we can safely say that googlebot and bingbot does NOT execute AngularJS and you will have to deal with this manually.

The fact that there is push state and javascript involved on the client side is completely beside the point, server side content and URL’s that resolve is what matters.

No comment yet.
Scoop.it!

KnockoutJS and SEO

KnockoutJS and SEO | JavaScript for Line of Business Applications | Scoop.it
The easiest way to create and share beautiful presentations. (As I dive into Knockout.js and Angular.js, there’s a very interesting presentation about SEO.
No comment yet.
Scoop.it!

Easily index your Single Page Application thanks to PhantomJS

Easily index your Single Page Application thanks to PhantomJS | JavaScript for Line of Business Applications | Scoop.it

Google provides a way to index your Single Page Application (SPA), built with Angular.js, Backbone.js, or other Javascript framework (ember.js, knockout.js, and others). In this article, we will first see together how it proceeds, the amount of work that the webmaster has to do, and then we will come up with an automatic solution.

All along this article, I will introduce tools and examples of this website, vickev.com (which is built with Angular.js and Node.js), to prove the relevance of the method.

No comment yet.