When you tell her to sit, wait a second or two, signal Stay (hand like a stop sign in front of her face) pivot directly in front of her and feed her small treats for a few seconds and then pivot back to her side. Praise her, release her and then repeat it several times. Then begin to extend how long she is in front of you til about 15 seconds. Then when you tell her to stay take one full step forward and pivot in front to face her. When she is solid here take another step. When she is pretty solid at the end of a leash for 10 to 15 seconds then you can add time and distance a little faster.
If she cannot be sucessful with you right in front of her as in the first sequence, try standing next to her for a few times after you tell her to stay.
She cannot learn to stay at a distance until she learns to stay with you directly in front of her. Being directly in front of her allows her to be confident and you to corrct her calmly. If she shuffles or starts to get up you tell her "No, SIT!" If she keeps making the same mistake you are progressing too fast.
She cannot learn to stay under distractions until you have built in some distance and duration (time). When you do add distrastions make them small ones and go closer to her to help her be confident. When she shows confidence that you can again increase distance and add some more distractions.
Help her to succeed, she will learn faster and be more confident and trusting.
This does not happen over night but as you will find the more you train the more they learn and they learn to like learning.
I taught Elmo to stay when I give him his food. I made him sit and stay, then I put the food down. If he moved, I picked the bowl up. Once he stayed for a few seconds, I said okay to release him. I started off with just a little bit of time. Then, I added more. Then, I started walking away while keeping him in the stay position. Once he had it figured out with his food, I started doing it with him going outside. I put him in a sit and tell him to stay. If he started to run out the door, I closed it. He learned pretty quickly what "stay" meant.
I like Kathy's ideas too. I'll have to try them because Elmo is easily distracted. So, he can definitely use some work.
I've posted longer versions of this before but one tip when teaching stay: Reward the "staying" part, not the "we are done staying" part.
Lots of people starting to train stay will get their dog to stay in some manner (usually by repeating the word 1,000,000 times, but that is another story). Once they manage to get a stay for a period of time they are happy with they reward with praise (good stay!) and a treat.
Well the dog just learned the following. If I sit here, doing nothing, I get nothing. As soon as I break stay, I get a treat.
So instead, treat them _while_ they are staying. At first this might be only a 1/2 second, then 1 second, etc. As long as they are staying the praise and treats keep coming. (Use very small, healthy treats for this.) When the dog has stayed long enough, give the release command (free dog!) and turn your back on them / ignore.
Now the dog just learned something different. If I sit here in a stay, I get praise and treats. When it is over, well, it's boring. I get no treats and my master sorta ignores me. I think I'll keep staying next time.
I've found this tip to be very helpful. Obviously this isn't the only thing you have to do to teach a good stay, but it can definitely help.