Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

ULTIMATE Seo Urls 5 - by FWR Media


Recommended Posts

I need Help please this is very important. all my old links are getting kicked from Google index and the new sitemap has 0 index pages. I try to submit the old sitemap with the old links, but Google show warnings that all the links in the database are 301 redirected to another address and I should only include in the sitemap the final destination.

 

I need help please before all my index pages are removed from index. Basically on the product page I want to add the category in between the domain and product name.

 

For example, this is how one of the link was before:

http://www.cexy.co.uk/love-zone/romantic-massage-p-3330.html

 

And this is how is now:

http://www.cexy.co.uk/romantic-massage-p-3330.html

 

Please Help.

Link to comment
Share on other sites

I need Help please this is very important. all my old links are getting kicked from Google index and the new sitemap has 0 index pages. I try to submit the old sitemap with the old links, but Google show warnings that all the links in the database are 301 redirected to another address and I should only include in the sitemap the final destination.

 

I need help please before all my index pages are removed from index. Basically on the product page I want to add the category in between the domain and product name.

 

For example, this is how one of the link was before:

http://www.cexy.co.uk/love-zone/romantic-massage-p-3330.html

 

And this is how is now:

http://www.cexy.co.uk/romantic-massage-p-3330.html

 

Please Help.

 

You moved your site from the directory [love-zone] to root so the urls will be different.

 

Re: sitemaps there are corrective files in the download for Google XML Sitemap SEO.

Link to comment
Share on other sites

You moved your site from the directory [love-zone] to root so the urls will be different.

 

Re: sitemaps there are corrective files in the download for Google XML Sitemap SEO.

 

love-zone is the category name I thought I said before, the page was on the root and is now on the root.

 

For example, this product is in a subcategory called Sexy Fashion so the URL was:

http://www.cexy.co.uk/sexy-fashion/mini-dress-gstring-p-3839.html

Now the URL is:

http://www.cexy.co.uk/mini-dress-gstring-p-3839.html

 

This product is in a category called Love Zone so the URL was:

http://www.cexy.co.uk/love-zone/romantic-massage-p-3330.html

Now the URL is:

http://www.cexy.co.uk/romantic-massage-p-3330.html

 

This product is in a subcategory called Daring so the URL was:

http://www.cexy.co.uk/daring/nurse-p-1804.html

And now is:

http://www.cexy.co.uk/nurse-p-1804.html

 

And so on, bellow is a print screen of the old SEO configuration, Check out option 3 "Add category parent to begining of URLs?"

 

settingsd.th.jpg

 

Now I dont mind having them like they are now, because either of the links the old and the new works, the old style are 301 redirected to the new one, but for whatever reason google is not picking them in the new format.

Link to comment
Share on other sites

love-zone is the category name I thought I said before, the page was on the root and is now on the root.

 

And as I said before the old seo urls never created a link like ..

 

http://[www.cexy.co.uk]/love-zone/romantic-massage-p-3330.html

 

Adding a category name would have been like ..

 

http://[www.cexy.co.uk]/love-zone-romantic-massage-p-3330.html

Edited by FWR Media
Link to comment
Share on other sites

Help please. We are moving our site to a new server with PHP Version: 5.2.9 (Zend: 2.2.0), I have upgraded the SEO URL contribution to this one and set the URL generation to "rewrite", I am getting 404 errors when trying to access the pages.

 

When in standard mode the links work fine. I have made sure with my server guy that the server configuration will allow for rewrites.

I have posted my .htaccess file below but think it is correct ( I have spent many hours trying to fix this.. need it bad since this is the last major thing we need to upgrade our server and update our site). Can someone please point me in the right direction?

 

The paths look good - http://www.4seasongardener.com/hobby-greenhouses-c-28.html but I get this when trying to access the page - The requested URL /hobby-greenhouses-c-28.html was not found on this server.

 

AddType text/html .shtml .html .htm

AddHandler server-parsed .html .shtml .htm .pl

Options FollowSymLinks IncludesNOEXEC

 

# apache/conf/httpd.conf file)

 

# The following makes adjustments to the SSL protocol for Internet

# Explorer browsers

 

#<IfModule mod_setenvif.c>

# <IfDefine SSL>

# SetEnvIf User-Agent ".*MSIE.*" \

# nokeepalive ssl-unclean-shutdown \

# downgrade-1.0 force-response-1.0

# </IfDefine>

#</IfModule>

 

# If Search Engine Friendly URLs do not work, try enabling the

# following Apache configuration parameter

 

# AcceptPathInfo On

 

# Fix certain PHP values

# (commented out by default to prevent errors occuring on certain

# servers)

 

# php_value session.use_trans_sid 0

# php_value register_globals 1

 

# If you are getting errors you may need to comment this out like ..

# Options +FollowSymLinks

Options +FollowSymLinks

<IfModule mod_rewrite.c>

RewriteEngine On

 

# RewriteBase instructions

# Change RewriteBase dependent on how your shop is accessed as below.

# http://www.mysite.com = RewriteBase /

# http://www.mysite.com/catalog/ = RewriteBase /catalog/

# http://www.mysite.com/catalog/shop/ = RewriteBase /catalog/shop/

 

# Change RewriteBase using the instructions above

RewriteBase /

 

RewriteRule ^(.*)-p-([0-9]+).html$ product_info.php?products_id=$2&%{QUERY_STRING}

RewriteRule ^(.*)-c-([0-9_]+).html$ index.php?cPath=$2&%{QUERY_STRING}

RewriteRule ^(.*)-m-([0-9]+).html$ index.php?manufacturers_id=$2&%{QUERY_STRING}

RewriteRule ^(.*)-pi-([0-9]+).html$ popup_image.php?pID=$2&%{QUERY_STRING}

RewriteRule ^(.*)-pr-([0-9]+).html$ product_reviews.php?products_id=$2&%{QUERY_STRING}

RewriteRule ^(.*)-pri-([0-9]+).html$ product_reviews_info.php?products_id=$2&%{QUERY_STRING}

# Articles contribution

RewriteRule ^(.*)-t-([0-9_]+).html$ articles.php?tPath=$2&%{QUERY_STRING}

RewriteRule ^(.*)-au-([0-9]+).html$ articles.php?authors_id=$2&%{QUERY_STRING}

RewriteRule ^(.*)-a-([0-9]+).html$ article_info.php?articles_id=$2&%{QUERY_STRING}

# Information pages

RewriteRule ^(.*)-i-([0-9]+).html$ information.php?info_id=$2&%{QUERY_STRING}

# Links contribution

RewriteRule ^(.*)-links-([0-9_]+).html$ links.php?lPath=$2&%{QUERY_STRING}

# Newsdesk contribution

RewriteRule ^(.*)-n-([0-9]+).html$ newsdesk_info.php?newsdesk_id=$2&%{QUERY_STRING}

RewriteRule ^(.*)-nc-([0-9]+).html$ newsdesk_index.php?newsPath=$2&%{QUERY_STRING}

RewriteRule ^(.*)-nri-([0-9]+).html$ newsdesk_reviews_info.php?newsdesk_id=$2&%{QUERY_STRING}

RewriteRule ^(.*)-nra-([0-9]+).html$ newsdesk_reviews_article.php?newsdesk_id=$2&%{QUERY_STRING}

</IfModule>

Link to comment
Share on other sites

Help please. We are moving our site to a new server with PHP Version: 5.2.9 (Zend: 2.2.0), I have upgraded the SEO URL contribution to this one and set the URL generation to "rewrite", I am getting 404 errors when trying to access the pages.

 

When in standard mode the links work fine. I have made sure with my server guy that the server configuration will allow for rewrites.

 

I presume it is an *nix server.

 

If you are getting 404 then your server tech is wrong, it is not set up correctly for RewriteRules.

 

If mod_rewrite is compiled then I would suggest that Allowoverride is not set correctly.

Link to comment
Share on other sites

And as I said before the old seo urls never created a link like ..

 

http://[www.cexy.co.uk]/love-zone/romantic-massage-p-3330.html

 

Adding a category name would have been like ..

 

http://[www.cexy.co.uk]/love-zone-romantic-massage-p-3330.html

 

I think this is the function responsable from seo.class.php

 

function get_product_name($pID){
          $result = array();
          if ($this->attributes['SEO_ADD_CAT_PARENT'] == 'true') {
             $sql = "SELECT LOWER(cd.categories_name) AS cName
                       FROM ".TABLE_CATEGORIES_DESCRIPTION." cd LEFT JOIN 
                            ".TABLE_PRODUCTS_TO_CATEGORIES." p2c on cd.categories_id = p2c.categories_id 
                       WHERE p2c.products_id = '".(int)$pID."' AND cd.language_id = '".(int)$this->languages_id."'
                       LIMIT 1";
             $result = $this->DB->FetchArray( $this->DB->Query( $sql ) );
             $cName = str_replace(" ", "-", $result['cName']);
          }
               switch(true){
                       case ($this->attributes['USE_SEO_CACHE_GLOBAL'] == 'true' && defined('PRODUCT_NAME_' . $pID)):
                               $this->performance['CACHE_QUERY_SAVINGS']++;
                               $return = (tep_not_null($cName) ? $cName . '/'. constant('PRODUCT_NAME_' . $pID) : constant('PRODUCT_NAME_' . $pID));
                               $this->cache['PRODUCTS'][$pID] = $return;
                               break;
                       case ($this->attributes['USE_SEO_CACHE_GLOBAL'] == 'true' && isset($this->cache['PRODUCTS'][$pID])):
                               $this->performance['CACHE_QUERY_SAVINGS']++;
                               $return = (tep_not_null($cName) ? $cName . '/'. $this->cache['PRODUCTS'][$pID] : $this->cache['PRODUCTS'][$pID]);
                               break;
                       default:
                               $this->performance['NUMBER_QUERIES']++;
                               $sql = "SELECT products_name as pName 
                                         FROM ".TABLE_PRODUCTS_DESCRIPTION." 
                                         WHERE products_id='".(int)$pID."' 
                                         AND language_id='".(int)$this->languages_id."' 
                                         LIMIT 1";
                               $result = $this->DB->FetchArray( $this->DB->Query( $sql ) );
                               $pName = $this->strip( $result['pName'] );
                               $this->cache['PRODUCTS'][$pID] = $pName;
                               $this->performance['QUERIES']['PRODUCTS'][] = $sql;
                               $return = (tep_not_null($cName) ? $cName . '/'.  $pName : $pName);
                               break;                                                                
               } # end switch                
               return $return;
       } # end function

 

isnt this the part of the code who adds the /?

 

$return = (tep_not_null($cName) ? $cName . '/'. constant('PRODUCT_NAME_' . $pID) : constant('PRODUCT_NAME_' . $pID));

Link to comment
Share on other sites

 

isnt this the part of the code who adds the /?

 

$return = (tep_not_null($cName) ? $cName . '/'. constant('PRODUCT_NAME_' . $pID) : constant('PRODUCT_NAME_' . $pID));

 

Then you have an unsupported modification to the original series 2.

Edited by FWR Media
Link to comment
Share on other sites

Then you have an unsupported modification to the original series 2.

 

Well, had, because i now use your contribution, but is it any way I can make the links like before, or what is the best I should do submit the old sitemaps with the old url and when google crawl them will be 301 redirected to the correct links and hopefully I will keep the index links, or what should I do, if I submit a new sitemap with the new links Google might think are duplicates and penalise me for duplicate content.

Link to comment
Share on other sites

Well, had, because i now use your contribution, but is it any way I can make the links like before, or what is the best I should do submit the old sitemaps with the old url and when google crawl them will be 301 redirected to the correct links and hopefully I will keep the index links, or what should I do, if I submit a new sitemap with the new links Google might think are duplicates and penalise me for duplicate content.

 

No, sitemaps should be correct. Submit new XML sitemaps with the correct urls.

 

Make sure though that the old urls do 301 redirect to the new.

Link to comment
Share on other sites

Hi FWR Media,

 

I have had another go with the code you kindly gave to me and the following error message comes up when a image or category is selected.

 

The page cannot be found

The page you are looking for might have been removed, had its name changed, or is temporarily unavailable.

--------------------------------------------------------------------------------

 

Please try the following:

 

•Make sure that the Web site address displayed in the address bar of your browser is spelled and formatted correctly.

•If you reached this page by clicking a link, contact the Web site administrator to alert them that the link is incorrectly formatted.

•Click the Back button to try another link.

HTTP Error 404 - File or directory not found.

Internet Information Services (IIS)

 

--------------------------------------------------------------------------------

 

Technical Information (for support personnel)

 

•Go to Microsoft Product Support Services and perform a title search for the words HTTP and 404.

•Open IIS Help, which is accessible in IIS Manager (inetmgr), and search for topics titled Web Site Setup, Common Administrative Tasks, and About Custom Error Messages.

 

Where do I go from here?

Isapi rewrite version 3 should only require the following in .htaccess ( presumes a root install ): -

RewriteEngine On

# RewriteBase instructions
# Change RewriteBase dependent on how your shop is accessed as below.
# http://www.mysite.com = RewriteBase /
# http://www.mysite.com/catalog/ = RewriteBase /catalog/
# http://www.mysite.com/catalog/shop/ = RewriteBase /catalog/shop/

# Change RewriteBase using the instructions above
RewriteBase /
RewriteRule ^([a-z0-9-]+)-p-([0-9]+)\.html$ product_info.php [NC,L,QSA]
RewriteRule ^([a-z0-9-]+)-c-([0-9_]+)\.html$ index.php [NC,L,QSA]
RewriteRule ^([a-z0-9-]+)-m-([0-9]+)\.html$ index.php [NC,L,QSA]
RewriteRule ^([a-z0-9-]+)-pi-([0-9]+)\.html$ popup_image.php [NC,L,QSA]
RewriteRule ^([a-z0-9-]+)-pr-([0-9]+)\.html$ product_reviews.php [NC,L,QSA]
RewriteRule ^([a-z0-9-]+)-pri-([0-9]+)\.html$ product_reviews_info.php [NC,L,QSA]
# Articles contribution
RewriteRule ^([a-z0-9-]+)-t-([0-9_]+)\.html$ articles.php [NC,L,QSA]
RewriteRule ^([a-z0-9-]+)-au-([0-9]+)\.html$ articles.php [NC,L,QSA]
RewriteRule ^([a-z0-9-]+)-a-([0-9]+)\.html$ article_info.php [NC,L,QSA]
# Information pages
RewriteRule ^([a-z0-9-]+)-i-([0-9]+)\.html$ information.php [NC,L,QSA]
# Links contribution
RewriteRule ^([a-z0-9-]+)-links-([0-9_]+)\.html$ links.php [NC,L,QSA]
# Newsdesk contribution
RewriteRule ^([a-z0-9-]+)-n-([0-9]+)\.html$ newsdesk_info.php [NC,L,QSA]
RewriteRule ^([a-z0-9-]+)-nc-([0-9]+)\.html$ newsdesk_index.php [NC,L,QSA]
RewriteRule ^([a-z0-9-]+)-nri-([0-9]+)\.html$ newsdesk_reviews_info.php [NC,L,QSA]
RewriteRule ^([a-z0-9-]+)-nra-([0-9]+)\.html$ newsdesk_reviews_article.php [NC,L,QSA]

Link to comment
Share on other sites

No, sitemaps should be correct. Submit new XML sitemaps with the correct urls.

 

Make sure though that the old urls do 301 redirect to the new.

 

Thank you. Your contribution redirects properly are creates the 301,

I checked on http://web-sniffer.net/ the old address address

http://www.cexy.co.uk/love-zone/romantic-massage-p-3330.html

and

the status is:

Status: HTTP/1.0 301 Moved Permanently

Location:

http://www.cexy.co.uk/romantic-massage-p-3330.html

so should be ok then. Thank you for your help.

Link to comment
Share on other sites

I get the award of "dumbest question of the day".

 

I think I assumed this contribution did something else. When clicking on one of my products, I get

http://www.burgersmarketpc.com/catalog/product_info.php?products_id=30

 

How and where do I change

product_info.php?products_id=30
to the name, or title, or description of my product. Sorry I got fried brain today! Thanks!
Link to comment
Share on other sites

I get the award of "dumbest question of the day".

 

I think I assumed this contribution did something else. When clicking on one of my products, I get

http://www.burgersmarketpc.com/catalog/product_info.php?products_id=30

 

How and where do I change to the name, or title, or description of my product. Sorry I got fried brain today! Thanks!

 

If you had installed it correctly it would be changing it .. go back over the install instructions and find out what you missed/did wrong.

Link to comment
Share on other sites

First off, you done a great job Robert. I salute you, Sir.

 

Second, for those who use this and STS, I got something to share...

 

I've spent hours and hours to investigate why the STS template woudnlt work after SEO kick in.

 

I personally believe it was the caching system (At least in my case). Try to use Database instead of the default FileSystem, my guess is something was wrong with the read/write/coding/encoding (idk i'm not a pro on this) mechanism of FileSystem or something.

 

Hope this can save few people out there couple of sleepless nights.

 

Peace

Edited by C.J.
Link to comment
Share on other sites

First off, you done a great job Robert. I salute you, Sir.

 

Second, for those who use this and STS, I got something to share...

 

I've spent hours and hours to investigate why the STS template woudnlt work after SEO kick in.

 

I personally believe it was the caching system (At least in my case). Try to use Database instead of the default FileSystem, my guess is something was wrong with the read/write/coding/encoding (idk i'm not a pro on this) mechanism of FileSystem or something.

 

Hope this can save few people out there couple of sleepless nights.

 

Peace

 

Hi .. no there are no errors with the FileSystem cache method.

Link to comment
Share on other sites

It could be the compatibility problem then.

 

Either way i think Database is a safer choice, because it is an open standard while FileSystem might depends on the server OS. (Again, Im not a pro on this, Im just making a wild guess)

 

Thanks again, Robert, Great addon.

Link to comment
Share on other sites

Hi Robert, Congratulations for your valuable contributions, i have a couple of questions:

 

* Im using USU 5, KissMT, Google XML Sitemaps all sitemaps are generated successfully

* catalog/sitemapindex.xml - Sent URL's 377 - Indexed URL's 8 !?!?!?!?!?

* catalog/sitemapproducts.xml - Sent URL's 258 - Indexed URL's 0 !?!?!?!?!?

* catalog/sitemapcategories.xml - Sent URL's 19 - Indexed URL's 0 !?!?!?!?!?

* catalog/sitemapmanufacturers.xml - Sent URL's 26 - Indexed URL's 0 !?!?!?!?!?

* catalog/sitemappages.xml - Sent URL's 14 - Indexed URL's 8 !?!?!?!?!?

 

How come in more then 500 URL's properly submited with USU5 and Kissmetatags & Canonical Header i'm only getting indexed 8 url's ???????

 

I used to have a sitemap.txt file in notepad where i statically wrote all links, and normally the indexation accuracy was about 90%, now it's like less then 2% ... something is wrong... i noticed google has not yet even "seen" my whole shop since it's online.

 

Thanks

Link to comment
Share on other sites

I just installed this over the weekend and this seem to be working great. But now when someone tries to register a new account this error occurs:

 

Warning: mail(/var/log/php_mail.log) [function.mail]: failed to open stream: No such file or directory in /home/XXXXX/public_html/includes/classes/email.php on line 522

 

Warning: Cannot modify header information - headers already sent by (output started at /home/XXXXX/public_html/includes/classes/email.php:522) in /home/chevypar/public_html/includes/functions/general.php on line 35

 

The customer gets a new account and confirmation email but never sent to create account success. I loaded KissMT at the same time. I've been checking everywhere and looked for white space when I changed general.php on line 35 but I can't figure it out. Any suggestions?

 

Thanks,

Cary

Link to comment
Share on other sites

I just installed this over the weekend and this seem to be working great. But now when someone tries to register a new account this error occurs:

 

Warning: mail(/var/log/php_mail.log) [function.mail]: failed to open stream: No such file or directory in /home/XXXXX/public_html/includes/classes/email.php on line 522

 

Warning: Cannot modify header information - headers already sent by (output started at /home/XXXXX/public_html/includes/classes/email.php:522) in /home/chevypar/public_html/includes/functions/general.php on line 35

 

The customer gets a new account and confirmation email but never sent to create account success. I loaded KissMT at the same time. I've been checking everywhere and looked for white space when I changed general.php on line 35 but I can't figure it out. Any suggestions?

 

Thanks,

Cary

 

This error is nothing to do with USU5 or KissMT.

Link to comment
Share on other sites

Yup. Once again you are correct. It's a PHP issue on OSC, I upgraded to 5.3 from 5.2 and get this error in the mail process. Thanks for your prompt response!

 

Anyone with suggestions for PHP mail error from 5.2 to 5.3?

 

Anyone? Anyone? The Holly-Smoot Tariff Act...

Link to comment
Share on other sites

Yup. Once again you are correct. It's a PHP issue on OSC, I upgraded to 5.3 from 5.2 and get this error in the mail process. Thanks for your prompt response!

 

Anyone with suggestions for PHP mail error from 5.2 to 5.3?

 

Anyone? Anyone? The Holly-Smoot Tariff Act...

 

It is not a good idea at the moment to upgrade to PHP5.3.X there are far too many conflicts with osC code. Not just osCommerce either PHP5.3 breaks a lot of scripts.

Link to comment
Share on other sites

i use the osC Affiliate contribution in my shop. unfortunately the generated affiliate links are not SEO Urls!

 

this means that a affiliate link always leads to a 301 header, what probably isn't that good from a SEO side seen.

 

the links are created like this:

 

$link = '<a href="' . HTTPS_SERVER . DIR_WS_CATALOG . FILENAME_PRODUCT_INFO . '?ref=' . $affiliate_id . '&products_id=' . $individual_banner_id . '&affiliate_banner_id=1" target="_blank"><img src="' . HTTPS_SERVER . DIR_WS_CATALOG . FILENAME_AFFILIATE_SHOW_BANNER . '?ref=' . $affiliate_id . '&affiliate_pbanner_id=' . $individual_banner_id . '" border="0" alt="' . $affiliate_pbanners['products_name'] . '"></a>';

 

is there a easy way to change this to produce SEO Urls?

 

greetz

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...