I wanted an iron golem farm where the villagers could roam freely. Optimal production isn’t that important, just a reasonably steady supply.

The key details from golem villager mechanices are:

  • Villagers population depends on beds with 2 open blocks above them, and villagers have to have slept to summon a golem.
  • Villagers summon golems at villager block position ±8 blocks along x/z axes and ±6 blocks along y axis, so we need everything but the spawn area to be solid within this range of any possible villager location.
  • Villages run when they’re within render distance (not a hard block distance), so take that into account when choosing the site.

So, first step is to dig down 7 below ground level, ideally in an area with few/no caves. (You could also build up in the air.)

Then, make beds for as many villagers as you want. If you want to concentrate the golem spawn area, you can put a low roof over the sleeping area, but leave 2 blocks open above beds. You may get some golems spawning in there but they’ll suffocate.

Then add a water feature and lava blade. If the villagers have access to it, make a side exit that’s only 2 tall by 1 wide so they can walk out but golems die.

Villagers summon a golem more often when they’re panicking, and golems walk towards threats, so you can lure a zombie into a boat (so it won’t despawn) in a little room behind the water.

Then add a little farmland and a couple composters so you have farmers to maintain population (but don’t go crazy with the farm since golems can’t spawn on it).

This has a lot of overlap with optimized farms, but looks a lot nicer for your villagers.