Linux
Amebaでブログを始めよう!

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中含有大量關鍵詞

搜尋引擎種類簡介

入口網站一般可以分為兩類,一種屬於目錄式;另一種則是搜尋引擎式。目錄式的入口網站需要站長自己去登錄網站的資料,瀏覽者就可以依據目錄的分類找到網站的資料。搜尋引擎式的則是由搜尋引擎程式(稱為 spider, robot, crawler)自動造訪所有的網站,也就是說站長不必登錄你的網站資料,搜尋引擎自動就會收錄你網站的資料,將來網友就可以透過關鍵字的查詢,找到網站的資料。

因此,方便搜尋引擎察訪收入自己的網站,可以讓網友在搜尋引擎網站查詢時,更容易找到自己的網站。要達到這個目的,就要讓網頁設計儘量符合搜尋引擎程式的特性,而所謂搜尋引擎最佳化(Search Engine Optimization, 簡稱 SEO),是指針對搜尋引擎的搜錄程式的特性,設計網頁的相關格式,讓網頁的資料易於被搜尋引擎搜錄。

mgrt

mgrt

log記?

> <

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://apache.justdn.org/jakarta /tomcat-connectors/jk/source/jk-1.2.14/jakarta-tomcat-connectors-1.2.14-src.tar.gz

參考連結:

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-tomcat4
1
=/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/jsp

http://domain/examples/serverlet

看得到就成功了^^!

Virtual host

第一步:新增aaacomtwbbbcomtw使用者

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 (把所有都編譯為DSOApache2.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