GVKun编程网logo

网站推广之网站地图(sitemap)制作的6个点(网站地图设计)

19

本篇文章给大家谈谈网站推广之网站地图,以及sitemap制作的6个点的知识点,同时本文还将给你拓展c#生成站点地图(SiteMapPath)文件示例程序、dede将网站地图sitemap生成到根目录、

本篇文章给大家谈谈网站推广之网站地图,以及sitemap制作的6个点的知识点,同时本文还将给你拓展c#生成站点地图(SiteMapPath)文件示例程序、dede将网站地图sitemap生成到根目录、django网站地图sitemap、Google网站地图Sitemap与搜索引擎优化等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

网站推广之网站地图(sitemap)制作的6个点(网站地图设计)

网站推广之网站地图(sitemap)制作的6个点(网站地图设计)

  不要低估网站地图在企业网站建设中的重要性,因为网站地图的功能对于网站建设的辅助功能非常重要,尤其是对于新网站的建设。换言之,无论是什么样的企业,都应该建立一个网站。然而,不同的企业在地理位置上具有不同的优势。他们都是独一无二的,这也有利于收集网站上的文章。那么,企业网站在构建网站地图时应该注意哪些关键点呢?

  首先,如果网站是信息型或新颖型网站,那么网站本身的内容就非常丰富。在网站建设和网站地图建设期间,将选择Txt格式。但是,不建议使用此格式,因为TXT格式无法设置更新频率。如果您的页面结构非常复杂,您将使用这种格式。在许多情况下,建议使用XML格式构建网站地图。


  第二,如果它是一个具有动态页面构造的网站,则网站地图中显示的URL参数通常会有一些特殊符号。例如,问号、等号等。这些特殊符号的使用不利于网站地图的建设。如果网站建设不是一个纯粹的动态页面,可以使用转换方法来处理特殊符号。

  第三,在构建网站地图时要注意一个原则。尝试将一些重要的URL参数放在网站地图的顶部。你知道,搜索引擎蜘蛛是自上而下的。如果前一个URL中出现错误或被删除,将影响爬行器的爬行。因此,在构建网站地图时,应根据网站的实际情况,将重要信息放在地图的上层。

  第四,在构建网站地图时,我们经常会遇到一些问题。例如,当我们向百度提交删除的页面时,我们会遇到404页面的出现。这样做的主要原因是,在删除页面时,不会同时删除网站地图中的URL参数。

  第五,在网站建设过程中,必须保持网站地图简洁,避免重复链接。最好使用标准的W3格式文档,布局设计也应该简单、清晰、清晰。如果您正在构建内容方面的网站地图,建议每页内容链接不要超过100个。如果链接太多,可以选择分页。

  第六,如果人力资源允许,我们应该经常更新网站地图,这将提高搜索引擎蜘蛛对网站爬行的热情。

    延伸阅读

  • 网站地图对于网站优化来说重要吗?

    网站地图现在营销型网站比较受企业的喜爱。那在进行营销型网站建设时应该怎么做才能更好地发挥它的价值呢?这里一定要给大家说一下的就是在进行营销网站建设时一定要做好网站地图的设置。网...

  • SEO优化制作网站地图的作用

    一、SEO优化制作网站地图的作用第一、有利于蜘蛛爬行搜索引擎每天放出蜘蛛爬行网站上进行抓取新网页,然后给予网站排名。但是对于比较复杂的网站,蜘蛛往往不会爬行的这么深,就会导致有...

  • 搜索优化常说的网站地图是什么意思?

    网站地图提交的是网站的链接,网站地图包含了网站的全部页面.提交有助于百度收录。而不是字面的地图的意思。网站地图描述了一个网站的架构。它可以使一个任意形式的文档,用作网页设计的设...

  • 友链指向自己网站地图,对网站收录有帮助吗?

    网站sitemap地图做友链对seo好不好?收到站长提问,对于与他人交换友情链接,能否交换指向自己网站地图xml上,这样方式是否违规,会不会被搜索引擎惩罚,这样1、友链锚文本的...

  • 网站地图能给网站优化带来哪些好处呢?

    网站地图是每个网站做SEO一定会生成的一个文件,它会列出网站前端页面所有的URL,让搜索引擎快速发现和抓取网站的链接,从而提高页面收录量,一般常见的网站地图格式有XML、HTM...

c#生成站点地图(SiteMapPath)文件示例程序

c#生成站点地图(SiteMapPath)文件示例程序

复制代码 代码如下:

//创建站点地图
        private void CreateSiteMap(DataSet ds)
        {

            XmlDeclaration declareation;
            declareation = xmlDoc.CreateXmlDeclaration("1.0","UTF-8",null);
            xmlDoc.AppendChild(declareation);

            XmlElement xeRoot = xmlDoc.CreateElement("siteMap");
            xmlDoc.AppendChild(xeRoot);

            XmlElement xroot = xmlDoc.CreateElement("siteMapNode");
            xroot.SetAttribute("title","");
            xroot.SetAttribute("url","#");
            xeRoot.AppendChild(xroot);

            for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
            {
                DaTarowView row = ds.Tables[0].defaultview[i];

                string MainMenu = row["MainMenu"].ToString();
                string NavigateUrl = row["NavigateUrl"].ToString();
                if (MainMenu != str)
                {
                    XmlElement siteMapNode = xmlDoc.CreateElement("siteMapNode");
                    siteMapNode.SetAttribute("title",MainMenu);
                    siteMapNode.SetAttribute("description","");
                    siteMapNode.SetAttribute("url",NavigateUrl);
                    xroot.AppendChild(siteMapNode);
                    str = AddChildNode(MainMenu);
                }
            }
            xmlDoc.Save(Server.MapPath("\\Web.sitemap"));
        }

        //添加子节点
        private string AddChildNode(String text)
        {
            string sql = "select * from Menu Where MainMenu ='" + text + "'";
            Datasql data = new Datasql();
            data.DataCon();
            DataSet ds = data.GetDataset(sql);
            XmlNode root = xmlDoc.SelectSingleNode("/siteMap/siteMapNode/siteMapNode[@title='" + text + "']");
            for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
            {
                DaTarowView row = ds.Tables[0].defaultview[i];

                string ChildMenu = row["ChildMenu"].ToString();
                if (ChildMenu != "")
                {
                    string NavigateUrl = row["NavigateUrl"].ToString();

                    XmlElement siteMapNode = xmlDoc.CreateElement("siteMapNode");
                    siteMapNode.SetAttribute("title",ChildMenu);
                    siteMapNode.SetAttribute("description",NavigateUrl);
                    root.AppendChild(siteMapNode);
                }
            }
            return text;
        }

dede将网站地图sitemap生成到根目录

dede将网站地图sitemap生成到根目录

dede默认的网站地图sitemap是生成在data目录下,因为data目录很特别,用dede的朋友都明白,因为安全和便于收录的考虑,需要把网站地图sitemap生成到网站根目录下,共享世纪就是如此!方法如下:

详细的步骤:

1、首先登录ftp,在根目录下建立RSS文件夹

2、修改根目录下你的管理员文件夹(默认是dede)下的makehtml_map.PHP文件

将17行的$cfg_cmspath."/data/sitemap.html";

和22行的$cfg_cmspath."/data/RSSmap.html";

data/ 去掉

3、修改根目录下include下面的arc.RSSview.class.PHP和sitemap.class.PHP

在arc.RSSview.class.PHP

将71行的$murl = $GLOBALS['cfg_cmspath']."/data/RSS/".$this->TypeID.".xml";

在sitemap.class.PHP

将57行的$typelink = $GLOBALS['cfg_cmsurl']."/data/RSS/".$row->id.".xml";

和94行的$typelink = $GLOBALS['cfg_cmsurl']."/data/RSS/".$row->id.".xml";

好了,生成试试吧!此外,还可以用sitemap生成软件,生成之后手动上传到网站根目录,我自己用的sitemap生成器是sitemapx,比较顺手!

django网站地图sitemap

django网站地图sitemap


网站地图是根据网站的结构、框架、内容,生成的导航网页,是一个网站所有链接的容器。很多网站的连接层次比较深,蜘蛛很难抓取到,网站地图可以方便搜索引擎或者网络蜘蛛抓取网站页面,了解网站的架构,为网络蜘蛛指路,增加网站内容页面的收录概率。网站地图一般存放在域名根目录下并命名为sitemap,比如http://www.liujiangblog.com/sitemap.xml

一个典型的sitemap,其内容片段如下:

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url> <loc>http://www.liujiangblog.com/blog/9/</loc> <lastmod>2017-12-08</lastmod> <priority>0.4</priority> </url> <url> <loc>http://www.liujiangblog.com/blog/8/</loc> <lastmod>2017-12-05</lastmod> <priority>0.4</priority> </url> <url> <loc>http://www.liujiangblog.com/blog/7/</loc> <lastmod>2017-11-19</lastmod> <priority>0.4</priority> </url> # 更多内容未列出 

Django自带了一个高级的生成网站地图的框架,我们可以很容易地创建出XML格式的网站地图。创建网站地图,只需编写一个Sitemap类,并在URLconf中编写对应的访问路由。

一、安装

安装sitemap框架的步骤如下:

  1. 在INSTALLED_APPS设置中添加''django.contrib.sitemaps'' .
  2. 确认settings.py中的TEMPLATES设置包含DjangoTemplates后端,并将APP_DIRS选项设置为True。其实,默认配置就是这样的,只有当你曾经修改过这些设置,才需要调整过来。
  3. 确认你已经安装sites框架. (注意: 网站地图APP并不需要在数据库中建立任何数据库表。修改INSTALLED_APPS的唯一原因是,以便Loader()模板加载器可以找到默认模板。)

二、初始化

为了在网站上激活站点地图生成功能,请把以下代码添加到URLconf中:

from django.contrib.sitemaps.views import sitemap

url(r''^sitemap\.xml$'', sitemap, {''sitemaps'': sitemaps}, name=''django.contrib.sitemaps.views.sitemap'') 

当用户访问/sitemap.xml时,Django将生成并返回一个网站地图。

网站地图的文件名并不重要,重要的是文件的位置。搜索引擎只会索引网站的当前URL层级及下属层级。例如,如果sitemap.xml位于根目录中,它会引用网站中的任何URL。 但是如果站点地图位于/content/sitemap.xml,则它只能引用以/content/开头的网址。

sitemap视图需要一个额外的必需参数: {''sitemaps'': sitemaps}sitemaps应是一个字典,将部门的标签(例如news或blog)映射到其 Sitemap类(例如,NewsSitemap或BlogSitemap)。也可以映射到Sitemap类的实例(例如,BlogSitemap(some_var))。

三、范例

假设你有一个博客系统,拥有Entry模型,并且你希望站点地图包含指向每篇博客文章的所有链接。 以下是Sitemap类的写法:

from django.contrib.sitemaps import Sitemap
from blog.models import Entry class BlogSitemap(Sitemap): changefreq = "never" priority = 0.5 def items(self): return Entry.objects.filter(is_draft=False) def lastmod(self, obj): return obj.pub_date 

注意:

  • changefreq和priority分别对应于HTML页面中的<changefreq><priority>标签。
  • items()只是一个返回对象列表的方法。
  • lastmod方法应该返回一个datetime时间对象。
  • 在此示例中没有编写location方法,但你可以自己增加此方法来指定对象的URL。默认情况下,location()在每个对象上调用get_absolute_url()并将返回结果作为对象的url。也就是说,使用站点地图的模型,比如Entry,需要在模型内部实现get_absolute_url()方法。

四、Sitemap类详解

class Sitemap[source]

Sitemap类可以定义以下方法/属性:

1. items[source]

必须定义。返回对象列表的方法。

框架不关心对象的类型,重要的是这些对象将被传递给location(),lastmod(),changefreq()和priority()方法。

2. location[source]

可选。 其值可以是一个方法或属性。

如果是一个方法, 它应该为items()返回的对象的绝对路径.

如果它是一个属性,它的值应该是一个字符串,表示items()返回的每个对象的绝对路径。

上面所说的“绝对路径”表示不包含协议和域名的URL。 例子:

正确:''/foo/bar/''
错误:''example.com/foo/bar/''
错误:''https://example.com/foo/bar/''

如果未提供location,框架将调用items()返回的每个对象上的get_absolute_url()方法。

该属性最终反映到HTML页面上的<loc></loc>标签。

3. lastmod

可选。 一个方法或属性。表示当前条目最后的修改时间。

4. changefreq

可选。 一个方法或属性。表示当前条目修改的频率。

changefreq的允许值为:

''always''
''hourly''
''daily''
''weekly''
''monthly''
''yearly''
''never''

5. priority

可选。表示当前条目在网站中的权重系数,优先级。

示例值:0.4,1.0。 页面的默认优先级为0.5,最高为1.0。

6. protocol

可选的。定义网站地图中的网址的协议(''http''或''https'')。

7. limit

可选的。定义网站地图的每个网页上包含的最大超级链接数。

8. i18n

可选的。一个boolean属性,定义是否应使用所有语言生成此网站地图。默认值为False。

五、快捷方式

sitemap框架提供了一个快捷类,帮助我们迅速生成网站地图:

class GenericSitemap[source] 

通过它,我们无需为sitemap编写单独的视图模块,直接在URLCONF中,获取对象,获取参数,传递参数,设置url,如下所示,一条龙服务:

from django.conf.urls import url
from django.contrib.sitemaps import GenericSitemap from django.contrib.sitemaps.views import sitemap from blog.models import Entry info_dict = { ''queryset'': Entry.objects.all(), ''date_field'': ''pub_date'', } urlpatterns = [ # some generic view using info_dict # ... # the sitemap url(r''^sitemap\.xml$'', sitemap, {''sitemaps'': {''blog'': GenericSitemap(info_dict, priority=0.6)}}, name=''django.contrib.sitemaps.views.sitemap''), ] 

六、静态视图的Sitemap

有时候,我们不希望在站点地图中出现一些静态页面,比如商品的详细信息页面。要怎么做呢?解决方案是在items中显式列出这些页面的网址名称,并在网站地图的location方法中调用reverse()。 像下面这样:

# sitemaps.py
from django.contrib import sitemaps from django.urls import reverse class StaticViewSitemap(sitemaps.Sitemap): priority = 0.5 changefreq = ''daily'' def items(self): return [''main'', ''about'', ''license''] def location(self, item): return reverse(item) # urls.py from django.conf.urls import url from django.contrib.sitemaps.views import sitemap from .sitemaps import StaticViewSitemap from . import views sitemaps = { ''static'': StaticViewSitemap, } urlpatterns = [ url(r''^$'', views.main, name=''main''), url(r''^about/$'', views.about, name=''about''), url(r''^license/$'', views.license, name=''license''), # ... url(r''^sitemap\.xml$'', sitemap, {''sitemaps'': sitemaps}, name=''django.contrib.sitemaps.views.sitemap'') ] 

上面做法的本质,是我先找出不想展示的页面,然后反向选择一下,获取想生成站点条目的对象,最后展示到站点地图中。你可以简单的理解为‘反选’。

Google网站地图Sitemap与搜索引擎优化

Google网站地图Sitemap与搜索引擎优化

Google网站地图(sitemap)是Google提供给网站管理员的一个工具,来提高网站被收录的网页数目。

一般来说,搜索引擎蜘蛛会跟着链接爬行到你网站的所有网页。但很多时候,由于种种原因,并不是所有网页都能被收录进搜索引擎数据库。比如说,你的网站是数据库动态生成的,URL中带有参数,一些网页离主页太远,你的网站PR值太低,新的网页可能过很长时间才有机会被抓取等等。

Google Sitemap就允许站长上传给Google一个网站地图,列出你所有需要被抓取的网页及重要性级别。据很多人证实,Google网站地图确实能提高被Google收录的网页数目,而且似乎Google每天都会抓取sitemap的内容。

所以如果你有新的网页,或你的网站内容更新比较快,Google网站地图是一个很好的通知Google的工具。

不过我在这里想和大家分享几个Google Sitemap用于搜索引擎优化的心得。

第一,像前面说的,当然最重要的是,使你的网页被收录的越多越好。因为我的网站没有收录问题,所以我也没有提交网站地图。但据朋友说,这个功能确实很好用。如果你的网站有很多网页没有被收录的话,应该试一下。

第二,在Google网站地图管理界面中,你可以看到Google是否惩罚了你的网站。像在以前提到的,Google会通知一部分被惩罚的网站站长。我感觉这是一个最重要的必须要使用Google Sitemaps的原因。虽然这个功能最好永远用不上。

第三,Google网站地图管理界面Diagnostic(诊断)部分,你的网站在被抓取的时候,如果有什么问题都会被列出来。比如说URL错误,404错误,服务器宕机等等。在HTTP错误中,可以看到有哪些URL是有问题的,这样可以及时解决网站上的技术问题。

第四,Diagnostic部分也提供了一个robots.txt文件检测工具。很多时候我们不希望搜索引擎来抓取某些目录或某些文件,用robots.txt文件是一个标准方法。但如果这个文件写的有问题,可能会造成搜索引擎完全不能爬行你的网站。你可以用这个Google Sitemaps检测工具测试某一个目录或某一个文件是否被排除在搜索引擎之外。

第五,在Google网站地图Statistic(统计资料)部分,有很多非常有用的信息。

比如搜索统计(query stats)。Google会列出用户在找到你的网站时,使用的是什么关键词。在这个关键词下,你排名第几(top search queries)。在这个关键词下,你又得到了多少点击(top search query clicks)。虽然你可以从服务器日志文件中得到同样的资料,但Google在他的界面中,已经非常清楚的列出了这些信息,非常好用。

你可以从关键词统计信息中,清楚的看到你的目标关键词表现怎么样,你的标题标签写的怎么样。

第六,我觉得最重要的一个统计信息就是这一点,在网页分析统计(page analysis)栏目下,Google列出了Google所认为的你的网站与哪些关键词最有关(In your site’s content)。同时列出了在Google的数据库里面,你的反向链接都是使用哪些关键词做链接文字的(In external links to your site)。

左栏In your site’s content是在Google眼中,你的网站是谈论什么的,你的网站主题是什么。如果Google列出的这些关键词与你真正的网站主题有所偏离的话,很显然你需要修改你的网站内容,重写网站文字。

举个例子,对我的博客来说,Google列出的关键词是:网站,Google,搜索引擎,网页,排名,优化,链接,SEO,研究,等等。当然后面也列出了一些不太相关的,比如爸爸,这和中文分词的不准确有关。因为我的博客里从来没谈爸爸,而是在谈大爸爸数据中心。不过无论如何,这个信息非常重要。

而右栏In external links to your site显示在Google数据库中,反向链接所使用的链接文字。 我们都知道反向链接是Google排名和所有搜索引擎排名算法中非常重要的一环。而链接文字从两年前开始,变得越来越重要了。从Google所列出的外部链接的情况,你可以知道其他网站是怎样链接到你的网站的。而这些链接文字所形成的主题在很大程度上影响Google所认为的你的网站的主题。

比如说,我的这个博客的反向链接所出现的链接文字最多的是:SEO每天一帖,Google,搜索,虚拟主机,域名注册,电子邮件。很明显很少其他网站用”搜索引擎优化”来链接向我的博客。这也就难怪在 Google中,如果你搜索搜索引擎优化,我的这个博客目前根本找不到。

一般来说,你应该尽可能的使其他网站使用你最重要的关键词来链接向你。Google列出了你的链接当前效果怎么样,你也就知道了应该努力的方向。

网页分析统计(page analysis)是我觉得Google网站地图最有用最有意义的。

今天关于网站推广之网站地图sitemap制作的6个点的讲解已经结束,谢谢您的阅读,如果想了解更多关于c#生成站点地图(SiteMapPath)文件示例程序、dede将网站地图sitemap生成到根目录、django网站地图sitemap、Google网站地图Sitemap与搜索引擎优化的相关知识,请在本站搜索。

本文标签:

上一篇Windows 11 SE 是什么 它能和Chrome OS打擂台吗?(win11se是什么版本)

下一篇为织梦dede:likearticle添加start channelid orderby等参数的办法(织梦怎么添加相关)