Jump to content

Canonical url error


QParts

Recommended Posts

Hi all!

What can be the reason for that the canonical is not converted in the source of the page for META tags?

<link href="http://qrpparts.com/index.php?_a=product&product_id=254" rel="canonical">

The url rewrite works in the menu and on the product pages, but for example, on the line, below the menu it writes like this:

cc_canonical.jpg.8dc5ea44d2c8b68f677b17b1f410832c.jpg

 

The google says: User-declared canonical N/A

The htaccess rewrite rules are fine.


Can you give me an idea of which file to watch?
Thanks in advance

Link to comment
Share on other sites

Welcome QParts! Glad to see you made it to the forums.

URLs that stay as _a=whatever&whatever_id=number indicates the SEO functions (aka, friendly URLs as opposed to standard URLs) are not working.

I would say that you may be running CubeCart 5, but then the skin is definitely Foundation. The Foundation skin can certainly be run on CubeCart 5, but I think this is not the case.

Looking at the /diodes.html page, the only thing not working right is the breadcrumbs (and the canonical link). Same with the /diodes/rf-switching.html page. Bad breadcrumbs and canonical.

So, something is commonly affecting both breadcrumbs and the canonical link.

I notice that you have a link to datasheets. Is this a plugin? If so, temporarily disable it. If you needed to make changes to the code, temporarily restore to the original versions of the CubeCart code files (including changes to the skin).

Link to comment
Share on other sites

The file /classes/seo.class.php, the method SEOable() is given the standard querystring and returns the friendly.html string. But, a test in /includes/functions.inc.php, currentPage(), first makes sure that the SEO class is instantiated.

So, we may want to watch if the SEO class has been destroyed when GUI->display() gets called.

Adding a breadcrumb in GUI->addBreadcrumb() also uses SEO->SEOable().

But then, so does a lot of other code.

Link to comment
Share on other sites

Dear bsmither,

I use Cubecart V6.
I copied the original theme, but the same error.
"Datasheet" is not a plugin. Just one link.

I find error_log for such lines.

[28-Jun-2019 06:43:56 UTC] PHP Warning:  preg_match() [<a href='http://docs.php.net/manual/en/function.preg-match.php'>function.preg-match.php</a>]: The /e modifier is no longer supported, use preg_replace_callback instead in /home/brbyx3qrsn4j/public_html/classes/seo.class.php on line 637


Can it be related?

Link to comment
Share on other sites

Problem resolved!

https://github.com/cubecart/v6/issues/2301

In seo.class.php, line 637:

if (preg_match('#^(.*/)?[\w]+.[a-z]+\?_a\=([\w]+)(?:\&(amp;)?([\w\[\]]+)\=([\w\-\_]+)([^"\']*))$#ieS', $path, $match)) {

Suggest removing the e modifier, to read:

if (preg_match('#^(.*/)?[\w]+.[a-z]+\?_a\=([\w]+)(?:\&(amp;)?([\w\[\]]+)\=([\w\-\_]+)([^"\']*))$#iS', $path, $match)) {

 

Thanks for the help! The shop is now working perfectly!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...