Using S3 and CloudFront to serve static content and I doubt you'd break out of free tier.
If you need dynamic content served from a CMS, put your CMS's public API behind cloudfront and bust it when the owner makes changes.
For websites that don't get edited a lot, you can use lambda to store the website content as a JSON file which sits on S3 (somewhere like /content.json).
If you have multiple editors, use Dynamo or Firebase as the content store (again, behind cloudfront).
With every one of these options, the most expensive part would be the domain name.