The first and most important thing to do is to make 100% sure that what you are seeing is blood. Seems obvious, I know, but really it is impossible to tell for sure without a quick test at the doctor's. You will need to take a sample of the poop that looks bloody and the doc can check it.
Assuming it is blood, the next step is to consider whether he has any tearing on his bottom that is causing it. In this case, the blood would be a tiny bit, on top of the poop, not mixed in with it, and it would be red blood, not brown or black. You or a doc ( or both) need to carefully look at his bottom for tears. If there is a visible tear, that's a relief, you just need to make sure his stool is very soft (with very safe stool softeners, not laxatives) to allow the tear to heal.
If there is no tear, a detailed "poop journal" is in order. When did he go? Did it hurt? What did it look like? The hope is to discover a pattern.
Does your son ever have accidents- that is, leakage of urine or poop into underwear? Lots of times these accidents are mistakenly thought to be just a little poop in the underwear from incomplete wiping, etc. If there is or has been any poop in the underwear, most likely he is constipated even though it doesn't seem like it from your post. In that case, again, stool softeners will really help if used daily for at least 3 weeks or so (not laxatives, which can cause dependence, but stool softeners).
Finally, if there are any other symptoms such as fever
, weight loss
, night sweats
, red eyes
, joint swelling or pain, or unusual rashes these might point to a bowel problem and he should discuss this with his doctor ASAP.
Finally, less likely but to be considered would be a bacterial infection or very rarely anatomic problems. If the stool looks like currant jelly and/or if there is a significant amount of belly pain, consider these rare diagnoses.
I hope this helps. Small amounts of blood in poop in a 7 year old boy USUALLY turns out to be a small rectal tear, caused by hard or large poops. Thanks for your post.