Skip to content
Roman Parpalak edited this page Jun 7, 2025 · 3 revisions

S2’s primary goal is to separate website content from design, provide a user-friendly interface for content editing, and automatically generate navigation elements. Below is a detailed look at the engine's features.

Hierarchical Website Structure

Sections and pages are organized in a tree-like structure. Each section can contain pages and subsections. There is no fundamental difference between pages and sections—they are stored together in the same database table. The engine distinguishes sections from pages only by the presence or absence of child elements. Unless stated otherwise, everything mentioned about pages also applies to sections.

The website structure serves as the basis for generating navigation links, including links to other pages in the current section and “breadcrumbs”—links to all parent sections.

Each page can be assigned a template. If no template is explicitly specified, it is inherited from the parent section. If none of the ancestors have a template selected, the page cannot be displayed, and an error message will be shown.

You can control the visibility of each page. Hiding a section will also hide all its child pages and subsections. This operation is reversible and does not affect the visibility settings of individual child pages.

SEF: Clean URLs

A page’s URL is generated by appending its slug to the section’s address, reflecting the tree-like structure. Each page (except the homepage) must have a non-empty slug. Example URLs (if redirection is configured on the web server):

  • https://example.com/ – homepage,
  • https://example.com/section1/ – a section,
  • https://example.com/section1/page1 – a page within that section.

URLs can technically contain non-latin characters. They are encoded in the HTML code, so linking works without issues. Most modern browsers even display the decoded URL in the address bar. This system is similar to Wikipedia's. However, manually entering URLs with non-latin characters may cause issues in some browsers.

Website Appearance

S2 allows you to apply styles and language packs to customize the design and automatically generated text without modifying the core code.

Stylest not only include CSS files but can also override the HTML code of standard templates.

Language packs contain service strings displayed on the website and in the control panel, enabling interface localization or site-specific customization.

Extensions

Extensions allow modifying or extending S2’s functionality without altering the core code. S2 comes with several default extensions, such as s2_blog, which adds a blog feature.

Tags

While tree-based navigation is the primary method in S2, tag-based navigation is also available. A page can be tagged with multiple tags, and links to other pages with the same tags will appear on it.

SEO

In addition to the page title and content, the editor allows setting keywords and description meta tags. By default, the <title> tag contains the current page’s title followed by the site name.

RSS and Excerpts

A list of recently added pages is exported as an RSS feed. The <description> tag uses the “excerpt” field from the editor. By default, page excerpts are also displayed in their parent sections.

Comments

Website visitors can comment on any page. Flexible settings allow:

  • Disabling comments on specific pages,
  • Applying a comment-free template to a section,
  • Disabling comments site-wide,
  • Enabling comment moderation (either manual or automated using Akismet for spam filtering) before publishing,
  • (Exotic option) Showing the comment submission form but hiding published comments.

Commenters must provide an email address. They can subscribe to follow-up comments or unsubscribe later.

Image Manager

S2 can upload images to the website and insert them into pages. Images can be organized into folders.

User Accounts

The site owner can grant other users access to the control panel. Privilege levels are customizable. For example, you can assign:

  • Moderators (manage comments),
  • Authors (write articles),
  • Additional administrators (configure the site and manage users).

Clone this wiki locally