@dbu i agree with your conclusion that it would override a value in the former `SeoMetadata` But what it is wanted? If i implement a strategy i want it to have the control over a part of the SeoMetadata. If somebody implements a strategy (ore more) it won't make sense to provide data through the SeoMetadata.

On the other hand: you could write your own strategy to take care on the "former" values in the SeoMetada. So it would make sense to write own strategies, the one i created are examples only. The `SeoPresentation` gets an array of them and is completely independent how they are looking like. 

So i would suggest to create a option (arrayNode). The user of the bundle can add strategies as he wants and i only need to fetch them and inject them (maybe with an order). By doing that, the user (developer) is able to control the extraction. Those strategies should implement the `SeoExtractionStrategeyInterface` only.

If you want that (first) example strategies to take care on the former values, i will do it. 

It is the same as your wrote with the return value for the routes: Yes there can be one Strategy for returning a `Route` and one returning the absolute url.