Sử dụng proxy ngược để cài đặt blog WordPress để nâng cao SEO

Proxy, SEO, Tháng Mười-01-20215 phút đọc

Bạn đã bao giờ gặp phải tình huống cần phải có một blog trên trang web công ty hiện tại của bạn mà không chạy trên WordPress? Tôi chắc chắn rằng hầu hết các bạn đã phải đối mặt với những kịch bản như vậy. Trong bài viết này, bạn sẽ khám phá ra một cách để đạt được nó mà không ảnh hưởng đến SEO. Trước khi chúng ta đi sâu vào nó, chúng ta hãy khám phá cách

Bạn đã bao giờ gặp phải tình huống cần phải có một blog trên trang web công ty hiện tại của bạn mà không chạy trên WordPress? Tôi chắc chắn rằng hầu hết các bạn đã phải đối mặt với những kịch bản như vậy.

Trong bài viết này, bạn sẽ khám phá ra một cách để đạt được nó mà không ảnh hưởng đến SEO.

Trước khi chúng ta đi sâu vào nó, hãy khám phá cách các tổ chức và tổ chức sử dụng việc lưu trữ blog riêng biệt với trang web chính.

Các trường hợp bạn cần có một blog riêng biệt với trang web chính?

Nhiều doanh nghiệp lớn có hệ thống CNTT phức tạp, khiến các bộ phận nội bộ của họ khó nhìn ra ngoài phạm vi hệ thống nội bộ của họ. Lấy ví dụ, mong muốn của bộ phận tiếp thị nội dung để tạo ra một blog để khai sáng khán giả của mình. Tuy nhiên, sự sắp xếp hiện tại làm cho việc tạo một blog, chẳng hạn như trên WordPress lưu trữ không thể.

Mặt khác, các doanh nghiệp có thể sử dụng ".NET Framework" cho các ứng dụng web của họ và các công ty khác do dự khi sử dụng các khung mã nguồn mở.

Khi bạn cần lưu trữ một blog trong bất kỳ tình huống nào được liệt kê ở trên, bạn không có lựa chọn nào khác ngoài việc nghĩ đến một máy chủ thay thế để lưu trữ nó.  Do đó, máy chủ này nằm ngoài máy chủ nơi bạn đã lưu trữ trang web của mình. Chúng ta hãy xem xét một số lựa chọn này và những tác động mà chúng sẽ có, phải không?

Các tùy chọn của bạn để lưu trữ blog WordPress riêng biệt là gì?

Lưu trữ trên tên miền phụ

Ví dụ: nếu trang web chính của bạn có URL www.myorganization.com, các chuyên gia có thẩm quyền kỹ thuật nhất trong quá khứ sẽ có xu hướng cài đặt blog WordPress bằng cách mua tên miền phụ của tên miền chính. Ví dụ trong tình huống này, nó sẽ được ourblog.myoraginzation.com.

Trong năm qua, giải pháp này sẽ là hoàn hảo. Tuy nhiên, hiện tại, khi bạn đang nhắm mục tiêu để tạo ra một lượng lưu lượng truy cập đáng kể vào blog của mình, bạn cũng cần xem xét các khía cạnh SEO (Tối ưu hóa Công cụ Tìm kiếm). Chúng ta sẽ xem xét nó trong phần tiếp theo.

Tác động của việc cài đặt blog trên tên miền phụ cho SEO

Khi nào nên sử dụng tên miền phụ

Lý do chính khiến chủ sở hữu trang web mua tên miền phụ là để có nội dung riêng biệt dựa trên các sản phẩm khác nhau cho thương hiệu của bạn. Mặc dù cũng có thể có những lý do khác, chẳng hạn như một trang web riêng cho thiết bị di động và thúc đẩy lưu lượng truy cập, lý do cơ bản nằm ở nội dung và mở rộng thương hiệu của bạn dựa trên một số ngách.

Ví dụ: Wikipedia có các tên miền phụ để phân tách nội dung dựa trên các ngôn ngữ khác nhau, chẳng hạn như fr.wikipedia.com hoặc es.wikipedia.com.

NPR, một mạng lưới phát thanh phổ biến, là một ví dụ khác mà họ tập trung 100% vào tin tức và nội dung của họ. Tuy nhiên, họ cũng có một tên miền phụ, https://shop.npr.org/, tập trung chủ yếu vào việc bán hàng. 

Vì vậy, trong các tình huống được đề cập ở trên, việc có một tên miền phụ là hợp lý. Nhưng làm thế nào về trong trường hợp của blog?

Tên miền phụ hoặc thư mục riêng cho blog?

Vâng, các công cụ tìm kiếm xem các tên miền phụ như các trang web riêng biệt. Điều này ngụ ý rằng các công cụ tìm kiếm phải thu thập dữ liệu và lập chỉ mục từng tên miền phụ riêng biệt. Ngoài ra, các liên kết ngược đến tên miền chính không được chia sẻ với tên miền phụ của họ. Do đó, việc xây dựng thứ hạng trang cho tên miền phụ gần như khó khăn như đối với tên miền chính.

Vì vậy, sẽ rất hữu ích nếu bạn có tên miền phụ trong trường hợp có ý nghĩa để làm như vậy. Do đó, một lựa chọn lý tưởng trong blog sẽ là có blog làm thư mục con trên trang web chính của bạn.

Tuy nhiên, như tôi đã đề cập ở trên, làm thế nào bạn có thể làm như vậy trong trường hợp trang web hàng đầu của bạn hoạt động và khi bạn làm nóng nó trên một nền tảng khác không hỗ trợ lưu trữ WordPress?

Đây chính xác là những gì Reverse Proxy dành cho và chúng tôi sẽ cung cấp cho bạn cái nhìn tổng quan về proxy ngược trong phần tiếp theo.

Proxy ngược và chuyển tiếp là gì?

Hiểu khái niệm proxy ngược sẽ dễ dàng hơn nếu bạn biết proxy chuyển tiếp làm gì.

Forward Proxy – Forward Proxy chuyển tiếp tất cả các yêu cầu đến từ tất cả các nút trong mạng LAN (Local Area Network) đến máy chủ có liên quan mà yêu cầu sẽ chuyển đến. Máy chủ đích không có manh mối về nguồn gốc của yêu cầu và gửi phản hồi đến máy khách đã khởi tạo yêu cầu thông qua proxy chuyển tiếp. Sơ đồ dưới đây minh họa nó


Proxy ngược: Ngược lại, Reverse Proxy nằm trước các máy chủ và gửi yêu cầu đến đúng máy chủ khi máy khách khởi tạo yêu cầu. Sau đó, khi máy chủ thích hợp trả về phản hồi, proxy ngược trả về phản hồi cho thiết bị khách. Nó sẽ xuất hiện với thiết bị khách khi Máy chủ proxy ngược xử lý tất cả các yêu cầu. Proxy ngược là lý tưởng trong các tình huống mà cùng một phần của một ứng dụng web được thu nhỏ trên nhiều máy chủ khác nhau.

Để tìm hiểu thêm về proxy Reverse và Forward, bạn có thể tham khảo bài viết này .

Proxy ngược trong kịch bản WordPress

Tương tự như vậy, bạn có thể sử dụng Proxy ngược để hướng lưu lượng truy cập đến máy chủ nơi bạn đã lưu trữ blog WordPress. Mặt khác, Reverse Proxy sẽ hướng lưu lượng truy cập không phải blog đến máy chủ có liên quan. Tôi biết nói dễ hơn làm. Vì vậy, hãy chứng minh bằng một ví dụ. 


Giả sử rằng, như thể hiện trong sơ đồ dưới đây, trang web của bạn https://www.somedomain.com được lưu trữ trên một máy chủ web không hỗ trợ WordPress.Tuy nhiên, nhóm tiếp thị nội dung của bạn đang chết để có một blog. Vì vậy, xem xét tất cả các sự kiện SEO được đề cập ở trên, nhóm phát triển Web của bạn không có lựa chọn nào khác ngoài việc cài đặt blog trong thư mục "blog". Do đó, blog, URL sẽ xuất hiện dưới dạng https://www.somedoamin.com/blog.

Vì trang web chính không hỗ trợ WordPress, đây là các bước mà nhóm phát triển web của bạn phải tuân theo:

  1. Liên hệ với Quản trị viên tại somedomain.com và tìm hiểu xem họ có hỗ trợ Reverse Proxy hay không.
  2. Nếu họ làm vậy, bạn có thể yêu cầu họ định cấu hình proxy ngược tại máy chủ của họ với các chi tiết mà bạn lưu trữ blog WordPress.
  3. Song song với bước trên, bạn cũng cần tìm một máy chủ lưu trữ như Kinsta để chạy blog WordPress của mình. Blog này bây giờ sẽ có một địa chỉ IP riêng biệt vì nó được lưu trữ khác với máy chủ web lưu trữ trang web chính của bạn.
  4. Bạn sẽ cần một URL cho blog này, đó sẽ là https://www.somedomain.com/blog. Vì một miền không thể có một thư mục trong miền gốc; Cách tốt nhất là để tên miền phụ https://blog.somedomain.com trỏ đến máy chủ mới này.
  5. Sau đó, bạn có thể định cấu hình Proxy ngược theo cách để nếu một yêu cầu đến như https://www.somedomain.com/blog, các yêu cầu đó sẽ hướng đến https://blog.somedomain.com tên miền phụ. Bước này yêu cầu bạn tạo một thư mục có tên là "blog" trong thư mục gốc của somedomain.com. Sau đó, sẽ hữu ích nếu bạn đặt tệp sau đặt tên là "web.config" với mã bên dưới.

Tạo tệp web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 <system.webServer>
  <rewrite>
   <rules>
    <rule name="blog.somedomain.com" stopProcessing="true">
     <match url=".*" />
     <conditions>
      <add input="{HTTP_HOST}" pattern="^blog.somedomain.com$" />
      <add input="{PATH_INFO}" pattern="^/blog/" negate="true" />
     </conditions>
     <action type="Rewrite" url="\blog\{R:0}" />
    </rule>
   </rules>
  </rewrite>
 </system.webServer>
</configuration>

Trong hai dòng dưới đây, "blog.somedomain.com" nên được thay thế bằng tên miền phụ nơi blog của bạn được đặt:

 <rule name="blog.somedomain.com" stopProcessing="true">
<add input="{HTTP_HOST}" pattern="^blog.somedomain.com$" />

Sau đó, trong hai dòng này, bạn có thể thay thế thư mục "blog" nếu bạn đã đặt tên khác cho nó:

<add input="{PATH_INFO}" pattern="^/blog/" negate="true" />
<action type="Rewrite" url="\blog\{R:0}" />

Ở bước cuối cùng, mặc dù chúng tôi đã sử dụng tên miền phụ nhưng nó sẽ không ảnh hưởng đến SEO vì lưu lượng truy cập sẽ được tạo vào thư mục blog của trang web chính. Do đó, Re-direction đến tên miền phụ là một quá trình nội bộ sẽ không ảnh hưởng đến SEO.

Bạn nên tạo Reverse Proxy trong Apache Server như thế nào?

Các trường hợp được thảo luận ở trên là khi bạn đang chạy một máy chủ không hỗ trợ PHP. Tuy nhiên, nếu bạn gặp phải một tình huống mà trang web hàng đầu của bạn đang chạy PHP hoặc Drupal, ví dụ, nhưng bạn muốn có một trang web khác cho blog trong cùng một tên miền, bạn cần định cấu hình Reverse Proxy theo các bước dưới đây.

Nhưng trước đó, bạn cần đảm bảo rằng bạn có hai trang web và chạy. Một là https://www.somedomain.com, và hai là với WordPress Cài đặt với tên miền phụ, https://blog.somedomain.com.

Trước hết, bạn cần mở thiết bị đầu cuối của máy chủ Apache thông qua SSH. Sau đó, bạn cần bật mô-đun proxy của Apache bằng lệnh này:

sudo a2enmod proxy proxy_http ssl

Lệnh này sẽ khởi động lại Apache trong hầu hết các trường hợp để tải lại các chỉ thị mới mà bạn đã xác định ở trên:

Tiếp theo là bước mà bạn đã chờ đợi. Đó là tạo proxy ngược bằng cách chỉnh sửa tệp máy chủ ảo của máy chủ.

<VirtualHost *>
DocumentRoot /var/www/app/public
SSLProxyEngine On ProxyRequests off
ProxyPass /blog http://blog.somedomain.com
ProxyPassReverse /blog http://blog.somedomain.com
</VirtualHost>

Hai điểm quan trọng cần lưu ý ở đây là:

  1. ProxyPass: Sẽ tạo một reverse proxy cho đường dẫn được đề cập ở trên
  2. Tổng quan phần mềm ProxyPassReverse: Các tiêu đề phản hồi HTTP được phân phối thông qua proxy ngược này sẽ bị chặn và viết lại để phù hợp với máy chủ Apache.

Bây giờ các bước tiếp theo là dành cho WordPress, điển hình cho cả hai tình huống trên.

Cập nhật WordPress

Sau đó, bạn cần truy cập máy chủ nơi bạn đã cài đặt WordPress và cập nhật tệp wp-config.php. Điều này là do bạn thường không cấu hình WordPress để chạy trên proxy ngược.

Vì vậy, bạn phải cập nhật tệp wp-config.php như bên dưới:

$_SERVER['REQUEST_URI'] = str_replace("/wp-admin/", "/blog/wp-admin/", $_SERVER['REQUEST_URI']);

Sau đó, trong cùng một tệp, bạn cập nhật các biến sau:

Trong thời gian chờ đợi, bạn có thể cập nhật các giá trị cấu hình Cơ sở dữ liệu như sau:

CẬP NHẬT wp_options ĐẶT option_value = 'https://www.somedomain.com/blog' TRONG ĐÓ option_name VÀO('siteurl', 'home');

Bước tiếp theo là sửa đổi tệp .htacess để bạn có thể viết lại URL một cách chính xác:

Trở thành:

RewriteRule . /blog/index.php [L]

Sau khi hoàn thành tất cả các bước trên, bạn cần đảm bảo rằng bài đăng và các liên kết danh mục đang hoạt động như mong đợi. Để làm như vậy, bạn cần đăng nhập bằng URL tên miền phụ cũ như bên dưới:

blog.somedomain.com/wp-login.php

Sau đó, sẽ hữu ích nếu bạn điều hướng đến 'cài đặt' từ trang tổng quan chính và sau đó nhấp vào tab "Chung".

Trong trường Địa chỉ trang web (URL), hãy cập nhật như sau:

Sau khi làm như vậy, nếu bạn vẫn nghi ngờ liệu các URL có hoạt động chính xác hay không, thì bạn có thể cài đặt plugin "Thay thế tìm kiếm tốt hơn". Nó sẽ cập nhật tất cả các bản ghi trên cơ sở dữ liệu của bạn khi cần thiết.

Hơn nữa, bạn cũng phải thận trọng khi cập nhật trang chuẩn và robot.txt. 

Sau khi làm như vậy, nếu bạn vẫn nghi ngờ liệu các URL có hoạt động chính xác hay không, thì bạn có thể cài đặt plugin "Thay thế tìm kiếm tốt hơn". Nó sẽ cập nhật tất cả các bản ghi trên cơ sở dữ liệu của bạn khi cần thiết.

Hơn nữa, bạn cũng phải thận trọng khi cập nhật trang chuẩn và robot.txt.

Kết thúc

Bây giờ bạn có thể đã phát hiện ra rằng WordPress có khả năng tùy biến cao. Điều này là do bạn có thể sử dụng WordPress để chỉ lưu trữ phần blog của trang web một cách riêng biệt trong khi không chạm vào phần còn lại. Như bạn đã thấy qua blog này, phần còn lại của trang web có thể được lưu trữ trên các nền tảng khác nhau không hỗ trợ WordPress.

Vì vậy, bao gồm blog cho phần còn lại của trang web có thể là một nhiệm vụ đầy thách thức. Tuy nhiên, bạn có thể khắc phục chúng bằng cách sử dụng proxy ngược.

Hãy theo dõi để biết thêm các bài viết.