OXID eShop onpage SEO capabilities
The German portal onlinemarketing.de recently published a guest blog post by Herbert Buchhorn of clicks.de. The author used a checklist of SEO specific built-in features, but omitted significant advantages OXID is offering. I will adapt the same check list to show what OXID eShop can deliver from a SEO perspective. As I’m frequently asked about SEO topics anyway, I hope you will enjoy the post, even if you have not read the published comparison.
I know OXID eShop quite okay but can’t speak about the other systems compared, that’s why I concentrate on OXID’s SEO feature set in this blog post.
And yet another preamble: It doesn’t make sense to put all features – no matter if SEO or not – into the shop core: the business cases and requirements can differ widely out there, and in some cases (think of private sales or a shopping clubs) it doesn’t even make sense to focus on SEO at all. That’s why a huge range of modules are available for OXID eShop for extending the core functionality easily. In the future, we will even push this behaviour.
#1 Is it possible to generate self-explanatory URLs?
Of course OXID eShop supports the so called self-explanatory URLs. Technically the request is sent to oxSeoEncoder where URLs like http://myoxideshop.de/Category/Product-item.html
will be generated. For this the Apache server component mod-rewrite has to be activated, which is mandatory for the installation of OXID eShop. You might want to adjust these URLs shop-wide in admin -> Master settings -> Core settings -> Tab “SEO”.
Please note: by default the URLs use characters in upper and lower case. If your SEO agency tells you to use lower case only, these changes can be done with a module or even with a simple trick (translit_lang.php).
#2 Are TITLE tag and META descriptions freely editable everywhere?
Please adjust your meta tags via admin -> Administer products -> Products -> Tab “SEO” (alternatively in Categories -> Tab “SEO”). If you don’t do it, the default values will be used for oxShortDesc and oxTags.
Title tags can’t be edited that easily, and certainly, why would you? Apparently this value is generated from oxTitle. If you have to have this feature anyway, check out one of the available modules for it, for example asy_seotitle.
#3 Avoid duplicate content
Duplicate content happens when a product item is assigned to more than one categories and will be indexed like .../category1/product-item-a.html
as well as ...category2/product-item-a.html
.
Can product items be assigned to several categories without generating different product URLs?
Fortunately, OXID resolved that with canonical tags: Sometimes it might be absolutely helpful to find the category name in a URL for SEO reasons. On the other hand, a canonical tag automatically detours to the original product item, and this way (at least) the second page will rank weaker – a wanted behaviour.
Will parameter URLs automatically be excluded from index (via NOINDEX tag)
Additionally parameter requests will be automatically excluded from being indexed (NOINDEX tag) as can be seen in this example:
http://demoshop.oxid-esales.com/community-edition/index.php?lang=1&force_sid=38fed0af81918cc4bbea40d01ca0ba1e&cl=start
Please find this in the HTML source code: meta name="ROBOTS" content="NOINDEX, FOLLOW"
#4 Adapt index options
Unimportant pages or pages with duplicate content, for example the cart or search result pages of the internal search, shall not be indexed by the search engine. These pages would unnecessarily bloat the total number of indexed pages.
Will (for SEO) unnecessary pages automatically excluded from being indexed?
Yes, via robots.txt. This file is delivered in the standard packages and already contains all necessary options for standard setups. Example:
http://demoshop.oxid-esales.com/community-edition/robots.txt
As all of us know, robots.txt is only a recommendation to the search engine. As most search engines follow this recommendation but 100% exclusion cannot be guaranteed. There’s no other way to achieve this behaviour from a technical side, that’s why we strongly recommend to clean up the indexed pages via Google webmaster tools regularly.
Especially: Will search result pages automatically be excluded from index?
Yes, via robots.txt. Example:
https://github.com/OXID-eSales/oxideshop_ce/blob/v4.9.4/source/robots.txt#L44
Can these index options be adjusted via admin panel?
Not as long as you have two sane hands, able to use a simple text editor and an FTP client. Everything else would unnecessarily bloat the admin panel options.
#5 If a URL has to be changed, will the old URL automatically be redirected?
Sometimes it is necessary to change a URL, for example if the title of a product has to be changed. A redirect will link to the new URL in order to keep the former ranking. If the title of a product is changed and the URL with it, OXID eShop moves the old URL to the table oxseohistory. If somebody hits the old URL now, he will be redirected with the HTTP header 301 – “permanent redirect”.
With this feature it is also possible to move from another shopping cart system to OXID eShop without loosing the ranking. All you have to do is to fill oxseohistory manually with your former URLs.
#6 Adjust correct pagination
Paginated series of content such as a product category with product items spread into many several pages can be seen in nearly every shopping cart. By using HTML attributes rel=”next” and rel=”prev” in the templates, you are giving search engines a strong hint that you would like to a) send users to the most relevant page (typically the first page of the series) and b) consolidate indexing properties, for example links.
The rel=”prev” and rel=”next” attributes are automatically inserted on sites with a pagination in OXID eShop:
https://github.com/OXID-eSales/oxideshop_ce/blob/v4.9.4/source/application/views/azure/tpl/widget/locator/paging.tpl#L5
#7 Will an XML sitemap automatically be generated and updated?
XML sitemaps make it easy for search engines to gather the structure of an online shop.
This feature is not implemented into the standard package of OXID eShop but can easily be upgraded with a module. As there are many ways and philosophies on how the perfect sitemap shall look like, this feature shall remain an extension.
#8 Content is king
Use all possibilities OXID eShop offers to generate unique and relevant content for your product and category description including the right search phrases in texts and images. Additionally use the implemented CMS functionality extensively or consider connecting a blog or content from other CMSses via TOXID.
#9 Internal linking
OXID eShop is out of the box ready to offer internal linking. Use the cross selling options, tags, accessories and similar product features to intense this internal linking.
#10 Rich snippets
The standard package of OXID eShop comes with rich snippets out of the box: in Azure theme, we use RDFa + GoodRelations ontology. These semantic markups are intended to make a site easily readable for machines such as search engine crawlers. Sites to use this feature will most likely be honoured by search engines.
Nice Marco!
Good to know all these facts at one Place;)
I want to add an Important note:
For tags and the resulting Pages of it, it is not possible to change the Meta Title.
That is not soooo good. And
there is no Module …or is there any ?
Greetz Michael
Thanks for your comment, Michael. There are some modules available: Go to http://exchange.oxid-esales.com and search for “seo tag”.
Hi Michael,
you can use our SHOPSEOPACK to add Meta-Titles to Tag-Pages (or any other page). Just have a look at it in our demo shop if you like:
http://demoshops.einscommerce.com/loadbalancer/?type=backend
You can search the tag page you like to edit in the page list and change the Meta Title (or other Meta information, SEO-URL, etc.).
Best regards
Lukas
Rich snippets out of the box?
did some research how the OXID reference shop use rich snippets.
(https://www.oxid-esales.com/en/references/references/highlights.html)
4 (out of 7) have no snippets
3 use schema.org snippets
0 use good relations
http://www.gartenmoebel.de – no snippets
http://www.bergzeit.de – schema.org
http://www.myoma.de – no snippets
shop.item-m6.com – schema.org
http://www.closed.com – no snippets
shop.semikron.com – no snippets
http://www.street-one.de – schema.org
Looking at the code, there are no article related rich snippets.
The only OXID site with good relations is mayersche.de, but its bloated and buggy.
Best regards
Thomas
Hey Thomas,
thanks for your reply.
Yes, out of the box: actually, the built in rich snippets feature is kind of a proposal that comes with the standard delivery of OXID eShop. By default, this feature is switched off, also it is connected to the template set (default = Azure) that is used.
As every project is different and templates as well as built in features – especially in projects with a bigger budget like you picked out of the ref’s – are usually altered heavily in order to make this specific business unique and fitting to it’s needs.
In other words:
*If you set up a default OXID eShop installation and switch on the feature, don’t alter the template, it works out of the box.
*If you decide to not use good relations/RDFa, you may not switch on the feature. If you want to use schema.org in your project, you build it in instead.
Hello Marco,
thanks for your quick response:
Maybe someone should try to test the RDF snippets with the google testing tool.
https://developers.google.com/structured-data/testing-tool
Google reports unspecified type: http://purl.org/goodrelations/v1#offers [http://purl.org/goodrelations/v1#Offering]:
Best regards
Thomas