Custom Turbo page components

Attention. Ad blocks in user components are prohibited in any form. To place ads, use special Adfox blocks or Yandex Advertising network blocks. For more information, see Advertising on mobile.

You can create custom components for Turbo pages and include them in your RSS feed. You can view the list of custom components on GitHub. For example, ExtFancyButton component.

Example of the ExtFancyButton component display:

Example of RSS markup:

<ExtFancyButton>
    I am an external component
</ExtFancyButton>
Copied to clipboard

Creating a custom component

Attention. To create the components you need the knowledge of TypeScript and React.

To create a custom component:

  1. Create a fork from the turboext/components project. For more information about creating a fork, see GitHub
  2. Create your own component observing the restrictions. For more information, see README.md on GitHub.
  3. Create a Pull Request to make changes to the turboext/components master branch.
  4. Wait for the tests to finish. If the tests finished with errors, correct them in accordance with the restrictions.
  5. Wait for two confirmations from the Turbo pages team. After that, your changes are applied to the master branch.
  6. On Friday evening, the release branch is created and tested. If testing is successful, the component is in production on Monday.

After you create the test component it is shown in Yandex.Webmaster:

  1. Go to the Turbo pages for content sites → Debugging page.
  2. Insert your component in the Turbo page's RSS markup. For example, for the ExtFancyButton component:
    <ExtFancyButton>
        I am an external component
    </ExtFancyButton>
    Copied to clipboard
  3. Click Apply and check if the example on the right is displayed correctly.
  4. If the example is displayed correctly, use the component in your own RSS feed.

Ask a question about Turbo page components

If you still have questions about Turbo page components, ask them via the feedback form.

If you have a technical question and are registered in GitHub, create an issue.