ریدایرکت 301 وردپرس با کد htaccess برای redirect آدرس دامنه سایت
در wordpress با استفاد از ریدایرکت 301 وردپرس میتوان تنظیمات دلخواهی را بر روی دامنه یا url آدرس اینترنتی سایت انجام داد. به عنوان مثال ممکن است بخواهید بعد از مدتی فعالیت آدرس دامنه سایت تان را تغییر دهید در این حالت برای هدایت لینک های قدیمی به ادرس جدید باید از ریدایرکت 301 استفاده کنید. در این مقاله به آموزش ریدایرکت 301 وردپرس با استفاده از کد اچ تی اکسس htaccess برای redirect آدرس دامنه سایت در حالتهای مختلف میپردازیم پس تا انتها همراه ما باشید.
کد ریدایرکت 301 وردپرس با دستورات htaccess
فایل اچ تی اکسز با نام .htaccess مخفف کلمه هایپرتکست اکسز Hypertext Access = htaccess شناخته میشود.
محل وجود این فایل در محل نصب وردپرس که معمولا روت هاست و پوشه public_html است.
به کمک این فایل ساده می توانیم تنظیمات کاربردی وب سایت خود را بر روی وب سرور اعمال نماییم. برای مثال به کمک اچ تی اکسسز می توان بسادگی آدرس دهی بخش های مختلف وب سایت را به صورت کاربر پسند و مناسب برای موتور های جستجو اصلاح نمود و یا برای امنیت بیشتر وردپرس و سایت لایه امنیتی و کلمه عبور را برای ورود به یک پوشه در نظر گرفت و یا عملیات ریدایرکت را به کمک آن صورت داد.
نمایش فایل htaccess در هاست سی پنل
ذو پنل دایرکت ادمین و سی پنل بیشترین کاربرد در مدیریت هاست و سرور را دارند.
پس از خرید هاست و نصب وردپرس با تنظیم گزینه پیوند یکتا فایل اچ تی اکسس در هاست ایجاد و دستورات لازم برای ریدایرکت مطالب سایت در ان قرار داده میشود.
برای مشاهده htaccess. در سی پنل پس از انتخاب گزینه File Manager، یک پنجره کوچک نشان داده می شود. اگر گزینه Show Hidden Files را انتخاب کنید (تیک بزنید) و روی دکمه Go کلیک کنید فایل های مخفی از جمله htaccess. نشان داده می شوند.
کدهای ریدایرکت 301 وردپرس برای تغییر آدرس دامنه
جهت استفاده از اچ تی اکسز ابتدا باید آنرا در سایت ورپرسی تان فعال کنید.
برای فعال کردن htaccess باید پس از نصب وردپرس از پیشخوان به بخش تنظیمات مراجعه کرده و با انتخاب گزینه پیوندهای یکتا، نوع آدرس دهی سایت را تعیین کنید سپس با مراجعه به محل نصب وردپرس در هاست و فعال کردن حالت نمایش فایلهای مخفی میتوانید آنرا مشاهده کنید. اگر اچ تی اکسز را برای ویرایش باز کنید کدهای پیشفرض وردپرس که برای ریدایرکت و آدرس دهی استفاده میشوند را مشاهده خواهید کرد. هر دستوری که میخواهید به اچ تی اکسز اضافه شود را بعد از دستورات وردپرس قرار دهید تا مشکلی در نحوه عملکرد سایت بوجود نیاید.
در این آموزش به معرفی کدهای زیر برای استفاده در htaccess میپردازیم.
- ریدایرکت 301 آدرس سایت به حالت بدون www
- ریدایرکت 301 دامنه اصلی سایت به حالت با www
- کدهای redirect دامنه جدید در هنگام تغییر دامنه
- ریدایرکت دامنه به حالت https در هنگام فعال بودن ssl
ریدایرکت 301 آدرس سایت از حالت بدون www به شکل دارای www و بالعکس
یکی از نکاتی که در بهینه سازی سایت یا سئو وردپرس مطرح میشود، در دسترس بودن سایت با www یا بدون www است. برای اینکار ابتدا باید در تنظیمات وردپرس آدرس سایت را بر روی حالت دلخواه تنظیم کنیم. به بخش تنظیمات سپس گزینه همگانی مراجعه میکنیم سپس گزینه های نشانی وردپرس و نشانی سایت را با حالت با www یا بدون www تنظیم میکنیم اکنون میتوانیم از کدهای دستوری زیر در اچ تی اکسس استفاده کنیم.
تنظیم نمایش آدرس دامنه سایت با www در آدرس دامنه
RewriteEngine on RewriteCond %{HTTP_HOST} ^example.com [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]
بجای عبارت example.com که نام دامنه میباشد باید ادرس دامنه خودتان را وارد کنید.
تنظیم نمایش آدرس دامنه اصلی سایت بدون www
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule ^(.*)$ http://example.com/$1 [L,R=301,NC]
بجای عبارت example.com که نام دامنه میباشد باید ادرس دامنه خودتان را وارد کنید.
کد ریدایرکت 301 وردپرس در هنگام تعویض دامنه اصلی سایت
اگر به هر دلیلی مجبور شدید آدرس دامنه اصلی domain سایت را تغییر دهید برای جلوگیری از ایجاد خطای 404 لینکها و مطالب باید دامنه جدید را بر روی آدرس قدیمی ریدایرکت 301 کنید تا اعتبار سایت در گوگل و موتورهای جستجو حفظ شود و از نظر سئو صدمه ای به سایت وارد نشود. با اینکار خزنده موتورهای جستجو با رسیدن به ادرس قدیمی نوشته را به ادرس جدید ریدایرکت میکنند و پس از مدتی تمام لینکهای داخلی سایت در گوگل وبمستر تولز (مدتی است به گوگل سرچ کنسول تغییر نام داده است) ثبت خواهند شد. کد زیر بخوبی وظیفه ریدایرکت 301 به دامنه جدید را انجام میدهد.
RewriteEngine on RewriteCond %{HTTP_HOST} ^example.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule ^(.*)$ http://example.net/$1 [L,R=301,NC]
example.com دامنه قدیمی و example.net دامنه جدیدی است که میخواهیم به آن ریدایرکت صورت بگیرد. در اینجا هر دو آدرس دامنه قبلی هم با www و هم بدون www به دامنه جدید ریدایرکت میشود. پس از تنظیم آدرس دامنه جدید باید سایت را دوباره در گوگل سرچ کنسول ثبت کنید و آدرسهای مربوظ به نقشه سایت را تغییر دهید.
پیش از این در مقاله ای با عنوان کد ریدایرکت کاربر وردپرس به معرفی توابع وردپرسی که میتوانیم با انها کاربران عضو شده و یا وارد شده به پیشخوان را به صحات دلخواه هدایت کنیم معرفی شده است که میتوانید از آنها در طراحی قالب وردپرس تان استفاده کنید.

با سلام وقت بخیر.
من خواستم دامنه سایت رو ریدایرکت کنم به دامنه جدید
از کدی که شما گذاشته بودین استفاده کردم و ریدایرکت انجام نمیشه.
مشکل از کجاست میشه لطفا راهنمایی کنید
سلام وقت بخیر
در صورتی که آموزش به درستی پیش برده باشید انجام خواهد شد.
می توانید برای ریدایرکت از افزونه Redirection هم استفاده کنید کافیست در مخزن وردپرس دانلود نمایید. کار با افزونه ساده است.
با احترام
عالی بود
با سلام و خسته نباشید، اقا دامنه اصلی سایتم فیلتر شده و دامنه جدید رو پارک دامین کردم و ریدایرکت 301 رو مطابق با اموزشتون (ریدایرکت 301 وردپرس در هنگام تعویض دامنه اصلی سایت) انجام دادم ریدایرکت انجام شده ولی وارد پیشخوان نمیشه یوزر نیم و پسورد رو میزنم وارد پیشخوان وردپرس نمیشه، این رو بگم دامنه اصلی دارای ssl هستش ولی دامنه ی جدید که میخام دراری ssl نیست.
ممنون میشم راهنمایی کنید مشکل کجاست.
سلام وقت بخیر
با توجه به وارد نشدن در بخش مدیریت وردپرستون می توانید از طریق هاست وارد phpMyAdmin بشوید سپس دیتابیستان در سمت چپ پیدا نمایید و روی علامت + کلیک کنید. سپس گزینه wp_users را پیدا و کلیک کنید و Edit بزنید در صفحه باز شده یوزر خودتون به عنوان ادمین هستید را پیدا کنید و پسورد آن را تغییر دهید و حتما varchar (255) شیوه کدگذاری MD5 را انتخاب نمایید و Go را کلیک کنید. حال با پسورد جدید وارد شوید. برای ssl هم اگر درست تعریف شده باشه هیچ مشکلی در این خصوص ندارد اما در صورتی که باز هم موفق نشدید باید به فایل htaccess. رفته و کد مربوط به ریدایرکت ssl را حذف نمایید و دوباره امتحان نمایید.
خیلی ممنون از سایت مفیدتون سایت خیلی خوبی دارین
سلام ممنونم از محتوای خوبتون
میشه راهنمایی بفرمایید چطوری میشه کدی زد مثلا از دامنه site1.ir/files هر کسی صفحه ای رو باز کرد کلا منتقل بشه به سایت site2.ir با همون صفحه ای که باز کرده یعنی اگر کسی صفحه site1.ir/files/1 رو باز کرد بره سایت جدید به صفحه site2.ir/1 یعنی انتقال دامنه به همان ادرسی که هست به سایت جدید توی هر دوتا هم ssl فعال هستش. اگر ممکنه راهنماییم کنید
سلام وقت بخیر، دقیقا همچین آموزشی به همراه کدهای لازم در مقاله وجود داره با دقت مطالعه کنید.
سلام
یه سایت وردپرسی داریم. قبلا تغییرات URLها خود به خود ریدایرکت میشدن. اما الان مدتیه که هر URL که تغییر میکنه، ارور 404 میده صفحه. با ریدایرکت افزونه yoast هم جواب نگرفتم. به نظرتون ایراد از کجاست؟
سلام وقت بخیر فایل htaccess رو بررسی کنید. ممکنه تنظیمات افزونه ریدایرکت هم مشکل پیدا کرده باشه یا افونه کلا از کار افتاده باشه.
در هنگام وارد کردن کد ریدایرکت در htaccess در جلوی دامین 2 بار آی آر قرار داده بودم و متوجه نشده بودم. و حالا صفحه یک سایت به صورت شده آدرس و باز نمیشود. چطوری این مشکل حل کنم.
سلام وقت بخیر، دوباره htaccess رو ویرایش و آدرس رو اصلاح کنید. اگر بعد از ویایش هنوز مشکل داشتید بعد از مدتیکه کش سرور و مرورگرتون خالی شد مجدد بررسی کنید. نباید مشکلی وجود داشته باشه.
سلام.من دو تا فایل htaccess توی هاستم دارم.یکی توی همون بخش ورودی اصلی هاست قرار داره.یکی دیگه هم توی ” پابلیک اچ تی ام ال ” قرار داره.
الان بخوام تغیری توشون بدم باید کدومو تغیر بدم؟!
سلام وقت بخیر، تغییرات رو در فایل htaccess ای که در پوشه public_html کنار فایلهای وردپرس هست انجام بدید.
با سلام مجدد.معذرت میخوام من تغیرات رو توی هر دو فایل htaccsess انجام دادم.اشکال نداره ؟
تغیرات توی htaccsess پابلیک اچ تی ام ال رو همونجور که شما گفتین انجام دادم.تغیری که توی فایل htaccsess ورودی هاست انجام دادم رو باید به حالت سابق برگردونم؟
سلام وقت بخیر، اگر مشکلی ایجاد نشده تفاوتی نمیکنه. موفق باشید
این مورد رو فراموش کردهاید قرار بدید: ریدایرکت دامنه به حالت https در هنگام فعال بودن ssl
سلام وقت بخیر،اگر گواهینامه ssl روی هاست نصب و فعال باشه وقتی افزونه ssl رو فعال کنید خودش ریدایرکت رو انجام میده البته باید در تنظیماتش گزینه ریدایرکت به https رو فعال کنید که در حالت عادی فعال هست. موفق باشید
ممنون از مطلب کامل و مفیدتون خسته نباشید
سلام وقت بخیر. بنده کد شما رو قرار دادم ولی فقط ادرس صفحه اصلی سایت منتقل شد ولی وقتی آدرس یک پست رو از طریق دامنه قبلی وارد میکنم دوباره وارد آدرس اون پست در دامنه قبلی میشه. ممنون میشم جوابم رو بدید.
سلام وقت بخیر، بررسی کردم موردی نبود و بدرستی ریدایرکت میشد.
سلام دوست عزیز سایت شما آیا کاملا ریدایرکت شد با همین کد یا کار دیگه ای انجام دادید
سلام من سایت کاملا حذف کردم و دامنه رو به یک هاست جدید میخواستم ببرم برای انتقال مطالب قبلی تگ و… که به صحفه اصلی در هاست جدید ریدایرکت بشه باید چیکار کنم تا ارور 404 نده و مشکلی برای سایت نشه مرسی
سلام برای تغییر دامنه یا هاست نیازی به حذف مطالب قبلی نبود! فکر نمیکنم دیگه کاری بشه انجام داد.
سلام من سایت زیر رو داریم میخوام ریدایرکت کنم به ووکامرس آیا مشکلی پیش میاد لینک هایکه در صفحه اول گوگل هستم ممکن هست بره یا از نتایج اول بره ؟
سلام، اگر از ریدایرکت 301 بدرستی استفاده کنید احتمال وجود مشکل برای مطالب خیلی کمه
سلام ممنون عالی بود ده دوازده سایتو برا این کد گشتم همشون ی مشکلی داشت مطالب به ادرس معادل ریداریکت نمی شد ناقص بودن این کامل ترین کدی بود که برای ریدایرکت ادرس به معادل نوشتید تشکر
با سلام بنده یک سایت داشتم و کل سایتم رو حذف کردم از نو یک سایت دیگر با همین دامنه راه اندازی کردم. الان دامنه من عوض نشده فقط قبلا http بود و الان ssl دارم و htts است. و در کل لینک های قبلی حذف شدند و سایت جدید با لینک های جدیدی راه اندازی شده (دقت کنید دامنه عوض نشده فقط لینک های قبلی الان دیکه وجود ندارن ) و الان سوال من اینه:
1. چطوری باید ریدایرکت 301 انجام دهم که همه لینک های قبلی به صفحه ی ایندکس من به هدایت بشن ؟ آیا باید تک تک هکه لینک ها را ریدایرکت 301 کنم یا کدی هست که همه لینک های حذف شده را انتقال بده؟
2. آیا ریدایرکت همه لینک های حذف شده به صفحه ی اصلی ضرری برای سئوی سایت ندارد؟
در ضمن سایتم وردپرس نیست اختضاضیه در گوگل وب مستر هم این برای لینک هایی که حذف شده در بخشی crawl error – URL Errors با خطلای 404 روبرو شدم. ممنون میشم راهنماییم کنید بنده فقط در سایت شما میتونم جواب سوالاتم رو بگیرم.
سلام، چون دیگه مطالب قبلی رو ندارید طبیعی هست که خطای 404 بوجود بیاد. به نظر من نیازی به ریدایرکت آدرس های قبلی به صفحه اصلی نیست و اینکار رو درست نمیدونم. صبر کنید بعد از مدتی خطاهای 404 برطرف میشن و لینکهای جدید سایت ایندکس میشن. تو این مدت از طریق وبمستر یا همون سرچ کنسول گوگل خطاهای 404 رو فیکس کنید.
خلی ممنون از پاسخوگییتون فقط ممنون میشم بفرمایید چطوری باید این خطاها را فیکس کنم.
در بخش خطاها در سرچ کنسول گوگل، تیک کنار خطا رو بزنید و روی گزینه mark as fixed کلیک کنید.
با سلام و درود من در حال حاضر یک وبسایت تحت جوملا دارم میخواستم به وردپرس انتقال بدم مطالب رو انتقال دادم ولی نمیخوام تو گوگل دچار مشکل بشم لطفا راهنمایی میکنید من چیکار باید بکنم؟
سلام وقت بخیر با استفاده از افزونه FG Joomla to WordPress میتونید سایت تون رو از جوملا به وردپرس منتقل کنید. آموزشهای فراوانی در سایتهای مرجع انگلیسی وجود داره که تنها کافیه نام افزونه رو جستجو کنید تا بهشون برسید. موفق باشید
سایت من با www بالا نمی آید. آیا با Yoast SEO میشه ریدایرکت کرد. تو اینترنت سرچ کردم دیدم نوشته باید اچ تی اکسس را ادیت کنم. کردم نشد. امکانش هست راهنمایی کنین
سلام کدهای htaccess مربوط به ریدایرکت آدرس سایت بدون www یا با www در این مقاله معرفی شده که میتونید ازش استفاده کنید. ممکنه گواهینامه ssl سایت تون به درستی نصب نشده باشه پیشنهاد میکنم به هاستینگ تیکت بدید و ازشون بخواهید مشکل رو برطرف کنن. موفق باشید
سلام لطفا Blocked Resources در گوگل کنسول را هم آموزش دهید . چون سایت من حدود 395 تا Pages using this blocked resourceهستش . ممنون از سایت خوبتان
سلام بزودی آموزشش رو قرار میدم