Sử dụng nhiều domain cho một website wordpress không phải là điều quá lạ lẫm nữa. Thực tế cho thấy việc làm như vậy sẽ giúp khách hàng bủa vây được domain theo thương hiệu: Ví dụ vVấ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?

1. Chạy song song 2 tên miền trên cùng 1 nội dung website mà vẫn hiển thị riêng 2 tên miền

Chạy song song 2 tên miền trên cùng 1 nội dung website mà vẫn hiển thị riêng 2 tên miền bạn cần trỏ tên miền bằng chức năng alias domain của Cpanel, trỏ về IP của host và thêm đoạn code sau vào file wp-config:

define( ‘WP_SITEURL’, $_SERVER[‘HTTP_HOST’] );
define( ‘WP_HOME’, $_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.

2. 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)

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

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

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

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

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>