Take a time out time find out if it's the pad or the rug that is shifting. Watch the carpet over a period of time, and see what happens with it. Does just the pad move? Does just the rug move? Do both the pad and the carpet move?
If just the pad is moving, the pad is either too old (dried out) or dusty. The rubber of the padding needs to make good, clean contact with your floor. Wash and dry both your floor and padding free of debris using a damp cloth. Do not use harsh cleaning agents for the washing of your floor or pad as they may "melt" the rubber of the padding over a period of time. Allow time for both your padding and floor to dry prior to putting the rug back!
If just the rug moves but the padding stays in place, the padding is doing its job. The problem could be one of two things. First, the padding may be slightly too big not allowing the carpet to overhang the pad as it should. Check to make sure the pad is 1.5" shorter all around the perimeter of the rug. Secondly, there may not be enough friction between the face of the pad and the back of the rug. Consider duct taping the back of the rug to the pad in the corners as seen at the bottom of this post.
If both the pad and the rug move together, there is good chance that it is a combination of some of the issues above. Adjust accordingly.
This next Demo is not an uncommon practice for small rugs, machine made rugs and hand-tufted rugs. Small rugs shift more than larger rugs due to their size, structure or lack of weight. This will happen especially in high traffic areas. Keep in mind, leaving duct tape on the surface of the rug pad for a prolonged period of time may result in residue on the back of your rug. Assess the importance of having the rug stay in one place vs. the cosmetic blemish on the back. Although not advisable for all rugs, a small bit of solvent should remove any residue. Proceed at your own risk.
Yes, it is Duct tape. This particular roll is extra wide at 4 inches. Most any duct tape should do the trick.
Below shows the optimum carpet position - 1.5 inches all the way around overlap of rug to pad.
Take a one long cut of the duct tape and reverse roll it onto itself so it's sticky on the outside. Lightly tap the tape onto the padding, then position your carpet on top.