• SEO中链接的微处理


    SEO(Search Engine optimiz)是这几年很流行的一个缩写短语,简而言之就是是自己的系统网站更容易被搜索引擎收录提高网站的PR值。我们可以通过很多方法对我们的网站优化,搜索引擎优化就成了一门学科。这里我不准备大言优化大学问,只是说说自己的体验,窥一斑而知全豹,通过一个小小的实例了解什么是SEO的思想。

    想必做过网站的同志们都处理过超链接的问题,一个<a href=”#”></a>让这个网站丰富多彩,走向世界,搜索引擎在搜索时,爬虫会自动爬取这些超链接,看是否有价值,从而决定收录数据等待用户搜索。众所周知Javascript是无法被大部分爬虫爬取的,如果爬虫真的连JS也爬取了,不仅效率变得很低,还会造成数据的冗余无度。这样的话,如果我们将自己的链接写进了Javascript中,那就很悲剧的不会被很快收录,即使这个网站的内容都是原创的、即使这个网站的PR值很高等等。我们来看这样一个小例子:

    这是一个前台显示的表单数据:

       1:   <form id="form1" runat="server">
       2:      <div id="div1"></div>
       3:      <div>
       4:       <a href="javascript:void(0)"  id="a1">This is One</a>
       5:       <a href="javascript:void(0)"  id="a2">This is second</a>
       6:       <a href="javascript:void(0)"  id="a3">This is Third</a>
       7:      </div>
       8:      </form>

    这里我通过一个JQery封装的AJAX操作实现数据异步请求显示,请注意页面的变化:

       1:      <script src="JS/jquery-1.7.1.js" type="text/javascript"></script>
       2:  <script type="text/javascript">
       3:      //回调函数CallBack
       4:          var loadFinsh = function (data) {
       5:              $("#div1").text(data);
       6:          }
       7:      //Jquery使用
       8:          $(function () {
       9:              $("#a1").click(function () {
      10:                  $.post("ashx/GetArt.ashx", { "id": 1 }, loadFinsh);
      11:                  return false;
      12:              });
      13:              $("#a2").click(function () {
      14:                  $.post("ashx/GetArt.ashx", { "id": 2 }, loadFinsh);
      15:                  return false;
      16:              });
      17:              $("#a3").click(function () {
      18:                  $.post("ashx/GetArt.ashx", { "id": 3 }, loadFinsh);
      19:                  return false;
      20:              });
      21:          });
      22:      </script>

    在我的演示项目中的ashx文件夹中建立一般处理程序GetArt.ashx,主要用户处理页面请求,接收页面请求参数id,新建的GetArt.ashx中中的Processrequest(PR方法)中这样处理:

    context.Response.ContentType="text/plain";

       1:   //获取页面的请求id,强转为int32
       2:          int id = Convert.ToInt32(context.Request["id"]);
       3:          context.Response.Write(ArticleProvider.Get(id));

    在单独的类型处理这个页面的ID值(模拟不同的ID得到不同的文章):

       1:  /// <summary>
       2:  ///ArticleProvider 的摘要说明
       3:  /// </summary>
       4:  public class ArticleProvider
       5:  {
       6:      public static string Get(int id)
       7:      {
       8:          string artile = "";
       9:          switch (id)
      10:          {
      11:              case 1:
      12:                  artile = "Show SEO Opreation";
      13:                  break;
      14:              case 2:
      15:                  artile = "Come Back my Remote Home";
      16:                  break;
      17:              default :
      18:                  artile = "Olympics ,I will come back";
      19:                  break;
      20:          }
      21:          return artile;
      22:      }
      23:  }

    到这里貌似注意点离开了,首先声明这些方法都是为了让最后的结果看起来更容易理解,我们的重要关注点还是在前台需要优化的地方。

    当网站运行起来后,用户访问与爬虫爬取可能就回来了,我们关注的是爬虫怎么来拿走我的页面数据,怎么会较好的收录数据,被搜索引擎的用户搜去。搜索引擎来了发现我这个页面有a标签,但是爬取不到a标签的链接地址,比如这个地址下是我刚发布的重大新闻消息,那也只能自己知道了。很见到搜索引擎处理不了也不愿意处理 javascript:void(0)这样的东西。但是如果我们这样变化:

    在前台的form表单做一个变化:

       1:  <form id="form1" runat="server">
       2:      <div id="div1"></div>
       3:  <div>
       4:  <!—当然真正的网站绝对不是id=1这样静态得到的,这里只是为了演示一种效果-->
       5:       <a href="ashx/GetArt.ashx?id=1" id="a1">This is One</a>
       6:       <a href="ashx/GetArt.ashx?id=2" id="a2">This is second</a>
       7:        <a href="ashx/GetArt.ashx?id=3" id="a3">This is Third</a>
       8:      </div>
       9:      </form>

    这样我们在搜索引擎的页面直接放链接进<a>标签内部,假如用户的浏览器不支持javascript(当然这个几率很小,除非手工禁用javascript),我们依然可以通过标签的Href访问这个链接。我们可以通过鼠标右键→在新窗口打开链接实验,得到的就会是http://www.localhost:8080/ ashx/GetArt.ashx?id=1 的新页面。这样如果搜索引擎过来即课顺着向下抓取下一条链接,捕获ashx/GetArt.ashx?id=1 页面的数据。

    这是一个很小的改动,但是在优化网站上往往会起到很大的用途,这就是简单的SEO思想,我们想尽一切办法在不影响用户体验的基础上讨好搜索引擎,当然搜索引擎的数据搜索算法在不断的更新,为了就是恶意刷去PR值的广告网站,我们的目的是在规则下达到最大的效果,这样的方法不是违规操作。如果满页面放满链接的隐藏域,等待搜索引擎上钩,那就太低智商了,因为百度、google那些人都不是傻子。

    好了,有了这个思想起步再去研究搜索引擎,我想会比较好一点。

  • 相关阅读:
    mysql中文乱码解决方法
    MYSQL常用数据类型详解
    aspx中格式化时间的几种方式
    常用PHP中花括号使用规则详解
    jQuery对表单的操作
    jQuery Ajax 实例 ($.ajax、$.post、$.get)
    PHPEXCEL使用基础教程
    LINQ to XML 编程基础
    PHP获取URL各个部分的函数
    phpExcel常用方法详解大全
  • 原文地址:https://www.cnblogs.com/sunBolg/p/2661528.html
Copyright © 2020-2023  润新知