I bet there will be a lot of WTF moments when I formally announce the development of this WordPress theme. It is safe to say that I haven’t been a keen supporter of WordPress for developing websites. That was mostly due to my feeling that WordPress impeded use of my programming and coding skills. Lets just say I felt I could build a better mousetrap with WordPress than most theme developers.
Some of you who know me are thinking “simple for you you’ve been programming for 20 years”. But in truth I did very little raw PHP programming because the WordPress framework has a lot of the methods and functions developers use built into it. Not to mention the two plugins that manage custom fields and adds input fields below the editor. The other plugin enabled me to add columns to the admin pages which is a feature from an SEO plugin I used in the past.
The goals are simple:
There are lots of quick and easy fixes to speed up WordPress sites. Some of them like using a CDN or a caching plugin are overkill and often the answer lazy or less knowledgeable webmasters choose to implement. I have only had to use a caching plugin once and that was only installed after exhausting all my other options to get the speed to an acceptable level. The theme didn’t respond to the changes I could economically make to it to meet our page speed goals.
Code Bloat, scripts that block rendering, calls to unused scripts and CSS are just a few of the issues that are baked into most WordPress themes and plugins. Then there is the nonsense added in by all the proprietary design assistants like Elemental which I’d only recommend to my worst enemy.
The main things I did to maximize speed was to:
I also have an extreme dislike for themes that by design use Google Fonts with no way to remove them beyond finding where it gets added and removing it which results in every time the theme or WordPress get updated the task must be repeated. This isn’t a true fix but a band-aid. Since learning more I know I can remove Google fonts using a function in a child theme or my preference which is to remove it entirely and have a configuration option to add the Google Font CDN or perhaps upload to browser which caches them. Google Font CDN doesn’t have caching ability so it is a drag on page load!
In the SEO4WP theme I use the boring old system fonts with an option that enables the user to add any script to either the footer or header with another to move scripts that block page rendering. BTW using Google/Web Fonts “can” contribute to CLS because Google Fonts don’t cache. Which is how they can contribute to a CLS issue. Which could be another way for Google to track web activity…. anonymously of course. 😉
I also went through the CSS for the WordPress core and removed all the redundant CSS that duplicates or provides the same functionality that is in the theme customization or Bootstrap. This eliminated about 2/3rds or more of the theme CSS.
Some may think this is an ambitious statement, however, I disagree stressing that I am guaranteeing this “out of the box” so if you add Google Fonts and a bunch of poorly done plugins it won’t be compliant long given that Google’s set the bar high. Even though I have functions to move scripts it is much more complicated to move CSS, however, I hope to soon have a solution for that as well keeping in mind that sometimes moving it is going to affect layout.
Often Google and other software providers claim scripts have to go into the head to work correctly when it isn’t really needed and I would argue putting analytics in the head skews page views. These analytic providers are giving misleading information. Yes, a lot of CSS should be in the head because anywhere else other than inline will affect display of the layout.
However, most scripts can be loaded into the footer with no problems resulting from its footer location. When you put analytics in the head you are counting page views where the page hadn’t fully loaded before the user backed out resulting in page views being skewed significantly on slow loading sites. I know this because I’ve seen it and experienced it in the wild with a very poorly written theme.
WordPress doesn’t allow anything beyond design in a theme that is to be in the WordPress Theme directory. I have created a premium theme to do what can’t be included in a theme for the WordPress Theme directory or Theme Forest. The premium theme includes the programming for the SEO4WP plugin, author, contact and enhanced category, single post/page templates. The Premium SEO4WP theme has only 2 plugins which provide the means to build new applications and edit the current options included with the premium theme.
All of the SEO tasks and WordPress tuning that are done with plugins are included in the Premium SEO4WP theme. I do not include making sitemaps because IMO, most WordPress themes/plugins that do sitemaps do it very badly, create needless indexes or only include pages that are in WordPress. For client sitemaps I used Screaming Frog with monthly update requests made in GSC during the monthly review of GSC. I’d group old blog posts by ordering the sitemap alphabetically in the CSV file provided by Screaming Frog. This should group most of the WordPress pages by category if you use a parent page to act as category. I’d then move fresh content to top of the CSV save it and then save it as an xml file using excel which provides the sitemap.xml file I’d upload to the server.
I have included OpenGraph markup and Twitter card support with both being options that can be removed in the configuration options. Currently I have only added schema for Articles, Logos and Organizations, however, eventually I will have support for all the examples in the Google Structured Data Gallery. I have added description, about and mentions properties to the article schema because there is some speculation (with limited testing) that “about” and “mentions” **MAY** help with ranking by helping Google understand what your page is about.
Although EAT is referred to as an algorithm it is in fact just a group of ranking signals that CAN be used to indicate Expertise, Authority and Trust. I reviewed many of the Sistrix winners and losers list to determine if there were patterns of activity or “triggers” for the Medic Update affected sites. IMO, you optimize for EAT by including easy access to resources and references that indicate expertise.
EAT is about the easy access to the references and resources by users because determining expertise programmatically is difficult. Google only has the authority & trust of the site the post is on and the links from the author template to determine expertise. The EAT of the outbound links found on the author bio page and the site the article is on are all that Google really has to find EAT metrics. Therefore IMO, the discoverability of the author bio page by users is a key factor in determining EAT by Google.
Just before the “Medic Update” Google released a new Raters Guide which IMO, is a leading indicator on how Google wants pages evaluated. One of the major changes to the guide was how Google wanted YMOYL (Your Money or Your Life) pages evaluated. It was clear the easier it was to determine the expertise of the author the higher they were expected to rate the result.
The guide specifically mentioned that bylines, author info boxes and author pages should be easy to find and contain info that helped users determine author expertise. SEO4WP has an author template that is linked to from a byline under the heading and an author information box at the end of the post.
I bet there will be a lot of WTF moments when I formally announce the development of this WordPress theme. It is safe to say that I haven’t been a keen supporter of WordPress for developing websites. That was mostly due to my feeling that WordPress impeded use of my programming and coding skills. Lets […]SEO Pros Professional Development Community
The NFP OSEOP organization is being dissolved and a digital marketing and SEO professional development community and consultants directory will take its place. The consultants directory and RFPgenerator is up and running again. I haven’t really begun to promote this yet as there are still a number of hoops to jump through to dissolve the […]Schema.org Releases Validator
The Google Structured Data Tool was moved to Schema.org Validator provided by Google as a service for the Schema.org community. The new tool continues to have the same functionality for fetching a page or direct script entry. Unlike the Rich Results tool It’s capable of testing for all Schema properties.SEO Radio: Podcasts & Video
SEO Radio is an archive of SEO and Digital Marketing Podcasts featuring people like Bill Slawski, Ammon John, David Harry and Terry Van Horne interviewing or talking with a whose who of SEO!Schema Markup News & Resources
I like to keep tools and information I come across in a central place so that I will be keeping track of tools, resources and references that I come across while doing my daily reading or some work.What is SEO News?
One of my favorite things to do is to get together with friends on Ammon and Bill’s Bogus Hangout. In the Bogus Hangout we discuss what we are working on, news from the real world and I collect some SEO news topics I find on SEJ, SEO Roundtable and to a lesser extent SearchEngineLand. I plan on changing that with daily posting of comments on resources, tutorials and news I discover that day.