---
title: "Search engine optimization (SEO)"
manual: "TYPO3 Explained"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3coreapi:seo@main"
source: "ApiOverview/Seo/Index.rst"
modified: "2026-09-16T07:40:42+00:00"
---

# Search engine optimization (SEO)

TYPO3 contains various SEO related functionality out of the box.

> [!NOTE]
> Most of these features are provided by the optional system extension
> EXT:seo. You can find information about how to install and use it in the
> [EXT:seo manual](https://docs.typo3.org/c/typo3/cms-seo/main/en-us/Index.html).

The following provides an introduction in those features.

-   **Site title**

    The site title is basically a variable that describes the current web site. It is used
    in title tag generation as for example prefix. If your website is called "TYPO3 News" and
    the current page is called "Latest" the page title will be something like "TYPO3 News: Latest".

    The site title can be configured in the sites module and is translatable.

-   **Hreflang Tags**

    "hreflang" tags are added automatically for multi-language websites based on the one-tree principle.

    The href is relative as long as the domain is the same. If the domain differs the href becomes absolute.
    The x-default href is the first supported language. The value of "hreflang" is the one set in the sites module
    (see [Adding languages](https://docs.typo3.org/permalink/t3coreapi:sitehandling-addinglanguages@main))

-   **Canonical Tags**

    TYPO3 provides built-in support for the `<link rel="canonical" href="">` tag.

    If the Core extension EXT:seo is installed, it will automatically add the canonical link to the page.

    The canonical link is basically the same absolute link as the link to the current hreflang and is meant
    to indicate where the original source of the content is. It is a tool to prevent duplicate content
    penalties.

    In the page properties, the canonical link can be overwritten per language. The link wizard offers all
    possibilities including external links and link handler configurations.

    Should an empty href occur when generating the link to overwrite the canonical (this happens e.g. if the
    selected page is not available in the current language), the fallback to the current hreflang will be activated
    automatically. This ensures that there is no empty canonical.

> [!WARNING]
> If you have other SEO extensions installed that generate canonical links, you have to make sure only one creates it.
> If both the Core and an extension are generating a canonical link, it will
> result in 2 canonical links which might cause confusion for search engines.

-   **XML Sitemap**

    see [XML sitemap](https://docs.typo3.org/permalink/t3coreapi:xmlsitemap@main)

-   **SEO for Developers**

    TYPO3 provides various APIs for developers to implement further SEO features:

    -   The CanonicalApi (see [Canonical API](https://docs.typo3.org/permalink/t3coreapi:canonicalapi@main)) to set dynamic canonical url
    -   The MetaTagApi (see [MetaTag API](https://docs.typo3.org/permalink/t3coreapi:metatagapi@main)) to add dynamic meta tags
    -   The PageTitleAPI (see [Page title API](https://docs.typo3.org/permalink/t3coreapi:pagetitle@main)) to manipulate the page title

-   [General Recommendations](https://docs.typo3.org/permalink/t3coreapi:seo-recommendations@main)
-   [Configuration](https://docs.typo3.org/permalink/t3coreapi:seo-configuration@main)
-   [Canonical API](https://docs.typo3.org/permalink/t3coreapi:canonical-api@main)
-   [MetaTag API](https://docs.typo3.org/permalink/t3coreapi:metatag-api@main)
-   [Page title API](https://docs.typo3.org/permalink/t3coreapi:page-title-api@main)
-   [XML sitemap](https://docs.typo3.org/permalink/t3coreapi:xml-sitemap@main)
