WordPress Best Practices (Technical SEO)
Here is a list of best practices that SlickStack embraces and hopes to evangelize. In some cases, these practices are “forced” into our configuration and scripts, and in other cases they are optional but enabled by default. We welcome all feedback in our various community channels.
- ICANN-certified domain registrars. No resellers or reseller APIs to avoid more “hops” and DNS instability.
- Domain expires at least 5+ years in the future. Don’t wait to autorenew your domains every year, if you have a “money” site where reputation matters, show the world you’re in business for the long-term and keep your domains registered at least 5+ years into the future at all times.
- AnyCast DNS only. These days AnyCast is mostly everywhere, but some registrars still don’t use it. If you’re on Cloudflare, AnyCast is active… but your registrar should have it too.
- Noindex Tags. Tags should be for internal navigation and usability, and not for search engines indexing, at least by default.
- Noindex Author Pages. Blog author profile pages should be noindexed by default, as the vast majority of sites have empty profile descriptions. Usually only high traffic news websites or very tech savvy companies customize the profile pages into something worth indexing by search engines.
- Noindex Archives. There is almost no reason to allow search engines to index date-based archives.
- Noindex pagination (always). There is no reasons to index paginated pages for really any type of URL entity, it only risks duplicate content or low value content penalties. It can also risk a paginated page getting more rank and etc that the proper parent (root) content.
- Avoid certain WordPress plugins. With tens of thousands of WP plugins out in the wild, there are a few categories of plugins you should avoid installing in order to achieve long-term stability, security, and performance.
- Independent custom post types (CPTs). One of the worst trends in recent years is for “premium” WP themes to bundle a plugin or script that generates CPTs that match their design concept. This is a horrible idea, because if you want to change themes, you can’t, and are stuck… until you spend a lot of time or money converting all your old post types into new pages/posts that match the new theme you want to change to. Instead of bundling CPTs, “premium” themes should ALWAYS use or recommend an independent plugin to generate the CPTs, and then within the theme’s settings you can choose (connect) which CPTs should be associated with whatever template/layout. For example, a Portfolio or Real Estate listings post type generated with a third party plugin like the popular Custom Post Type UI plugin can be connected in your theme settings with the proper template or layout. Not only does this accomplish portability, which is one of the main purposes of using a FOSS CMS like WordPress, but it also results in much better stability and security, since bundled CPT scripts are almost always poorly maintained.