Hi everyone. Let me start by thanking SEO Moz and Regal Creative for such wonderful job organizing this event. Kyle and Andrew at Regal were instrumental in getting the Milwaukee application on the map and they deserve a big round of applause for their work. \n\nMy name is Victor Drover and I own a Joomla development shop based out of Sussex, WI. We also develop a number of add-ons for Joomla CMS including the most popular SEO management application for Joomla, sh404SEF. \n
sh404SEF is the choice of SEO add-on for every SEO professional I know using Joomla. It is a full-featured SEO add-on that modifies the core CMS output in order to maximize SERP placement for Joomla-based web sites. \n\nAs such, we have a lot of experience looking at CMS architecture and finding solutions to SEO obstacles. Today I want to share some of that knowledge with you in a way that gives you some actionable items for you to apply in your own portfolio or perhaps even just a single site that you are responsible for.\n
Typically I give very detailed seminar about WHY Joomla CMS in particular has issues, and Joomla users can view my slides on that topic HERE (Link).However, given the time we decided that a more general discussion of SEO for FOSS CMS users would be more appropriate given the large Drupal and WordPress userbase in the area. \n\nSo for the next 9 minutes I’m going to give some very broad pointers on what to look for when analyzing your CMS, and use solutions from the big 3 to illustrate my point.\n
So let’s start with one of the big problems faced by any content managenent system, duplicate content. \n\nI am sure many of you recognize this screenshot from the on-page report card at SEO Moz. With regards to your CMS architecture, the most important factor is at the bottom, “Appropriate use of Rel Canonical”.\n\nBy adding Rel Canonical to the head of any duplicate URLs, you signal to the search engines that the preferred URL for page being indexed is at another location, and thus all the SEO link juice can be consolidated on that canonical link.\n\nDrupal, Wordpress, and Joomla with sh404SEF handle most canonical URLs automatically, including common duplicate URLs for “printer-friendly” URLs, for example.\n\nImportantly, a good CMS needs in an automated system to handle the most common issues as well as a way to customize canonical URLs as necessary. \n
In Joomla, every URL can have a canonical URL specified manually. sh404SEF ships with a dedicated URL editor that allows you to customize the canonical URL as shown here in purple.\n
In Wordpress, this requires the WordPress SEO plugin. Here you can see an example of editing the canonical URL of a post, but there is a similar workflow is used for pages, categories and tags. \n\n
In Drupal 7, you can configure canonical URLs in the System configuration. The Meta Tags builds on that and allows you to specify canonical URLs for each content item also. \n
Optimizing the Title Element or “Title Tag” is another important thing you can do to improve your SEO campaign. Thus, it makes sense to be able to control this very tightly. Similar to canonical URLs, your CMS should be able to apply a default pattern so that keyword-containing Title tags are automatically generated. In addition, you ensure that have the ability to customize the title as required.\n
Drupal has a very powerful system in the Meta Tags module that allows you to set sensible patterns for the default Title. In addition, almost any piece of data can be added to the Title using the appropriate Drupal Token. For example, in this case I’ve decided to add the Author and Creation Date to the Title. \n\nNote also that for most sites we recommend to remove [site:name] from the pattern.\n
Like most CMSes, Drupal also allows per-item Title customization and pulls in the default pattern dynamically.\n
Social media is now an undisputed factor in SEO since content sharing are strong personal recommendations that can signal to search engines that a specific URL is important. However, there is a lot more to social media SEO than placing a “Tweet This” or “Like” button in your content.\n\nWhen Open Graph is integrated, passive activity by your “friends” can be recorded and acted upon. This includes simple items such as peer content and product recommendations in search results as well as posting content-specific items to a users Facebook page.\n
As you can see here, the endorsement by someone I know is a very powerful signal that usually generates higher click-through rates in SERP.\n
In the SEO Ultimate plugin for Wordpress, you can configure Open Graph settings and select different Open Graph Object types depending on the type of content. \n
With sh404SEF in Joomla, the content with the most social engagement is shown (similar to the top-referrer) and sharing activities can include local information about your business or service to help with SERP for local searches.\n
Of course every SEO campaign benefits from reports and metrics of various kinds. The SEO Tools module for Drupal is a suite of tools that provides a comprehensive data set for your campaign. \n\nDepending on the size of your organization, it can be really helpful to have this integrated right into your administrative area so as to help maintain awareness of SEO during regular maintenance and content additions/creation.\n\nOf course we recommend that this be used in combination with a broader set of tools and 3rd-party services. \n
If your CMS uses paginated content in it’s articles, you’ll want to ensure the links contain the appropriate rel next and rel prev attributes as show above. Like rel canonical, the next and prev link types help search engines consolidate link juice to the main or preferred URL.\n\nThere are a few ways to handle paginated content, but to apply next/prev to Drupal and other CMSes, this usually involves editing a function and/or template. The Wordpress SEO plugin by Yoast and sh404SEF for Joomla do this automatically for all content using the core pagination function.\n
More and more, performance of a web site is affecting SERP placement. Not only is page load time a ranking factor, a faster server leads to more indexed pages. \n\nFrom the perspective of a search bot, there are many ways to improve the performance of a web site. The Boost module is a very popular option for Drupal users, but in general using content delivery networks, minifying and compressing css and javascript and even moving to a better server can provide large benefits. \n\nIn this graph of the # of pages indexed, it’s pretty clear when the server was upgraded.\n
I also want to mention the power of centralized URL management. None of the CMSes mentioned store search engine friendly URLs by default, but there is a lot of power in doing so. \n\nIn sh404SEF for Joomla, all the URLs for the entire site are listed in the main dashboard with links to custom meta data, duplicate URLs, aliases (alternate/custom URLs) and custom URLs shown clearly. Importantly, this allows for robust duplicate URL suppression, one of the most common issues with a CMS-based web site. \n\n\n
In addition, but a centralized URL manager as shown here allows you to override nearly every important parameter associated with the URL, including the Title Element and Meta Tags, aliases, and Open Graph properties. \n\nStoring URLs in the database has the added benefit of making sure that when an existing URL is changes, the original URL is converted to an alias. Any backlinks to the original URL receive a 301 redirect to the new URL, preventing any loss of SEO juice for items already indexed by the search engines.\n
Configuring the URLs can also have SEO benefits, and you’ll want to choose a pattern that works best for your field. \n\nIn the WP settings, you need to specify a permalink syntax that includes AT LEAST the title. In Drupal, use Pathauto to automatically rewrite the URL using the title of the content item: node:title. Like the Page title, the use of patterns makes for a lot of flexibility in URL creation.\n\nFor Joomla, you simply select the thing you want in the URL from a graphical user interface in sh404SEF. \n\nNo matter what CMS you are using however, use a pattern that makes sense and includes keywords (i.e. based on the Page Title). Depending on the size, organization and type of content, you may also include categories, tags or similar taxonomy as well as the date and/or unique article IDs.\n
In closing, I want to discuss crawling and sitemaps. The latter is actually a well-covered topic and I am sure most of you are already updating and your sitemap.xml file regularly. \n\nHowever, I have found great value in using crawling software to discover unexpected SEO errors on a site. Sometimes these are user-generated errors, other times they are CMS/infrastructure errors that indicate larger problems.\n\nFor small sites, I will often use a web-based solution such as this one from Audit My PC but numerous hosted and local solutions are available. Importantly, choose a crawler that displays status code (200, 404, 500, etc..) as well all the incoming links for a given URL. This will help you find the source of the problem with ease.\n