We have a website which lists machine parts by code number. These show in a paginated list:
/parts?page=1
has records 1 to 25 of 356736.
We use canonical
, next
, and prev
links. The list may be filtered by brand or by (partial) code number, so /parts
is the overall list, /parts?brand=brand-name
is a sublist, and /parts?code=0.008
is another list. The, canonical
, next
, and prev
links take this into account, so next
and prev
only change the page number (they retain the rest of the URL), while the canonical
URL retains only relevant URL parameters.
Each individual part also has its own page, which is at /parts?part=[CodeNumber]
. The URL may contain a bunch of other parameters relevant to filtering the list, which are used to supply backlinks to the list, but the canonical
link is the simple, tidy URL. There are no next
or prev
links for individual part pages.
There is also /sitemap
, a HTML which contains a link to each page, each product, and each part on the site. One massive long list. (It does link to the overall list of spare parts, but only to the first page thereof, not each page of the pagination.)
There is also /sitemap.xml
, which is an XML sitemapindex linking to eight individual sitemaps, which between them contain all the URLs shown in the HTML sitemap.
Searching by part code returns inconsistent results.
For a few items, mostly those early in the list, Google brings us straight into that part’s unique page. For a few others, also early in the list, Google brings us to the correct page of the paginated list, which is a reasonable compromise.
For part codes in the middle of the list, Google brings us to /sitemap
, which is not ideal but better than nothing.
And for part codes in the latter half of the list, Google doesn’t find them at all.
Is there anything I can do to improve our results?
While our SEO links (next
, prev
, and canonical
) are correct on this list and have been for some time, canonical
links in other parts of the site have been a bit messy till now (mostly, each page just pointed to itself, resulting in a certain amount of duplicate content). I fixed them today. Might that have an effect?