web-development
  • SEO

Wordpress Optimisation

By clariondevelop

Contrary to widespread belief, WordPress is not SEO-friendly out of the box but it is easier to optimize than many other CMS options out there, writes Julia Logan of Irishwonder.com.

With content management systems like WordPress out there, it would seem anybody can put up a site and be done with it. After all, over 12 million sites using WordPress can’t be wrong, can they? Also, there is a widespread belief that WordPress is SEO-friendly out of the box, without any additional modifications. Unfortunately, it’s not as true as one might wish it to be. On one hand, WordPress is far easier to optimize than many other CMSs, especially proprietary platforms used by only one company. WordPress, like any opensource creation, is open to modifications and improvements by anyone who wishes to contribute to its development, and apparently some SEO-savvy developers did have their say over years. A good example of this positive change is WordPress going from the default permalink structure of

domain. com/?p=123 to the more friendlydomain. com/sample-post/.On the other hand, with a typical default installation of WordPress, you still have to deal with multiple issues such as:
  • duplicate content;
  • indexable search results;
  • issues when creating an XML sitemap, etc.
And yet, if you search for WordPress SEO tips, the majority of articles and guides you find will be about installing social widgets and building mailing lists in the sidebar – as if this is the first priority when SEOoptimizing a WordPress site!WordPress issues and resolutions WordPress consists of the core code (the CMS itself) and separately developed themes (changing the way a site looks) and plugins (changing and expanding the functionality of the core WordPress code). What cannot be accomplished with WordPress by default is often provided via plugins. Plugins are developed independently from the core WordPress and then submitted for review to the WordPress plugin directory. But once approved and listed in the directory for all WordPress users to download and add to their sites, nobody controls every update they come up with. This is the first reason why a WordPress site owner should be really careful with the extra plugins they are installing. Plugins are known to be responsible for multiple vulnerabilities compromising site security, as well as malware distribution, unwanted spam etc. Besides, the more plugins you install, the slower your site will become. Site speed is important for Google, so this is something to keep in mind. Furthermore, there are a number of SEO plugins claiming to help optimize WordPress sites. While some of them do provide important functionality such as optimizing titles and descriptions, adding canonical tags and creating a sitemap, before using them you should have a clear understanding of how they work and their limitations. I have seen countless cases of such plugins being set up incorrectly, resulting in more issues for the site than they solve. For example, an incorrectly set up Yoast SEO plugin results in setting every possible version of a URL as canonical, even those resulting from a typo in the URL or added parameters. But the worst happens when you are trying to generate an XML sitemap for your WordPress site. WordPress runs on a database, so every post or page you create becomes an entry in that database. Later on, you may delete some posts, rename them, redirect pages, but the entries in the database still remain. When you are creating a sitemap, most plugins just take all your database entries and use them as your sitemap items. Some let you exclude category pages, archive pages, tag pages etc. but none that I know of let you exclude individual URLs. Worse still, if you redirect using yet another plugin rather by editing the .htaccess file, your plugin building a sitemap does not see what your plugin redirecting pages is doing and includes the old redirected URLs into the sitemap! Many things could in theory be done without using plugins – you just have to be brave enough to edit your theme (if you decide to try it and are using a custombuilt theme, it is a good idea to first save an unmodified copy in case you break anything). To do that, in your admin panel you need to go to Appearance -> Editor. This will display the source code of your currently activated theme (that said, if there is no specific reason for you to keep multiple themes on your server, I’d remove them all except the currently active one). Depending on how the developers arranged their theme, you may see a different number of files in the right-hand sidebar, but typically there will be common elements such as theme header (header. php), theme footer (footer.php), home page template (index.php), single post template (single.php), single page template (page. php), sidebar template (sidebar.php), search template (search.php), archives template (archive.php), category page template (category.php), etc. From these elements plus some others, WordPress builds your site, as if from Lego blocks. WordPress is coded in PHP and uses different functions to connect these parts. If you want to edit the way your title tag is created, you need to go to the source code of the header.php file. You will likely see something like this there: This means the way your title looks is defined in another file, functions.php, and wp_title is the name of the function you need to edit. Again, while this may differ depending on the actual theme you are using, in default WordPress theme Twenty Fourteen this function looks like this:function twentyfourteen_wp_title( $title, $sep ) { global $paged, $page; if ( is_feed() ) { return $title; } // Add the site name. $title .= get_bloginfo( ‘name’, ‘display’ ); // Add the site description for the home/front page. $site_description = get_bloginfo( ‘description’, ‘display’ ); if ( $site_description && ( is_home() || is_front_page() ) ) { $title = “$title $sep $site_description”; } // Add a page number if necessary. if ( ( $paged >= 2 || $page >= 2 ) && ! is_404() ) { $title = “$title $sep “ . sprintf( __( ‘Page %s’, ‘twentyfourteen’ ), max( $paged, $page ) ); } return $title; } What this means is for the home page is that it sets the title tag to what you’ve defined as your blog title + description. However, it does not define anything for the single post or the single page, and the newer theme, Twenty Fifteen, does not even define any of this, leaving it instead to the core WordPress code to provide the rules for displaying the title (in the older WordPress versions and supporting themes this used to be a bit more straightforward). This may mean further development towards making it more customisable by default, regardless of theme, but as of now, you have to be familiar with the WordPress core code to tweak it. So most people just turn to plugins instead.Duplicate contentSo why does duplicate content appear in WordPress sites and how should it be handled? If you are using tags and/ or categories on your site, each post you create in a category or under a tag also appears on its tag and/or category page along with any other posts you have in the same category or under the same tag. Additionally, WordPress automatically creates archive pages for every day, month and year, including posts published on each particular date into their corresponding archive pages. If on one day you only posted one article, or a category contains just one article, or a tag only has one article, the resulting pages will be pretty much exact duplicates of that post page. Even if you have multiple posts showing up on those pages, they are still the same posts with their own standalone pages, so even if you are displaying a part of each post with a link requiring your readers to click to read more, you still duplicate at least part of your content. Besides, if those archive, category and tag pages are indexable, they take up Google’s crawling capacities, potentially away from your most important pages. The easiest workaround would be to set a rule in robots.txt to disallow indexing of such pages and also to add a to ensure the links on the page are followed while the page itself is not indexable. I’d also do the same for search. One important thing to remember about WordPress, however, is that its popularity as a platform also makes it a target for hackers. So whatever you do with your site, ensure you are running the latest version of WordPress and the themes and plugins you use with all known vulnerabilities patched. The general rule is to know what you use, and keep this to the bare minimum.
Back to The Top