Server-Side Renderer for Single-Page Application Crawler Indexing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Search engine crawlers are unable to accurately crawl content from websites using single-page web applications due to their design for static HTML content, leading to inefficiencies and inaccuracies in indexing dynamic web content, and existing solutions like Prerender.io consume significant resources and fail to keep pace with dynamic changes.

Innovation Solution

Implementing a single-page application server-side renderer that dynamically generates static web pages on demand in response to search engine crawler requests, utilizing a node.js application with jsdom to process and render single-page applications, allowing for real-time and accurate representation of dynamic content.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a server uses single-page web applications with dynamic content delivery, then user experience and interactivity are improved, but search engine crawlers cannot accurately index the content

Engineering Contradiction:
Improveuser experienceVSAvoidcontent indexing accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent introduces a server-side rendering layer that acts as an intermediary between the dynamic single-page application and the search engine crawler. This intermediary component generates static HTML representations of the dynamic content, allowing crawlers to accurately index the content while preserving the dynamic nature of the application for end users.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates a copy of the dynamic content in static HTML format specifically for search engine indexing. This copied version maintains the essential information and structure of the dynamic content, enabling accurate crawling and indexing without affecting the original dynamic application experience.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If existing solutions like Prerender.io are used to convert dynamic content to static pages, then crawler accessibility is improved, but server resource consumption increases significantly

Engineering Contradiction:
Improvecrawler accessibilityVSAvoidserver resource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the rendering process by implementing it at the server level rather than relying on external services. The server-side rendering component is integrated into the existing server architecture, dividing the workload between server processing and client rendering, thereby reducing dependence on resource-intensive external prerendering services.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements self-service rendering where the server itself performs the rendering of dynamic content to static HTML format without requiring external prerendering services. This self-contained approach eliminates the need to consume external server resources for rendering, reducing overall server resource consumption while maintaining crawler accessibility.

Inventive Principle:
Principle #25Self-service

3Productivity

If dynamic content is converted to cached static pages, then crawling speed is improved, but the cached pages fail to reflect recent dynamic changes

Engineering Contradiction:
Improvecrawling speedVSAvoidcontent accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a dynamic rendering approach where the server generates static HTML representations of the current dynamic state of the application at the time of crawling. This dynamic-to-static conversion ensures that each crawled version accurately reflects the content at that moment, while the system can handle frequent updates without requiring manual intervention to refresh cached pages.

Inventive Principle:
Principle #15Dynamics

4Measurement precision

If server-side rendering is implemented for every crawler request, then content representation accuracy is improved, but processing time increases

Engineering Contradiction:
Improvecontent representation accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system performs preliminary rendering actions by pre-generating static HTML representations of common or frequently accessed pages. This preliminary processing reduces the need for real-time rendering for every crawler request, thereby decreasing processing time while maintaining accurate content representation through on-demand rendering for less frequent or more complex pages.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11531715B2Systems and methods for single page application server-side renderer
Publication Date: 2022.12.20 CAPITAL ONE SERVICES LLC
  • US11531715B2 patent drawing
  • US11531715B2 patent drawing
  • US11531715B2 patent drawing

AI summary

In certain embodiments, single-page application server-side rendering may be facilitated. In some embodiments, a request related to a single-page web application may be obtained. A determination of whether the request is a crawler request may be effectuated. In response to determining that the request is a crawler request, a server-side renderer may generate a static page in connection with the request from the crawler. In some embodiments, web assets may be obtained from one or more databases via the server-side renderer, and the server-side renderer may generate the static page based on the web assets. The static page may then be provided as a response to the request.