为什么我sitemap地图写好了,也放在了网站根目录被写入文件,但还是没有用,是什么原因呢?

SEO(进阶)提升收录策略之Sitemap地图
&什么是Sitemap地图,它其实是一张引导蜘蛛来你网站抓取路径的地图,如果你的网站结构复杂、数据量又非常大,那么你的网站是有必要做网站地图的,能够提高百度的收录和抓取的概率。对于一般的小网站,路径不是很多的,也可以不做,做了相对来说会好以点。
&&&网站地图可以分为两种:
&1、给搜索引擎蜘蛛看的&
&Sitemap.xml
这种格式主要是百度自己推出的一种网站地图写法,可以通过相关规范写出网站地图
然后通过百度站长平台提交,这样百度的蜘蛛就能有目的的高效的快速的来访问网站,但是,提交的内容百度蜘蛛没有保证一定都会收录!
&2、给用户看的&
&Sitemap.html
&&&这种主要是针对用户而言,让用户能够快速的寻找到自己所需的东西,也是方便搜索引擎来有效的爬取网页内容,提高网站质量。但是这种方法的出发点还是以用户体验度为主。
&那么怎么制作网站地图呢?在制作之前我们先了解一下,Sitemap的一些基本语法。
&基本语法:
&1、这一行定义了此xml文件的命名空间,相当于网页文件中的标签一样的作用。
标记每条信息的开始及结束。
&3、&&该条数据的存放地址,具体的一个路径。
&4、指该条数据的最后修改时间。
指该条数据的更新频率,时间属性:Always:一直、Hourly&
&:小时、&&Daily&
&:每天、Weekly:&
每周、Monthly:每月、Yearly:每年、Never:从不。
&6、用来指定此链接相对于其他链接的优先权比值,此值定于0.0-1.0之间。
&&&具体的操作可以在这个网站里在线生成,地址:www.&
&具体操作如图:
&&然后在邮箱中去下载这个文件,找到这个文件sitemap.xml。然后把它上传到网站根目录下。然后写在根目录的robots.txt文件中。&
&&&最后到百度站长平台去提交。具体操作如图:
&&&在这里,在介绍一下wordpress博客程序和dedecms织梦程序的sitemap地图制作方法。
&&&1、wordpress博客程序的sitemap制作方法,首先到程序后台,然后选择安装插件,输入:Baidu
Sitemap Generator 这个插件并安装,然后在设置选项中,找到baidu
sitemap&&这个选项,选择对应的设置,然后提交,生成的sitemap文件直接在网站,根目录。最后写到robots文件中,最后提交百度站长平台,操作如图:
2、dedecms织梦程序的sitemap地图的制作方法,按照下图操作,然后写在网站根目录中的robots.txt文档中,最后和上面操作一样到站长平台去提交。
&&&到这里,常规的制作sitemap地图的方法,也差不多。一般来说,网站前期数据都比较少,可以暂且不用做sitemap地图。到了中后期就必须要做了,如果你的大型网站还没有制作sitemap地图。那就赶快行动起来吧。&
最后向大家推荐一款很好用的H5制作工具,他能帮助你一键生成H5,并实现全网营销:iebook超级H5:
最新最全的SEO信息尽在。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。一般网站地图放在什么位置? - 搜外问答
现在织梦比较主流,尤其是做医院网站的,漏洞也很多。
一般织梦默认的网站地图在data文件,有的童鞋说没有效果,放在根目录才行,一直没有怎么注意这个细节
一般网站地图有两种,一种是给用户看的,一种是给搜索引擎看的。
不知道,大家把网站地图放在什么位置?是默认还是放在根目录?默认的有没有效果?给搜索引擎看的地图在哪里?
13,097 次浏览
分享到微信
等 6 人赞同该回答
1、网站地图不管是给用户还是搜索引擎看要放在(最起码不要放在data里)
2、要把地图(xml)提交给搜索引擎
3、把地图写入
等 2 人赞同该回答
都放在,做两个地图文件,一个是XML的,一个HTML,以前,百度不支持XML的地图,所以做HTML的,现在百度支持了,这个文件也是必要的。这个文件把所有的页面串起来,利于百度爬行。
默认的也有效果,只是来的比较慢而已。如果条件允许可以放在,这样的效果会更好一些。
最好的放在,其次就是提交给搜索引擎,再一个就是要在加入地图网站,最后在页脚加入网站地图链接。
放在下可以让百度更好的抓取到。建议如此。
强烈建议放在,同时在协议上注明地图
把网站地图文件放在;
本人建议: 你要是做中文的话做个HTML地图就行了;要是做英文的就做xml地图。
如果站点根目录有协议文件的就加上网站地图,没有Robots协议文件就不用去做别的了。最后把网站地图提交给相对应的搜索引擎就ok了。
网站地图我们一般放到里面,这个网站地图我觉得是给搜索引擎看的。
放在,效果会好一点,有的时候由于网站原因,会屏蔽掉想 data 存储数据的目录,造成地图不能给搜索引擎识别
很简单的问题。网站分两种地图HTML、XML ,HTML地图为静态地图提供给用户点击;XML为map动态地图,提供给蜘蛛抓取和识别。 如果有多个XML就需要用到索引的xml地图。
需要注意的是,网站前台添加HTML地图;里面添加XML地图,不可混用,乱用。希望对你有用。
如下图就是论坛的xml地图页面。
两个地图都放置在下没有什么问题吧,xml提交引擎,并且在文件中写出来。
网站地图建议放在网站下
还有记得提交网站地图给百度里面。
30天内高手都在交流什么
(1 个回答)
(27 个回答)
(13 个回答)
(10 个回答)
(10 个回答)
(37 分钟前)
(1 小时前)
(2 小时前)
(11 小时前)
(12 小时前)
专注、、运营
给问题设置一定金额,将更容易获得关注与回答。
选择支付方式Sitemap网站地图中SEO应该注意的几个点
&&& 5月8日、5月10日分别有2批次的邮件,是通知有网站获取到sitamap邀请权限。因为比较忙,也因为还没想好到底是否要用,所以一直推迟到今天。
&&& 刚才看了一眼百度的sitamap规则,跟我想的差不多。毕竟以google为首的搜索引擎公司已经制定了sitemap的国际协议,百度不可能跟这个协议差太远。是我没有想到的是sitemap.txt的做法,百度竟然也继续使用了。不知道此刻&发明&sitamap.txt的雅虎会怎么想。
&&& 还是话归正题,sitamap要注意以下几个点:
一、不能够存在已经删除的URL
很多网站制作了网站地图,也提交到搜索引擎,但是原有的URL因为某些原因删除了,而sitamap中未删除,这些已删除的URL会形成404错误页面。谨记删除某个URL的时候,同时去sitamap中也对应的删除该URL。
二、URL中不能直接书写带有参数的URL
因为动态网页往往存在参数,而问号和等号等字符是需要用相对应的代码进行表示的。所以我们建议如果要含有此类的URL,需要进行相应的转码。
三、重要的URL尽量靠前放
按照蜘蛛的爬取模式,重要的URL靠前放置不容易出现问题。之前有一家公司就是因为把某个已删除的频道提交到网站地图,结果这个栏目下的所有页面都被抓取,而重要的产品却因为网页众多没有被抓取。
四、时间必须是时间戳形式
时间不能够自己随便写,尤其是不能出现中文汉字年月日,因为是国际协议所以必须按照统一的时间戳形式来进行书写。
五、更新频率要设置合理
新站不建议使用比daily长的周期,以免出现问题。所有的页面更新频率都是always属于作弊,谨记。也不要所有的更新频率都一模一样,不可能。
六、网站权重也需要设置合理
不建议所有的网站权重都是1.0,因为这个网站权重是站内网站权重的分布,而不是站外网站权重的分布,所以你设置的网站总权重不变。SEO需要考虑那些页面需要推广,可以适当的给予高权重,不推广的页面不建议设置高权重。
七、建议使用xml格式或sitemap索引模式,不建议使用txt模式
如果是企业站建议使用xml格式,如果是电商站建议使用索引模式,如果是拥有海量信息的信息站,建议使用txt模式。因txt模式不能够设置更新频率和权重所以不建议使用这种模式。
八、与robotst.xt一样,放置在根目录
找到robots.txt文件夹的位置,将sitemap也放在这个位置,有些网站的根目录比较特殊,只要按照这种方式放置即可。正常的网站直接放在根目录。
&&& 因为经常看到一些不专业的SEO网站地图设置错误导致出现问题,所以建议大家在设置sitemap的时候一定要先弄明白你做网站地图的目的是什么,这些代码是什么意思,不要出现明明想加速收录结果却让蜘蛛一个月来一次甚至一年来一次的悲剧。
<< >>/ WordPress百度网站地图生成插件:Baidu Sitemap Generator
一个疯狂的 WordPress 爱好者,喜欢折腾 WordPress 主题,分享 WordPress 资源。如果你也喜欢 WordPress,欢迎和我一起交流!
(C) 2012- · 桂ICP备号-1 · 基于 WordPress · 由
运维 · 托管于关于ASP.NET 中站点地图sitemap 的使用 - 钢钢 - 博客园
在ASP.NET& MVC 如此火热的时期,我竟然不适时宜的谈起ASP.NET ,恐怕会引来一阵嘲笑。最为无趣的是,讲解的竟然还是其中的一个控件。oh~~& my god!my out! ^_^
SiteMapPath 控件简介
SiteMapPath 控件是一种站点导航控件,反映了SiteMap 对象提供的数据。它提供了一种定位站点的方式,动态显示当前页在站点中的相对位置,并提供了从当前页向上跳转的快捷方式。
SiteMapPath 控件直接使用了站点地图(.sitemap)中配置的数据(无需通过SiteMapDataSource数据源控件)。
示例一:SiteMapPath 控件的简单使用
1、创建 Web.sitemap 文件
在您的网站的根目录中创建一个名为 Web.sitemap 的文件。
打开此 Web.sitemap 文件,并添加下面的代码:
&?xml version="1.0" encoding="utf-8" ?&
&siteMap xmlns="/AspNet/SiteMap-File-1.0" &
&siteMapNode url="Default.aspx" title="首页" description=""&
&siteMapNode url="Second.aspx" title="二页" description="" /&
&siteMapNode url="Third.aspx" title="三页" description="" /&
&/siteMapNode&
&/siteMap&
○& 如果在url 属性值中,列出了不存在的 URL 或列出了重复的 URL,将导致请求Web 应用程序将失败。
○& 如果在url 属性值中,添加了相关参数(如:url="Second.aspx?id=1"),也有可能导致请求Web 应用程序将失败。
○& 在url 属性值中,可以“~/”快捷键开头,该快捷键表示应用程序根目录。
2、添加SiteMapPath 控件
向网页Default.aspx 添加站点导航控件,其代码如下:
&%@ Page Language="C#" %&
&!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="Head1" runat="server"&
&title&Simple Navigation Controls&/title&
&form id="form1" runat="server"&
&h2&Using SiteMapPath&/h2&
&asp:SiteMapPath ID="SiteMapPath1" Runat="server"&&/asp:SiteMapPath&
&!-- 此处的 SiteMapDataSource 控件是提供给TreeView 和 Menu 使用 --&
&asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server" /&
&h2&Using TreeView&/h2&
&asp:TreeView ID="TreeView1" Runat="Server" DataSourceID="SiteMapDataSource1" /&
&h2&Using Menu&/h2&
&asp:Menu ID="Menu2" Runat="server" DataSourceID="SiteMapDataSource1"/&
&h2&Using a Horizontal Menu&/h2&
&asp:Menu ID="Menu1" Runat="server" DataSourceID="SiteMapDataSource1"
Orientation="Horizontal" StaticDisplayLevels="2" /&
○& 只要在页面上拖放SiteMapPath 控件,页面就会自动显示站点地图。
○& 此处代码顺便演示了SiteMapDataSource 控件如何提供给TreeView 和 Menu 使用。
示例二:如何在根站点地图中添加子站点地图文件
默认情况下,ASP.NET 站点导航使用一个名为 Web.sitemap 的 XML 文件,该文件描述网站的层次结构。
但是,也有可能要使用多个站点地图文件或站点地图提供程序来描述整个网站的导航结构。
1、若要为一个站点配置多个子站点地图,首先在根目录的站点地图中设置子站点地图的节点。
在根站点地图Web.sitemap 中,将下面的 SiteMapNode 添加到文件的相应位置,代码如下:
&siteMapNode siteMapFile="~/News/News.sitemap" /&
添加完以上节点后,根目录下的站点地图(Web.sitemap)的完整代码如下:
&?xml version="1.0" encoding="utf-8" ?&
&siteMap xmlns="/AspNet/SiteMap-File-1.0" &
&siteMapNode url="Default.aspx" title="首页" description=""&
&siteMapNode url="Second.aspx" title="二页" description="" /&
&siteMapNode url="Third.aspx" title="三页" description="" /&
&siteMapNode siteMapFile="~/News/News.sitemap" /&
&/siteMapNode&
&/siteMap&
2、添加子站点,并创建相应的子目录的站点地图文件(News.sitemap),其代码如下:
&?xml version="1.0" encoding="utf-8" ?&
&siteMap xmlns="/AspNet/SiteMap-File-1.0" &
&siteMapNode url="~/News/NewsIndex.aspx" title="新闻首页" description=""&
&siteMapNode url="~/News/Sports.aspx" title="体育新闻" description="" /&
&siteMapNode url="~/News/Stars.aspx" title="明星新闻" description="" /&
&/siteMapNode&
&/siteMap&
注意:子站点地图中,url 属性值一定要使用以“~/”快捷键开头的应用程序根目录路径,如:url="~/News/Stars.aspx"
示例三:如何动态修改站点地图sitemap 中的属性值
一个页面的内容要根据上一个页面所点击的链接来动态改变,这个倒是可以通过页面间的参数传递来实现。
但是,如果站点地图(如:BBS.sitemap)中,相关节点 & siteMapNode & 的 title 属性值也要根据所点击的链接来动态改变,则需要通过一定的编码来实现。
在此举例如下:
一个论坛首页(BBSIndex.aspx)上有相关版块的超链接(如:Java 版块链接、C# 版块链接、SQL 版块链接),点击某一个版块链接后,跳转到论坛主题(Topic.aspx)页面。而该论坛主题(Topic.aspx)页面套用了一个模板页(TopicMaster.master),该模板页(TopicMaster.master)中添加了SiteMapPath 控件,该控件用来显示当前页面的版块名称,而该名称的字符值是从站点地图(BBS.sitemap)中相对应的节点(siteMapNode)取其 title 属性值。
其站点结构如下图所示:
BBS.sitemap 文件的代码如下:
&?xml version="1.0" encoding="utf-8" ?&
&siteMap xmlns="/AspNet/SiteMap-File-1.0" &
&siteMapNode url="~/BBS/BBSIndex.aspx" title="BBS首页" description=""&
&siteMapNode url="~/BBS/Topic.aspx" title="" description="" /&
&/siteMapNode&
&/siteMap&
注意:url="~/BBS/Topic.aspx" 的节点siteMapNode 其title 属性值为空字符串,它将通过在母版页(TopicMaster.master)中编码实现动态改变!
母版页(TopicMaster.master)的后台代码如下:
public partial class BBS_TopicMaster : System.Web.UI.MasterPage
protected void Page_Load(object sender, EventArgs e)
//当访问SiteMap.CurrentNode 属性时发生
SiteMap.SiteMapResolve += new SiteMapResolveEventHandler(SiteMap_SiteMapResolve);
Label1.Text = Request.QueryString["class"];
SiteMapNode SiteMap_SiteMapResolve(object sender, SiteMapResolveEventArgs e)
//当在母版中获得当前页面的Request对象时,必须使用如下方法:
HttpRequest currRequest = System.Web.HttpContext.Current.R
string _classQuerySteing = currRequest.QueryString["class"];
if (null != _classQuerySteing)
/* SiteMap.CurrentNode对象是 BBS.sitemap 文件的当前节点值。
* 而SiteMap.CurrentNode 对象在SiteMap类中只读,
* 所以克隆一个SiteMapNode,并修改其对象的Title属性值。
SiteMapNode currMapNode = SiteMap.CurrentNode.Clone(false);
switch (_classQuerySteing)
case "java": currMapNode.Title = "Java 主题";
//currMapNode.Url = "Topic.aspx?class=java";
case "csharp": currMapNode.Title = "C# 主题"; break;
case "sql": currMapNode.Title = "SQL 主题"; break;
default: currMapNode.Title = "无主题"; break;
return currMapN
return SiteMap.CurrentN
○& 这里是通过在模板页中给SiteMap 对象添加事件:SiteMap.SiteMapResolve += new SiteMapResolveEventHandler 以实现对站点地图的动态修改,该事件将在当访问SiteMap.CurrentNode 属性时出发;
○& SiteMap.CurrentNode 对象是只读的,我通过对该对象的克隆来复制一个SiteMapNode 节点,并修改其Title 属性值。
随笔 - 302
评论 - 1420}

我要回帖

更多关于 根目录怎么写 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信