In order to fully understand the vocabulary and components behind JavaScript SEO, we’ve compiled a helpful list of definitions helping you to refer to in the future. This glossary covers key fundamental terminology, as well as advanced JavaScript SEO phrases to aid in increasing your understanding around this.
Asynchronous JavaScript and XML (AJAX)
A programming method used by developers to request dynamic asynchronous page content through JavaScript.
Chrome User Experience Report (CrUX)
A public data set released by Google Developers to demonstrate how real Chrome users experience websites “in the wild”. You can access this data set from https://developers.google.com/web/tools/chrome-user-experience-report/.
Client-side Rendering (CSR)
The execution of JavaScript and supplied data within a web browser, resulting in an interactive DOM for browsing.
Compression
A method of reducing the overall size of a file. This can be through various methods which broadly speaking either reduces the file contents and then uses GZIP compression for transport.
Content Delivery Network (CDN)
A usually global network of server clusters which can host and distribute your website pages and/or assets to users at a faster speed than your own server. Also comes with additional benefits such as security, and sometimes denial of service protection.
Content Management System (CMS)
An interactive dynamic web application allowing simple interaction with a database to create, update and delete objects and entitles, such as pages, blog posts, products and more. Research “WordPress” if this is new to you.
Cross-origin Resource Sharing (CORS)
An HTTP protocol via additional HTTP headers that tells browsers to give a web application access to selected resources from a different/external origin.
Decoupled CMS
Very similar to a Headless CMS but a more literal interpretation of the decoupling of the application from the CMS application entirely.
Document Object Model (DOM)
An API for programming HTML and XML documents. The DOM describes the logical structure of the nested nodes in a document and defines how the document can be accessed and modified.
Dynamic Rendering
Switching content serving at the server/edge-level based on user-agent strings, to ensure bots receive rendered HTML not empty SPA containers.
ECMAScript 6, ES6, ECMA Script 2015
Version 6 of the JavaScript programming language, which since August 2018 has been supported by Google’s WRS.
First Contentful Paint (FCP)
The point when the browser renders the first bit of content from the DOM, which may be any visible element.
First Meaningful Paint (FMP)
As described by Google Developers, First meaningful paint (FMP) is the metric that answers the question: “is it useful?”. This varies from site to site, but is the point in time that the browser renders useful content for the user from the DOM.
Headless CMS
A headless CMS is a content management system that is front-end agnostic, that means you can “bring your own” Single Page Application to render the content from the CMS via APIs.
Hybrid Rendering
The process of sending a selected amount of content, that you want to be indexed by search engine bots, as static HTML to the user and the search engine bot. From here, you can then run JavaScript to enhance the user experience and to reduce the resource needed from Googlebot to fully interpret your website.
Hydration/Rehydration
Hydration involves the process where a framework, such as Vue.js, obtains data from the server which is then populated in the browser’s interactive DOM. Hydration can be performed server-side under server side rendered setups. Rehydration happens where previously hydrated content served as static HTML from the server is then picked up and enhanced by a SPA to become interactive once more.
Isomorphic JavaScript
Also known as Universal JavaScript. This describes JavaScript web apps which run both on the client and the server.
JAMStack
A new web development architecture based on client-side JavaScript, APIs, and prebuilt Markup (J A M).
JavaScript (JS)
JavaScript is a versatile programming language that can power server side and client side web applications.
JavaScript Framework
A JavaScript framework is an application framework written in JavaScript. It defines the entire application design, unlike a JavaScript library which offers functions to be called in code.
JavaScript Library
A collection of useful code which provides functions to be called by the application code.
JavaScript Object Notation (JSON)
A file standard consisting of key-value data pairs. Can be used to transmit arrays, strings, and serializable objects between systems. Due to popularity and portability, it also often replaces the XML file format in JSON communications.
Loading Performance
A performance optimisation practises which focuses on load order, file efficiency and compression (amongst others) which aims to make a web application/website render and paint faster in a web browser.
Markdown
Markdown is a popular and easy to access markup language most typically used for writing developer documentation. Its simple syntax also lends itself to managing static websites through being a static data source.
Minification
The procedure of removing any irrelevant spaces, comments and characters to save on the overall loading time caused by file size. This can be achieved through command line build tools or popular CMS plugins.
Multi Page Application (MPA)
A description of a traditional website that has multiple singular page loads. The opposite of a SPA, whereby each individual page visit causes a browser load event.
Pre-render
Using a web service to produce HTML snapshots of website pages in advance in order to serve to Bot requests.
Progressive Web Application (PWA)
A PWA is a website application that effectively uses modern website capabilities to pass over an app-like experience to the users. The high-quality PWA should deliver a reliable, fast and engaging experience that benefits the end user. Features of PWAs include offline browsing, push notifications and background syncing and updates.
Render
The process of a web browser fetching data within a website’s code and turning this into an output of a viewable page.
Render Blocking Source
As resources are loaded into the <head> of a document, they are by default usually render blocking. This means they prevent the rendering to the browser until their loading is complete. CSS and JavaScript files are by default render blocking. It’s important to fully optimise these files and where possible load the JavaScript files asynchronously to prevent this delay to the rendering.
Rendering Performance
A performance optimisation practise which focuses on server-side technology to produce static HTML and optimised application code to serve to users and internet bots.
Server-side Rendering (SSR)
A catch-all definition of a number of methods to produce static HTML files from JavaScript application code on the server.
Single Page Application (SPA)
A SPA is a modern dynamic web application programmed in JavaScript that runs within a browser. This process helps to serve an excellent UX with no page reloads and lack of excess waiting time. Instead of full page reloads between page views, like an MPA, a Single Page Application dynamically includes changing sections of a page when requested, leading to a much-improved user experience.
Static Site Generation
This describes a type of website that is stored on the server as static HTML files, with no server-side processing. It can be built from a JAMStack web application but is stored in it’s “built” form. Once compiled into static files, these are usually then published to the server or content delivery network.
Time to First Byte (TTFB)
TTFB is the length of time taken for your browser to receive the first byte of the initial response from your website’s server. You can test this with the WebPageTest tool that will deliver granular performance results https://www.webpagetest.org/.
Time to Interactive (TTI)
TTI measures the time until a page is fully rendered for a user and responding to a user. Even once a page is fully or partially painted in a browser, if tasks are executing it may not be reliably responsive for users until this is completed. Code improvements will improve this.
Universal Rendering
The process of sending an application that has been fully rendered within the primary payload to the browser.
Web Rendering Service (WRS)
A headless browser than transforms HTML and JavaScript into something that can be displayed to a user or interpreted by an algorithm. The WRS comes to the site as a unique user would, with no cookies, permissions allowed to gain a holistic view of the website.
If you’re currently undergoing Search Engine Optimisation issues with the way your website is rendering JavaScript, get in touch with one of our JavaScript SEO consultants, today.