Hướng Dẫn Sử Dụng Nhiều Domain Cho 1 Website WordPress

Vấn đề là khách có 1 website với tên miền là your-domain.com. Nhưng do yêu cầu khách hàng cần trỏ nhiều domain khác nhau vào 1 website đó ví dụ như your-domain.com.au, your-domain.com.uk … Vậy chúng ta sẽ làm như nào để có thể trỏ nhiều domain về 1 website chạy WordPress?

Chúng ta cần giải quyết 3 vấn đề:

  1. Parked domain (Aliases) về hosting đang chạy site chính và trỏ đúng về thư mục của site chính luôn (thường là /public_html)
  2. Chuyển WP_SITEURLWP_HOME về domain mà khách hàng truy cập
  3. Cài đặt SEO để tránh google đánh dấu nhiều website trùng nội dung.

Chuyển WP_SITEURLWP_HOME

Ví dụ khi ta thêm parked domain (Aliases) your-domain.com.au vào your-domain.com mặc định khi truy cập vào your-domain.com.au trình duyệt sẽ tự động redirect về domain chính là your-domain.com vì vậy chúng ta cần thêm đoạn code sau vào file wp-config.php để khi khách vào bằng domain nào thì vẫn giữa nguyên ở domain đó và link các bài post, page vẫn ở domain mà khách truy cập.

Để duy trì blog nên mình có làm aff cho 1 số bên hosting. Nhưng dù aff mình cũng chọn 1 số nhà cung cấp uy tín về chất lượng và support nên các bạn cứ yên tâm nhé.

Nếu có mua hosting mà có trong list dưới đây các bạn click vào link trước khi mua để ủng hộ mình nhé. Mình cảm ơn nhiều

  • Azdigi: Giá rẻ thì dùng gói Pro Gold Hosting còn chất lượng hơn thì em khuyên dùng Business Hosting. Có điều kiện thì lên VPS nhé
  • Tino hosting
  • iNet
  • Nước ngoài thì Vultr

Thêm đoạn code này vào file wp-config.php

//Multi Domain for a site define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST']); define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);

Khi bạn thêm vào thì công việc gần như đã xong. Bạn đã có thể truy cập vào các parked domain (Aliases) bình thường. Nhưng có 1 vấn đề đặt ra là khi có nhiều domain trỏ về về website như vậy thì sẽ ảnh hưởng tới SEO. Google sẽ nhận diện copy bài viết và bạn sẽ bị mất thứ hạng trên công cụ tìm kiếm Google. Đừng lo lắng, mình cũng có 1 giải pháp giành cho các bạn.

Cài đặt SEO tránh giảm thứ hạng trên Google

Nếu các bạn dùng plugin Yoast SEO thì hãy thêm đoạn code sau vào file functions.php trong theme để có thể chuyển toàn bộ lưu lượng truy cập canonical về toàn bộ site chính và sẽ không bị google đánh dấu trùng nội dung khi có nhiều parked domain (Aliases)

Kho plugin của tôi DevVN Woocommerce Reviews DevVN Woocommerce Reviews Plugin mua hàng nhanh cho woocommerce – Woocommerce Quick buy Plugin mua hàng nhanh cho woocommerce – Woocommerce Quick buy Plugin kết nối giao hàng tiết kiệm với Woocommerce – GHTK vs Woocommerce Plugin kết nối giao hàng tiết kiệm với Woocommerce – GHTK vs Woocommerce Plugin Kết nối Zalo OA với WordPress Plugin Kết nối Zalo OA với WordPress

Thêm đoạn code này vào file functioins.php

//canonical - old domain to new domain add_filter('wpseo_canonical', 'swpseo_canonical_domain_replace'); function swpseo_canonical_domain_replace($url){ $domain = 'your-domain.com';// Thay đổi cái này về site chính của bạn vd ở đây là your-domain.com $parsed = parse_url(home_url()); $current_site_domain = $parsed['host']; return str_replace($current_site_domain, $domain, $url); }

Nếu bạn dùng plugin All in One SEO thì thêm code này vào functions.php nhé

//canonical - old domain to new domain add_filter('aioseo_canonical_url', 'aioseo_canonical_domain_replace'); function aioseo_canonical_domain_replace($url){ $domain = 'your-domain.com';// Thay đổi cái này về site chính của bạn vd ở đây là your-domain.com $parsed = parse_url(home_url()); $current_site_domain = $parsed['host']; return str_replace($current_site_domain, $domain, $url); }

Vậy là đã okie. Bạn có thể sử dụng thoải mái mà không sợ ảnh hưởng tới SEO rồi

Khắc phục lỗi font khi chạy với domain phụ

Khi đã cài đặt xong nhiều domain chạy trên 1 source wordpress nhưng bị lỗi khi load các font . Như font icon không load được như hình bên dưới

Cách khắc phục lỗi Access to Font at … form origin … has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin … is therefore not allowed access.

Bạn hãy copy đoạn code sau vào file .htaccess là được

<IfModule mod_headers.c> <FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch> </IfModule>

Chúc các bạn thành công!

Mẫu website nổi bật của tôi Dự án website bán laptop surface Dự án website bán laptop surface Mẫu website bán thiết bị nhà bếp, nhà tắm, thiết bị vệ sinh tuyệt đẹp Mẫu website bán thiết bị nhà bếp, nhà tắm, thiết bị vệ sinh tuyệt đẹp Mẫu website bán hàng giống shopee Mẫu website bán hàng giống shopee Mẫu website bán đồ gỗ, đồ thờ, đồ phòng thủy Mẫu website bán đồ gỗ, đồ thờ, đồ phòng thủy 4.7/5 - (22 votes)Bài viết có ích cho bạn? Hãy chia sẻ ngay: Bài viết cùng chuyên mục
  • Thêm Ux Builder và chức năng “Insert a template” cho “Custom Post Type” trong theme Flatsome
  • Chia sẻ cách để mỗi số điện thoại, email chỉ được đăng ký một lần duy nhất khi dùng Contact Form 7 (CF7)
  • Chia sẻ code theo dõi đơn hàng bằng số điện thoại và Order ID trong Woo
  • Hướng dẫn xoá nhanh bình luận spam bằng WP CLI với Terminal trong WordPress
  • Chia sẻ mẹo nhỏ để chặn comment spam trong WordPress
  • Bình luận

Từ khóa » Trỏ Nhiều Domain Về 1 Website