1. Trang chủ
  2. » Thể loại khác

SEO For ASP.NET Web Site pptx

8 346 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 93 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Google, Yahoo and other search engines can send plenty of visits especially if your web site is shown on first page of their search results.. And vice versa, if your web site is shown on

Trang 1

SEO For ASP.NET Web Site

Every ASP.NET developer (or at least most of us) wants a lot of visitors to their web sites Google, Yahoo and other search engines can send plenty of visits especially if your web site is shown on first page of their search results And vice versa, if your web site is shown on thirtieth page or not indexed you will not see any benefit of search engines Because everyone wants to win first page there is strong competition and you need to take care of every factor that affects how much your page will be friendly to search engines

There is more than a 100 important factors used from search engines to rank page Most of them are just speculations, since Google, Yahoo and others don't want to reveal its ranking algorithm Also, their algorithms are changed very frequently (a hundreds of times yearly) to improve user experience and provide correct results Even Google has not capacity to manually change page ranking if they think that some page should be better or worse ranked Instead, they try to find out what mistake in algorithm caused wrong ranking and try to correct it on that way Because of that, Search Engine Optimization (SEO) is very dynamic field, but basics and most important things are still the same

Create unique title for every page

Every page of web site needs to have its own unique title Title should be short, descriptive, meaningful, contains keywords and relevant to content of the page Do not insert repeated phrase like company name on the beginning of the title of every page Let your most relevant

information appears first Title tag can be edited at design time, but if you have some content management system you can change it by using Page.Title property with code like this:

[ C# ]

Page.Title = "My unique and keywords rich title";

[ VB.NET ]

Page.Title = "My unique and keywords rich title"

When someone uses Google search, query terms will be showed as bolded text in search results Because of this, you need to place targeted keywords in title to make it noticeable and therefore get more clicks to your site Of course, to get a visit your title must please human visitors too, not just search engines You can't just list keywords in title without any meaning Instead of that, let your title tags be a precise descriptions of every single page and you'll be fine with both search engines and people Don't use too long titles because search engines will truncate it anyway Keep title under 65 characters long

Trang 2

Use description and keywords meta tags

Description and keywords meta tags were very important for search engine optimization in past, but they are widely abused Today meta keywords tag is practically useless, but meta description tag is still important Although it would not improve your position in search results it is

beneficial indirectly Google often uses meta description tag when display search results below title as short description of your page So, if you have catchy meta description tag you can get more visits even if you are not first in search results Set unique page description for every page Like page title, you can change meta tags in markup or dynamically in server side code:

[ C# ]

protected void Page_Init(object sender, EventArgs e)

{

// Add meta description tag

HtmlMeta metaDescription = new HtmlMeta();

metaDescription.Name = "Description";

metaDescription.Content = "Short, unique and keywords rich page description.";

Page.Header.Controls.Add(metaDescription);

// Add meta keywords tag

HtmlMeta metaKeywords = new HtmlMeta();

metaKeywords.Name = "Keywords";

metaKeywords.Content = "selected,page,keywords";

Page.Header.Controls.Add(metaKeywords);

}

[ VB.NET ]

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init

' Add meta description tag

Dim metaDescription As HtmlMeta = New HtmlMeta()

metaDescription.Name = "Description"

metaDescription.Content = "Short, unique and keywords rich page description."

Page.Header.Controls.Add(metaDescription)

' Add meta keywords tag

Dim metaKeywords As HtmlMeta = New HtmlMeta()

metaKeywords.Name = "Keywords"

metaKeywords.Content = "selected,page,keywords"

Page.Header.Controls.Add(metaKeywords)

End Sub

This approach will also work if you use master pages

Trang 3

Using of H1 tag

H1 tag is very important, but in the same time very easy way to improve your position

in search results It is best if h1 tag has the same content like title tag Just place same short, relevant, keyword rich phrase to both h1 and title tags and this single effort will significantly elevate your ranking Like any other HTML tag, you can change h1 tag directly in markup, or dynamically if you add runat="server" and set its id, like in code bellow:

<h1 runat="server"id="MyPageHeader" ></h1>

Now you can manipulate h1 tag with ASP.NET server side code:

[ C# ]

MyPageHeader.InnerText = "This Is My Catchy Header";

[ VB.NET ]

MyPageHeader.InnerText = "This Is My Catchy Header"

There are also important <h2> and <h3> tags that you can use for sub headers and <strong> tag

to make some keywords more significant in text

ASP.NET SEO Url Redirecting

Sometimes you need to move a page to other url or move complete web site to other domain Common example is, if you upgrade web site created in classic ASP to ASP.NET you need to change file extensions from asp to aspx If some visitor comes to your old link from search engine or directly, he or she should be redirected to new url There are two possible redirections:

1 Temporary redirection, returns message "302 Found" This redirection should be used only when necessary, very rarely for search engines optimization

2 Permanent redirection, message returned is "301 Moved Permanently" This redirection tells spiders that page or site is moved to another url It is used in SEO to transfer link popularity to new address

Response.Redirect will return 302 redirection so it can't be used for search engine optimization

in ASP.NET To redirect permanently, use code like this:

[ C# ]

Response.Status = "301 Moved Permanently";

Response.AddHeader("Location", "/your-new-url/");

Response.End();

[ VB.NET ]

Trang 4

Response.Status = "301 Moved Permanently"

Response.AddHeader("Location", "/your-new-url/")

Response.End()

This code is sufficient if you need to move single page But, if you want to move complete web site it is best to do it in Internet Information Server (IIS) Go to old site properties and select

Home Directory tab Choose "A redirection to a URL" and write new url in text box bellow,

like shown on image:

Don't forget to check "A permanent redirection for this resource" check box to get 301

redirection Avoid using of postback

Some programmers place Button or LinkButton control on web form and use Response.Redirect

to navigate to another page on control's click event That is a problem because ASP.NET

controls uses JavaScript to make post backs Since web spiders can't work with JavaScript a lot

of pages can't be indexed and will not appear in search results To make web pages visible to search engines try to avoid using of postback Instead of Button or LinkButton controls, place simple <a> tag Text on links should be descriptive, avoid meaningless links like "Read more",

"Click here" etc

Trang 5

If you must use a postback, then provide alternative way of navigation, with simple plain

hyperlinks This can be implemented in form of site map Site map could be a page that contains listed links to all pages on web site When web spider visits site map page, it will find all other pages easily

SEO Friendly URLs: Url Rewriting

Web spiders don't like query strings parameters in urls If you are getting some data from

database, it is common to use query string like ShowProduct.aspx?id=23445 Although this url looks logical from programmer's perspective it is not user friendly and is usually not ranked well

on search engines You need to use urls that contain keywords separated by hyphens So, instead

of /ShowProduct.aspx?id?=23445 should be something like /My-Product-Name.aspx Url that contains keywords is easier to read by human visitors and is better ranked on search engines Also, site with SEO friendly urls is more secure since you can hide id or even file extension

Url rewriting in ASP.NET can be implemented on many levels, directly on page, in Global.asax,

by using a custom HTTP module or HTTP handler, on level of web server etc

Url rewriting on page is a hard coding way, but it can be useful in some scenarios In page with friendly url, use Server.Transfer method to call real page So, in this case you must actually have

a frendly url page as a file and place just one line of code in it to transfer execution:

Server.Transfer("/UnfriendlyPage.aspx?id=423874")

Url rewriting in Global.asax uses RewritePath method in Application_BeginRequest event

Implementation could look like this:

[ C# ]

void Application_BeginRequest(object sender, EventArgs e)

{

HttpApplication app = (HttpApplication)sender;

if (app.Request.Url.AbsolutePath.StartsWith("http://www.example.com/Friendly-Page/")) {

app.Context.RewritePath("/UnfriendlyPage.aspx?id=423874");

}

}

[ VB.NET ]

Protected Sub Application_BeginRequest(ByVal sender As Object, ByVal e As

System.EventArgs)

Dim app As HttpApplication = sender

If (app.Request.Url.AbsolutePath.StartsWith("http://www.example.com/Friendly-Page/")) Then app.Context.RewritePath("/UnfriendlyPage.aspx?id=423874")

Trang 6

End If

End Sub

If you are interested in url rewriting with HTTP module or HTTP handler check URL Rewriting

in ASP.NET tutorial where both methods are explained

To get fast results you can try http://urlrewriter.net/ This is free open source URL rewriter for ASP.NET written in C#, easy to use and used in many large and small sites, including this web site

ViewState and SEO in ASP.NET

There is a speculation that search engines read only limited number of bytes from each page (first 100K of web page) ViewState value is a string presented as hidden field on client side If you have large ViewState on the beginning of the ASP.NET page, then it is possible to web spiders avoid your real content That could be harmful for your ranking in search results The simple solution is to turn off ViewState if you don't need it, or at least not use it for every single control If you really need a ViewState there is new option in web.config to place it to the bottom

of the page:

<pages renderAllHiddenFieldsAtTopOfForm="false" />

Following the same idea, you should remove any unnecessary HTML, JavaScript code and CSS styles to get smaller page You still can and should use JavaScript and CSS where needed, but call them from external file This will also reduce repetitive work

However, this talk about limited loading of pages is just a speculation, personally I don't believe

it is completely true But, search engines for sure try to please their users and users like fast web sites Because of that pages that load faster will be ranked better Loading time is one of the ranking factors By removing or reducing ViewState, deleting needless HTML tags and HTML comments, moving JavaScript and CSS to external file and leaving on page useful content only you will improve your ranking both directly and indirectly Final thing could be validating your HTML output on http://validator.w3.org

SEO Friendly paging with GridView, Repeater and other data controls

Default paging in ASP.NET data controls uses postback and javascript Search engine spiders checks the links and usually avoid JavaScript so using default pager is not SEO friendly option The solution could be to use custom paging for GridView, Repeater and other data controls, or to get more options and make this task easy for you use our SEO Pager Control, specialized for search engine optimization and dealing with large tables More about paging in ASP.NET data controls you can find in Data Paging In ASP.NET tutorial

Trang 7

New SEO features in ASP.NET 4.0

Direct manipulation of meta description and keywords tags

ASP.NET 4.0 has new options to change meta description and meta keywords tags Of course, you already can do this in any older version in ASP.NET by adding runat="server" to meta description or meta keyword tag and then calling it from server side code, ASP.NET 4.0 way is

simpler and faster, introduces new MetaDescription and MetaKeywords properties of Page

object, used like in code bellow:

[ C# ]

Page.MetaDescription = "This is my great page";

Page.MetaKeywords = "great,page";

[ VB.NET ]

Page.MetaDescription = "This is my great page"

Page.MetaKeywords = "great,page"

Response.RedirectPermanent for 301 permanent redirection

ASP.NET 4.0 includes another interesting SEO feature Response.Redirect method returns 302 temporary redirection To use 301 redirection with earlier versions of ASP.NET you should use a code shown in ASP.NET SEO Url Redirecting section With ASP.NET 4.0 this job is simpler:

[ C# ]

Response.RedirectPermanent("New-Page.aspx", true);

[ VB.NET ]

Response.RedirectPermanent("New-Page.aspx", true)

Dealing with www subdomain

This is common problem Since www is just a subdomain, search engines could see duplicate content and split the reputation between www.example.com/Your-Page.aspx and

example.com/Your-Page.aspx It is much better to have only one link on first page than two links

on thirtieth page Allow only one link to the same content If you discover that visitors could

navigate to same content through few different urls, use 301 redirect to focus all ranking to one

url

AJAX and Search Engine Optimization

Trang 8

Ajax uses JavaScript and search engines don't like JavaScript So, your Ajax site have big potential problem It is very possible that your content will not be indexed You can disable JavaScript in your browser and try to access all content on site If you can't see it without

JavaScript, spiders will not see it too

Possible solutions are to provide site map with links to all content, or add additional way of navigation that uses static links, or to make your content initially loaded without JavaScript

SEO Sessions problems

By default, ASP.NET uses cookies to store session Since web spiders usually don't accept cookies it is possible that some of your content be invisible if session variables are required to show it You can change settings and store session in url (you can do this in web.config by changing the cookieless parameter of sessionState to true), but that is even worse because link popularity will be divided to many different urls with duplicate content There is an option to set cookieless value to AutoDetect This means that ASP.NET will use cookies if browser supports

it so for SEO issues it is not solving a problem

The solution could be to set cookieless attribute to false, and provide a way to spiders to find all content through simple links

Conclusion

As you see, it is very easy to make ASP.NET web site that is invisible for search engines :) Just use Button or LinkButton controls for navigation and nobody will find your site through a Google search In opposite, to receive maximum of traffic from search engines you need to follow their rules and be more search engines friendly I hope I explained well some basics of search engine optimization (SEO) for ASP.NET web site If you are interested to find more about this subject, especially if you build commercial web sites, check Professional Search Engine Optimization with ASP.NET: A Developer's Guide to SEO (Wrox Professional Guides) book There are many other books that covers search engine optimization but this is focused to specific ASP.NET SEO issues

Finally, all this technical tips and tricks are irrelevant if you haven't quality content inside of your body tag If your content is great, people will link to your page naturally Incoming links from relevant sites are the most important factor for ranking I hope you found some interesting ideas in this tutorial Happy coding!

Ngày đăng: 18/06/2014, 18:20

TỪ KHÓA LIÊN QUAN

w