We decided to build a site dedicated to things that are smart and accessible.
Our family says “big brains” a lot so we decided to run with that.
There’s a separate article about the logo here.
We decided to host the site in our WordPress Multisite on Dreamhost. Dreamhost is awesome. For $120/year we can host as many sites as we want, and we have a bash console to do it with. WordPress is terrific, it’s a fine CMS and there’s a plugin for everything.
The biggest problem with WordPress and Dreamhost is that they’re both slow. We don’t see that as a problem, the CMS doesn’t have to be fast as long as the content is.
We use a CloudFront distribution in front of all of WordPress, so the site is essentially static. We rigged it up so we can access wp-admin on the origin, but the hoi-poloi can’t get to the site except through CloudFront.
Table of Contents
We’re not ready for WYSIWYG block editing yet. We like data that we can read in case we want to change to a different CMS. We use Disable Gutenberg.
A clean, responsive theme for long-form writing, with bold featured images, fancy image captions and pull quotes, and plenty of space for your content to shine. A slide-out sidebar provides ready access to all your secondary content, including social links, custom menu, and widgets.
There are some big problems with this theme. The theme uses <H1> headers instead of <p> to style different things – this interferes with SEO – and it has a “Powered by WordPress” footer that you can’t turn off.
Our hard-learned philosophy is not to change third-party code like plugins and themes because it interferes forever with updates and patches. We either contribute to the upstream open source or deal with it in our own plugins.
We chose the latter, so we run a filter on the output of the theme for all the minor problems.
What we did to support WordPress Multisite in AWS CloudFront is the subject of another post, but the short form is that we built a plugin to do url rewriting, restrict access and control the CloudFront cache control headers.