Angular is the most popular JS framework for Single Page Applications (SPAs). Google support and maintain AngularJS with a community of individual developers, whilst funnily enough, not being able to render large numbers of AngularJS pages.
In the following study, we’ll review Single Page Applications and similar technology rather than AngularJS to understand what you can do to make your angular site more visible in the SERPs.
AngularJS is a very popular framework for Single Page Applications. Angular has been on the market for quite a few years and offers an impressive list of features that will benefit developers such as; two-way binding; templating; currency formatting; pluralization; reusable controls; RESTful API handling; AJAX handling, etc.
Technically, SPAs don’t need to use any fancy framework like MVC, Ember.js, Node.js or AngularJS. It is, in fact, possible to build an SPA using only jQuery and HTML for the front-end display, but it’s not recommended for large websites where data is best managed by a powerful back-end CMS.
A single page application is suitable for a simple site that doesn’t have too much data to load, because the data is loaded once, and all the actions are performed client-side. For example, a single luxurious villa holiday website would do the job.
This type of application will often update the URL in the address bar to emulate traditional page navigation, but another full page request is never made. So, for a single page application where the site loads new page content dynamically rather than as full page loads, the analytics.js snippet code only runs once.
Some SPAs only update the hash portion of the URL when loading content dynamically. This practice can lead to situations where many different page paths point to the same resource. In this case, a website owner would require their analytics specialist to configure the tracking code to record virtual pageviews.
To test how Google renders your SPA page, simply use the Fetch as Google tool, found within Search Console, to get a preview of what Google will see.
A Progressive Web App (PWA) offers the benefits of a natively installed app, minus the app store.
The terms progressive in this context means it works for every user, regardless of browser choice because it’s built with progressive enhancement as a core functionality. A PWA has to have a responsive UI which means it fits any form factor; desktop, mobile, tablet, or whatever is next. A PWA doesn’t necessarily need to be SPA, but can be multi-pages if developers put additional efforts to create custom URLs.
This technology shows two specifications that are particularly interesting for the future of SEO & UX:
PWAs are SEO friendly as long as they follow a checklist of best practice and don’t take the form of a SPA. For best SEO practice, PWAs should use the History API to reproduce a sort of URL trail instead of page fragments that use Hashbang (#!). For example everything after the #! in https://example.com/#!user/26601.
Because all the code is loaded only once in a Single Page Apps (SPA), search engines cannot assess page content quality, neither assign properly any page quality score to that webpage (or ‘PageRank’). In other words, Google know the existence of the page since they have the ability to discover it through links, but can’t really say if the copy on that page is able to respond to accordingly to the search intent.
At Harvest, we have investigated different workarounds below to run SEO-Friendly Single Page Apps (SPA). Some options may involve Dev resources and/or additional third-party tool costs.
E.g. – Checking Google’s cache for an SPA that only deployed an XML sitemap (but no other solution) tell us that their indexed pages are content empty:
BromBone automatically downloads all of the pages from the sitemap.xml then uses a proxy to send HTML pages to search engine bots. No need to install any software.
Prerender.io requires a manual upload of the sitemap.xml and will do the rest. Smaller sites (up to 250 pages) can use Pre-render for free, while larger sites (or sites that update constantly) may need to pay as much as $200+/month. However, having an indexable version of your site that enables you to attract customers through organic search is invaluable.