Go Back   歡迎來到 xt:Commerce 漢語支援站 > xt:Commerce 技術文件

SEO對策

From xt:Commerce 技術文件

  使用者操作指南   搜尋   語言 : 正體中文

 
 

Contents

[edit] SEO 原理

搜尋引擎最佳化(Search Engine Optimization)的原理:搜尋引擎(Search Engine)使用Robot(Agent)根據網域名稱、網址或來自其他網站的連結,檢視並判斷分析網站內所有的網頁內容, 讓搜尋引擎將其獲得資訊整理並放置在其平台上供用戶查詢。


簡單的說,將網站的內容最佳化讓搜尋引擎可以正確、簡單判斷您的商店的網頁內容,使您的商店更容易被各搜尋引擎找到,並且盡可能很快速的讓網路用戶瀏覽使用。如此,您的商店的曝光率及搜尋引擎關鍵字排名便能獲得提昇。


以下列出當你使用 xt:Commerce 作為網路商店時可能會發生的問題及解決方案:

[edit] url 連結問題

[edit] 檢查伺服器是否在 Apache 已經設置啟用 mod_rewrite


  • 對策 1: 從 xt:Commerce 管理平台檢視
登入到 xt:Commerce 管理平台,工具->伺服器資訊->點選 PHP Info 書籤。
你可以在 "Loaded Modules" 內容中找到是否有 "mod_rewrite" 在其中。


  • 對策 2: 撰寫一個內含 phpinfo() 的 php 程式

事實上這和對策1相同,當你尚未安裝 xt:Commerce 之前可以用這個方法來確認web環境。

 <?Php
echo phpinfo();
?>

[edit] 測試 mod_rewrite 是否已在 web 正確的運作


儘管 mod_rewrite 已經配置了,但它仍可能不能正常運作。
你可以在商店的網域根目錄中找到 .htaccess 檔,並加入以下內容:

RewriteEngine On RewriteRule ^ http://www.google.com [R, L]

當你使用瀏覽器進入你的商店,例: http://yoursite.com/shop/
如果它會轉到 http://www.google.com ,表示 mod_rewrite 可以正常運作。

如果不行,請試著依下列對策排除問題:

  • 對策 1:請依上一個問題(檢查你的伺服器或租用的虛擬主機是否在 Apache 已經設置啟用 mod_rewrite),再檢查一次。

  • 對策 2: httpd.conf 內的 "AllowOverride" 沒有正常設置

在 httpd.conf (這個環境檔在你的 Apache web 伺服器內),你必須在 <Directory>...</Directory>內設定 "AllowOverride" 參數。

但當你的商店是租用虛擬主機,或者是同一個網域內存在各不同的功能平台時,就儘量不要直接在 httpd.conf 內設定 "AllowOverride" ,你可以透過設定 .htaccess 檔案來使該 web 目錄受到影響即可。

如果你的 httpd.conf 已經設定 AllowOverride
請在 .htaccess 檔案內設定 AllowOverride 參數,並置於<Directory>...</Directory>內。

 AllowOverride FileInfo


有的 web 伺服器環境必須設定為All,所以如果 "AllowOverride FileInfo" 無法順利作用,請試著設定以下:

 AllowOverride All


註:你也必須將商店的路徑寫在<Directory>內,例:

 <Directory /www/your-shop/htdocs> ... AllowOverride All ...</Directory>


  • 對策 3: 遺失 RewriteBase 組態

一些 Web 的環境設置 (或如果商店是在子目錄下執行) 必須有 "RewriteBase" ,所以在一開始設定 mod_rewrite 時就應該將它也一起寫入。

依下列編碼寫入到 .htaccess 檔案內:

RewriteEngine On RewriteBase / RewriteRule ^ http://www.google.com [R, L]

假設商店是位於 /shop 子目錄內,你可以寫成 RewriteBase / shop。


[edit] 當進入商店時,頁面卻顯示: 403-Forbidden


使用 .htaccess 來設定 mod_rewrite 的好處是可以局部定義環境組態,比起使用 httpd.conf 全域環境組態來的具有彈性(要確定 AllowOverride 正確地被設置- 測試 mod_rewrite 是否可以正確運作),但是 FollowSymLinks 組態(伺服器流程符號連結)卻有可能是關閉的狀態。

而有些伺服器需要指定這個組態,mod_rewrite 才能正確運作。

  • 對策 1: 啟用 FollowSymlinks 組態

在 .htaccess 檔案中加入以下描述(或者是將以下描述移除)

 Options + FollowSymlinks

以上描述最好是作在 .htaccess 檔案內,當然你也可以作在 httpd.conf 內,但有可能在同伺服器上的其它平台會發生錯誤訊息:500-Internal Server Error

如果因某項因素,你的伺服器環境仍是必須作在 httpd.conf 內,可以參考以下內容:

<Directory /www/your-shop/htdocs>
...
 Options + FollowSymlinks
...
</Directory>


如果你沒有權限存取 httpd.conf (大部份的虛擬主機都不會讓你擁有這樣權限),請去電詢問你的主機供應商如何排除 FollowSymlinks 所造成的問題。


[edit] 當進入商店時,頁面卻顯示: 404 error-Page not found


  • 對策 1: 我的商店位置是在 web 的子目錄

當商店的位置是放在 web 的子目錄時(例: www.your-shop.com/shop ) ,很容易就會有這樣的問題,原因是在 .htaccess 檔案內的 "RewriteBase" 組態設定有誤。

需要設定 "RewriteBase" 的時機:如果目錄有轉換或變動時,不是實體路徑名稱(例如:你使用了一個目錄別名),那就必須告訴 mod_rewrite 可以轉至該位置的名稱。

在商店根目錄下的 .htaccess 檔案,作下列組態的變動:

RewriteEngine On
RewriteBase /<商店所處的目錄名稱>

什麼是<商店所處的目錄名稱>,例如: "RewriteBase /shop"


  • 對策 2: 系統資料夾的路徑識別

如果所有的連結都能夠正確作用,卻偏偏有1,2個連結會發生 404 找不到頁面的錯誤訊息,檢查自己所作的 URL (404 的錯誤原因),如下列的關鍵詞:

  1. Admin
  2. cache
  3. callback
  4. download
  5. export
  6. images
  7. import
  8. inc
  9. includes
  10. media
  11. lang
  12. pub
  13. templates
  14. templates_c

註:本錯誤已經收錄到最新版的補丁中。

如果上述的關鍵詞其中的一個 URL 發生了錯誤,你可以依照下列的描述檢查是否疏漏了什麼:

 RewriteRule ^ # admin | cache | callback | download | export | images | import 
| inc | includes | media | lang | pub | templates | templates_c-[L]

[edit] 當進入商店時,頁面卻顯示: 500 error-Internal Server Error


如果 web 配置不當,或許就會發生此錯誤: 500 error-Internal Server Error,這個問題大多是 .htaccess 及 httpd.conf 的組態設定錯誤所致。

  • 對策 1: 在 httpd.conf 內作了禁止權限等相關設定。

如果你在 .htaccess 內啟用了 "Options + FollowSymlinks" ,它將會覆寫原先在 httpd.conf 檔案的組態,但這有可能在某些伺服器上不被允許,這就是發生 500 錯誤的主因。(請參考之前的 403 錯誤)

首先要作的當然將 .htaccess 內的 "Options + FollowSymlinks" 移除掉。(因為大部份的 web 伺服器環境都不需要設定這個項目)

如果這樣還是無法成功修復問題,就必須作 Apache 相應修改,如果你可以存取 httpd.conf ,請在<Directory /www/your-shop/htdocs> ... </Directory> 內加入:

 Options + FollowSymlinks

如果你沒有權限存取 httpd.conf (大部份的虛擬主機都不會讓你擁有這樣權限),請去電詢問你的主機供應商如何排除這個問題。


  • 對策 2: 請確定 .htaccess 是以 ANSI 編碼儲存並以 ASCII 模式上傳

.htaccess 檔案必須是以 ANSI 編碼格式(標準)儲存,而且上傳到 web 伺服器必須是以 ASCII 模式上傳, 你可以在 FTP client 端的傳輸設定中找到 (ASCII / Binary) 傳輸模式。

[edit] 當進入商店時,頁面卻顯示: Error! Unable to determine the page link!


這個錯誤訊息與 xt:Commerce 建立了一個沒有指定檔名的連結有關。

  • 對策: 修改 "xtc_href_link.inc.php" 檔案

請開啟 xt:Commerce 商店目錄內的 /inc/xtc_href_link.inc.php ,解決這項錯誤。
註:這個錯誤已經在最新版的 xt:Commerce 修正

找到下列內容:

if (!xtc_not_null($page)) {
      die('Error! Unable to determine the page link!');
    }

並且以下列內容來取代:

if (!xtc_not_null($page)) {
      // WORKAROUND FOR SOME SERVERS WITH WRONG httpd.conf
      $page='index.php';
}


 
   
       
   
www.xt-commerce.cn © 2003 - 2007 xt:Commerce GmbH, all rights reserved
發行事項 | 授权