Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Where & How To Fix Google Fetching Non-Existing Pages


NodsDorf

Recommended Posts

So I ran into Google Fetching 2 types of pages that shouldn't exist on our site, but appear to actually exist. I have no idea how google actually found them but I need to fix them as they serve no purpose.

 

The first one (not fixed) they are trying crawl is products that don't exist like...

catalog/productsname-p-2892.html

 

Which is serving a page, but not its the product_info.php product not found error. Shouldn't this be directed to 404 ?

 

 

 

The other one I think I fixed was the products_reviews.php page. We don't use them and removed all out buttons and links to them but somehow Google still found them and was dinging us for duplicate title tags.

 

Since I was running URL re-writer

# Begin Ultimate SEO V2.2d
Options +FollowSymLinks
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 the following line using the instructions above  

RewriteBase /catalog/

RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-c-(.*).html$ index.php?cPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-m-(.*).html$ index.php?manufacturers_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pi-(.*).html$ popup_image.php?pID=$2&%{QUERY_STRING}
RewriteRule ^(.*)-by-(.*).html$ all-products.php?fl=$2&%{QUERY_STRING}
RewriteRule ^(.*)-t-(.*).html$ articles.php?tPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-a-(.*).html$ article_info.php?articles_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-au-(.*).html$ articles.php?authors_id=$2&%{QUERY_STRING}
#RewriteRule ^(.*)-pr-(.*).html$ product_reviews.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pri-(.*).html$ product_reviews_info.php?products_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-f-(.*).html$ faqdesk_info.php?faqdesk_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-fc-(.*).html$ faqdesk_index.php?faqPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-fri-(.*).html$ faqdesk_reviews_info.php?faqdesk_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-fra-(.*).html$ faqdesk_reviews_article.php?faqdesk_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-i-(.*).html$ information.php?info_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-links-(.*).html$ links.php?lPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-pm-([0-9]+).html$ info_pages.php?pages_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-n-(.*).html$ newsdesk_info.php?newsdesk_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-nc-(.*).html$ newsdesk_index.php?newsPath=$2&%{QUERY_STRING}
RewriteRule ^(.*)-nri-(.*).html$ newsdesk_reviews_info.php?newsdesk_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-nra-(.*).html$ newsdesk_reviews_article.php?newsdesk_id=$2&%{QUERY_STRING}
RewriteRule ^(.*)-po-([0-9]+).html$ pollbooth.php?pollid=$2&%{QUERY_STRING}
# End Ultimate SEO V2.2d

I just commented out the following line..

#RewriteRule ^(.*)-pr-(.*).html$ product_reviews.php?products_id=$2&%{QUERY_STRING}

Then added

ErrorDocument 404 /catalog/404.php

 

Which I just made by cloning the shipping.php page and naming it 404.php adding filename define and language info 404 page. That seemed to work now all product_reviews.php are sent to 404.php page.

 

But I can use some help fixing the pages being served for products that don't exist. Right now Google is seeing them as Soft 404, is there a way to send them all to our 404.php page?

 

Any help is appreciated.

 

Thank you

Link to comment
Share on other sites

To simplify this question.

 

What would be the best way to force none existing products like found at catalog/productsname-p-2892.html to 404.php ?

 

Please see my .htaccess in the original post's blathering.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...