محتوای آموزشی وبلاگ نتآرام
اگر سایت شما با www و بدون www باز میشود، بهتر است یکی را آدرس اصلی انتخاب کنید تا لینکها یکدست باشند. در این آموزش انتخاب ما آدرس دارای www است؛ یعنی example.com باید به www.example.com برسد. این انتخاب بهتنهایی وعدهٔ افزایش رتبه نیست. هدف این است که بازدیدکننده و موتور جستوجو مسیر اصلی را بهتر تشخیص دهند.
ابتدا مطمئن شوید www در DNS به سایت وصل است و گواهی HTTPS هم آن نام را پوشش میدهد. اگر این دو آماده نیستند، انتقال کاربران به www میتواند آنها را به خطا برساند. برای انتقال دائمی، ۳۰۱ یا ۳۰۸ به کار میروند. دائمی بودن انتقال با حفظ مسیر مقاله دو موضوع جدا هستند؛ در نمونهٔ زیر هر دو در نظر گرفته شدهاند.
DNS کمک میکند نامی مثل example.com به نشانی سرور مربوط برسد؛ مثل دفتر راهنمایی که نام را به نشانی تبدیل میکند. تنظیم آن در پنل دامنه یا سرویس مدیریت DNS انجام میشود، نه با عوض کردن عنوان سایت.
برای ریدایرکت سایت به www دامنه خود ابتدا وارد کنترل پنل هاست خود شوید و سپس وارد file manager خود شوید و پوشه public_html را باز کنید. فایل .htaccess را ویرایش کنید و سپس کد های زیر را به آن اضافه نمایید.
ریدایرکت یعنی مرورگر از یک آدرس به آدرس دیگری هدایت شود. برای نمونه، وقتی نام یک مقاله عوض میشود، میتوان نشانی قبلی را به همان مقاله در نشانی تازه رساند. مقصد باید مرتبط باشد تا خواننده راهش را گم نکند.
نمونه برای Apache و دامنهٔ مشخص
نمونهٔ زیر برای وبسروری است که قواعد Apache در .htaccess را پردازش میکند. از فایل فعلی نسخه نگه دارید و فقط قاعدهٔ مربوط را اضافه کنید؛ کل فایل وردپرس را پاک نکنید. دامنهٔ example.com نمونه است و باید در هر دو سطر با دامنهٔ خودتان جایگزین شود.
کد / دستورRewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]
این دو جهت را با هم فعال نکنید
در نسخهٔ قدیمی این مقاله یک نمونهٔ انتقال از www به بدون www هم آمده بود؛ آن نمونه جهت مخالف هدف این صفحه بود. اگر یک قانون کاربر را به www ببرد و قانون دیگری او را برگرداند، مرورگر وارد حلقه میشود. یک آدرس اصلی انتخاب کنید و تنظیمات افزونهٔ انتقال، هاست و CDN را با همان انتخاب هماهنگ نگه دارید.
اگر دامنهٔ اصلی دیگری انتخاب کردهاید، این نمونه را بدون تغییر کپی نکنید. در Nginx نیز .htaccess خوانده نمیشود و میزبان باید تنظیم سازگار همان وبسرور را انجام دهد.
اگر فایل .htaccess در هاست شما وجود ندارد آن را ایجاد کنید و سپس کد ها را به آن اضافه کنید. فراموش نکنید با توجه به اینکه اول همه فایل های مخفی در لینوکس دات ( . ) دارند برای کنترل پنل سی پنل قبل از باز کردن فایل منیجر تیک show hidden را علامت بزنید و سپس روی go کلیک کنید.
برای آزمایش، آدرس بدون www یکی از مقالهها را باز کنید؛ مثلاً https://example.com/blog/guide. باید به همان مسیر در www برسید، نه اینکه همهٔ مقالهها به صفحهٔ خانه منتقل شوند. سپس ورود، فرم تماس و آدرس مستقیم تصویر را امتحان کنید. اگر خطای «تعداد انتقالها بیش از حد است» دیدید، تغییر تازه را از نسخهٔ ذخیرهشده برگردانید و قوانین دو طرف را بررسی کنید؛ اضافه کردن قانون جهت مخالف حلقه را حل نمیکند.
توضیح بیشتر برای انجام مراحل
پیشبررسی
DNS و گواهی www و بدون www و تنظیم آدرس برنامه را آماده کنید.
اجرای محدود
انتقال دائمی به مقصد انتخابشده را با حفظ مسیر تنظیم کنید. قوانین متعارض در CDN و وبسرور و وردپرس ایجاد نکنید.
ثبت و پیگیری
ابتدا یک مورد را انجام دهید و نتیجهاش را ببینید؛ مثلاً یک حساب یا یک فایل. اگر درست بود، مراحل را برای بقیه تکرار کنید. مقدار قبلی تنظیم را هم یادداشت کنید تا بتوانید آن را برگردانید. اگر برای پشتیبانی تصویر میفرستید، رمز، کلید دسترسی و اطلاعات خصوصی را از تصویر بردارید؛ برای فهمیدن خطا معمولاً خود پیام و محل رخ دادن آن کافی است.
انتخاب یک مقصد ثابت
مثلاً اگر https://www.example.com را انتخاب کردهاید، DNS و گواهی آن باید فعال باشد و تنظیم Site URL برنامه نیز با آن هماهنگ شود. www و بدون www امتیاز رتبهٔ ذاتی متفاوت ندارند؛ یکپارچگی آدرس و جلوگیری از نسخههای تکراری مهم است.
اجرای انتقال در یک لایه
ریدایرکت دائمی را در وبسرور یا CDN با یک مقصد ثابت تنظیم کنید. قواعد متعارض HTTP→HTTPS و www→بدون www میتوانند حلقه بسازند. برای دامنهٔ قدیمی با ساختار متفاوت، هر مسیر را به صفحهٔ مرتبط نگاشت کنید؛ همه را به خانه نفرستید.
آزمون مسیر و لینکهای داخلی
خانه، یک مقاله، یک فایل و URL دارای query را بررسی کنید. مقصد باید مسیر موردنظر را حفظ کند و تعداد جهشها کم باشد. canonical، sitemap و لینکهای داخلی را به مقصد اصلی بهروز کنید؛ canonical بهتنهایی جای ریدایرکت کاربر را نمیگیرد.
خانه، نوشته و فایل را تست و sitemap و لینکهای داخلی را به آدرس اصلی هماهنگ کنید.
کد / دستورcurl -I https://example.com/article
curl -I https://www.example.com/article
منابع و ادامهٔ مطالعه
مقاله قبلی
مقاله بعدی
رمزگذاری پوشهٔ سایت در دایرکت ادمین
۱۸ تیر ۱۳۹۴دیدگاهها (۲)
دیدگاههای تاییدشده و پاسخهای تیم نتآرام
آدمک
سلام، وقت بخیر.
من بدون اینکه دستورات این پست رو انجام بدم این اتفاق می افته:
وقتی در مرورگر www دامنه رو وارد می کنم و اینتر می زنم خود به خود www از ابتداش حذف میشه.
آیا هدف این پستتون همین مورده؟ من الآن باید کاری انجام بدم برای سئوی بهتر؟
در ضمن این تمام محتویات htaccess سایتمه:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
مصطفی جانقربان
نویسنده مقالهبا سلام و عرض ادب
بهتر است وارد شود ، چرا که معمولا وردپرس نمی تواند تمام صفحات را منتقل کند.
موفق باشید



