Home > General
Help > Search engine friendly options
Search engine friendly features
We believe we have most angles covered when it comes
to offering search engine friendly shopping cart software. Ecommerce
templates offers the ability to use static pages which are easy
to spider by visiting search engines as well as unique titles and
meta tags for category, product and product detail pages and ALT
information for all the product images. To fully benefit from all
our search
engine
features,
you
will need a minimum version of 4.1.1 and the updater is available here if
necessary.
Dynamic
title and meta description tags
From version 4.1.1 it is possible to dynamically generate the
title and meta description tags for your categories, product and
product
detail
pages. Not
only are they dynamically generated but you can also add you own
unique information such as company name to the title tag. They
are used on dynamic pages, for static pages you can add your own
meta and title tags page by page. The set up details are outlined
below:
ASP Version
The pages you are going to want to change are...
categories.asp
products.asp
proddetail.asp Open each of these in turn and go to HTML view. About halfway down
the page you should see a bunch of "include" files, something
like this...
<!--#include file="vsadmin/db_conn_open.asp"-->
<!--#include file="vsadmin/inc/languagefile.asp"-->
<!--#include file="vsadmin/includes.asp"-->
<!--#include file="vsadmin/inc/incfunctions.asp"-->
<!--#include file="vsadmin/inc/incproducts.asp"-->
You will want to delete the first one, the db_conn_open.asp line.
 |
If your template
uses a DHTML pop-out menu or Mini Cart there
is no need to delete the line
< !--#include file="vsadmin/db_conn_open.asp"-->
Just open vsadmin/db_conn_open.asp in Notepad
and make sure you don't have a line
DIM sDSN
If you have that, just delete that line.
You can then follow the instructions below as normal. |
 |
Then,
at the very top of the file before the first <html> tag
add that db_conn_open line along with the metainfo.asp include
line like this...
<!--#include file="vsadmin/db_conn_open.asp"-->
<!--#include file="vsadmin/inc/metainfo.asp"-->
<html>
Now repeat this with each of the 3 files categories.asp, products.asp
and proddetail.asp
Now, on your categories.asp AND the products.asp pages you can
change the page title tag to something like this...
<title>Bob's widget store: <%
if topsection<>"" then response.write topsection & ", "
response.write sectionname%></title>
Also on the categories page, if you use a category description
you might want to set the meta description tag to this...
<META NAME="Description" CONTENT="<%=Replace(sectiondescription,"""",""")%>"> The information available to the proddetail.asp page is slightly
different. On that page you can change your page title to...
<title>Bob's widget store: <%= productname & ", " & sectionname & ", " & productid
%></title>
You might not want to include the product ID, in which case you
can use...
<title>Bob's widget store: <%= productname & ", " & sectionname
%></title>
For the meta description on the proddetail.asp page you can use...
<META NAME="Description" CONTENT="<%=Replace(productdescription,"""",""")%>">
Note If you are using the category
identifier feature you wil, also need to place the includes.asp
line at the top of the code like this
<!--#include file="vsadmin/db_conn_open.asp"-->
<!--#include file="vsadmin/includes.asp"-->
<!--#include file="vsadmin/inc/metainfo.asp"-->
Multiple language set up
If you are using the multiple language set up then you will need
these include lines before the <html> tag:
<!--#include file="vsadmin/db_conn_open.asp"-->
<!--#include file="vsadmin/inc/languagefile.asp"-->
<!--#include file="vsadmin/includes.asp"-->
<!--#include file="vsadmin/inc/incfunctions.asp"-->
<!--#include file="vsadmin/inc/metainfo.asp"-->
...making sure they are not duplicated later in the code.

PHP Version
The pages you are going to want to change are...
categories.php
products.php
proddetail.php
Open each of these in turn and go to HTML view. About halfway down
the page you should see a bunch of "include" files, something
like this...
<?php include "vsadmin/db_conn_open.php"?>
<?php include "vsadmin/inc/languagefile.php"?>
<?php include "vsadmin/includes.php"?>
<?php include "vsadmin/inc/incfunctions.php"?>
<?php include "vsadmin/inc/incproducts.php"?>
You will want to delete the first one, the db_conn_open.php line.
 |
If your template
uses a DHTML pop-out menu or Mini Cart there
is no need to delete the line
<?php include "vsadmin/db_conn_open.php"?>
You can now follow the instructions below as normal
|
 |
Then, at the very top of the file before the first <html> tag
you should already have a couple of lines of code. Now add the
db_conn_open line along with the metainfo.php include line like
this...
<?php
session_cache_limiter('none');
session_start();
ob_start();
include "vsadmin/db_conn_open.php";
include "vsadmin/inc/metainfo.php";?><html>
Now repeat this with each of the 3 files categories.php, products.php
and proddetail.php
Now, on your categories.php AND the products.php pages you can
change the page title tag to something like this...
<title>Bob's widget store: <?php
if($topsection != "") print $topsection . ", ";
print $sectionname?></title>
Also on the categories page, if you use a category description
you might want to set the meta description tag to this...
<META NAME="Description" CONTENT="<?php print
str_replace('"','"',$sectiondescription)?>">
The information available to the proddetail.php page is slightly
different. On that page you can change your page title to...
<title>Bob's widget store: <?php
print $productname . ", " . $sectionname . ", " .
$productid;
?></title>
You might not want to include the product ID, in which case you
can use...
<title>Bob's widget store: <?php
print $productname . ", " . $sectionname;
?></title>
For the meta description on the proddetail.php page you can use...
<META NAME="Description" CONTENT="<?php
print str_replace('"','"',$productdescription)?>">
Note If you are using the category
identifier feature you wil, also need to place the includes.asp
line at the top of the code like this
<?php
session_cache_limiter('none');
session_start();
ob_start();
include "vsadmin/db_conn_open.php";
include "vsadmin/includes.php";
include "vsadmin/inc/metainfo.php";?><html>
Multiple language set up
If you are using the multiple language set up then you will need these include
lines before the <html> tag:
<?php include "vsadmin/db_conn_open.php" ?>
<?php include "vsadmin/inc/languagefile.php"?>
<?php include "vsadmin/includes.php" ?>
<?php include "vsadmin/inc/incfunctions.php" ?>
<?php include "vsadmin/inc/metainfo.php" ?>
...making sure they are not duplicated later in
the code.

Converting
dynamic to static URLs
The default URL for a products page would be something
like www.yoursite.com/products.asp?id=2 but it is possible to change
this to something even more search engine friendly like www.yoursite.com/productname.asp.
You can also do the same for the category pages and the product
detail, the information is outlined below.
Now just add the variable to specify the category before the
incproducts include like this for ASP
<!--#include file="vsadmin/db_conn_open.asp"-->
<!--#include file="vsadmin/inc/languagefile.asp"-->
<!--#include file="vsadmin/inc/includes.asp"-->
<!--#include file="vsadmin/inc/incfunctions.asp"-->
<%
explicitid=2
%>
<!--#include file="vsadmin/inc/incproducts.asp"-->
 |
If your template uses
a DHTML pop-out menu or Mini Cart then
you will only find one of the ASP includes in the main
body of your site. The explicitid will still need to
precede the include line eg.
<%
explicitid=8
%>
<!--#include file="vsadmin/inc/incproducts.asp"-->
|
 |
You can now do the same for categories.asp and proddetail.asp
by adding the explicitid before:
<!--#include file="vsadmin/inc/inccategories.asp"-->
and
<!--#include file="vsadmin/inc/incproddetail.asp"-->
As the explicit id for a product detail page is a product
reference, you have to enclose this in quotes like this:
explicitid="yourprodref"
You can get the variable you need by browsing your site and
checking the particular page URL. For example if your URL
for a widget looks like this:
www.yoursite.com/products.asp?id=14
...then you would want to set
<%
explicitid=14
%>
If you don't want to change all your pages to static URLs
then the URL can be in the form of http://www.yoursite.com/products.asp?cat=14
due to the fact that Google may not give as much weight
to links which contain this generic "id" parameter.
In version 4.8.4 we added the possibility to define the
static URL in the categories admin page after following the
instructions above. This is an optional feature
and if you want to use it just place the name of the static
page you have created.

This now means that your menu system won't pick up on the
dynamic URLs as the store is browsed. It also works with
the DHTML menu and avoids duplicate URLs / content on the
store.
In version 4.9.6 we added linked product detail static pages
where there is now an option in the product admin page "Has
static page" which
if checked will cause the product detail page link to
take the form.
. .
the_product_name.asp
. . . where the page name will be made of the product name,
in lower case with spaces replaced by underscores and non
alphanumeric characters removed. It will be your responsibility
to create the static detail page of that name using the method
above.
In version 5.1 we added the ability to change the underscore
to the character of you choice so if you prefer the layout
of the-product-name.asp then you will need to add this to
includes.asp
urlfillerchar="-"

PHP version
Make a copy of products.php and call it say bobswidgets.php
Now, open this page in notepad or your web editor and go to HTML view.
Now, you should see a set of include files like this:
<?php include "vsadmin/db_conn_open.php"?>
<?php include "vsadmin/inc/languagefile.php"?>
<?php include "vsadmin/includes.php"?>
<?php include "vsadmin/inc/incfunctions.php"?>
<?php include "vsadmin/inc/incproducts.php"?>
Now just add the variable to specify the category before
the incproducts include like this for PHP
<?php include "vsadmin/db_conn_open.php"?>
<?php include "vsadmin/inc/languagefile.php"?>
<?php include "vsadmin/includes.php"?>
<?php include "vsadmin/inc/incfunctions.php"?>
<?php
$explicitid=2;
?>
<?php include "vsadmin/inc/incproducts.php"?>
 |
If your template
uses a DHTML pop-out menu or Mini Cart then
you will only find one of the PHP includes in the main body
of your site. The explicitid will still need to precede the
include line eg.
<?php
$explicitid=8;
?>
<?php include "vsadmin/inc/incproducts.php"?>
|
 |
You can now do the same for categories.php and proddetail.php
by adding the explicitid before:
<?php include "vsadmin/inc/inccategories.php"?>
and
<?php include "vsadmin/inc/incproddetail.php"?>
As the explicit id for a product detail page is a product
reference, you have to enclose this in quotes like this:
$explicitid="yourprodref";
You can get the variable you need by browsing your site
and checking the particular page URL. For example if your
URL for a widget looks like this:
www.yoursite.com/products.php?id=14
...then you would want to set
<?php
$explicitid=14;
?>
If you don't want to change all your pages to static URLs
then the URL can be in the form of http://www.yoursite.com/products.php?cat=14
due to the fact that Google may not give as much weight to
links which contain this generic "id" parameter.
In version 4.8.4 we added the possibility to define the
static URL in the categories admin page after following the
instructions above. This is an optional
feature
and if you want to use it just place the name of the static
page you have created.

This now means that your menu system won't pick up on the
dynamic URLs as the store is browsed. It also works with
the DHTML menu and avoids duplicate URLs / content on the
store.
In version 4.9.6 we added linked product detail static pages
where there is now an option in the product admin page "Has
static page" which if checked will cause the product
detail page link to take the form. . .
the_product_name.php
. . . where the page name will be made of the product name, in lower case with
spaces replaced by underscores and non alphanumeric characters removed. It will
be your responsibility to create the static detail page of that name using the
method above.
In version 5.1 we added the ability to change the underscore
to the character of you choice so if you prefer the layout
of the-product-name.php then you will need to add this to
includes.php
$urlfillerchar='-';

ALT
Information
By default all the product pictures and product detail pictures
will have the ALT information dynamically generated by the
value you have added for the product name. So if your product
name is "Blue Widget" then when your mouse passes over the
picture the name "Blue Widget" will appear.

Category identifiers
In Version 5.7.0 it is possible to change the
category identifier from a number to text, for example from
products.asp?cat=29 to products.asp?cat=Laser+Printers
To add this feature you will need the following
in vsadmin/includes.asp
usecategoryname=TRUE
or in vsadmin/includes.php for the PHP version
$usecategoryname=TRUE;
If you are using the dynamic title and meta
tags feature you will need to make sure that the includes.asp
/ includes.php line comes before the metainfo.asp / metainfo.php
line at the top of the code, like this
ASP Version <!--#include file="vsadmin/db_conn_open.asp"-->
<!--#include file="vsadmin/includes.asp"-->
<!--#include file="vsadmin/inc/metainfo.asp"-->
PHP Version <?php
session_cache_limiter('none');
session_start();
ob_start();
include "vsadmin/db_conn_open.php";
include "vsadmin/includes.php";
include "vsadmin/inc/metainfo.php";?><html>
...and then make sure you have removed the
includes line from further down the code.
 Further
reading
We also have some tips about search
engine optimization (SEO) and
an overview on how the search
engines work. This is only very general
information and we do recommend reading up on the subject. A great
place to start would be on Webmaster
World.

|