I have an XsltListViewWebPart on a publishing page. I am using custom XSL to style the view; I am not even using the ECB menu.
Why is Google indexing the ECB menu's HTML & JavaScript? When i search for my site with Google, I see the following:
Google http://imageshack.us/a/img33/4882/6t4g.png
In the WebPart's generated HTML, in the ECB menu's code block, I see the following <div>.
<div>javascript:commonShowModalDialog('{SiteUrl}/_layouts/itemexpiration.aspx?ID={ItemId}&List={ListId}', 'center:1;dialogHeight:500px;dialogWidth:500px;resizable:yes;status:no;location:no;menubar:no;help:no', function GotoPageAfterClose(pageid){if(pageid == 'hold') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/hold.aspx?ID={ItemId}&List={ListId}'); return false;} if(pageid == 'audit') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/Reporting.aspx?Category=Auditing&backtype=item&ID={ItemId}&List={ListId}'); return false;} if(pageid == 'config') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/expirationconfig.aspx?ID={ItemId}&List={ListId}'); return false;}}, null); return false;</div>
Now I am no SEO expert, but there is plenty of other relevant, semantic content both before & after this <div> that Google should be displaying rather than this nasty codeblock. (Why is this a <div> & not a <script> anyway?)
Is there a way to remove the ECB menu entirely? I am not using it at all (at least not on any publishing pages). If not, how can i ensure that it doesn't get indexed by search engines?
Edit (10/1/2013): Lets approach this from a different angle. What horrible SEO mistakes could i have made that would have caused the ECB menu to get indexed over the other content? Most of the content preceeding the ECB menu is nothing but <h1>, <p>, & <a> tags wrapped in some <div> tags. There is some JavaScript animations, but everything is initially visible.