خیلی از سایتها هم با www.example.com در دسترس هستند هم با example.com. اما از نظر سئو و ساختار استاندارد وب، بهتر است فقط یک نسخه بهعنوان دامنه اصلی (Canonical Domain) انتخاب شود و نسخه دیگر به آن ریدایرکت 301 شود.
مثلاً اگر دامنه اصلی شما بدون www است، هر کاربری که وارد:
www.example.comشود باید به صورت خودکار به:
example.comمنتقل شود.
این کار باعث میشود:
-
موتورهای جستجو دچار محتوای تکراری نشوند
-
اعتبار سئو روی یک دامنه متمرکز شود
-
ساختار سایت حرفهایتر باشد
در این آموزش، این ریدایرکت را با Apache روی CentOS 7 انجام میدهیم.
پیشنیازها
قبل از شروع، مطمئن شوید:
-
Apache روی سرور نصب است
-
دسترسی sudo دارید
-
دامنه را ثبت کردهاید
-
DNS دامنه به IP سرور اشاره میکند
مرحله 1: تنظیم DNS
باید هر دو آدرس به سرور شما اشاره کنند.
رکورد اول (دامنه اصلی)
| نوع | مقدار |
|---|---|
| Type | A |
| Host | @ |
| Value | IP سرور |
رکورد دوم (www)
| نوع | مقدار |
|---|---|
| Type | A |
| Host | www |
| Value | همان IP سرور |
بعد از این مرحله، هر دو آدرس به Apache میرسند.
مرحله 2: فعال بودن mod_alias در Apache
برای ریدایرکت ساده، ما از mod_alias استفاده میکنیم.
بررسی فعال بودن ماژول:
httpd -M | grep alias_moduleاگر چیزی برنگشت:
echo "LoadModule alias_module modules/mod_alias.so" | sudo tee -a /etc/httpd/conf.modules.d/00-base.confمرحله 3: حذف www از VirtualHost اصلی
فایل کانفیگ سایت را باز کنید:
sudo nano /etc/httpd/conf/httpd.confاگر این خط وجود داشت:
ServerAlias www.example.comآن را حذف کنید.
چون قرار است برای www یک VirtualHost جدا بسازیم.
مرحله 4: ساخت VirtualHost برای www
یک فایل جدید بسازید:
sudo nano /etc/httpd/conf.d/www.example.com.confداخلش این را بگذارید:
<VirtualHost *:80>
ServerName www.example.com
Redirect permanent / http://example.com/
</VirtualHost>این دستور میگوید هر درخواستی برای www بیاید، با 301 به دامنه اصلی برود.
اگر HTTPS دارید
برای SSL هم باید همین کار را روی پورت 443 انجام دهید.
مرحله 5: ریاستارت Apache
sudo systemctl restart httpdمرحله 6: تست ریدایرکت
با curl تست بگیرید:
curl -IL http://www.example.comباید خروجی شامل این باشد:
HTTP/1.1 301 Moved Permanently
Location: http://example.com/چرا 301 مهم است؟
کد 301 یعنی «انتقال دائمی». موتورهای جستجو میفهمند که نسخه اصلی سایت کدام است و رتبه سئو تقسیم نمیشود.
اشتباهات رایج
-
فعال بودن همزمان سایت روی www و non-www بدون ریدایرکت
-
استفاده از 302 به جای 301
-
باقی ماندن ServerAlias برای www
-
تنظیم نکردن DNS
جمعبندی
با این تنظیم ساده:
-
سایت فقط یک نسخه اصلی دارد
-
سئو بهبود پیدا میکند
-
از محتوای تکراری جلوگیری میشود
-
ساختار دامنه حرفهای میشود
چهار خط تنظیم در Apache، ولی تأثیرش روی سئو خیلی بیشتر از چیزی است که بیشتر سایتها میفهمند.
