SEO的技巧
藉由以下SEO的技巧,可協助搜尋引擎抓取網站資訊到相關的搜尋結果中:
1.設定有意義且與網頁內容相關的檔案名稱
2.在網頁編輯Title標籤中,編入與網站內容密切且高相關性的標題名稱
搜尋引擎對搜錄網頁主題判斷的一個重要來源就是<title>標籤內容,該內容也會顯示在瀏覽器視窗標題的左上角,倘若只是單純設定網站的名稱就喪失表達網頁主題的大好機會,因此較佳的策略是除了網站名稱之外,也把你希望搜尋引擎收錄網站的主題列在<title>標籤內容之中。
3.適當使用網頁Meta Description標籤,簡潔清楚的描述網站內容
利用<META>標籤來做網頁描述及關鍵說明是最直接的方法,也是搜尋引擎程式建立搜錄網頁資料的主要參考。<META>是HTML語法的標籤,包含許多設定參數,其中跟搜尋引擎比較有關係的就是keywords跟description。 keywords是指該網頁的關鍵字,也就是建議搜尋引擎把這些關鍵字建立成這個網站的索引,將來提供網友用這些關鍵字來查詢網站。而description則是網站的描述,等於是這個網站的簡介,搜尋引擎也會依此資料來判定將來搜尋網站的關鍵字。
4.網頁內容的主題盡可能單一化
你的網頁內文呈現出什麼內容,是搜尋引擎判斷該網頁主題的重要依據,有的搜尋引擎會用網頁內文來檢驗關鍵字的設定是否正確,比如說你用<META>標籤設定了"旅遊休閒"做為網頁的關鍵字,結果在你網頁內文卻找不到任何跟"旅遊休閒"有關的字眼,搜尋引擎便會認為你是在假造網頁關鍵字,它當然不會把這種文不對題的網頁推薦給網友囉(並不是不收錄該網站,只是不以你指定的關鍵字做索引)。甚至有的搜尋引擎根本不理會你設定在<META>標籤的關鍵字,它直接以網頁內文做為關鍵字的分析依據,也就是直接看內文哪些字眼出現頻率最高,就用這些字眼做為該網頁的索引關鍵字。
內文中有些特殊的HTML標籤會增加這些字成為關鍵字的機會,因為會用這些標籤的本來就是網頁內容的重點,其中包含主題標籤<H1>..<H6>,圖形標籤<IMG>中的ALT文字敘述,超連結標籤<A>中的連結文字等等。善用這些標籤可以讓網頁內文的呈現符合你的關鍵字設定,也就可以改善搜尋引擎收錄後的搜尋排行。
5.增進搜尋引擎造訪效率
網頁上有一些互動式的操作,比如說購物車購買商品或結帳的操作,並不適合搜尋引擎程式造訪,因為這些網頁被搜尋引擎收錄了也沒有用,或許你認為就算被收錄了也無所謂,但如同前面所提到的,搜尋引擎可能必須分幾次造訪才能收錄你所有的網頁,實在不應該浪費在這些互動操作的頁面,所以如果可以在搜尋引擎造訪你網站時,明白區隔出讓搜尋引擎造訪以及給一般網友瀏覽的連結,將可以提昇搜尋引擎造訪的效率。
6.過度的SEO,會被搜尋引擎視為spam網站
所謂的SPAM是指當搜尋結果中出現不相關的網頁資訊,或某些網站為了吸引網友點選,因此藉由一些網頁編輯技巧,以及過度不適當的網站行銷策略,企圖影響或欺騙搜尋引擎,使搜尋結果中出現與關鍵字不相關的資訊。
認定為SPAM網站的定義如下:
網頁直接轉址,連結到某一特定網站或網域,企圖提高該網站在搜尋引擎的排名
網友看到的網站內容與搜尋引擎看到的網站內容不同
多個網站提供相同內容
連結網頁後,出現大量彈跳視窗,影響網友瀏覽網站
網頁的Metadata中含有大量關鍵詞
搜尋引擎種類簡介
因此,方便搜尋引擎察訪收入自己的網站,可以讓網友在搜尋引擎網站查詢時,更容易找到自己的網站。要達到這個目的,就要讓網頁設計儘量符合搜尋引擎程式的特性,而所謂搜尋引擎最佳化(Search Engine Optimization, 簡稱 SEO),是指針對搜尋引擎的搜錄程式的特性,設計網頁的相關格式,讓網頁的資料易於被搜尋引擎搜錄。
zone file
第三步: 設定domain name 正反解
vi named.aaa.com.tw (cp 一份變成named.bbb.com.tw、named.ccc.com.tw)
$TTL 600
@ IN SOA dns1.aaa.com.tw. root.aaa.com.tw. (
2002120601
28800
14400
720000
86400)
@ IN NS dns1.aaa.com.tw.
@ IN NS dns2.aaa.com.tw.
dns1 IN A 220.132.180.115
dns2 IN A 220.132.180.115
aaa.com.tw. IN A 220.132.180.115
www IN A 220.132.180.115
ftp IN CNAME 220.132.180.115
aaa.com.tw. 86400 IN MX 10 mail.aaa.com.tw.
aaa.com.tw. 86400 IN MX 20 imap.aaa.com.tw.
mail IN A 220.132.180.115
imap IN A 220.132.180.115
vi named.220.132.180
@ IN SOA dns1.aaa.com.tw. root.aaa.com.tw. (
2002120601
28800
14400
720000
86400)
@ IN NS dns1.aaa.com.tw.
@ IN NS dns2.aaa.com.tw.
115 IN PTR dns1.aaa.com.tw.
115 IN PTR dns2.aaa.com.tw.
115 IN PTR aaa.com.tw.
115 IN PTR www.aaa.com.tw
.
115 IN PTR imap.aaa.com.tw.
115 IN PTR dsn1.bbb.com.tw
115 IN PTR dsn2.bbb.com.tw
………………………………..
(以此類推)
第四步:啟動dns 測試
service named start
ps ax | grep named (看[named]有沒有起來)
tail -n 15 /var/log/messages (看有沒有錯誤訊息)
強制關掉named服務 bind 9 不能用restart stop指令
chkconfig --list named (列出named的執行服務,並且列出是否開機啟動)
kill PID
BIND9.2.4-2
版本:BIND9.2.4-2 參考網站: http://dns-learning.twnic.net.tw/ http://linux.vbird.org/linux_server/0350dns.php
1. 編輯named.conf vi /etc/named.conf (主要內容有:options、Root zone、Localhost zone、正解zonez、反解zone)
options{ directory “/var/named”; //正反解檔案放置的目錄
forwarders{ 168.95.1.1; }; //設定往前尋找的『合法』的 DNS
allow-query {any;}; //是否允許他人查詢
allow-transfer{any;}; };
zone “.” { type hint; //選擇的 type 為 hint (root . 專用)
file “named.root”; //檔名 };
zone “locathost”{ //localhost 的正反解
type master;
file “named.localhost”; };
zone “0.0.127.in-addr.arpa”
{ type master; file “named.127.0.0”;
};
zone “aaa.com.tw” {
type master;
fele “named.aaa.com.tw”; };
zone “ccc.com.tw” {
type master;
file “named.ccc.com.tw”
};
zone “180.132.220.in-addr.arpa”
{
type master;
file “named.220.132.180”;
}; z
one “cuteneko.com”
{type master;
file “named.cuteneko.com”
; };
第二步: 設定本機端 ( localhost ) 的正反解檔案
cd /var/named/chroot/var/named (^^”””””””變成這樣了)
vi named.localhost
$TTL 600 (前面不可以留空白\_/)
@(ORINGIN) IN SOA localhost. root.localhost.(第一個”.”是”@”)
( 2002120601//數值變大時, slave 才會同步更新,每次變更master時,要加大
28800// slave 多久會主動的檢查
14400//如果 slave 沒有連上 master DNS 主機則多久之後會重新再次的主動檢查
720000//如果一直沒有連接上 mater ,那麼到了; 這個時候slave 就會放棄檢查的動作了,不再更新! 86400)//= TTL
@ IN NS localhost.
IN A 127.0.0.1 (留空白,它會自已往上找最後一筆ORINGIN記錄)
vi named.127.0.0
$TTL 600
@ IN SOA localhost. root.localhost. (
20021
20601
28800
14400
720000
86400
)
@ IN NS localhost.
IN PTR localhost. //要以.做結尾才是一個FQDN,不然會自動補上zone domain
//TTL (time to live)這一筆資料被別的DNS cache的時間值 //IN internet
//SAO start of Authority
//A Ipv4 Address
//CNAME 別名
//NS Name Server //MX mail server
//PTR Pointer(反解使用)
Tomcat+Apache
jdk-1_4_2_08-linux-i586.bin
http://ftp.isu.edu.tw/pub/Sun/java/J2SE/1.2.2/linux
tomcat4.1.31
http://www.apache.org/dist/jakarta/tomcat-4/v4.1.31/bin/jakarta-tomcat-4.1.31.tar.gz
mod_jk
參考連結:
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/install/apache1.html
http://www.ingrid.org/jajakarta/tomcat/tomcat-3.2.1/doc/tomcat-apache-howto.html
第一步:先把它們全部都下載到/usr/local/download
第二步:建立java環境
./j2sdk-1_4_1_08-linux-i586.bin (解壓縮)移到/usr/local/jdk
vi /etc/profile在最後加入環境變數
JAVA_HOME=/usr/local//jdk
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
PATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export JAVA_HOME CLASSPATH PATH
第三步:tomcat
Tar -zxvf jakarta-tomcat-4.1.31.tar.gz -C /usr/local/tomcat/
/usr/local/tomcat/bin/startup.sh(開啟)
http://localhost:8080
測試看看
第四步:安裝mod_jk
tar -zxvf jakarta-tomcat-connectors-jk-1.2.14-src.tar.gz
cd /usr/local/download/jakarta-tomcat-connectors-jk-1.2.14/jk/native
chmod 755 buildconf.sh
./buildconf.sh
./configure --with-apxs=/usr/local/apache/bin/apxs
--with-tomcat41=/usr/local/tomcat
make
cd /usr/local/src/ jakarta-tomcat-connectors-jk-1.2.14/jk/native/apache1.3
cp mod_jk.so /usr/local/apache/libexec/mod_jk.so (apache2.0 是modules/mod_jk.so)
第五步:編輯httpd.conf
Vi /usr/local/apache/conf/httpd.conf
LoadModule jk_module libexec/mod_jk.so
<IfModule mod_jk.c>
JkWorkersFile /usr/local/apache/conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel warn
JkMount /*.jsp worker1
JkMount /servlet/* worker1
JkMount /examples/* worker1
</IfModule>
vi /usr/local/apache/conf/workers.properties
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
第六步:重新啟動測試
/usr/local/ tomcat/bin/shutdown.sh
/usr/local/apache/bin/apachectl stop
/usr/local/ tomcat/bin/startup.sh
/usr/local/apache/bin/apachectl start
http://domain/examples/serverlet
看得到就成功了^^!
Virtual host
第一步:新增aaacomtw、bbbcomtw使用者
Group –g 55 www
Useradd –u 720 –g 55 –s /sbin/nologin aaacomtw
Useradd –u 720 –g 55 –s /sbin/nologin bbbcomtw
chsh -s /sbin/nologin aaacomtw
chsh –s /sbin/nologin bbbcomtw
第二步:編輯 httpd.conf
規劃:www.aaa.com.tw alias對應到aaa.com.tw
ccc.com.tw轉址同目錄到 aaa.com.tw
Vi /usr/local/apache/httpd.conf
NameVirtualHost 220.132.180.115
<VirtualHost 220.132.180.115>
ServerAdmin aaacomtw@cuteneko.com
DocumentRoot /home/aaacomtw/public_html
ServerAlias www.aaa.com.tw
ErrorLog logs/aaa.com.tw-error_log
CustomLog logs/aaa.com.tw-access_log common
</VirtualHost>
<VirtualHost 220.132.180.115>
ServerAdmin bbbcomtw@cuteneko.com
DocumentRoot /home/bbbcomtw/public_html
ErrorLog logs/bbb.com.tw-error_log
CustomLog logs/bbb.com.tw-access_log common
</VirtualHost>
<VirtualHost 220.132.180.115>
DocumentRoot /home/aaaomtw/public_html
ErrorLog logs/ccc.com.tw-error_log
CustomLog logs/ccc.com.tw-access_log common
</VirtualHost>
第三步:設立各個帳號的資料庫
進入phpMyAdmin
新增aaacomtw使用者跟aaacomtw_data資料庫
下SQL指令
grant select on aaacomtw_data.* to aaacomtw@localhost identified by "XXXXX(password)";
vi /home/aaacomtw/phpmyadmin/conf.inc.php
$cfgServers[1]['controluser'] = ' aaacomtw ';
$cfgServers[1]['controlpass'] = ' XXXXX ';
Apache+mod_ssl+openssl+mm+php+MySQL+phpMyAdmin
Apache 1.3.33
http://apache.stu.edu.tw/httpd/apache_1.3.33.tar.gz
OpenSSL 0.9.8
http://www.openssl.org/source/openssl-0.9.8.tar.gz
Mod_ssl-2.8.23-1.3.33(後面的1.3.33是配合apache的版本)
http://www.modssl.org/source/mod_ssl-2.8.23-1.3.33.tar.gz
mm-1.3.1
ftp://ftp.ossp.org.org/pkg/lib/mm/mm-1.3.1.tar.gz
php4.4.0
mysql4.0.25
http://mysql.cdpa.nsysu.edu.tw/Downloads/MySQL-4.0/mysql-4.0.25.tar.gz
phpMyAdmin-2.6.0-p13
http://www.phpmyadmin.net/home_page/download.php
相關連結:
Apache dso 介詔:
http://www.onlamp.com/pub/a/php/2001/03/15/php_admin.html
http://httpd.apache.org/docs/1.3/dso.html
http://fanqiang.chinaunix.net/a6/b9/20010419/100009_b.html
第一步:先把它們全部都下載到/usr/local/download 解壓縮
第二步:安裝openssl
cd /usr/local/download/openssl-0.9.8
sh config –fPIC (大小寫都要對)
make
make install (預設路徑是/usr/local/ssl)
第三步:安裝mm
cd /usr/local/download/mm-1.1.3
./configure –disable-shared (
Make
第四步:編譯apache
Cd /usr/local/download/apache1.3.33
./configure –prefix=/usr/local/apache
--enable-module=so (支援DSO模式,Apache2.0的話,是—enable-so)
--enable-shared=max (把所有都編譯為DSO,Apache2.0的話,是—enable-mods-shared=most)
--enable-module=rewrite (支援位址重寫!?,Apache2.0的話,是—enable-rewrite)
第五步:加入mod_ssl
cd /usr/local/download/mod_ssl-2.8.23-1.3.33
./configure –with-apache=/usr/local/download/apache1.3.33
–with-ssl=/usr/local/ssl
--with-mm=/usr/local/download/mm-1.1.3
–enable-shared=ssl
第六步:安裝apache
cd /usr/local/download/apache1.3.33
make
make certificate(建立ssl的認證檔案)
make install
第七步:安裝php
cd /usr/local/download/php4.4.0
./configure –with-apxs=/usr/local/apache/bin/apxs
--with-openssl=/usr/local/ssl
--with-mysql
Make
Meke install
Cp php.ini-dist /usr/local/lib/php
第八步:編輯http.conf
Vi /usr/local/apache/conf /httpd.conf
DirectoryIndex 加入 index.php
在大概第800行的地方加入
AddType application/x-httpd-php .php .phtml .php3 .inc
測試:
/usr/local/apache/bin/apachectl configtest
顯示Syntax ok 就代表成功囉~~
/usr/local/apache/bin/apachectl start (啟動apache)
第九步:安裝mysql
Cd /usr/local/download/mysql4.0.25
./configure --prefix=/usr/local/mysql
--localstatedir=/usr/local/mysql/var (指定資料庫檔的存放目錄位置)
Make
Make install
.scripts/mysql_install_db
adduser mysql (新增mysql帳號)
chown -R mysql.mysql /usr/local/mysql (將權限設給此一帳號)
/usr/local/mysql/bin/mysqld_safe --user=mysql & (啟動MySQL)
cd /usr/local/mysql/bin
./mysqladmin -u root password ‘XXXXXXXXX’(設定root的密碼)
第十步:phpMyAdmin
解壓縮後phpMyAdmin
Vi phpMyAdmin/configure.inc.php
$cfg['PmaAbsoluteUri'] = 'http://IP位置';
$cfg['Servers'][$i]['auth_type'] = 'cookie'; // Authentication method (config, http or cookie based)?
$cfg['Servers'][$i]['user'] = 'root'; // MySQL user
$cfg['Servers'][$i]['password'] = 'XXXXX'; //password
