ریدایرکت 301 و حذف خطای 404 در وردپرس با افزونه Redirection
تنظیم تغییر مسیرها یا ریدایرکت های 301 سخت ترین کاری است که یک کاربر وردپرس با آن مواجه است اما انجام صحیح آن از نظر سئو بسیار مهم است. در این مقاله افزونه Redirection را به شما معرفی می کنیم که می توانید با استفاده از آن به راحتی ریدایرکت های 301 را در سایت خود مدیریت کنید.
هنگامی که مرورگر صفحه ای را در یک سایت بارگیری می کند، با استفاده از آدرس URL یک درخواست به سمت سرور سایت ارسال می کند. اگر همه چیز درست انجام شود، سرور صفحه را به همراه کد وضعیت 200 که نشان دادن درست بودن همه چیز است، برمی گرداند.
اگر مرورگر درخواست را برای URL ی که وجود ندارد ارسال کند، سرور کد وضعیت 404 را برای نشان دادن URL ناشناخته برمی گرداند. کدهای وضعیت دیگری نیز وجود دارند که برخی از آنها (سری 300) به مرورگر نشان می دهند که URL تغییر کرده است و اکنون در جای دیگری قرار دارد.
کدهای وضعیت سری 300 به عنوان تغییر مسیر یا ریدایرکت شناخته می شوند. مرورگر درخواستی را برای یک URL ارسال می کند و سرور به جای بازگشت صفحه، یک کد ریدایرکت را برمی گرداند که به مرورگر می گوید که این صفحه در حال حاضر در کجا واقع شده است. مرورگر درخواست دیگری را برای URL جدید ایجاد می کند و صفحه بارگیری می شود.
دو تغییر مسیر یا ریدایرکت اصلی وجود دارد:
- 301- تغییر مسیر دائمی: از این گزینه در صورتی استفاده کنید که صفحه ریدایرکت شده بازگردانده نمی شود.
- 307- تغییر مسیر موقت: از این گزینه هنگامی که می خواهید URL را به صورت موقت تغییر مسیر داده و بعداً آدرس URL آن را به حالت قبل برگردانید، استفاده کنید.
اگر آدرس URL یک صفحه مخصوصاً صفحاتی که گوگل به آنها اهمیت داده است را عوض کنید و عملیات ریدایرکت یا تغییر مسیر را انجام ندهید، کاربر خطای 404 را مشاهده خواهد کرد که نه تنها برای کاربران مطلوب نیست بلکه تأثیر بدی روی سئو سایت شما گذاشته و به رنکینگ موتورهای جستجو آسیب می زند.
به همین دلیل ریدایرکت 301 اهمیت بسیار زیادی دارد زیرا به شما این امکان را می دهد تا به موتورهای جستجو و مرورگر خود بگویید که صفحه ای که سعی در دسترسی به آن دارند به صورت دائمی به یک موقعیت جدید منتقل شده است. در این صورت تمام ترافیک صفحه قدیمی و قدرت بک لینک ها به صفحه جدید منتقل می شود.
شما می توانید هم به صورت دستی از طریق فایل htaccess. و هم از طریق افزونه های وردپرس تغییر مسیرهای 301 را تولید کنید. اما استفاده از افزونه ها کار مدیریت ریدایرکت ها و ردیابی وضعیت ها را برای افراد کمتر حرفه ای بسیار آسان می کند.
افزونه Redirection یکی از محبوب ترین افزونه های ریدایرکت و تغییر مسیر در وردپرس است که با کسب امتیاز 4.3 از 5 و بیش از یک میلیون نصب فعال یکی از بهترین افزونه های وردپرس است. ویژگی های اصلی این افزونه شامل مدیریت آسان ریدایرکت های 301 و ردیابی خطای 404 در وردپرس است. همچنین ابزارهای پیشرفته تری را برای کمک به شما در ردیابی لینک های شکسته و صفحات تنها ارائه می دهد.
افزونه Redirection می تواند هنگام بروزرسانی آدرس اینترنتی پست ها، تغییر مسیرها را به صورت خودکار انجام دهد و به صورت دستی ریدایرکت های 302 یا 307 را اضافه نماید. همچنین تغییر مسیر فایل های index.php، index.html و index.htm را بدون دستکاری فایل htaccess. کنترل می کند.
نصب و پیکربندی تنظیمات افزونه بسیار راحت است و بسیاری کارهای تغییر مسیر را به صورت خودکار انجام می دهد. عملکرد افزونه تقریباً مشابه عملکرد وردپرس برای مدیریت پیوندهای یکتا است بنابراین نگرانی بابت مشکلات مربوط به سرعت یا عملکرد وجود ندارد.
آموزش افزونه Redirection برای ریدایرکت 301 و حذف خطای 404 در وردپرس
ابتدا افزونه را از پایین صفحه دریافت نموده و آن را در سایت خود در بخش افزونه ها نصب کنید. اگر منو افزونه را ندیدید یا اطلاعات جزئی تری لازم دارید، به راهنمای گام به گام ما در مورد آموزش نصب افزونه وردپرس مراجعه کنید.
بعد از اینکه افزونه نصب شد آن را فعال کنید. پس از فعال سازی افزونه در منوی ابزارهای پیشخوان وردپرس یک زیرمنوی جدید به نام Redirection اضافه می شود.
روی این زیرمنو کلیک کنید. صفحه ای مشابه شکل زیر به شما نشان داده می شود.
همچنین در قسمت بالای صفحه افزونه ها یک لینک به شما نشان داده می شود که با کلیک بر روی آن می توانید به صفحه بالا دسترسی پیدا کنید.
روی دکمه “شروع نصب” کلیک کنید. صفحه ای مانند شکل زیر به شما نشان داده می شود.
در این صفحه گزینه هایی وجود دارد که می توانید طبق نیازهای سایت خود آنها را فعال کنید. این تنظیمات را می توان بعداً تغییر داد. گزینه هایی که در این صفحه قرار دارند عبارتند از:
Monitor permalink changes in WordPress posts and pages: اگر پیوندهای یکتا را در نوشته ها یا برگه های سایت خود تغییر دهید، با فعال کردن این گزینه افزونه Redirection می تواند این تغییرات را مونیتور کرده و به صورت خودکار برای آنها ریدایرکت ایجاد کند.
Keep a log of all redirects and 404 errors: با فعال کردن این گزینه گزارشی از تمام ریدایرکت ها و خطاهای 404 در سایت شما ایجاد می شود. این گزارش ها به شما کمک می کند تا بفهمید در سایت تان چه اتفاقی افتاده است. البته ذخیره دیتابیس شما را افزایش می دهد.
Store IP information for redirects and 404 errors: با فعال کردن گزینه فوق، این گزینه فعال می شود. ذخیره آدرس IP به شما امکان می دهد اقدامات ورود به سیستم دیگری انجام دهید. توجه داشته باشید که در مورد جمع آوری داده ها (به عنوان مثال GDPR) باید به قوانین محلی پایبند باشید.
سپس روی دکمه “ادامه نصب” کلیک کنید.
افزونه Redirection برای ارتباط با وردپرس از WordPress REST API استفاده می کند که به صورت پیش فرض فعال است. گاهی اوقات REST API به دلایلی مانند یک افزونه امنیتی (مانند افزونه Wordfence)، یک فایروال سرور، یک نرم افزار کش (مانند Cloudflare) و برخی افزونه های دیگر که REST API را بلاک می کنند، مسدود می شود.
در این صفحه REST API شما تست می شود که مسدود نشده باشد. اگر مشکلی وجود نداشته باشد دکمه سبز به شما نشان داده می شود.
سپس روی دکمه “اتمام نصب” کلیک کنید.
پس از آن تنظیم مجدد بازگردانی انجام شده و داده های اولیه ساخته می شود. روی دکمه “تمام” کلیک کنید.
صفحه مدیریت ریدایرکت ها به صورت زیر به شما نشان داده می شود.
در بالای صفحه چند تب مختلف مشاهده می کنید که با استفاده از آنها می توانید به قسمت های مختلف افزونه Redirection دسترسی پیدا کنید.
تغییر مسیرها
تب تغییر مسیرها در صفحه مدیریت ریدایرکت های افزونه Redirection جایی است که بسیاری از کارهای ریدایرکت کردن در آن انجام می شود. در این صفحه جدولی قرار دارد که تمام ریدایرکت ها در آن نشان داده شده اند و همچنین در پایین صفحه فرمی برای اضافه کردن ریدایرکت های جدید وجود دارد.
افزودن تغییر مسیر تازه
برای اضافه کردن تغییر مسیر جدید در ابتدایی ترین شکل آن باید به انتهای صفحه رفته و در قسمت نشانی اصلی، URL منبع (آدرس اینترنتی که از آن هدایت می شوید) و در قسمت URL هدف، URL ی که به آن ریدایرکت می کنید را وارد کنید.
URL منبع به طور کلی به سایت شما مربوط می شود. به عنوان مثال اگر URL ی که می خواهید از آن تغییر مسیر دهید https://myexample.com/old-url است ، و Redirection در https://myexample.com نصب شده است، URL منبع old-url/ می باشد. اما URL هدف می تواند هر چیزی (مربوط به سایت یا نامربوط به آن) باشد.
یک URL چیزی شبیه زیر است.
http://example.com/path/to/something?query=param
قسمت های مختلف URL عبارتند از:
- پروتکل: http یا https
- دامنه: example.com
- مسیر: /path/to/something/
- پارامترهای جست و جو (query parameters): query=param?
پروتکل و دامنه: به طور معمول افزونه Redirection با URL های دامنه ای که وردپرس را روی آن نصب کرده اید، مطابقت دارد. بنابراین لازم نیست پروتکل یا دامنه را در قسمت URL منبع وارد کنید.
مسیر: مسیر کلید پست های وردپرس است و باید با / شروع شود.
شما می توانید گزینه های دیگری را هنگام ایجاد تغییر مسیر یا به صورت پیش فرض مشخص کنید.
این گزینه ها در منوی کشویی سمت چپ صفحه قرار دارند و عبارتند از:
Regex یا عبارت منظم: یک عبارت منظم (یا Regular Expressions) گروهی از کاراکترها است که برای یافتن یک الگوی مشخص در یک قطعه از متن استفاده می شود. در افزونه Redirection، یک تطبیق ساده URL دقیقاً با یک URL مطابقت دارد. اما یک URL regex می تواند با URL های زیادی مطابقت داشته باشد.
علاوه بر مطابقت با بسیاری از URL ها، یک عبارت منظم می تواند اطلاعات را از URL منبع استخراج کرده و آن را در URL هدف کپی کند. به عنوان مثال یک ریدارکت که دارای URL منبع my-url/ می باشد تنها با درخواست های my-url/ مطابقت دارد. اما ریدایرکتی که دارای URL منبع *./my-url/ می باشد با درخواست های مربوط به /my-url/this
و /my-url/that نیز مطابقت دارد.
Ignore slash: نادیده گرفتن اسلش به عنوان مثال /your-url/ و your-url/ با یکدیگر مطابقت دارند.
Ignore case: نادیده گرفتن مورد به عنوان مثال /YOUR-URL/ و /your-url/ مطابقت دارند.
افزونه Redirection به صورت پیش فرض گزینه ای را انتخاب می کند که در تب نشانی (در بالای صفحه) تنظیم شده است.
Query Parameters
اگر پارامترهای جست و جوی خاصی دارید، می توانید آنها را به URL منبع اضافه کنید. به عنوان مثال your-path?product=1&colour=red/
گزینه هایی که در این قسمت در اختیار شما قرار دارند عبارتند از:
Exact match all parameters in any order: با انتخاب این گزینه که گزینه پیش فرض نیز هست، تمام پارامترها دقیقاً مطابقت داده می شوند.
Ignore all parameters: با انتخاب این گزینه تمام پارامترهای جست و جو نادیده گرفته می شود. به عنوان مثال اگر URL منبع my-old-post/ است، با my-old-post?query=1/ و my-old-post?anything=true/ مطابقت دارد.
Ignore & pass parameters to the target: علاوه بر نادیده گرفتن همه پارامترهای پرس و جو، این گزینه پارامترهای پرس و جو را به هدف منتقل می کند. به عنوان مثال ، اگر URL منبع شما my-old-post/ بوده و URL هدف my-new-post/ باشد و کاربر /my-old-post?tracking=1 را درخواست کند، URL ریدایرکت شده my-new-post?tracking=1/ خواهد بود.
در انتها روی گزینه Add Redirect کلیک کنید.
ریدایرکت جدید در افزونه ساخته خواهد شد. هنگامی که ریدایرکت جدید را ایجاد کردید، به لیست ریدایرکت های شما اضافه خواهد شد. اگر روی ریدایرکت جدید هاور کنید، لینک های ویرایش، پاک کردن و غیرفعال کردن را در زیر آن مشاهده می کنید.
اگر ریدایرکت های زیادی در وب سایت خود دارید می توانید از فیلتر و امکانات جستجو برای یافتن یک ریدایرکت خاص استفاده کنید.
فیلترها به شما اجازه می دهند که نمایش ریدایرکت های قابل رؤیت را براساس شرایطی که تنظیم کرده اید، کاهش دهید. شما می توانید چندین فیلتر را فعال کنید.
قسمت جستجو نیز مانند فیلتر است اما می توانید متنی که می خواهید جستجو کنید را در آن وارد کنید. همچنین می توانید منوی کشویی مربوط به جستجو را تغییر دهید تا موضوع جستجو را بهتر مشخص کنید.
شما می توانید نوع اطلاعاتی که نمایش داده می شود را در پنجره کشویی Dispaly به صورت زیر تغییر دهید. می توانید از لیست از پیش تعریف شده یک مورد را انتخاب کنید یا از یک نمایش سفارشی استفاده کنید.
افزونه Redirection بدون شک یکی از بهترین افزونه های وردپرس برای ریدایرکت 301 و رفع خطای 404 در وردپرس است.
امیدواریم این آموزش مورد توجه و استفاده شما قرار گرفته باشد.
دانلود افزونه
با سلام و احترام
مقاله بسیار خوب و مفیدی بود. ممنون از شما
ما می خواهیم پیوند یکتای بخش محصولات خودمان را تغییر دهیم.
آدرس قدیم : /shop/%product_cat%/
آدرس جدید : /product/
به نظر شما بهترین راه کدام است تا از افزونه استفاده نکنیم.
با سپاس فراوان
سلام منصور عزیز .. وقت بخیر .. خوشحالم که مطلب مورد توجه شما قرار گرفته … شما می تونید از طریق فایل htaccess. ریدایرکت ۳۰۱ رو بدون افزونه انجام بدین … البته برای ویرایش فایل htaccess. خیلی مراقب باشید چون می تونه منجر به خطای سرور داخلی بشه ..
بعد کد زیر رو داخل فایل htaccess. قرار بدین
RewriteEngine on
RewriteBase /
RewriteRule ^old_category/(.*) https://www.example.com/new_category/$1 [R=301,L]
با سلام
خیلی ممنون از راهنمایی شما
اگر بخواهم توسط افزونه یواست آن را ریدایرکت Regex کنم به چه شکل باید اقدام کنم، چون بجای product_cat در هر محصول یک عبارتی می آمده است.
و سوال دیگه اینکه ریدایرکت ۳۰۱ به این شیوه در جا عمل می کند. و لینک ها بعدها در گوگل جایگزین می شوند؟
با سپاس فراوان از سایت خوب شما
در مورد Regex باید عرض کنم این گزینه برای انتقال چندین لینک به یک لینک استفاده می شود، اگر برای شما کاربرد دارد از آن استفاده کنید…
در مورد سوال دوم هم باید بدانید ریدایرکت ۳۰۱ با اولین خزش از سمت گوگل بررسی و ارجاع داده می شود و جای نگرانی برای از دست دادن رتبه نخواهد داشت!
با سلام. اگه محصولات در پنل به جز وردپرس باشه و بخواهیم انتقال به ودرپرس بدیم سایت رو باید با اون لینک های قبلی چیکار کرد؟ ۱۲۰۰ محصول داره و خب این تعداد ریدایرکت درسته؟
مبحث انتقال محصول یا نوشته به از پنل های دیگر به وردپرس به چندین عوامل بستگی دارد، اگر بتوانید از طریق منوی تنظیمات، پیوندهای یکتا ساختاری دقیق و مناسب با سیستم قبلی که داشتید آماده سازی کنید، قطعا نیازی به ریدایرکت های سنگین و چندین هزار لینک دیگر نیست، اما اگر آدرس ها متفاوت شده اند، حتی اگر ۱۰۰ هزار محصول نیز باشد، باید همگی ریدایرکت شوند به آدرس جدید، که هم می توانید بصورت دستی ریدایرکت ۳۰۱ انجام دهید یا اینکه توسط افزونه Yoast و از طریق ابزار Regex اقدام به الگو سازی برای انتقال گروهی آدرس ها به آدرس جدید نمائید…