Main menu


Optimizing an Angular application for SEO: the guide

Optimizing an Angular application for SEO

    Frameworks like Angular and React are probably the most attention-grabbing JavaScript libraries in the JavaScript world.

    If these frameworks offer many advantages, they require an additional effort so that the sites on which they operate are correctly referenced.

    In this article, we will see why, and how to overcome this problem.

Optimizing an Angular application for SEO
Optimizing an Angular application for SEO

The advantages of Angular

The advantages of using Angular are numerous.

Pages are not fully reloaded

As the user navigates the page, only a few parts of it are replaced, making the experience smoother.

Only dynamic data travels

After the page is loaded for the first time, only dynamic data passes when the user is browsing the application.

The disadvantages of Angular

Optimizing application SEO
Optimizing application SEO

The search engine must "guess" when the page is complete

    When a page is visited, the search engine will see very little HTML code. It is only when the framework kicks in that the page will be fully rendered, once the server has sent the data.

    The problem is that the search engine has to determine on its own when the framework has finished rendering the page, which involves the risk of indexing incomplete content.

Deep links are difficult to index

    Due to the lack of support for HTML5, applications using Angular base their browsing URLs in HTML anchors (URLs with #, like / # section1).

    This makes it very difficult for search engines to index these URLs as separate pages.

    There are ways to do this, but it is painful and it will always be difficult to get indexing properly, unlike using plain HTML. 

    Fortunately, it is possible to have a high-performance site, where it is easy to navigate, without being doomed to suffer bad referencing. Let's see how!

How to optimize your Angular application for SEO?

    By default, Angular applications run on the client side. This means that the first thing that loads when your application starts is an empty HTML shell. It does not contain anything other than a script: it is this which will render all the content and which will complete the page.

    Browsers and crawlers only access page texts and links (as well as <meta> titles and descriptions) afterwards, and only if they render the JavaScript. This limits SEO potential. of your Angular application.

    Fortunately, since the release of Angular 11 and newer versions, Google has included new default libraries to make Angular perfectly SEO friendly. These libraries allow you to modify and set meta tags, either by configuring Angular Universal to start in pre-rendering mode, or by letting the application handle this aspect itself.

SEO Angular applocation
SEO applocation

    There is still a good way to break down the barriers to indexing and ranking your pages in search engines: you need to make sure that every URL in your app returns a fully rendered HTML page with metadata and content available right away. its loading. Of course, the loading of the page, both on mobile devices and on desktop computers, must be as fast as possible  !

    Angular developers use one of three methods to successfully eradicate this problem: server-side rendering, pre-rendering, or dynamic rendering.

    These three methods give the expected result: the crawlers get all the content on load and index it like a normal HTML page. However, these three methods work slightly different.

  • Server-side rendering

    With server-side rendering, every HTML page is rendered on the server at runtime. This means that before the page loads, it takes some time for the server to render the HTML on demand and send it to the browser.

    This method can potentially decrease the speed of the page loading, especially if there are many requests coming in at the same time. This can therefore impact the performance of the site and affect its ranking.

  • Pre-render

    With pre-rendering, an HTML (cached) file of each URL is rendered at build time. This means that all of your app's HTML files are rendered ahead of time, so pages are ready to load quickly on demand.

    The downside, because you need one, is that for each modification made to a page, you will have to rebuild its static version.

  • Dynamic rendering

    With dynamic rendering, your application has pre-rendered HTML pages and is only used by crawlers. Real users interact with the normal version of the application, rendered on the client-side.

    This does not prevent the previous drawback, it will still be necessary to rebuild each modified page so that the robots have the updated version of the page.


    Each JS framework has the means to meet the SEO challenge. Angular provides a complete solution called Angular Universal.

    Have trouble improving the SEO of your Angular application? Find an Angular developer on This professional will know how to configure your application in order to optimize its natural referencing.