---
title: Selecting content archival approach
related:
  - https://docs.kentico.com/k9/developing-websites/defining-website-content-structure.md
  - https://docs.kentico.com/k9/custom-development/creating-custom-modules.md
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

Storing a [large amount of content](https://docs.kentico.com/k9/developing-websites/defining-website-content-structure.md) in the content tree can have a significant impact on website performance. You can set up archival of outdated pages in your system so that you reduce the number of pages in the content tree.

We recommend the Archival section in the content tree approach for most projects, including projects with large amounts of pages (hundreds of thousands). For extremely content-heavy projects, consider using [module classes](#module-classes) or [custom storage](#custom-storage).

## Archival section in the content tree

You can create a special section in the content tree into which you'll move outdated pages. An even better approach is to keep the archived pages in the same section and creating new sections for new content — structured by years, for example.

When using this approach, the [listings](https://docs.kentico.com/k9/developing-websites/loading-and-displaying-data-on-websites.md) you use to display published pages need be configured to only to load data only from specific sub-sections of the content tree. For example, in the following structure:

- _Articles_
  - _2015_
    - _Months_
      - _Articles1_
      - _Article 2_
      - _..._
    - ...
  - _2014_
  - _2013_

Instead of displaying all the years in a single listing, individual web parts could be configured to cover only the pages stored under a specific year. You can configure this using the **Path** property.

### Advantages

- You can easily display the archived pages on the live site.
- The archived pages can retain all their data, including the editing history.
- You can easily restore archived pages.

### Disadvantages

- The archived pages are still part of the content tree. This approach can still have a performance impact.

**Note**: moving large sections of pages in the content tree is a performance demanding task. Make sure you don't perform the operation in peak hours.

## Module classes

You can move the main data stored in the archived pages into [module classes](https://docs.kentico.com/k9/custom-development/creating-custom-modules.md).

### Advantages

- The archived pages are completely separated from the content tree.
- You can view the archived data via the administration UI.

### Disadvantages

- To be able to store all the related objects, you have replicate their structure in module classes as well.
- You can only display the archived pages on the live site using a Repeater with custom query or by a [your own implementation](https://docs.kentico.com/k9/custom-development/developing-web-parts/creating-new-web-parts.md) of a data source web part.
- Editing history is lost.
- The archived pages cannot be easily restored from the archive.

## Custom storage

You can use the API to retrieve outdated pages and their related objects and store them in a custom storage. For example, you can serialize the data into an XML file.

### Advantages

- The archived pages are completely separated from the content tree.
- The archived pages can retain all their data, including the editing history.
- You can restore the archived pages.

### Disadvantages

- You cannot, by default, view the archived data via the administration UI.
- You cannot easily display the archived pages on the live site.
