Jump to content
thirty bees forum
  • 0

Unique Product Friendly URL problem


Kashir2000

Question

I decided to post it here, but from what i saw on forums, it may not be seen as issue on TB. I'm a web developer and I'm working on Prestashop since late 1.3, I create and sell modules etc.

I really like idea of TB, because I'm against where Prestashop is going and was considering of forking 1.6 myself, after finding out about TB i felt relieved I don't have to.

After playing a little bit with TB I really like it, but there is one thing that is almost unacceptable for me. Meaning: Friendly urls in TB (I'm an enemy of all "remove id from link/url" modules).

If you ask why, then:

  • It does not improve SEO - I tested it... and alot of 1st places in google are with trashy links (like "/c/1" and "category-1" or "product/1" etc.)
  • It forces shop users to acually remember every product to have unique ID (TB does not even notify about duplicates when adding new product)
  • Cannonical Redirects stop working - Prestashop (didnt check code, but I belive it wasn't removed in TB) have built in cannonical redirects that automatically redirect product to new link (based on Product ID)
  • Causes problems - especially while importing stuff automatically - in PS it works, cause it does not matter what I put into friendly url link and if it duplicates, to make my wholesaler integrations work I would need to create random rubish ids in URL's that deny whole purpouse of those "friendly urls" in first place.
    • Can't imagine saying to client: Hey, TB is cool, but after every import of products remember to check "Duplicates" tab and fix duplicates by hand! GL HF!
  • Disallows merchant to edit friendly urls
  • or Requires him to write manual redirects

From what I saw in Friendly url configuration, ID requirement was removed and TB requires "rewrite*" instead of "id*"

I completly understand that some may want to enable those friendly urls, if they want to fix them "by hand" (yeah..right... especially after you import 10 000 products into shop)

But (by me) it SHOULD be an option to enable and merchant should be informed of risks and additional duties.

For example, while importing new products into shop I can think only about 2 ways:

  • Add option "Prefix/suffix product name with md5 hash or something (Only needed on thirtyBees, and your links will be even uglier than with ID)"
  • Add option to update product friendly url after saving product with generated product ID - "Dear Customer, our integration works slower in thirty bees, because we need to save each product twice!"
  • Ignore problem and tell customers "Hey, you have very specific friendly links in your system, please edit them on your own/redesign url system/switch back to prestashop/live with it"

Hope my essay will be heard and maybe it Will be considered in 1.0.9...

PS: Wonder, what will happend if I migrate from Prestashop with "/1-productlink" urls to TB "/productlink". Seems any client I would convience to move to TB will lose all urls (Tested, adding ID to url does not redirect).

As little as or as much as this... this "feature" (for me its a big flaw - can't say its a bug as it's intended... ) it's a dealbreaker. No matter how much I would want to move anyone to TB, It cannot ensure basic URL redirects.

Maybe I'm missing something... enlight me if it's not a huge flaw/step back in TB design

  • Like 1
Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0

My bad... I assumed, since:
 

" id*, rewrite, ean13, category, categories, reference, meta_keywords, meta_title, manufacturer, supplier, price, tags "

became

id, rewrite*, ean13, category, categories, reference, meta_keywords, meta_title, manufacturer, supplier, price, tags

It would only look by rewrite instead of ID. Just tested, even tho {id} is not required as identifier but {rewrite} TB has ability to search for products by id_product.

Didn't investigate code untill now... and here is this small diamond 💎💎💎💎

if ($route['controller'] === 'product') {
  if (isset($m['id']) && $m['id']) {
  	$idProduct = (int) $m['id'];
  } else {
    $idProduct = $this->productID($m['rewrite'], $uri); // <<<<<<<<<<<<<<<<<<<<
    if (!$idProduct) {
      $idProduct = in_array('id_product', $m) ? (int) $m['id_product'] : 0;
      if (!$idProduct) {
     	continue;
      }
    }
  }
  $_GET['id_product'] = $idProduct;
}

Even with performance consideration from dev ❤️❤️❤️❤️

PS: Not sure why rewrite is required and not "either require or id is required", but it none of concern then 😉

@wakabayashi Thx for making me dig into code 🙂

Link to comment
Share on other sites

  • 0

What a huge posting.

  • There's a module Duplicate URLs, which detects, well, duplicate URLs.
  • URLs can get edited. Back office -> Catalog -> Product -> (click on product) -> tab SEO -> field Friendly URL.
  • When migrating from PS, URLs with ID are kept. Those which used a friendly URL module before (every shop I migrated so far), have to deal with this manually. Obviously.

==> everything fine. Any fear left?

  • Thanks 1
Link to comment
Share on other sites

  • 0

@Traumflug Huge posting because I think Prestashop is one of the best eCommerce platforms out there, and 1.7 is a "Fall of Prestashop" 🙂 TB is my light in a tunnel 🙂

Sorry, for making ruckus, as I wrote in my second post, i had no idea it was backward compatible with {id} and that {id} had priority 🙂 - which is super fine 🙂

  • Like 3
Link to comment
Share on other sites

  • 0

is it possible to automatically generate friendly urls for all articels at once? i changed some articel names and now they have the old friendly url..

what i understand so far, you need to do this manually one by one?

Edited by Sigi
Link to comment
Share on other sites

  • 0

I don't want to hijack this thread, but my question is related. I have pondered for some time now about migrating my Prestashop 1.6.1.4 live site over to thirtybees, and this is one of the more profound issues for me - url rewrites. I have a rather large catalog by most standards I suspect with about 14,000 plus products. I currently only have about 12,000 of those items active (according to google webmaster dashboard - or whatever they are calling it these days) and decided some time ago I wanted to make my product urls a bit shorter and take some of the redundant keywords out. Currently I am using a rewrite rule for products of  {category:/}{rewrite}-{id}.html  which produces something like the following:

https://darkhorsehobbies.com/10mm-scale-fantasy-high-elves-gaming-miniatures/10mm-fantasy-high-elves-chariots-with-crew-pack-1526.html

I really want to change that to  p/{rewrite}-{id}.html  and change the product "friendly url" value to something more like - pendraken-10mm-fantasy-high-elves-chariots-with-crew-gaming-miniatures-pack - with this new rewrite rule to produce something more like the following: 

https://darkhorsehobbies.com/p/pendraken-10mm-fantasy-high-elves-chariots-with-crew-gaming-miniatures-pack-1526.html

I actually attempted this with the new rewrite rule and received 404 errors for ALL of the old {category:/}{rewrite}-{id}.html based urls from google, but I can manually enter the desired product "friendly url" value in the address bar and still get the correct product page - I don't understand why this works when manually entering the url string, but does not work when coming from the google url test.

Obviously I can't even think about entering manual rewrites for 12,000 products so I need to find a way to make this change and keep the ID in the url since that is the way Prestashop, and I presume ThirtyBees, handles canonical page issues. Can someone shed some light on how to make this happen without losing the page ranking in google for all of my products? I don't know if I'm being penalized for having too many keywords in the url, and frankly, the site doesn't generate enough revenue to pay someone to handle these SEO issues, and the reality is I don't want to spend my days racking my brain trying to understand the the complexity or nuances of the google flux they call "rich results", etc, I don't want to be an SEO specialist, I just want to focus on managing the website. The one thing I cannot do however, is something further hurts my google rankings.

If there is a code change I can make with an override to handle the desired rewrite rule change that would be awesome. I must say however, that because of the size and complexity of my website, I am terrified of attempting a migration to ThirtyBees at this point in time. I do have a test TB site installed, but I haven't attempted a test migration.

Thanks in advance for any information y'all can provide to enlighten me on the possible fixes.

 

Edited by DarkHorse
Link to comment
Share on other sites

  • 0
25 minutes ago, nickz said:

What makes you think that the URL is SEO friendly?

Because it contains the appropriate keywords without duplicates (known as keyword stuffing) AND is human friendly readable as well. What makes you think it is NOT SEO friendly?

Edited by DarkHorse
Link to comment
Share on other sites

  • 0
10 minutes ago, nickz said:

it way to long plus the main keyword is not among it.

What exactly do you think the "main keyword" is supposed to be?? As for too long, i'm gonna have to direct that one to a Google Support "Gold Product Expert"...
image.png.a23a9263f6cc598efe40a840bccd2f24.png

...and please, if you're going to "quote me", then quote me, don't alter what I've written in your "quoted" reply.

Thanks

Link to comment
Share on other sites

  • 0
22 minutes ago, nickz said:

it way to long plus the main keyword is not among it.

As a followup, these are the top 5 search queries from my google console (last 3 months) - all three of the unique words from those queries actually appear in the desired URL from above. That said, obviously the keywords in the url need to be changed per product for the results to be relevant. Simply getting someone to click your search result is actually harmful to your overall SEO if they immediately bail because it's not what they were looking for...

image.thumb.png.bc7bef4079a70e4816d1d2146d997234.png

Link to comment
Share on other sites

  • 0
1 minute ago, nickz said:

if you do as Google says go ahead, so do about 10 000 others.

I don't understand... are you trying to say you know more about SEO than google?? ...and you still never answered the question - What exactly do you think the "main keyword" is supposed to be?? ... And what's wrong with the URL https://darkhorsehobbies.com/p/pendraken-10mm-fantasy-high-elves-chariots-with-crew-gaming-miniatures-pack-1526.html ??

...and of course the REAL question that has gotten buried in this exchange. How can I get my site to 301 REDIRECT to the new rewrite rule url - p/{rewrite}-{id}.html - using the old rewrite urls - {category:/}{rewrite}-{id}.html - indexed in google without doing it in a module or .htaccess file individual url by individual url??

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...