خیلی از سایتها هم با www.example.com در دسترس هستند هم با example.com. اما از نظر سئو و ساختار استاندارد وب، بهتر است فقط یک نسخه بهعنوان دامنه اصلی (Canonical Domain) انتخاب شود و نسخه دیگر به آن ریدایرکت 301 شود.
مثلاً اگر دامنه اصلی شما بدون www است، هر کاربری که وارد:
شود باید به صورت خودکار به:
منتقل شود.
این کار باعث میشود:
-
موتورهای جستجو دچار محتوای تکراری نشوند
-
اعتبار سئو روی یک دامنه متمرکز شود
-
ساختار سایت حرفهایتر باشد
در این آموزش، این ریدایرکت را با 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 استفاده میکنیم.
بررسی فعال بودن ماژول:
اگر چیزی برنگشت:
مرحله 3: حذف www از VirtualHost اصلی
فایل کانفیگ سایت را باز کنید:
اگر این خط وجود داشت:
آن را حذف کنید.
چون قرار است برای www یک VirtualHost جدا بسازیم.
مرحله 4: ساخت VirtualHost برای www
یک فایل جدید بسازید:
داخلش این را بگذارید:
این دستور میگوید هر درخواستی برای www بیاید، با 301 به دامنه اصلی برود.
اگر HTTPS دارید
برای SSL هم باید همین کار را روی پورت 443 انجام دهید.
مرحله 5: ریاستارت Apache
مرحله 6: تست ریدایرکت
با curl تست بگیرید:
باید خروجی شامل این باشد:
چرا 301 مهم است؟
کد 301 یعنی «انتقال دائمی». موتورهای جستجو میفهمند که نسخه اصلی سایت کدام است و رتبه سئو تقسیم نمیشود.
اشتباهات رایج
-
فعال بودن همزمان سایت روی www و non-www بدون ریدایرکت
-
استفاده از 302 به جای 301
-
باقی ماندن ServerAlias برای www
-
تنظیم نکردن DNS
جمعبندی
با این تنظیم ساده:
-
سایت فقط یک نسخه اصلی دارد
-
سئو بهبود پیدا میکند
-
از محتوای تکراری جلوگیری میشود
-
ساختار دامنه حرفهای میشود
چهار خط تنظیم در Apache، ولی تأثیرش روی سئو خیلی بیشتر از چیزی است که بیشتر سایتها میفهمند.

