Hi again!
The product link you shared does not have a proper canonical URL, meaning the product cannot be indexed. This is because of the problem I described earlier: WordPress doesn’t know this product exists.
The SEO Framework grabs the canonical URL from WordPress literally via get_the_permalink(); TSF only changes http
to https
if needed, and fixes pagination issues. So, if TSF cannot generate a proper canonical URL, neither can WordPress — WordPress isn’t communicating with the plugin.
Even though WordPress’s Post and Post Meta APIs are dated and could’ve been improved, it’s what WordPress runs on. Reinventing that wheel only causes compatibility issues, often undetected, and we’ll end up with a triangle.
My past decade with WordPress primarily involved working with query APIs and not the parts that users see. From this experience, I must reiterate that “[NC’s] underlying infrastructure must be reconsidered, as it will be an everlasting battle for compatibility. WordPress is already the CMS; it shouldn’t have another CMS running with it.” The team behind NC can choose to either spend two months now changing its custom product architecture into a WordPress Post Type-based one or spend another decade fixing compatibility issues that pop up everywhere. Note that many of these kinds of issues can go undetected for years; just like this one with Gutenberg caused by working around the standard API, rendering pages unindexable by search engines.
Other plugins like ‘LearnPress’, ‘WordPress Classifieds Plugin’, ‘bbPress’, ‘Ultimate Member’, ‘wpForo’, and ‘The Events Calendar’ also built a CMS on top of the WordPress CMS, constantly bringing me headaches. For bbPress I went out of my way to fully support it; for many others, I have either left it to their developers to patch the issues, disabled TSF on their pages, or addressed the most pressing issues only.
I thank you for your praise of TSF. Still, I hope NC’s team can learn from the aforementioned plugins’ mistakes and avoid compatibility issues altogether, where we’ll only have to detect the Product pages as we do for WooCommerce (all other filters are for improved UX only, and some cleanup of duplicated tasks), and as we do for Easy Digital Downloads.