How to maintain straight selvedges is the number two pain point for weavers. It comes second only to warping. There are three things you can do if you want to maintain tidy edges and prevent draw in.
Whenever possible I put my selvedges in a slot and weight them. Weighting your selvedges gives them an extra bit of tension making it easier to maintain crisp edges. My favorite way to do this is to slip an S-hook around each selvedge and let it hang off the back beam. This is also a nifty trick if you have a loose thread in the middle of your warp. If you don’t have weights, threading selvedges in a hole will offer a tighter tension, however, since these yarns are fixed it can cause more abrasion to the warp ends. For this reason, I prefer to have my selvedges in a slot and weight them.
The weft yarn doesn’t travel in a straight line from selvedge to selvedge. It has to bend over and under the warp yarns. To allow enough length for the weft to do its thing, you need to lay it in at an angle before pressing it into place. How much of an angle depends on the width of the fabric and structure.
Your angle is too low if your selvedge begins to draw in, crowding the other threads.
The angle is too steep if loops appear at the edges.
Advance the warp after weaving 2-3 inches of cloth. The closer the cloth is to the rigid heddle, the greater the tension placed on the selvedge threads. Notice here how on an open shed, the selvedge threads that are closest to the rigid heddle are being pulled apart.
Helping weavers past their pain points is what I do. If you are interested in improving your weaving technique, check out my new venture the Yarnworker School of Weaving.