Sử dụng subdomain để tăng tốc cho blog WordPress



Như các bạn đã biết, tốc độ truy cập một website là một trong những yếu tố quan trọng để được Google xếp thứ hạng cao trong kết quả tìm kiếm. Riêng Việt Coding không đặt nặng vấn đề tăng tốc website cho Google mà chủ yếu tạo sự thoải mái cho khách truy cập.

Tại sao không đặt nặng vấn đề tăng tốc website cho Google ?


Theo suy nghĩ của Việt Coding, Google có hệ thống máy chủ đặt tại Mỹ, kể cả khi bạn truy cập qua domain google.com.vn thì thực chất bạn đang truy cập máy chủ của Google tại Mỹ. Tốc độ truy cập từ Mỹ vào Việt Nam không cao do đường truyền quốc tế của các ISP Việt Nam còn thấp. Do đó sự nhanh chậm do Google đánh giá sẽ không thực sự chính xác đối với những website trên các máy chủ đặt ở Việt Nam.

Trong bài viết này, Việt Coding muốn giới thiệu với các bạn một phương pháp tăng tốc website rất hiệu quả mà Việt Coding đang áp dụng.

Trước hết, chúng ta dạo qua một chút xíu về kỹ thuật. Thông thường, blog WP của bạn được cài trên domain, ví dụ như anhdung.info, và tất tần tật mọi thứ trên blog đều được truy xuất qua domain đó như script, image, style,… Điều này có vấn đề gì không ?

Tất nhiên là có rồi. Như các bạn đã biết, dữ liệu trao đổi Internet chủ yếu bằng giao thức HTTP/HTTPS/FTP/… Trong đó giao thức HTTP là chủ yếu và chiếm phần lớn. Giao thức HTTP (HyperText Transfer Protocol) được dùng từ năm 1990 là giao thức mà hai máy tính sử dụng để có thể liên lạc với nhau thông qua kết nối mạng. Hiện tại, các trình duyệt đều dùng với giao thức HTTP 1.0 và 1.1. Hạn chế của giao thức này là tại một thời điểm chỉ có thể thực hiện 10 kết nối đến server, trong bài viết này, bạn hãy hình dung server là domain cho đơn giản.

HTTP - Giao thức nền tảng của Internet

HTTP - Giao thức nền tảng của Internet

Như vậy, khi một ai đó truy cập vào blog của bạn qua trình duyệt, họ gõ vào domain anhdung.info. Lúc này, tuỳ theo cấu hình của trình duyệt mà có tối thiểu là 2 connections đến 10 connections đến anhdung.info. Các connections này sẽ lấy các thông tin từ anhdung.info trả về như nội dung, image, script, style,… Tôi nghĩ rằng đọc đến đây, ắt hẳn nhiều bạn đã nhìn ra điểm mấu chốt của bài viết này rồi nhỉ 🙂 Hãy giả sử rằng bạn có thêm một hoặc nhiều subdomain để chứa riêng lẻ script, image, style,.. thì sao ? Ví dụ như:

img.anhdung.info để chứa hình ảnh
js.anhdung.info để chứa các javascript
style.anhdung.info để chứa các tập tin css

thì lúc này, cộng thêm domain chứa blog là anhdung.info thì bạn có tất cả 4 domain x 10 connections = 40 connections. Như vậy, với 40 connections này, các truy vấn đến dữ liệu trên blog của bạn sẽ được xử lý song song thay vì xử lý tuần tự như khi chạy trên chỉ 1 domain. Việt Coding đã thử phương pháp này và nhận thấy kết quả là tốc độ tải trang tăng thêm được 20%.

Vậy mấu chốt vấn đề nằm ở đâu ?

Vấn đề ở chỗ tách các phần tĩnh của WP như image, script, style,… ra lưu trữ trên subdomain. Để hiểu rõ hơn về vấn đề này, mời các bạn xem qua bài viết Tăng tốc tối đa cho blog của bạn với CDN và W3 Total Cache! của Misao. Bài viết đã nói rõ ràng các chi tiết như giới thiệu, cài đặt và cấu hình nên Việt Coding sẽ không nói lại mà đi vào phần cấu hình để dùng subdomain. Ở đây, chúng ta sẽ không dùng CDN (Content Delivery Network) mà dùng chính hosting để chứa các thành phần tĩnh. Các bước bạn cần làm như sau:

1. Tạo một subdomain cho blog WP của bạn, tên thường đặt tên là static.domain, bạn có thể đặt gì tuỳ ý, ở đây Việt Coding đặt là mycdn.vietcoding.com.

2. Tạo một FTP account và map vào thư mục subdomain trên, ví dụ : /htdocs/mycdn.vietcoding.com/public_html/

3. Trong phần cấu hình W3 Total Cache, ở mục CDN Setting \ Configuration bạn điền thông tin tài khoản FTP vào. Nhấn nút Test FTP Server để đảm bảo kết nối thông suốt.

Đến đây bạn đã cấu hình xong phần quan trọng nhất, các bước kế tiếp chỉ cần thực hiện việc upload dữ liệu lên subdomain thông qua các chức năng của CDN Setting như export media library to CDN, import attachments into Media Library,…

Như vậy, cách thức dường như không khác gì bài viết của Misao đã chia sẻ, chỉ khác ở chỗ chúng ta host các tập tin tĩnh trên subdomain chứ không dùng các dịch vụ CDN. Bên cạnh đó, bạn cũng có thể sử dụng các free hosting (ở VN hoặc nước ngoài – tuỳ vào blog tiếng Việt hay tiếng Anh) để cấu hình cho phương pháp này.

Hi vọng rằng bài viết này sẽ giúp ích nhiều cho các bạn. Việt Coding cũng như các đọc giả, đều luôn thích những webblog có tốc độ tải nhanh mà 🙂

About Author

Tuấn Anh

Là một người đam mê lập trình, hiện tập trung mảng phát triển ứng dụng web dựa trên nền tảng của WordPress. Đồng thời, nhằm đạt sự trọn vẹn trong công việc freelance, tôi đang học đồ hoạ, để có thể tự mình thiết kế layout, logo và những thứ khác liên quan đến đồ họa. Mục tiêu vài năm tới: Tôi sẽ là Full Web Developer = Graphics Design + Coding. Vietcoding Blog viết về WordPress, chia sẻ kinh nghiệm, mẹo vặt, viết plugin, làm theme và ôm ấp ý tưởng viết một Web Application Framework dựa trên WordPress. Đồ hoạ là chuyên mục đang được chuẩn bị trong tương lai.



59 thoughts on “Sử dụng subdomain để tăng tốc cho blog WordPress

  1. Cảm ơn bác đã chia sẽ, hôm nào rãnh áp dụng thử xem 🙂 Thế là đỡ được ít tiền nếu muốn tăng tốc bằng CDN rồi 🙂
    .-= HuỳnhTrung@hutruc.com´s last blog ..Hiển thị bài viết ngẫu nhiên và xem nhiều nhất không dùng plugins =-.

    1. Áp dụng đi bác, tuy không bằng CDN nhưng tốc độ tăng được 20% đấy.

      1. Sẽ áp dụng thử, thanks Việt coding
        .-= Sức khoẻ gia đình´s last blog ..Eva Mendes khoe vòng một nóng bỏng =-.

  2. Nguyên Anh says:

    Anh Vietcoding có thể giúp em cấu hình domain .com ho hosting summerhost không?
    Nếu được em sẽ gửi thông tin qua mail cho anh. Cảm ơn

    1. Hiện tại tôi đang xài VPS, lúc trước có xài qua Direct Admin, CPanel thì rất ít dùng. Không rõ SummerHost dùng CP nào ?

      1. Nguyên Anh says:

        Cp là ji anh? Trang quản lý của summerhost cũng y chang như của byehost vậy anh ơi. Em làm hoài mà vẫn không hiển thị được :((

        1. CP là tôi gọi tắt của Control Panel. Bạn có thể nói rõ bạn đã làm đến bước nào và thông báo lỗi là gì không ? Domain của bạn đã cấu hình nameserver về hosting chưa ?

          1. Nguyên Anh says:

            Em đã gửi thông tin em cấu hình qua mail cho anh rồi. Mong được sự hổ trợ của anh. Cảm ơn

            1. Hình như lúc trước blog này chạy trên nguyenanhdecor.summerhost.info rồi gần đây mới chuyển sang .com ?

              1. Nguyên Anh says:

                Không anh ạ, em mới mua tên miền này của Netnam. trước đấy em sử dụng tên miền nguyenanh.tk.
                Mong anh giúp đỡ. Thanks anh.

                1. Tôi có xem blog của bạn thì thấy link trong blog toàn là “nguyenanhdecor.summerhost.info”, bạn thử kiểm tra lại cấu hình trong WP xem. Mà sao bạn lại để blog ở dạng iframe nhỉ ?

                  1. Nguyên Anh says:

                    Ủa sao Comment không được nữa cà :((

                    1. rluna says:

                      Cái này mình giúp được. Nếu cần cứ pm mình mình giúp cho

                    2. Nguyên Anh says:

                      Thanks bạn giúp mình nha. Nếu có thể mail mình hen nguyenanhdecor@gmail.com

                2. Xuantuyen says:

                  NguyênAnh dùng host Vistapanel đúng không ? chỉ cho mình cách trỏ tên miền không có “www” về địa chỉ có “www” với được không ?

  3. Nguyên Anh says:

    Nếu anh vào bằng link [ nguyenanhco.summerhost.info ] thì tên bài viết hiển thị được. Nhưng vào bằng domain [ nguyenanhdecor.com] thì không anh a.
    Em đăng ký USER bên summerhost.info là: nguyenanhco
    Còn domain em mua là: [ nguyenanhdecor.com]
    Chắc anh nhầm chổ này 🙂

    1. Tôi không rõ ai đã cấu hình domain cho bạn hoặc bạn cấu hình như thế nào. Hiện tại theo tôi thấy thì thực sự blog của bạn đang chạy ở nguyenanh…summerhost.info. Phần cấu hình trong WP mà bạn chụp lại cho tôi xem cũng đã hiển thị rõ điều đó. Còn khi bạn truy cập nguyenanhde…com thực chất là iframe thôi chứ blog bạn vẫn ở nguyen..summer..info. Bạn cứ truy cập vào nguyena…com và view source lên sẽ thấy cái iframe.

  4. Nguyên Anh says:

    Em đã gửi thông tin qua mail cho anh rồi, m comment trên trang này không được anh ơi.

    1. Bạn gửi liên tục 3 comment nên bị liệt vào spam !

  5. Nguyên Anh says:

    Cái này em tự làm theo HD của các anh em đó ạ. Em đã làm theo HD của anh và đúng như vẩy thật. Không biết bây giờ phải chỉnh sao ạ. Mong anh giúp đỡ

    1. Nếu không có gì vướng mắc thì bạn gửi email thông tin đăng nhập của hosting và admin của WP vào htad@vietcoding.com cho tôi. Tôi sẽ vào xem và cấu hình lại cho bạn. Để đảm bảo an toàn hãy sao lưu cơ sở dữ liệu blog của bạn.

  6. nghiadoi says:

    rất thú vị…cảm ơn bác !
    .-= nghiadoi´s last blog ..IQ Blog – One Pause quy ẩn tạm thời ! =-.

  7. xuantuyen says:

    cảm ơn bác chia sẻ, tuy nhiên em vẫn chưa hiểu hết từng bước làm như thế nào cả. có lẽ mò dần rồi mắc đâu hỏi đó vậy. à mà như vậy thì khi upload ảnh lên host phải up vào supdomain à ?
    .-= xuantuyen´s last blog ..HostFree dung lượng cực lớn với oni.cc =-.

    1. Bạn cứ upload như bình thường, nó sẽ tự upload thẳng lên subdomain luôn.

  8. xuantuyen says:

    Hôm nay làm thử theo cách của bác, có gì nhờ bác chỉ bảo nhé.
    .-= xuantuyen´s last blog ..Một số lỗi khi sử dụng dự toán 97-2009 và cách khắc phục =-.

    1. Thử đi bác ! Chúc bác thành công !

      1. xuantuyen says:

        Em cài W3 mà nó bắt Chmod tập tin .hatcesss trong thư mục civiblog/public_html/.hatcess mà em tìm mãi trong đó không thấy nó ? em thì không hiểu về cái tập tin này, bác giúp em được không ? tập tin đó nó nằm dưới dạng nào, nếu nó ẩn thì làm thế nào cho nó hiện ra đây bác ?
        .-= xuantuyen´s last blog ..Một số lỗi khi sử dụng dự toán 97-2009 và cách khắc phục =-.

        1. Bạn có nhầm tên file không ? Tên đúng của nó là .htaccess chứ !

  9. Việt says:

    Em chưa hiểu ở vài chỗ, mong anh giải thích giùm
    1) Em thấy trong mục CDN Setting \ Configuration chỉ cho điền FTP address của 1 sub-domain trong khi nếu có 3,4 sub-domain thì làm sao add được ạ ?

    2) Nếu mình upload file css, script, image của các plugins lên các sub-domain thì các plugins đó có còn hoạt động được ko ? Vì em nghĩ nếu upload file lên các sub-domain thì sẽ ko đúng đường dẫn để các plugins sử dụng . Nếu upload thẳng vào thư mục chứa WordPress thì lại ko có chuyện gì xảy ra.

    1. Hi,

      1. Trường hợp sử dụng W3 Total Cache chỉ áp dụng cho 1 subdomain. Việc cấu hình với 2-3 subdomain sẽ phức tạp hơn nhiều. Đối với một blog nhỏ và trung bình thì Việt Coding nghĩ dùng với 1 subdomain là đủ.

      2. Khi bạn cài đặt plugins, themes thì cứ cài bình thường. Sau đó vào phần W\3 Total Cache setting để cập nhật các tập tin javascript, stylesheet mới phát sinh rồi upload lên subdomain.

      Thân,

      1. Việt says:

        Ra là thế, em cũng mới cài W3 Total Cache nhưng chưa đụng đến CDN Settings . Cảm ơn anh ^^.

  10. Hùng says:

    Vấn đề quản lý 4 subdomain x10 blog thì hơi mệt nhỉ.
    .-= Hùng´s last blog ..World Cup 2010-Dự Đoán Trận Chcung Kết =-.

    1. Thật ra chỉ lúc cấu hình ban đầu mới hơi cực. Nhưng sau đó rồi thì cái plugin W3 Total Cache làm hết cho mình rồi 🙂

  11. Pingback: Tăng tốc blog toàn diện : Giảm HTTP Request | Blog Công Nghệ
  12. PhoenixSinh says:

    cậu cho tớ hỏi chút nha, tớ cấu hình FTP Ok cả.
    có một chổ tớ không chắc là FTP path, và lỗi là thế này khi tớ test :
    Error: Unable to change directory to: /home/xxxxx/public_html/mycdn.
    .-= PhoenixSinh´s last blog ..File Hosting – Premium Link Generator =-.

    1. Bạn có đảm bảo là thư mục mycdn đã tồn tại chưa ? 🙂

      1. PhoenixSinh says:

        à, cái /home/xxxxx/public_html/mycdn được tớ lấy bằng hàm PHP đặt trong thư mục mycdn đó cậu. nhưng tớ hông hiểu tại sao lại bị vậy nữa. nếu cậu rảnh thì liên hệ tớ gửi thông tin cho cậu, cậu giúp giùm tớ nhân tiện giúp tớ một số thắc mắc khác về seo của site này nữa. vì mình làm cái này với tham vọng quản cáo mà, còn một site khác vì mục đích cộng đồng. hì hì. cậu giúp tớ nhé, liên hệ với tớ nha, hay cậu để lại nick yahoo của cậu ở đây cho tớ đi, chứ tớ để lại sự bị lừa quá à
        .-= PhoenixSinh´s last blog ..Ajax – jQuery Featured Content Slideshow – August 2010 =-.

        1. Sao lại lấy bằng hàm PHP hở bạn ? Bạn chỉ cần log vào Control Panel của Hosting (Vista CPanel ?) tạo một subdomain là sẽ có chính xác đường dẫn mà ? Tôi đã truy cập thử mycdn.codeofmine.com của bạn thấy thành công rồi nè.

          Bạn có thể email thông tin qua htad@vietcoding.com.

          Thân,

      2. PhoenixSinh says:

        UHm, chắc là hông rảnh đâu ha, để mình tự tìm cách khác vậy. 🙁
        .-= PhoenixSinh´s last blog ..e30 Custom Sidebar Blocks 112 =-.

        1. Mong bạn thông cảm vì sự chậm trễ trả lời. Thời gian này tôi khá là bận 🙂

          1. PhoenixSinh says:

            Uhm, vậy thì phiền cậu quá ha, nhưng cố giúp tớ nhé, tớ đã send thông tin đến e-mail của cậu, giúp với nhé.
            .-= PhoenixSinh´s last blog ..e30 Custom Sidebar Blocks 112 =-.

            1. Đã mail cho bạn !

          2. phoenixsinh says:

            Nè bạn ơi, sao rồi, đã mail hết cho bạn rồi đó, xem giúp mình với nha.

            1. Hi,

              Tôi đã mail lại cho bạn tối qua rồi mà nhỉ 🙂

  13. phoenixsinh says:

    Cảm ơn VietCoding
    không biết khi dùng CDN thì có cần thiết dùng tớ cache không ha, trong test này tớ dùng cache và cdn, 2 cdn, đã làm mới cache trước khi thử
    đây là kết quả mình thu được
    A) đo tại http://webwait.com/
    1) trước khi enable : 5.41s
    2) sau khi enable : 5.83s
    b) dùng chứ năng của google chrome
    1 ) trước khi enable : 3.94
    2) sau khi enable : 4.85
    c) kiểm tra tại : http://www.congcuseo.net/Congcu/Kiemtra-tocdo-web.html
    1) có : 0.20 giây.
    2) không 1.12 giây :
    d ) kiểm tra tại : http://tools.pingdom.com/
    1) có : 4 seconds
    2) không : 3.6 seconds
    Vậy chuyện này là sao ? tớ có nên tiếp tục sử dụng không?

  14. Kazna says:

    Bạn ơi, khi mình Test FTP server nó báo là Error: Unable to change directory to: /public_html/cdn. Mình đã điền đúng đường dẫn là /public_html/cdn, tạo subdomain rồi, tạo tài khoảng FTP map vào thư mục cdn rồi luôn. Giúp mình với 🙁

    1. Ftp hostname của bạn là gì vậy ? Ví dụ bạn tạo cdn.abc.com thì nó được point trực tiếp vào thư mục /public_html/cdn luôn rồi. Khi đó đâu có thư mục cdn đâu nhỉ ?

      1. Kazna says:

        Thôi bỏ cái cdn trên đi. Trang của mình là ghibli.ismywebsite.com. Mình tạo subdomain content.ghibli.ismywebsite.com
        mình điền thông số như vầy:
        FTP hostname: http://ftp.ghibli.ismywebsite.com
        FTP username: username của FTP account mới tạo
        FTP password: password của FTP account mới tạo
        FTP path: /public_html/content
        Replace site’s hostname with: http://ftp.ghibli.ismywebsite.com

        Khi Test FTP Server thì nó báo Error: Unable to change directory to: /public_html/content.

        Mình đã thử thay đổi path thành public_html/content, /home/ghibli/public_html/content mà cũng ko được

      2. Kazna says:

        cái chỗ hostname với Replace site’s hostname ko có http:// nha, tại nó tự nhiên nhận link

      3. Kazna says:

        A mình làm được rồi, chỗ FTP Path bỏ trống thì Test passed 😀

        1. Thế thì tốt quá ! Chúc mừng bạn 🙂

          1. tin says:

            tôi muốn làm như bạn,nhưng không hiểu nhìu về kỷ thuật,nên không biết làm thế nào. bạn hướng dẫn chi tiết được không.

  15. Xuantuyen says:

    Cảm ơn bác, em muốn hỏi điều này ngoài luồng chút. Số là em mới lập một cái Blog nhưng khi cấu hình domain về host thì nó chỉ nhận domain có tham số www. chứ không nhận domain không có www, em muốn chuyển hướng tất cả domain[dot]net về địa chỉ http://www.domain[dot]net nhưng không làm được vì host không nhận, em dùng cả mấy cách thêm vào file .htcaess mà không được, bác có cách nào giup em với không ạ ?

    1. Bác đặt thử đoạn code dưới đây vào .htaccess thử xem sao:

      RewriteEngine On
      RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
      RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

      Việt Coding cũng dùng VistaPanel mà không để ý vụ www này ta ?

  16. Cộng Đồng Mã Nguồn Mở Việt Nam says:

    Nếu như anh nới thì mình sử dụng dịch vụ picasa của google được hem ạ
    Tiếp theo thì một số theme không nhận thumbnai dạng link lên khó mà làm cách này.
    Trước em hay up ảnh lên picasa.Tốc đọ khá speed.Nhưng h dùng theme này nó không load thì tốc đọ có phần chậm hơn

  17. Dùng subdomain có thực sự hiệu quả đến vậy mình phải thử mới dc

  18. CAA+ says:

    Bây giờ thì em đã hiểu, nhưng tiếc là không làm được 😀

  19. Lee Nam says:

    mình có subdomain dạng, abc.xyz.com
    mình muốn hỏi là làm sao khi người dùng vô tình hay cố tình truy cập vào địa chỉ xyz.com/abc thì tự động chuyển về abc.xyz.com, vì khi truy cập như vậy sẽ bị lỗi nhiều file do không đúng đường dẫn.
    trong file .htaccess, thanks


Got Something To Say:

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax

GENESIS FRAMEWORK