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

Published by Việt Coding on

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à 🙂

Quảng cáo tài trợ


Việt Coding

Là một người đam mê lập trình, tôi vọc vạch đủ thứ liên quan đến lập trình cho thoả chí tò mò. Hiện làm chủ yếu ở mảng phát triển ứng dụng di động cho iOS và Android với React Native. Thỉnh thoảng vọc vạch mấy thứ liên quan đến Internet of Things như Smart Home. Đang nghịch mấy con Raspberry Pi và thấy nó cũng thú vị :)

59 Comments

HuỳnhTrung@hutruc.com · 08/06/2010 at 22:11

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 =-.

    Việt Coding · 09/06/2010 at 19:07

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

      Sức khoẻ gia đình · 15/06/2010 at 20:33

      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 =-.

Nguyên Anh · 09/06/2010 at 09:35

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

    Việt Coding · 09/06/2010 at 19:08

    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 ?

      Nguyên Anh · 11/06/2010 at 13:53

      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 :((

        Việt Coding · 11/06/2010 at 16:03

        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 ?

          Nguyên Anh · 11/06/2010 at 19:50

          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

            Việt Coding · 11/06/2010 at 22:21

            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 ?

              Nguyên Anh · 12/06/2010 at 08:22

              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.

                Việt Coding · 12/06/2010 at 09:28

                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ỉ ?

                  Nguyên Anh · 12/06/2010 at 10:11

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

                    rluna · 20/06/2010 at 09:58

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

                    Nguyên Anh · 29/06/2010 at 08:08

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

                Xuantuyen · 17/10/2010 at 17:30

                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 ?

Nguyên Anh · 12/06/2010 at 10:13

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 🙂

    Việt Coding · 12/06/2010 at 20:47

    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.

Nguyên Anh · 12/06/2010 at 16:21

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

    Việt Coding · 12/06/2010 at 20:22

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

Nguyên Anh · 12/06/2010 at 20:57

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 đỡ

    Việt Coding · 12/06/2010 at 22:10

    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.

nghiadoi · 13/06/2010 at 11:24

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

xuantuyen · 16/06/2010 at 21:17

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 =-.

    Việt Coding · 16/06/2010 at 21:55

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

xuantuyen · 27/06/2010 at 11:46

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 =-.

    Việt Coding · 27/06/2010 at 15:53

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

      xuantuyen · 28/06/2010 at 11:15

      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 =-.

        Việt Coding · 29/06/2010 at 08:43

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

Việt · 03/07/2010 at 16:14

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.

    Việt Coding · 03/07/2010 at 18:06

    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,

      Việt · 03/07/2010 at 19:47

      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 ^^.

Hùng · 08/07/2010 at 23:32

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 =-.

    Việt Coding · 09/07/2010 at 09:15

    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 🙂

PhoenixSinh · 18/08/2010 at 01:47

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 =-.

    Việt Coding · 18/08/2010 at 14:47

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

      PhoenixSinh · 19/08/2010 at 19:56

      à, 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 =-.

        Việt Coding · 21/08/2010 at 18:14

        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,

      PhoenixSinh · 21/08/2010 at 17:41

      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 =-.

        Việt Coding · 21/08/2010 at 18:15

        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 🙂

          PhoenixSinh · 21/08/2010 at 23:47

          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 =-.

          phoenixsinh · 27/08/2010 at 10:25

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

            Việt Coding · 27/08/2010 at 11:13

            Hi,

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

phoenixsinh · 27/08/2010 at 12:05

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?

Kazna · 05/09/2010 at 22:31

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 🙁

    Việt Coding · 06/09/2010 at 16:05

    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ỉ ?

      Kazna · 07/09/2010 at 11:53

      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

      Kazna · 07/09/2010 at 11:55

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

      Kazna · 07/09/2010 at 12:31

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

        Việt Coding · 08/09/2010 at 13:29

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

          tin · 26/06/2015 at 10:55

          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.

Xuantuyen · 17/10/2010 at 17:27

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 ạ ?

    Việt Coding · 18/10/2010 at 18:54

    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 ?

Cộng Đồng Mã Nguồn Mở Việt Nam · 18/06/2011 at 10:07

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

Thiên Ưng · 11/07/2011 at 11:01

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

CAA+ · 03/09/2011 at 17:39

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

Lee Nam · 15/04/2016 at 10:06

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

Tăng tốc blog toàn diện : Giảm HTTP Request | Blog Công Nghệ · 15/07/2010 at 16:06

[…] Cũng giống như đã nói ở trên, mặt hạn chế của giao thức HTTP là chỉ cho phép 10 kết nối đồng thời đến máy chủ. Giả sử bạn truy cập http://blogcongnghe.info thì tất cả các file từ ảnh, text, html,… đều truy xuất đến blogcongnghe.info. Bây giờ, để tăng số kết nối đến máy chủ, thì thay vì dùng 1 domain thì chúng ta sử dụng nhiều subdomain như image.blogcongnghe.info để lưu ảnh, script.blogcongnghe.info để lưu script… Số kết nối sẽ tăng lên nhiều lần, và chúng diễn ra đồng thời nên dĩ nhiên tốc độ tải web của bạn sẽ tăng lên rõ rệt. Bài viết về sử dụng subdomain cho tăng tốc blog thì VietCoding đã viết khá rõ và chi tiết. Bạn có thể tham khảo bài viết Sử dụng subdomain để tăng tốc cho blog WordPress. […]

Bảo mật và tăng tốc website của bạn với CloudFlare — Việt Coding | Blog dành cho những ai yêu thích lập trình · 03/03/2011 at 20:55

[…] khá hài hước tại trang chủ.Một số bài viết có liên quan bạn nên đọc: – Sử dụng subdomain để tăng tốc cho blog WordPress – Tại sao nên chọn Hosting tại  Việt Nam ? – Bảo vệ băng thông webblog của bạn […]

Leave a Reply to Kazna Cancel reply

Avatar placeholder

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