A simple and easy no-plugin hack is to stuff the blog
constant into your permalink structure. You’d go to SETTING => PERMALINKS and change your permalink structure from /%postname%/
to /blog/%postname%/
After this, your PAGES will continue to be at example.com/page-name/
But your POSTS will now be at example.com/blog/post-name/
as desired.
(You may leave the slash /
at the end of the permalink structure if you don’t want the slash at the end of your URLs.)
But there’s a caveat though.
Please note that while this will leave PAGES (and perhaps other post types) unaffected and change the POST URLs as desired, it will affect all POST archive URLs as well.
Categories will become example.com/blog/category/category-name
Tags will become example.com/blog/tag/tag-name/
Date archives will become example.com/blog/year/month/day
Even author archive pages become example.com/blog/author/author-username
If you don’t want this behavior (ie if you ONLY want to add the /blog/
to the POST URLs and NOT the POST archives as well), then you’ll have to either get your hands dirty doing some custom coding, or do what the rest of us non-developers do: use a plugin like the free Permalink Manager.
Good luck!