You can block posts from people without unfriending them. Simply go to one of their posts, click on the 3 little dots on the upper right corner and click unfollow friend. You'll stop seeing their posts but they'll remain on your friends list.
Some of my friends share too much posts that cannot tolerate in a day. I need to stop getting them on my FB without making them unfriend. Is there a way to do that?