# Responder - a new static response plugin

**URL:** <https://community.traefik.io/t/responder-a-new-static-response-plugin/30243>\
**Category:** Community Contributions\
**Created:** [September 19, 2026, 3:19pm UTC](https://community.traefik.io/t/responder-a-new-static-response-plugin/30243 "2026-09-19T15:19:34Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![gabay](https://sea2.discourse-cdn.com/flex020/user_avatar/community.traefik.io/gabay/32/11336_2.png) [@gabay](https://community.traefik.io/u/gabay)\
**Post date:** [September 19, 2026, 3:19pm UTC](https://community.traefik.io/t/responder-a-new-static-response-plugin/30243/1 "2026-09-19T15:19:34Z")

</div>

Hey everyone.

I recently migrated from SWAG to Traefik and found it very easy and intuitive

However - Traefik does not support static responses at all, and the plugins I found were quite cumbersome, as every static response requires a router and middleware and wiring between them.

Solution - [another plugin](https://xkcd.com/927/) (but a **provider** rather than a **middleware** ). [Responder](https://github.com/gabay/responder) is a provider plugin that is configured in one place, and

Example - assuming you want to respond to `/heartbeat` and `/robots.txt`:

- with a middleware plugin:

```auto
# dynamic conf
http:
    routers:
        ok:
            rule: Path(`/heartbeat`)
            service: noop@internal
            middlewares:
                - response-ok
        robots:
            rule: Path(`/robots.txt`)
            service: noop@internal
            middlewares:
                - response-robots
middlewares:
        response-ok:
            plugin:
                staticresponse:
                    Body: OK
        response-robots:
            plugin:
                staticresponse:
                    Body: "User-agent: *\nDisallow: /"

```

- with [Responder](https://github.com/gabay/responder):

```auto
# static conf
providers:
    plugin:
        responder:
            responses:
                - rule: Path(`/healthcheck`)
                  body: OK
                - rule: Path(`/robots.txt`)
                  body: "User-agent: *\nDisallow: /"

```

the plugin can be found [here](https://plugins.traefik.io/plugins/6aae41d35b5ee35d8bd24ca4/responder)  
github project [here](https://github.com/gabay/responder)

Hope you find it useful 🤞
