Last Updated on December 6, 2021
Opencart out of the box is pretty bad for SEO.
Urls aren’t optimised, canonical links are wrong, and filters can create big problems!
And while you could customise each feature by hand, buying an extension will save you time and money.
So here we have the best SEO extensions you need to get started ranking your Opencart store.
Which parts of Opencart require immediate optimisation?
So while some parts you may be able to get away with, there are a few essential parts of Opencart that should be fixed to avoid issues in Google rankings, which are:
- SEO Urls (keywords instead of random strings).
- Sub-category canonicals (to include the main category).
- Product canonicals & breadcrumbs
So let’s go over each one and see which extension / module can fix it.
1. SEO Urls for Opencart: Categories, Products, Information, Brand, Cart, Checkout, Homepage
Now while it’s fairly simple to enable SEO urls for the basic pages in Opencart, it can be a bit more tricky to make things like the internal links, information pages, and others become SEO friendly.
The basic Opencart url for something like the information page is: https://domain.com/index.php?route=information/information&information_id=4
And the basic internal link for the homepage is: https://domain.com/index.php?route=common/home
Now Google really hates no-descriptive urls, especially those with lots of strange characters as it finds them more complicated to process, so we want to enable SEO urls so that we can change these to ideal urls:
Ideal information url: https://domain.com/contact
Ideal homepage url: https://domain.com/
1st Step – Enable SEO urls in the Htaccess and Admin Area
So you may have to get slightly technical here, you basically need to edit the name of the file .htaccess.txt to .htaccess, which should be present in the root folder of your website hosting (check via File Manager or FTP).
Next we need to change the setting in the admin area. Go to System -> Settings, then click the edit icon on the right, go to the server tab, and next to the SEO url settings set it to Yes.
Now you should be able to successfully edit the SEO url in your products, categories, information and brand pages with the SEO keyword field.
2nd Step – Extra Pages Require an Extension
So unfortunately it’s too much effort to manually code the other pages to work (not to mention that you’ll have to do it again if you upgrade Opencart versions), and so we need to purchase an extension for this.
The best Option: Opencart SEO Pack Pro by iSenseLabs
There are so many SEO options with this extension, and it will really help you manage the SEO of your Opencart store (particularly if you have a lot of products), but this setting is all we care about here.
You can easily switch all the non-seo optimised urls for things like account, login, checkout, homepage, etc to their optimised variations.
This is well worth the money at just under $100 when last checked.
The iSenseLabs support team are also excellent, and they can fix any integration issue within a few hours usually.
You can click here to buy, and it’s available for instant download.
2. Sub-category Canonical Links – Make Them Right
So if you have a sub-category on your website, you might not have noticed but the default Opencart canonical is this: https://domain.com/sub-category
That means that Google will index and rank that page without the sub-category in the url.
This is not ideal, we want Google to rank this variation in 99% of cases: https://domain.com/category/sub-category
You can verify this by checking the official Opencart demo, where you will see urls like this for a sub-category canonical: <link href=”https://demo.opencart.com/index.php?route=product/category&path=26″ rel=”canonical” />
The url of the page is actually: https://demo.opencart.com/index.php?route=product/category&path=20_26
So to fix this, we need another extension!
Solution – Path Manager by Geeko
This brilliant little module will allow you to customise the canonical paths for categories and sub-categories.
As you can see from the image above, you get a choice as to which url to use for internal links, and another option for the canonical url that Google will choose.
These choices for each are:
- Direct path – everything comes off the root of the domain, eg: domain.com/category
- Full path – the full string is uses, eg: domain.com/category/sub-category
Now because you can choose either option for both the canonical and the internal urls, there’s loads of flexibility. However I recommend you choose Full path for both options.
John provided fantastic support for any conflicts, helping you get it up and running nice and fast.
You can buy it from the Opencart extension store here.
Bonus – You can Customise Product Canonicals and Breadcrumbs too!
It also allows you to customise the breadcrumbs for your products, so even if your url is from the root domain (recommended, domain.com/product-url ) then you can still include a breadcrumb to a category (which will also show in the Google results if you have the right schema.org code included).
The options for your product canonical urls are:
- Direct link: direct link to product, no category included (ex: /product_name), this is default opencart behaviour
- Shortest path: shortest path by default, can be altered by banned categories (ex: /category/product_name)
- Largest path: largest path by default, can be altered by banned categories (ex: /category/sub-category/product_name)
- Last category: only the last category of the product will be displayed, if you have a product in /category/sub-category/product_name the link will be /sub-category/product_name
- Manufacturer path: manufacturer path instead of categories (ex: /manufacturer/product_name)
This offers you so much flexibility for your product url structure.
My recommendations:
- If your products are in multiple categories and sub-categories then choose the Direct or Manufacturer path.
- If your products are in one category only then you can choose between Direct, Shortest and Manufacturer path.
It also allows you to add categories to breadcrumbs, even when you use the direct path. This option can be controlled by using the banned category feature, which allows you to remove certain categories from ever appearing in breadcrumbs / canonical urls.
Like I said previously, the support is amazing and it’s getting upgraded regularly.
Click here to buy it on the Opencart store, immediate download.
Page Speed – User Experience SEO Factor
User experience is a big factor in your SEO rankings, and so page speed plays a big part in SEO.
To maximise the speed of your Opencart store, I recommend using Opencart Lightning.
It’s will provide incredible speed, however you should double check the robots.txt rules it creates don’t block any pages you want to be crawled.
I can’t stress enough how much this increases the load time of your Opencart store, it usually cuts it in half, if not better, and there’s a 7 day free trial to callobrate any errors.
Click here to buy it on their site.
Additional Category Content
When you’re optimising category pages, it’s really important to add supplementary content that’s relevant to sub-queries of the main term, as it will help to improve the page relevance.
The best way I find to do this, is to include a short category description at the top of the page, then have an additional category field underneath the product list.
The best module I’ve found to do this is HTML Content + JS Read More.
It condenses overly long text with a read more link based on the settings you create, and allows you to place additional content below the listings.
Click here to buy it on the Opencart extensions store.
Schema.org Additional Fields
This is an area where I have not found an appropriate extension to fix.
In most cases, you will have to hard code additional fields of schema.org into your theme, such as for EAN numbers, seller (in the Offers section), and brands.
If you need help with this, email me at info@matt-jackson.com
Opengraph Data – Social Snippets
There are lots of Opencart themes that don’t come with Opengraph data enabled, which means when shared on social media they don’t have a very well optimised snippet.
You can find relevant extensions depending on your version here.
HREFLANG Tags – International Multi Store Optimisation
If you’re serving customers in multiple countries using different languages, then you need a way to link the stores using HREFLANG tags to tell Google they are duplicate versions of each other for different locations.
The SEO Pack Pro extension can manage this for you.
Do you need expert help with your Opencart SEO?
I’ve worked with Opencart for over 7 years, and I know how to make it perform well in search.
If you’re interested in an Opencart SEO service, then email me at info@matt-jackson.com to get the conversation started.
Thank for this valuable article and please share more tips about SEO of opencart website.
Glad you liked it Shubhra! You can see all future Opencart posts here: https://matt-jackson.com/opencart/
Hi Matt, a good read indeed!
Unlike WP – opencart is all together different ball game.
Coming to page speed OC Lightninig – is there a free variant too?
And any plugins to optimise Images separately, or OC Lightning takes care of it too?
If you could shortlist best 3 plugins to go without brains (and without bucks to start, upgrade later options) that would be great!
Hi Vaibhav,
Opencart lightning offers a free 1 week trial, but there is no free version. It’s well worth it though.
My top 3 extensions for SEO would be Opencart Lightning, Path Manager, and Additional Category Content – as this will give you speed, control of canonicals, and the ability to optimise your category pages well.
Hi Matt,
Great post.
I have a question. I am in the process of cleaning up a website which uses the following path manager settings:
Product: Shortest Path
Breadcrumbs: Direct Link
Category: Direct Link
I believe the above settings are contributing to duplicate content/canonical issues.
Would you be wary of changing the config to the correct paths on an established site?
Adam
Hi Adam,
Path Manager should be auto-updating the canonical URLs to the settings you provide, which is supposed to fix any issues related to duplicate content. It’s perfectly fine to change the settings, but there will be a delay in Google processing them, particularly if your site is crawled less often. You will also need to update any manual linking to reflect the new structure, to ensure Google fully respects the new version of links.