问题描述
|
我正在为尚未建立的网站做一些SEO,它具有以下导航栏:
<div align=\"right\" id=\"menu\">
<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
<tr>
<td><div align=\"center\" class=\"menuitem1\" onmouSEOver=\"this.className=\'menuitem1a\'\" onmouSEOut=\"this.className=\'menuitem1\'\" onclick=\"window.location=\'index.PHP\'\" >
<div style=\"margin-top:80px\">Profile</div>
</div></td>
<td><div align=\"center\" class=\"menuitem2\" onmouSEOver=\"this.className=\'menuitem2a\'\" onmouSEOut=\"this.className=\'menuitem2\'\" onclick=\"window.location=\'customers.PHP\'\">
<div style=\"margin-top:80px\">Customers</div>
</div></td>
<td><div align=\"center\" class=\"menuitem3c\">
<div style=\"margin-top:80px\">Services</div>
</div></td>
<td><div align=\"center\" class=\"menuitem4\" onmouSEOver=\"this.className=\'menuitem4a\'\" onmouSEOut=\"this.className=\'menuitem4\'\" onclick=\"window.location=\'products.PHP\'\">
<div style=\"margin-top:80px\">Products</div>
</div></td>
<td><div align=\"center\" class=\"menuitem5\" onmouSEOver=\"this.className=\'menuitem5a\'\" onmouSEOut=\"this.className=\'menuitem5\'\" onclick=\"window.location=\'contact.PHP\'\">
<div style=\"margin-top:80px\">Contact</div>
</div></td>
</tr>
</table>
</div>
我注意到的第一件事,它没有锚点!
其次,当我制作网站的站点地图时,只有索引页面存在。
编辑:它还会吐出评估错误!
从SEO角度来看这是否有负面影响?
提前致谢!
解决方法
是的,它确实。由于抓取工具通常会忽略JS,因此它无法访问其余页面,因为导航对其不起作用。您需要将那些DIV更改为锚点,并对其进行适当的样式设置,以保留旧样式。
另外,此方法也不易访问,因为从页面内容中看不到哪个元素是链接。没关系的语义
, 据说Google现在可以使用JS,但是,那是一个残酷的标记。对可访问性也真的很不利。而且很难维护。另外,它的标记方式比需要的更多,而且如果您减轻页面尺寸,Google永远不会抱怨。
至于验证,这可能对SEO的影响不大(如果这样做的话,Google索引的一半将为空)。
我的猜测是2000年左右的Adobe Dreamweaver标记,或者它来自典型的错误CMS。
, @JohnP已经回答了这个问题-这确实是不好的标记。
一个更简单的方法是
<ul id=\"menu\">
<li><a href=\"index.php\">Profile</a></li>
<li><a href=\"customers.php\">Customers</a></li>
....
</ul>
并通过CSS进行样式设计。 (如果样式不同,则可能需要将menuitem1
,menuitem2
类添加到<li>
元素中。)