Page 1 of 1

Script /Meta tag placement affects SEO

Posted: Tue Jun 16, 2009 12:56 pm
by ocf@rme-w.com
We have noticed a consistant drop in our search engine visiblity since switching to ACB last winter.

In doing research with SEO consultants and also looking at headers for our competitors, it has been suggested to us that the problem is in ACB's placement of java script above all meta tags and title tags. Examples are below of one of our store's headers and a similar header from a competitor.

Another question is why there is an extra <title></title> showing

Is there a way of changing the order of tags/scripts in ACB headers??? We are not coders so a step by step will be greatly appreciated.

~~~~~~~begin flowerbulbs.com header ~~~~~~~~~~~~
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="ctl00_head1">
<script language="javascript">
function initAjaxProgress()
{
var pageHeight = (document.documentElement && document.documentElement.scrollHeight) ? document.documentElement.scrollHeight : (document.body.scrollHeight > document.body.offsetHeight) ? document.body.scrollHeight : document.body.offsetHeight;
//SET HEIGHT OF BACKGROUND
var bg = document.getElementById('ajaxProgressBg');
bg.style.height = (pageHeight + 1000) + 'px';
//POSITION THE PROGRESS INDICATOR ON INITIAL LOAD
reposAjaxProgress();
//REPOSITION THE PROGRESS INDICATOR ON SCROLL
window.onscroll = reposAjaxProgress;
}

function reposAjaxProgress()
{
var div = document.getElementById('ajaxProgress');
var st = document.body.scrollTop;
if (st == 0) {
if (window.pageYOffset) st = window.pageYOffset;
else st = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
}
div.style.top = 150 + st + "px";
}
</script>
<link href="App_Themes/Glass_WhiteLilly/ComponentArt.css" type="text/css" rel="stylesheet" /><link href="App_Themes/Glass_WhiteLilly/deliverydate.css" type="text/css" rel="stylesheet" /><link href="App_Themes/Glass_WhiteLilly/print.css" type="text/css" rel="stylesheet" /><link href="App_Themes/Glass_WhiteLilly/style.css" type="text/css" rel="stylesheet" /><link href="App_Themes/Glass_WhiteLilly/webparts.css" type="text/css" rel="stylesheet" /><META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>Black / Dark Purple Calla Lily Flowers, Calla Lily, Calla Lilies, and Calla Lillies from Oregon Coastal Flowers</title>
<META name="description" content="Black & Dark Purple bridal and premium Calla Lily flowers for your wedding and special occasions. Z Callas Lilies from Oregon Coastal Flowers">
<meta name="keywords" content="Black calla lily, hot chocolate, purple calla lilies, Calla, Lily, Lilly, Lilies, Lillies, Calla Lilly, Flowers, Z Calla, Oregon Coastal Flowers, Wedding, calla lily bouquet">
<META name="revisit-after" content="7 days">
<META name="robots" content="index,follow">
<META name="page-topic" content="calla lily flowers for weddings and special occasions">
<META name="rating" content="general">
<META name="classification" content="general">
<META name="copyright" content="Oregon Coastal Flowers 2000-2008">
<META name="Owner" content="Oregon Coastal Flowers">
<META name="Generator" content="Able Commerce">
<META name="language" content="EN">
<META name="verify-v1" content="aoSxLP/rXXCZP+IJ0cJMsmv6+c1mlGCBA7WNw+xSc3s=" />
<META name="verify-v1" content="YUl4eQEDS0hjv8mLMpr+xOXxRJk83a3tBZ0ltzHYS2s=" /> Calla lily flowers, calla lilies in all colors supplied by America's premier calla lilly grower.calla lily, calla lilly, lilies, lillies, hydrangea, hydrangeas<title>
Black / Deep Purple Calla Lilies
</title><style type="text/css">
.ctl00_ContentZone_0 { border-color:Black;border-width:1px;border-style:Solid; }

</style></head>

~~~~~~~end flowerbulbs.com header ~~~~~~~~~~~~



~~~~~~~begin pacificcallas header ~~~~~~~~~~~~
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Black Calla Lily Flowers</title>
<meta name="keywords" content="Calla lily flowers, flowers, wholesale calla lilies, lilies, weddings, lilly, calla lillies, wedding, cut flowers, colored, wedding flowers, fresh cut flowers">
<meta name="description" content="Fresh cut wholesale calla lilies - Pacific Callas is your source for premium quality calla lily flowers from the world's best calla lily growers. ">
<META name="Author" content="Pacific Callas">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript" src="http://www.pacificcallas.com/js/setting.js"></script>
<script type="text/javascript" src="http://www.pacificcallas.com/js/datepicker.js"></script>
<script type="text/javascript" src="http://www.pacificcallas.com/js/prototype.js"></script>
<script type="text/javascript" src="http://www.pacificcallas.com/js/datepic ... "></script>
<link href="http://www.pacificcallas.com/css/datepicker.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
a:link {
color: #333333;
text-decoration: none;
}
a:active {
color: #333333;
text-decoration: underline;
}
a:visited {
color: #333333;
text-decoration: none;
}
a:hover {
color: #666666;
text-decoration: underline;
}
input {
width: auto;
}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a)&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a.indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a;}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
</head>

~~~~~~~end pacificcallas header ~~~~~~~~~~~~

Re: Script /Meta tag placement affects SEO

Posted: Wed Jun 17, 2009 6:13 am
by mazhar
Please have a look at following post, it may help you
viewtopic.php?f=42&t=9073

Re: Script /Meta tag placement affects SEO

Posted: Sat Jun 20, 2009 4:34 pm
by ocf@rme-w.com
I don't see how the post you refer to helps ... :(
We simply wish to put the Meta tag information from the HTML HEAD: section of edit product before the script in page headers. This was not a problem in CF but I am not an ASP programmer. Please advise page and code to to substitute.
Thanks
:D

Re: Script /Meta tag placement affects SEO

Posted: Mon Jun 22, 2009 11:49 am
by Logan Rhodehamel
The meta tags can be moved for catalog objects (categories, products, webpages) by making a small change to the file App_Code/PageHelper.cs.

Original Code:

Code: Select all

    public static void BindMetaTags(Page page, ICatalogable catalogObject)
    {
        if (catalogObject != null)
        {
            page.Header.Controls.Add(new LiteralControl(catalogObject.HtmlHead));
        }
    }
Modified Code:

Code: Select all

    public static void BindMetaTags(Page page, ICatalogable catalogObject)
    {
        if (catalogObject != null)
        {
            page.Header.Controls.AddAt(0, new LiteralControl(catalogObject.HtmlHead));
        }
    }
The code "Add(" changed to "AddAt(0, ". That should do the trick.