WordPress installation notes

WordPress Installation notes

Here are some notes on what I need to automate on new site installations. I’ve spent too much time setting up new WordPress sites to not have a script do this for me…

Dashboard

The Dashboard has too many widgets.

Screenshot_2020-08-21 Dashboard ‹ Just another WordPress site — WordPress

  • Site Health Status - Keep. Useful to have a quick glance indicator of issues.
  • At a Glance - Keep. On a new site it’s underwelhming, but with plugins and post types… it’s gets busy!
  • Activity - Keep. Like “At a Glance”, especially useful for multiauthor sites.
  • Quick Draft - Hide. Fits a specific type of site (I’ve never used it).
  • WordPress Events and News - Hide. The fuck do I need WordPress to make remote calls to populate a dashboard widget?

We change this by using Screen Options and setting which Boxes are shown.

Screenshot_2020-08-21 Dashboard ‹ Just another WordPress site — WordPress(1)

I like to move the three initial boxes (there will be more…) with “Activity” in the first column, and then “Site Health Status” and “At a Glance” in the second column. When more data comes in those boxes will fill with more content and this is easier for me to read it, then.

Screenshot_2020-08-21 Dashboard ‹ Just another WordPress site — WordPress(2)

TODO:

  • How do I turn off the WordPress events box?
  • How do I set boxes position programatically?
  • How do I set boxes for other users?

Settings

I jump down to Settings, get it out of the way before install a theme or plugins.

General

  • Site Title - I keep names simple, it’s gonna show up on every page
  • Tagline - I rarely use this. Like, ever.
  • WordPress Address (URL) - The URL of the site. I change this more than anyone should, for arcane reasons.
  • Site Address (URL) - Don’t even trip, yo. Just keep swimming.
  • Administration Email Address - The address for “admin purposes”. I use hello@maiki.xyz, because I’m quite :cool:.
  • Membership - This is mostly left unchecked, as I use a better signup process using GravityForms, which allows me to set membership and other things; don’t think I’ve ever checked this.
  • New User Default Role - Leave as Subscriber.
  • Site Language - Determines more and more (translation tools), so set it for the general audience for the site. Mine are always English.
  • Timezone - I’m in California, so “Los Angeles” it is, because the Pacific Rim causes “timezone shift” in rhythmic, unjustified cycles that can not be coordinated in a universal time fashion.
  • Date Format - Leave default until I find a reason to change it.
  • Time Format - Same as Date Format.
  • Week Starts On - I used to set this to Sunday, and then I really embraced the freelance lifestyle, which means I don’t technically need to track “days”, so I stopped, and leave this as… Monday! It defaults to Monday.

TODO:

  • How do I set name and timezone programatically?
  • How do I remove the tagline programatically?

Writing

  • Default Post Category - Ugh, why are categories required?! “Uncategorized” until something better comes along.
  • Default Post Format - I don’t use post formats, so leave as Standard.

Post via email

This sub-section contains login info for a mail server to check a mailbox via POP3 and then post it to a category.

I’ve never used this.

Update Services

When you publish a new post, WordPress automatically notifies the following site update services. For more about this, see Update Services on the Codex. Separate multiple service URLs with line breaks.

And a single link: http://rpc.pingomatic.com/

I hate that by default WordPress will send a notification over an unencrypted connection to a service that isn’t even explained.

My suggestion: if a service can’t be explained easily on the settings page, it should not be active by default.

TODO:

  • How do I empty the Update Services array at install?

Reading

  • Your homepage displays - choices are “latest posts” or a specific page. I leave on posts until I come up with a better idea. Lately it’s been to leave a simple to comprehend message, since I don’t want to update the front page constantly.
  • Blog pages show at most - I leave it at 10, rarely change it
  • Syndication feeds show the most recent - Also leave at 10. I normally set it to be more to what a site will produce in a day. On the flip site, if a site is producing more than 20 or 30 posts a day, it probably need to readjust it’s messaging.
  • For each post in a feed, include - Full text (default), always
  • Search engine visibility - I normally check this until the theme and a couple of posts are setup. Checking discourages search engines.

TODO:

  • How do I discourage search engines by default?

Discussion

Wow that’s a lot of checkboxes!

Screenshot_2020-08-21 Discussion Settings ‹ Just another WordPress site — WordPress

  • Default post settings - Uncheck them all! WordPress comments must be used with care (because they suck).
  • Other comment settings - Also uncheck them all.
  • Email me whenever - Uncheck them because don’t email me whenever.
  • Before a comment appears - Check “Comment must be manually approved”

Now we have a single checkbox!

Screenshot_2020-08-21 Discussion Settings ‹ Just another WordPress site — WordPress(1)

  • Comment Moderation - default
  • Disallowed Comment Keys - default

Avatars

Here is my cool wp-hack: uncheck “Show Avatars”.

Before:

Screenshot_2020-08-21 Discussion Settings ‹ Just another WordPress site — WordPress(2)

After:

Screenshot_2020-08-21 Discussion Settings ‹ Just another WordPress site — WordPress(3)

I’ve done this for years and no one has complained their gravatar wasn’t showing up, but everyone benefited from not pinging an image server for no justified reason.

TODO:

  • How do I check and uncheck the boxes I want here?

Media

Image sizes

The default sizes are:

  • Thumbnail: 150x150
  • Medium: 300x300
  • Large: 1024x1024

These will be produced from an image when it is uploaded. In my experience, these only need to change if the site needs specific image needs, meaning most won’t change this. If they change later, media can be regnerated with a plugin called regeneate media (or similar).

Uploading Files

A single option: “Organize my uploads into month- and year-based folders”

Some folks don’t like year and month slugs in the permalinks to their uploaded files. If that matters, don’t use WordPress. Keep your uploads in month and year, unless you have a reason not to.

The reason this exists is because operating systems used to not be able to hold too many files in a single directory, so breaking it down like this gets around that.

Recently there is a push to load media onto partitions that are virtual, or blob storage which doesn’t have traditional limitations. This would be a scenario that one might want to change the folder structure to be “flat”.

However, I still suggest leaving it.

  1. It’s a decent default that applies to the most people
  2. Turning it off can cause trouble for folks
  3. Backing up without data-folders is difficult

That last point is the biggie: when you organize by month and year, your media library “ages” into stasis. No more uploads, no more transformations, no more edits.

Of course it can still happen, such as changing the image sizes and regenerating, or going back and messing with the image. But it is rare for long-running sites, and this simplifies backups by being able run it against month or year directories.

TODO:

Nothing, but if I get the other TODOs figured out, I won’t have to visit this page at all!

Permalinks

Common Settings

Bunches of patterns. Choose one for the site, or “Post name” if nothing else.

Optional

Category and Tag base may be set here, and that’s fun if you have a plan. Leave as default otherwise.

TODO:

  • How do I set “post name” permalink programatically?

Privacy

This page has information and links to edit a Private Policy page for your website. When WordPress is installed it creates two Pages: Sample Page and Privacy Policy (the policy is set to Draft).

Screenshot_2020-08-21 Pages ‹ Just another WordPress site — WordPress

There seems to be a designation for the policy page: “Privacy Policy Page”. I forget, but I think that’s to expose a path for tools that support compliance with laws like GDPR and CCPA.

I don’t normally visit this page, I edit the privacy policy from the pages list when I get there.