Một số kinh nghiệm seo cho web

Posted on May 18, 2009. Filed under: Kỹ năng Webmaster, Phát triển web | Tags: , , , , , , , |

1. Giới thiệu :

SEO giải quyết hai vấn đề : làm cách nào hệ thống của ta chạy nhanh hơn (optimization code) ? Bằng cách nào google hay yahoo nhận ra site của chúng ta và đưa lên top search (crawlers delimiter)

A) Các crawlers của Search Engine sẽ nhận biết website :
Các crawlers của các search engine như google, yahoo sẽ nhận biết được các site và rank theo các tiêu chí sau :
+ Anchor text
+ Site popularity
+ Link content
+ Topical links
+ Title tag
+ Keywords
+ Site language
+ Content
+ Site maturity

B) Các tiêu chí để website của mình chạy nhanh hơn :
+ optimization code
+ optimization web server system
+ optimization network system

2. Sơ lược cách tăng ranking của website trên Internet :

A) Những yêu tố chính để tăng ranking của website :
– Site/page tagging, Page content, Site links, Site map

– Yếu tố quan trọng : internal link (very important) , extendnal link

– Page element :
+ text
+ tag : title tag, meta tag, high-level heading, anchor tad (a tag)
+ link
+ popularity

– Domain-name tips :
Tên của domain cũng ảnh hưởng đến ranking của các search engine sau đây là các tiêu chí :
+ Tên miền càng ngắn gọn càng tốt
+ Tên miền nên chọn là .com, .org thay vì .info, .biz
+ Tên miền có nhiều từ gần giống với các site nổi tiếng

– Understanding usability :
+ Navigation bar : cho phép crawlers dịch chuyển giữa các link trong site dễ dàng , nên đặt phía bên trái và top page
+ Sitemap : có thể dung XML sitemap , site map gia tăng ranking vì giúp crawlers dễ tìm index của site

B) Các loại Search Engine :
Có 3 loại search engine phổ biến :
+ Crawler-base engine : google.com
+ Human-powered engine : mahalo.com
+ Hybrid engine
– các engine này sẽ tìm đọc và ghi các website thông qua index, link ..

C) Chi tiết các yêu tố tăng ranking :
– Vận dụng thẻ title tag
– Vận dụng thẻ alt tag cho toàn img , chỉ định kích thước của file ảnh trước
– Vận dụng thẻ target : <a link=”index.html” target=”__top”>Home</a>
– Cookie sử dụng trong navigation bar sẽ ảnh hưởng đến crawlers trong quá trình search index

3. Sơ lược programing SEO :

– Javascript : sử dụng extend javascript file để cải thiện load , nhớ là crawlers có thể đọc được link của javascript , nên them type=”text/javascript”
– PHP , c++

4. Keyword SEO :

Keyword có tầm quan trọng trong hệ thống website , ảnh hưởng đến crawlers engine

– Sử dụng anchor text (linked text) : các crawlers sẽ nhận biết các link và cập nhật index về bộ máy đếm , nếu muốn crawler loại trừ link ra nên dung tel=”nofollow” trong thẻ <a>

– Sử dụng title tag : title được các crawlers nhận biết như là một phần thong tin quan trọng của site

– Sử dụng meta tag : lưu ý 2 property của meta là keywords và description
<meta name=”keywords” content=”bees”>
thẻ meta descripton cho phép từ 200-250 ký tự cho các crawler engine khác nhau và không nên sử dụng text, nên chia nhỏ từng character

– Sử dụng heading tag như H1, H2, H3 … thay cho b tag

-Sử dụng body tag theo chuần : <body></body> , bên trong sử dụng thường xuyên các thẻ : <b> , <i> , <strong> , <em> , <li> , sử dụng thẻ <strong> <em> thì crawler nhận biết độ quan trọng hơn, thẻ <b></i> không có giá trị bằng

– Sử dụng thẻ noframe : crawler không thể đọc multiple frame trên page , do đó cần dung thẻ noframe sau frame

– Sử dụng table summary tag : gai tăng crawler searching
ví dụ : <table summary=”table này làm việc aaaaa…” ></table>

– Sử dụng <acronym> or <abbr> tag : ít nhất sử dụng 1 lần trong site
<acronym title=”Search Engine Optimization”>SEO</acronym>
<abbr title=”United States of America”>USA</abbr>

– Sử dụng robots.txt : Cầu hình để cho phép crawler read all data of site, sử dụng kèm theo <meta name=”robots” content=”noindex,follow”>

5. Configure SEO :

A) HTTP optimization :

– Sử dụng image map :

Vd :
<img usemap=”#map1″ border=0 src=”/images/imagemap.gif”>
<map name=”map1″>
<area shape=”rect” coords=”0,0,31,31″ href=”home.html” title=”Home”>
<area shape=”rect” coords=”36,0,66,31″ href=”gifts.html” title=”Gifts”>
<area shape=”rect” coords=”71,0,101,31″ href=”cart.html” title=”Cart”>
<area shape=”rect” coords=”106,0,136,31″ href=”settings.html” title=”Settings”>
<area shape=”rect” coords=”141,0,171,31″ href=”help.html” title=”Help”>
</map>

– Sử dụng CSS Sprites :

Vd :
<style>
#navbar span {
width:31px;
height:31px;
display:inline;
float:left;
background-image:url(/images/spritebg.gif);
}
.home { background-position:0 0; margin-right:4px; margin-left: 4px;}
.gifts { background-position:-32px 0; margin-right:4px;}
.cart { background-position:-64px 0; margin-right:4px;}
.settings { background-position:-96px 0; margin-right:4px;}
.help { background-position:-128px 0; margin-right:0px;}
</style>

– Sử dụng inline images
(http://www.stevesouders.com/hpws/inline-images.php)
(http://stevesouders.com/hpws/inline-css-images.php)

Vd :
<IMG ALT=”Red Star”
SRC=”data:image/gif;base64,R0lGODlhDAAMALMLAPN8ffBiYvWW
lvrKy/FvcPewsO9VVfajo+w6O/zl5estLv/8/AAAAAAAAAAAAAAAACH5BAEA
AAsALAAAAAAMAAwAAAQzcElZyryTEHyTUgknHd9xGV+qKsYirKkwDYiKDBiatt2H1KBLQRFIJAIKywRgmhwAIlEEADs=”>

– Sử dụng Combined Scripts and Stylesheets

B) Add an Expires Header :

C) Gzip Components :

E) Put Stylesheets at the Top, không sử dụng @import

F) Put Scripts at the Bottom

G) Avoid CSS Expressions
Vd :
background-color: expression( (new Date()).getHours( )%2 ? “#B8D4FF” : “#F08A00” );
width: expression( document.body.clientWidth < 600 ? “600px” : “auto” );
min-width: 600px;

H) Make JavaScript and CSS External

I) Reduce DNS Lookups

Window :
ipconfig /displaydns
ipconfig /flushdns

N) Remove Duplicate Scripts

M) Configure ETags
Vd :
<?php
if ( strpos($_SERVER[“HTTP_USER_AGENT”], “MSIE”) ) {
header(“ETag: MSIE”);
}
else {
header(“ETag: notMSIE”);
}
?>

H) Move directory to Ram Disk

Vd :
# Speed Up /tmp Directory
mount –bind -ttmpfs /tmp /tmp
# Accelerate Scripts Directory
mount –bind -ttmpfs /home/webroot /home/webroot

6. PHP optimization :

A) hạn chế regular expression :

Vd :
// Slow
if (preg_match(“!^foo_!i”, “FoO_”)) { }
// Much faster
if (!strncasecmp(“foo_”, “FoO_”, 4)) { }
// Slow
if (preg_match(“![a8f9]!”, “sometext”)) { }
// Faster
if (strpbrk(“a8f9”, “sometext”)) { }

B) sử dụng reference nếu có thể

Vd :
$a[‘b’][‘c’] = array();
// slow 2 extra hash lookups per access
for($i = 0; $i < 5; $i++)
$a[‘b’][‘c’][$i] = $i;
// much faster reference based approach
$ref =& $a[‘b’][‘c’];
for($i = 0; $i < 5; $i++)
$ref[$i] = $i;

C) echo thì nhanh hơn hàm print

D) comment không ảnh hưởng đến code

E) ‘var=’.$var thì nhanh hơn “var=$var”

F) hạn chế sử dụng printf vì làm chậm hệ thống về nhiều mặt

G) Sử dụng ctype extendsion thay thề cho regular expression nếu có thể

H) Sử dụng isset thay cho strlen nếu có thể

Vd :
if (strlen($foo) < 5) { echo “Foo is too short”; }
if (!isset($foo{5})) { echo “Foo is too short”; }

I) sử dụng static function nếu có thể, tốc độ tăng 4 lần

K) sử dụng unset để free memory cho array, object

L) Không nên sử dụng __get, __set, __autoload magic function

N) Sử dụng require_once nếu có thể và nên sử dụng full path

M) Nên sử dụng $_SERVER[’REQUEST_TIME’] thay cho time() và mktime() function

O) Sử dụng các function strncasecmp, strpbrk và stripos để thay thế cho regular expression

P) Dùng str_replace nhanh hơn preg_replace gấp 4 lần

K) Sử dụng case…switch để thay thế cho multi if

G) kích hoạt mod_deflate mode và tránh dung @ trước function

S) Đóng kết nối database nếu không dung đến

R) $row[’id’] thì nhanh hơn $row[id] đến 7 lần

T) Không nên dung for ($x=0; $x < count($array); $x) mà nên dung :
$len = count($array) ;
for ($x=0; $x <$len; $x)

Z) Sử dụng biến global thì chậm hơn 2 lần so với local

X) sử dụng $this->prop++ làm chậm hơn 3 lần so với $local++

W) ++$i nhanh hơn $i++ và không nên sử dụng hàm split quá nhiều và nên viết ở dãng C extendsion nếu có thể và không gia tăng gọi class , array trong code quá nhiều

Read Full Post | Make a Comment ( None so far )

Liked it here?
Why not try sites on the blogroll...