A Structr Page is the root of a tree structure called the Page Tree. A page tree is very similar to the Document Object Model (DOM) of an HTML page in a modern web browser. The following screenshot shows an example of the page tree of the Welcome page (part of the Initial Seed) with the typical HTML nodes like head, hody and div etc.

The Welcome Page


Every Structr page can be accessed using a unique URL, based on either the name of the page, or its UUID. A page with the name Welcome for example will be available under the following URLs, provided Structr was started with the default configuration.

HTML Pages

Structr sends the HTTP Content-Type header with a default value of text/html; charset=UTF-8, but this default can easily be changed using the contentType attribute in the Properties Dialog of a page. See Creating non-HTML output for more information about that.

Page Rendering

When a user accesses a page URL with an HTTP client (e.g. a web browser, curl etc.), the rendering engine traverses the page tree and recursively collects the content of all nodes in the tree. This approach allows Structr to determine the Visibility of individual elements and evaluate Repeater Elements very quickly.


A Template is a special element that can be inserted into the Page Tree. Templates are the only elements that can have content and child nodes simultaneously, which allows the user to create reusable elements. A template node can be a direct child of a page node, making it possible to Create non-HTML output.


About this article
Last change 2017-05-04
Topics Structr 2.0