Préchauffer le four à 220°C.
Retirer les abats et l’excès de gras à l’intérieur du poulet. Rincer le poulet à l’intérieur et à l’extérieur avec de l’eau froide, puis sécher avec du papier absorbant.
Dans un petit bol, mélanger le beurre ramolli, les herbes hachées, l’ail émincé, le zeste et le jus de citron. Assaisonner avec du sel et du poivre selon le goût.
Soulever doucement la peau des poitrines et des cuisses du poulet, sans la déchirer. Étaler environ les 2/3 du mélange de beurre sous la peau. Répartir le reste du beurre sur tout l’extérieur du poulet. Assaisonner généreusement avec du sel et du poivre.
Mettre les quartiers d’oignon, les moitiés de citron, et les branches de romarin et de thym à l’intérieur du poulet.
Attacher les pattes avec de la ficelle de cuisine et replier les ailes sous le poulet.
Placer le poulet sur une grille dans un plat à rôtir, poitrine vers le haut. Verser ½ tasse de bouillon de poulet ou de vin blanc (si utilisé) au fond du plat.
Faire rôtir pendant 1 heure et 15 minutes, ou jusqu’à ce que le jus soit clair lorsqu’on coupe entre la cuisse et le pilon, et que la température interne atteigne 74°C.
Sortir le poulet du four et le déposer sur une planche à découper. Couvrir légèrement avec du papier aluminium et laisser reposer 15 à 20 minutes avant de découper. Cela aide les jus à bien se répartir pour une viande plus tendre.
Découper le poulet et servir.