Requirements and install¶
SEO Suite Pro installs like every other extension sold here. Follow the shared procedure rather than an SEO Suite Pro-specific one:
- Requirements: check these first.
- Installing an extension: upload, enable, grant permission. All three steps are required.
- Troubleshooting an install: if it did not work.
What is specific to SEO Suite Pro¶
One archive, one Install button, five screens. The suite appears once in Extensions → Extensions → Modules, as SEO Suite Pro. Installing it installs all five areas; there is nothing to install five times.
The permissions to tick¶
The suite has one route of its own and one per area. At step 3 of the shared procedure, tick these under both Access Permission and Modify Permission:
extension/seo/module/seo
extension/seo/seo/urls_and_meta
extension/seo/seo/markup
extension/seo/seo/alt_text
extension/seo/seo/redirects
extension/seo/seo/xml_sitemap
The group that installed the suite already has all six, granted at install so that the screen you land on is not a page of doors you are refused at. Every other user group is granted nothing, which is what the list above is for.
An area is a permission on its own deliberately. Give a marketer
urls_and_meta and alt_text and nothing else, and they get the wording
screens without the sitemap schedule or your redirect rules.
Two more routes are granted at install, extension/seo/customer/personal_data
and extension/seo/customer/purge. They are this suite's half of the two
data-protection screens under Customers. See what this holds about a
person.
Turning the areas on¶
Installing changes nothing about what your shop serves. After the install:
- Switch SEO Suite Pro on from the suite's own screen. This is the switch OpenCart's extension list reads to show the suite as enabled.
- Open each area you want and switch its Status on too. All five arrive off, and an area's own Status is what decides whether that area does anything: switching the suite off does not stop an area that is switched on.
All six switches are off again after an upgrade, on every shop, the way a fresh install arrives. Everything else you set on the five screens comes back as you left it, and nothing the areas accumulated is affected. See what an update keeps.
Updating from 1.3.0 or earlier: note your settings down first. Versions up to 1.3.0 kept no copy of your settings, and it is the old version's uninstall that runs at the start of an update, before the new version can keep anything. So this one update still asks for every value you typed on the five screens again. Write them down, or take a screenshot of each screen, before you update. Every update after this one keeps them.
What it puts in your database¶
Four tables, all of which survive an uninstall on purpose:
| Table | Holds |
|---|---|
oc_seo_redirects |
your redirect rules and the list of URLs that 404'd |
oc_seo_alt_text |
the image descriptions, per product, image and language |
oc_seo_markup_override |
your per-page canonical and robots-directive (noindex and the rest) overrides |
oc_seo_setting |
a copy of what you saved on each screen, which is how an upgrade gives it back |
They are kept at uninstall because an OpenCart upgrade is an uninstall followed by an install, and a table that came off with the module would take your work with it every time you upgraded to keep it. Removing any of it stays a deliberate act on a screen.
It also registers event rows and one hourly cron row, all of which are removed cleanly at uninstall.
What it puts in your web root¶
Only the XML sitemap area writes files, and only when you turn it on:
robots.txt and the sitemap*.xml set (under other names if you change them
on the XML sitemap screen), in your store's own document root.
They have to be real files (see limits for why), and
none of their names comes from a request.
Uninstalling removes the sitemaps and takes our block back out of robots.txt,
leaving every other line in that file exactly as it stands.
Keeping the sitemap current on its own¶
Scheduled regeneration needs your store's cron to be running, and nothing
else. SEO Suite Pro registers one hourly job on OpenCart's own scheduler, listed
under Extensions → Cron Jobs, and that job asks the cycle you chose on the
XML sitemap screen whether a run is due. If your host is not calling OpenCart's
cron.php, nothing regenerates on its own, though the Generate button on
the screen still works.
On OpenCart 4.1.0.4, use the command line. That release cannot run any
scheduled task at all: its cron.php fails inside OpenCart itself, before any
extension is reached, for every extension on the store. See
4.1.0.4.
SEO Suite Pro's screen says so on that release, and everything else about it works.
The door that release leaves you is a command, run from your store's own directory:
cd /path/to/store
php extension/seo/seo.php
It does exactly what the hourly job would have done (asks your chosen cycle whether a run is due, and regenerates if it is), except that it runs to the end rather than stopping at the end of one wake-up, so a large catalogue is finished by the time the command returns. Give it to your host's cron panel, or a crontab line, on whatever timing you like:
0 * * * * cd /path/to/store && php extension/seo/seo.php
Three things worth knowing about it:
- It takes no arguments. Anything typed after the filename is refused, so a mistyped flag stops rather than being ignored.
- It exits 0 when your sitemap is current afterwards (regenerated, or already what your cycle says it should be) and 1 when it is not, so a monitoring check or a deploy pipeline can act on it.
- It is a terminal command and not a web address. Asked for over HTTP it
answers
404, and there is no address to paste instead. That is deliberate: a sitemap that regenerates a few hours late costs you nothing a search engine notices and is made up in full by the next run, which is not worth a secret living in a control panel, a browser history and a server log. If you have no shell on your hosting, press Generate on the screen instead. The result is the same document.