SEO Considerations
Search Engine Optimization is an important area to address when implementing and developing an ecommerce solution to ensure competitive search engine performance. The following guide outlines current Spree Search Engine Optimization features and future optimization development possibilities.
1 Existing Search Engine Optimization Features
Chapter 1 contains a description of the work that has been completed to address common search engine optimization issues.
1.1 Relevant, Meaningful URLs
Several improvements have been made to improve the urls used for products and taxonomies since the release of Spree 0.4.0. The helper method seo_url(taxon, product) yields SEO friendly urls such as http://demo.spreecommerce.com/products/ruby-on-rails-ringer-t-shirt, http://demo.spreecommerce.com/t/brands/ruby/. Rails config/routes.rb is configured to serve the content using these keyword relevant, meaningful URLs.
1.2 On Page Keyword Targeting
Several enhancements have been made to improve on page keyword targeting. The admin interface provides the ability to manage meta descriptions and meta keywords per at the product level. Additionally, h1 tags are used throughout the site for product and taxonomy names. The ease of extension development of layout changes allows for you to target keywords throughout the site.
1.3 Clean Content
The release of Spree 0.8.0 brought a complete overhaul of the frontend including the move to tableless layout. Having clean HTML with minimal inline javascript and css is considered to be a factor in search engine optimization.
1.4 On Site Performance Optimization
Spree has been configured to server one css and one javascript on every page (excluding extension inclusions). Minimizing http requests is considered an important factor in search engine optimization as the server performance is an important influence in the search engine crawl behavior for a site.
1.5 Google Analtyics integration
Google Analytics has been integrated into the spree core and can be managed by a rails preference setting in RAILS_ROOT/app/models/app-configuration.rb. Google Analytics is not included if this preference is set to an empty string. The google analytics setup includes conversion tracking.
2 Planned Search Engine Optimization Features
Although several common search engine optimization issues have been addressed, remaining known issues are discussed in Chapter 2. While solutions for several of the issues are in development, contributions to address the other issues will be very welcome. Visit the contributing to spree section to learn more about contributing.
2.1 Product and Taxonomy Page Title Enhancements
Currently, the Spree core does not include functionality for page title management. The Spree demo has “Spree” as the page title for all pages that use the ‘application’ layout. Page titles are an important part of search engine optimization and should be meaningful and relevant to the page content. Page title templating is in development and can be reviewed at the spree-user group for more information. Discussion of the solution includes creating a templating solution, where %PRODUCT% from %STORE% would yield a page title with the product and store name for all product pages (for example: Ruby on Rails Bag from Spree) and %SECTION% at %STORE% would yield a page title with the taxonomy name and store name for all taxonomy pages (for example: Apache at Spree). Also included in this discussion is the intended functionality to allow page titles to be overridden at the page level.
2.2 Alt Attribute on Product Images
The alt attribute on product images currently pulls data from product titles or the image filename. Enhancing the image alt tag can improve image search performance.
2.3 Known Duplicate Content Issues
In the Spree demo, it is a known issue that http://demo.spreecommerce.com/ contains duplicate content to http://demo.spreecommerce.com/products. Another source of duplicate content is derived from product navigation via different taxonomy paths. For example, http://demo.spreecommerce.com/t/brands/ruby-on-rails/p/ruby-on-rails-mug is considered a duplicate of http://demo.spreecommerce.com/products/ruby-on-rails-mug. Duplicate content can be a detriment to search engine performance as external links are divided among duplicate content pages. As a result, duplicate content pages may not only not be excluded from the main search engine index, but pages may also rank poorly in comparison to other sites where all external links go to one non-duplicated page.
2.4 Integration of Content Management System or Content
There has been quite a bit of interest in development of CMS integration into spree. Having good content is an important part of search engine optimization, as it not only can improve on page keyword targeting, but it also can improve the popularity of a site which can in turn improve search engine optimization.
2.5 Tool Integration
In addition to integration of Google Analytics, several other tools can be implemented for SEO purposes such as Yahoo Site Explorer, Google Webmaster Tools, Quantcast. Social media optimization tools such as Digg, Del.icio.us, Facebook, MySpace, and Twitter may also be integrated to improve social networking site performance.
3 Spree SEO Extensions
The following list shows extensions that can improve search engine performance. Refer to the github README for developer notes.
- Google Base Integration
- Spree Sitemap Generation
- Static Content Management
- Product Reviews
- Product Reviews and Ratings
4 External Search Engine Optimization Efforts
Spree cannot control factors such as external links, quality of external links, server performance and capabitilites. These areas should not be ignored in implementation of search engine optimization efforts.
