Just look below at these pictures I recently took. You can see how much dirt, leaves, etc. are on my doormat. It will take me about 5 minutes to step outside and pound those mats clean. I actually have a “rug beater stick” that is right outside of my door that I use for this. If those leaves and debris weren't trapped in the mats and dragged through my kitchen floor, it would take me about 15 minutes to sweep it all up. And that is just the dirt and stuff that we see.
Ideally you want mats that are large enough for a couple of paces on the outside and a couple of paces inside.
I find the commercial ones work best. You can get them at Costco and DIY box stores. The cocoa weave or mats with cute expressions are probably better than nothing, but if you have people in and out of your house a lot, consider something like these:
If everyone took off their shoes, we wouldn’t need doormats. The problem for me is that, for most of the year, my children don’t even wear shoes! Thus, I need the doormats for those dirty feet. And the other problem is that I won’t ask guest to remove their shoes, so I need the doormats for them. (And honestly, I like keeping my shoes on, too.)
So your number one defense to keep dirt out of your house is to have everyone remove their shoes.
The second back-up plan is to use doormats.