|
The cookie session check in Virtuemart E-Commerce Shopping Cart Software Component within the Joomla Content Management System (CMS) may serve a purpose but creates some serious issues when it comes to customer navigation functionality and search engine optimization. The issue compounds itself when using a Search Engine Friendly (SEF) URL component such as the now defunct OpenSEF, which is arguably the best SEF component available for Joomla and its shopping cart component Virtuemart.
When you have Virtuemart setup to serve as the Joomla CMS main page through the Joomla menu system, one of the two visible issues generated by the cookie session check is the URL that is added to your Joomla installation's route, which sucks when you're looking for your own site and find that the first reference in the Google Search Engine results is your page with the "&vmcchk=1" in the URL. Not only does this look tacky and annoying, but it creates issues with redundant content, which may render a lower page rank. While this URL issue is more prominent on the front page, it is also seen through your Virtuemart web pages. And with it comes the infamous "Info: Your browser does not accept cookies. If you want to put products into your cart and purchase them you need to enable cookies" warning within your page content, which creates a problem with your web site design. Needless to say, for search engine optimization purposes, the cookie issue causes an array of issues.
VIRTUEMART COOKIE URL
- component/page,shop.product_details/flypage,shop.flypage/product_id,8/option,com_virtuemart/Itemid,26/vmcchk,1/
- index.php?page=shop.browse&category_id=56&option=com_virtuemart&Itemid=26&vmcchk=1
- &vmcchk=1
VIRTUEMART COOKIE PROBLEM WARNING MESSAGE
- Info: Your browser does not accept cookies. If you want to put products into your cart and purchase them you need to enable cookies.
Now, when you are using OpenSEF, the cookie problem only compounds and can create an assortment of URLs that is disasterous for SEO purposes, but what is worse is "Sorry, but the Product you\'ve requested wasn\'t found!" issue that results. Not only is this a huge problem for customer navigation, but it remains an massive problem with the search engines.
When you have a static link to one of your product categories or product pages, such as ".../parts-shop-store/trophy-truck-parts/," and your site's customer lands upon your page to click on that link, your customer will likely be redirected to the Virtuemart Shopping Cart main page, regardless of where the link is supposed to go. And upon the main page, the customer will be greeted with the "Sorry, but the Product you\'ve requested wasn\'t found!" error code alert message and be kicked out of the SEF URL and into the land of redundant URLs.
For the customer with attention deficit disorder (ADD), a wade of cash loaded into the credit card and the need to buy some hot 4X4 parts, this could very well end up as a missed sale. But at least he saw your page and navigated to it. The worse part about this ongoing problem is that it adversely affects your search engine page ranking results. Chances are, in the worse case, your page wasn't present upon the search engine results, and that customer never navigated to it.
While this last scenario is an extreme case, it is nevertheless a reality. When you're selling 4X4 parts and you have the choice between this sorry excuse for a URL "index.php?page=shop.browse&category_id=56&option=com_virtuemart&Itemid=26&vmcchk=1" and this well thought out URL "ford-super-duty-4X4-truck-parts/off-road-lift-kits-suspensions," you best choose the latter URL if you want to increase your revenue stream. Not only are the keywords and keyword phrases in the latter URL used by such search engines as Google, Yahoo and MSN Live Search when weighing a web page for rank, but it also is a lot more appealing and enticing to customers and potential customers. Why?
Well, when you're a customer and looking to link the page, it's a lot easier to copy and paste that URL and link it into forum message board, but it looks a lot more appealing to other forum members who look at it. It's a more appealing advertisement that will may very well provide you with a great return on investment (ROI) than the extremely long and annoying URL previously mentioned.
Lastly, another important problem that results from the Virtuemart cookie issue is excessive MySQL database queries created when the request is made for the SEF URL. At best, it will slow your web site down. At worse, it will crash your web site. When the querie is made, the website usally just hangs and creates an excessive load on server resources. With a large website, this can overload the server and cause a database timeout, which results in the Internal Server Error 500 blank page.
So, it's best to improve web site speed performance, search engine optimization and customer navigation by fixing the cookie issue.
FIX THE VIRTUEMART COOKIE CHECK URL PROBLEM AND REMOVE THE ALERTS
To fix this issue, you must administrator/classes/ directory and edit the ps_session.php file. The URL string is as follows: http://www.yoursite.com/administrator/classes/ps_session.php. Somewhere around line 60-65 in your PHP code, you will find the $this->doCookieCheck(); code. Simply perform a find within your text editor using Control+F on your PC or Apple+F in your Macintosh computer. Just before this code, you can comment it out by adding the // characters. Combined, beginning line of code will look like //$this->doCookieCheck(); line of code. If you add the complete line of code, it will like the referenced below, which includes the comment regarding the code's use.
- //$this->doCookieCheck(); // Introduced to check if the user-agent accepts cookies
Now, save and upload the file, and the problem solved. Be certain that before you upload the modified file, have an original backup on your harddrive as well as on your server. I usually presribe the suffix "_ORIGINAL" to the file, as in "XXX_ORIGINAL." If I know the file is subject to frequent changes during upgrades or modifications, I will assign a date and/or note to the file name, such as "XXX_ORIGINAL_20031221-0713_PRE-COOKIE-HACK." The number string is comprised of YEAR/MONTH/DAY-TIME. I do it this way to maintain consistency, which results in the ability to quickly identify the file and its purpose. And when setup on a server, the default alpha-numeric sorting of the server makes it easy to locate by date. MEDIA TAGS: Virtuemart Cookie Check &vmcchk=1 Error Warning Alert Message Hack OpenSEF SEF URLs Redundant URLs Fix Solved Search Engine Friendly URL Page Ranking ps_session.php SEO Search Engine Optimization |