A Symfony bundle that integrates 'prerender' services, i.e. rendertron or

Installs: 2 505

Dependents: 1

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 1

Open Issues: 2


dev-master / 1.0.x-dev 2022-05-10 12:37 UTC

This package is auto-updated.

Last update: 2022-05-10 12:37:56 UTC


Latest Version Latest Unstable Version Software License Build Status

Use this bundle to (pre)render a request or URL. This is useful if you render your page using javascript and want to show the HTML output of that page to Googlebot or other clients not very fond of javascript.

See Googles own help page on this topic: Implement dynamic rendering.


To install this bundle, simply run:

composer require setono/prerender-bundle

This will install the bundle and enable it if you're using Symfony Flex. If you're not using Flex, add the bundle manually to bundles.php instead.


# config/packages/setono_prerender.yaml
            url: <the url of your rendertron service> # default is http://localhost:3000


Here is a very basic example of a product controller where we want to render the index (i.e. a product listing page).



namespace App\Controller;

use Setono\PrerenderBundle\Prerenderer\PrerendererInterface;
use Symfony\Component\HttpFoundation\Response;

final class ProductController
    public function index(PrerendererInterface $prerenderer): Response
        if($this->isBot()) {
            // return the rendered HTML if the client is a bot
            return new Response($prerenderer->renderMainRequest());

        // render the response the normal way if the client is NOT a bot
        return new Response('...');

     * Method that returns true if the client is a bot
    private function isBot(): bool
        // ...