SEO+in+Drupal

= **SEO in Drupal** = **Marc, Shawn, Cory, Roxanna, Magdalena**
 * CCT460 Seminar**

__**Screenshots:**__







**__Search Engines and Web Crawlers:__** Search engines are programs that search documents for specified keywords and returns a list of the documents where the key words are found. Web search engines use specialized programs that browse the web in a methodical, automated and orderly fashion called web crawlers. Web crawlers travel through the web, make copies of the sites they visit, and return the results to search engines for indexing. Proprietary algorithms power the indexing process to present meaningful results for each query. In addition, web crawlers have maintenance functions such as checking links or validating HTML code that are used to keep the search engine database up to date.

**__SEO Definition:__** Search Engine Optimization is the continuous process of improving internal and external aspects of a website to increase site traffic from search engines. This process requires web developers to selectively exploit unique elements that complement the content of the website that ultimately increases page rank and traffic. Once these components are set by developers, the content on your website will be easier by search engines during search queries. Optimizing websites include editing content, HTML, associated coding to increase its relevance to specific keywords and to remove barriers to the indexing process.

**__PATH: Readable URL’s__** The core ‘Path’ module enables custom URL aliases for web pages. By default, Drupal generates addresses that look like this -**http://www.example.com/?q=node/42** – In contrast, the Path module permits more user-friendly addresses to be created using keywords that more appropriately refer to page content, like this - [|**http://www.example.com/?q=company-profile**]

In addition, the Path module can be combined with the ‘Clean URL’s’ module to further optimize human readability by eliminating the **“?q=”** prefix. The benefits to SEO in this case, are such that, superior ranking priority is given to pages with ‘human-friendly URL’s’.

**__PAGE TITLE:__** This module addresses the HTML head within the tag of your code, which is also referred to as the page title. This module allows patterns to be specified, which dictate how each page title should be structured. Moreover, it supports granular control mechanisms for page title modification, and the ability to differentiate/customize page titles from content titles.

Search Engine Result Pages (SERP’s) use both page and content titles to associate your pages content with search queries that specify similar keywords. Tailored page titles are therefore critical to findability for web crawlers and page indexing. //(Reported Installs: 103,244)//

**__KEYWORD RESEARCH:__** Given the critical nature of keywords to SEO, this module offers intelligence to augment keyword selection practices natively from within your website. It does so by leveraging data sources such as Scribe SEO, Google Adwords, WordStream, and Wordtracker to suggest popular phrases and related phrases relevant to your content. A pop-up action menu facilitates one-click suggestion support and popularity ranking in accordance with reports generated from each data source.

Overall findability is naturally enhanced when site-wide keywords reflect popular search phrases. //(Reported Installs: 1558)//

**__META TAGS:__** This module provides an automated approach to structuring the meta description tag for your entire site, as well as meta keyword tags relating to content throughout your site. Meta tags are yet another way to enforce logical taxonomies in your information architecture design, and to further provide flexible keyword options relating to page content. By assigning multiple characteristics to content elements, and associating them with similar content site-wide, this module may help to enhance SEO through both findability and internal linking structures. //(Reported Installs: 21,942)//

**__XML SITEMAP:__** The XML SITEMAP module automatically generates a sitemap from your website that coincides with specifications outlined by sitemaps.org. The implications to SEO are that the sitemap assists search engine crawlers to better navigate your website, and stay apprised of ongoing changes. Furthermore, this module can automatically submit your website’s sitemap to popular search engines for indexing. Several sub-modules are also included that can add sitemap links to menu items, content, taxonomy terms, and user profiles. //(Reported Installs: 126,088)//

__**SEO Checklist**__

SEO Checklist is a module that, just as the title suggests, provides a checklist of SEO related modules for conducting search engine optimization on your drupal site. The module enables users to keep track of what SEO tasks they have conducted and check them off as complete as they progress through the tasks. For the purposes of this seminar I will be discussing Tokens, Page-Title, Clean URL's and XML Sitemap.

**Tokens**: The tokens function is a tricky concept to explain until a user has actually worked with tokens and experienced their functionality. Tokens are essentially containers for text that can be placed into documents or files on your website. The token module itself doesn't actually provide any visible functionality but expands on the power of other modules such as pathauto, page title and others. Tokens are used to place strings of text. For instance, in the Page-title module, tokens are used to define the pattern or structure of the title of a given page. As an example, if you would all default pages to have a pattern of the current page title | and the site name, the token would like this:

[current-page:page-title] | [site:name]

**Page-title:** The page title module uses the token module to allow users to set naming schemes for content tags. This can apply to regular pages, node pages such as articles, or comment pages. The key here is that any page that has a URL (and therefore a title tag) can be configured to accept a naming (or token pattern) through the use of tokens. This is relevant to SEO in that one of the first identifiers search engines gauge for are page title when a user queries a keyword. For instance if a user searches for "Setting up a bluetooth adapter article" pages that have the word "article" in the title will be pushed higher inn the results. Using the token, you can specify that article pages following the token pattern of [site:name] | [current-page:page-title][vocabulary:article] which would give you the site name | the article name followed by the world article.

**Clean URL's: The clean URL's module changes the default drupal URL structure by removing the ?q=. This is useful for SEO as according to google: "**  If you decide to use dynamic pages (i.e., the URL contains a "?" character), be aware that not every search engine spider crawls dynamic pages as well as static pages. It helps to keep the parameters short and the number of them few."

 This is relevant for SEO as it prevents the indexing of pages on your site. Cleaning URLs ensures that your site will be indexed by search engine crawlers and are also easier for end-users to read.

 To enable clean URLs it is first necessary to configure the apache server. To do this log into your cPanel (or other hosting) file manager. Navigate to your Drupal installation and select the .htaccess file. Within the file configure the modrewrite with the following code:

 RewriteCond %{REQUEST_FILENAME} !-f  RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^/ phoenix.sheridanc.on.ca/~ccit609/(.*)$ RewriteRule ^(.*)$ / phoenix.sheridanc.on.ca/~ccit609/index.php?q=$1  [L,QSA]  Replacing the url with your own site's URL. This is telling the server that for any directory or file with the listed url remove the dynamic string and append [L,QSA] (Last, Query String Appended.)

**XML Sitemap: Demonstrate Module. **

**__SEO Challenges in Drupal__** Duplicate Content: Duplicate content occurs on Drupal when ‘Clean URLs’ are activated. Clean URLs can add directories that can lead to duplicate content. By adding a redirect module, this eliminates multiple paths to the same content. When there are pages with duplicate content, Google looks at each page as getting its own page rank. This skews the accuracy of statistics for that web page. The consequences of duplicate content include pages with the same content to be omitted from search engine results. In Drupal, there can be two URLs for a page, one being a file and the other being a directory. An example can be seen in the screenshot below: Solutions to this issue can be to install a Global Redirect Module. This module works to redirect multiple URLs that lead to the same content to one designated URL. This module checks URLs for alias’ and does a 301 redirect to it if it is not in use. It then checks the URL for a trailing slash, removes it and repeats check 1 with the new request. If the URL is the same as the site_frontpage, it redirects to the frontpage if there is a match. Then the module checks if the Clean URLs feature is enabled and checks the current URL is being accessed using the clean method. Lastly, it checks access to the URL and if the user does not have access to the path, then no redirects will be implemented. In addition, make sure the case of the URL being accessed is identical as the one established by the administrator.

Resources