
به اشتراک بگذارید
سئو | بلاگ وبداده
ریدایرکت ۳۰۱ و تغییر مسیر لینکها در وردپرس
- ریدایرکت ۳۰۱ چیست: انتقال دائمی یک آدرس به آدرس جدید که اعتبار سئو را هم منتقل میکند (در برابر ۳۰۲ که موقت است).
- سادهترین روش: افزونهی رایگان Redirection با بیش از ۲ میلیون نصب فعال که بدون کدنویسی ریدایرکت میسازد.
- روش سطح سرور: افزودن دستی دستور
Redirect 301به فایل .htaccess در آپاچی؛ سریعترین روش اجرا. - روش کدنویسی: استفاده از
wp_safe_redirectدر فایل functions.php برای کنترل کامل. - نکتهی مهم: وردپرس هنگام تغییر نامک یک نوشتهی منتشرشده، خودش بهصورت خودکار ریدایرکت ۳۰۱ میسازد.
در یک جمله
ریدایرکت 301 در وردپرس چیست؟
نکته: ۳۰۱ دائمی، ۳۰۲ موقت
آموزش گامبهگام ایجاد ریدایرکت ۳۰۱
۱) از سایت بکاپ بگیرید
۲) آدرس قدیمی و جدید را مشخص کنید
۳) روش مناسب را انتخاب کنید
روش ۱: افزونه Redirection (ساده و بدون کد)
روش ۲: ویرایش فایل htaccess (سطح سرور و سریع)
.htaccess تعریف کنید. این روش چون در سطح سرور اجرا میشود، سریعتر از افزونه است. فایل .htaccess را از طریق فایلمنیجر هاست یا FTP باز کنید و خطوط زیر را پیش از بخش # BEGIN WordPress اضافه کنید. ویرایش این فایل در پنلهایی مثل هاست سیپنل با فایلمنیجر بهسادگی ممکن است:# ریدایرکت 301 در آپاچی — به فایل .htaccess اضافه کنید
# این خطوط را پیش از بخش «# BEGIN WordPress» قرار دهید
# ۱) انتقال یک صفحهی مشخص به صفحهی جدید
Redirect 301 /old-page/ https://example.com/new-page/
# ۲) انتقال کل دامنهی قدیمی به دامنهی جدید
Redirect 301 / https://newdomain.com/
# ۳) انتقال گروهی با الگو (مثلاً همهی آدرسهای /blog/ به /news/)
RedirectMatch 301 ^/blog/(.*)$ https://example.com/news/$1Apacheهشدار: یک اشتباه کوچک، کل سایت را از کار میاندازد
روش ۳: کدنویسی در فایل functions.php
wp_safe_redirect همراه با کد ۳۰۱ داخل اکشن template_redirect، آدرسهای مشخصی را به مقصد جدید میفرستد. این کد را در فایل functions.php قالبِ فرزند قرار دهید تا با بهروزرسانی قالب پاک نشود:<?php
// ریدایرکت 301 دستی با کد — در functions.php قالبِ فرزند
add_action( 'template_redirect', 'webdade_custom_301_redirect' );
function webdade_custom_301_redirect() {
if ( empty( $_SERVER['REQUEST_URI'] ) ) {
return;
}
// مسیر قدیمی => مسیر جدید
$redirects = array(
'/old-page/' => '/new-page/',
'/old-article/' => '/blog/new-article/',
);
$request = untrailingslashit( strtok( $_SERVER['REQUEST_URI'], '?' ) );
foreach ( $redirects as $from => $to ) {
if ( $request === untrailingslashit( $from ) ) {
// wp_safe_redirect برای آدرسهای داخلی امنتر است
wp_safe_redirect( home_url( $to ), 301 );
exit;
}
}
}PHPwp_safe_redirect امنتر از wp_redirect است، چون فقط به دامنههای مجاز اجازهی انتقال میدهد. فراموش نکردن exit بعد از ریدایرکت هم ضروری است.روش ۴: ریدایرکت خودکار خودِ وردپرس
# راستیآزمایی ریدایرکت 301 با curl
curl -I https://example.com/old-page/
# در خروجی باید این دو خط دیده شود:
# HTTP/1.1 301 Moved Permanently
# location: https://example.com/new-page/Bash| معیار | افزونه (Redirection) | فایل htaccess | کد functions.php |
|---|---|---|---|
| سطح دانش لازم | مبتدی | متوسط | حرفهای |
| نیاز به کدنویسی | ندارد | کمی (یک خط) | دارد |
| سرعت اجرا | خوب (سطح PHP) | عالی (سطح سرور) | خوب (سطح PHP) |
| مدیریت و لاگ 404 | دارد | ندارد | ندارد |
| ریسک خرابی سایت | کم | زیاد (حساس به سینتکس) | متوسط |
| مناسب برای Nginx | بله | خیر | بله |
| بهترین کاربرد | بیشتر کاربران | هاست آپاچی و حجم بالا | ریدایرکتهای سفارشی |

هاست وردپرس وبداده و حفظ سئو هنگام ریدایرکت
نقلقول از منبع معتبر
wp_old_slug_redirect() «نامک قدیمی را به پیوند یکتای درست هدایت میکند و تلاش میکند آدرس فعلی را از میان نامکهای گذشته پیدا کند.» همین یعنی وردپرس بهصورت توکار از شکستن لینکها هنگام تغییر آدرس جلوگیری میکند. منبع: WordPress Developer — wp_old_slug_redirect().✅ دیتاسنترهای ایران، هلند و آلمان برای انتخاب نزدیکترین لوکیشن به مخاطب و کاهش تأخیر.
✅ پشتیبانی کامل از آپاچی و دسترسی به فایل htaccess برای ریدایرکت سطح سرور.
✅ پشتیبانی فنی ۲۴ ساعته برای کمک هنگام تغییر آدرس و رفع خطاهای ریدایرکت.
پرسشهای پرتکرار درباره ریدایرکت ۳۰۱ در وردپرس
تفاوت ریدایرکت ۳۰۱ و ۳۰۲ چیست؟
ریدایرکت ۳۰۱ یعنی انتقال «دائمی» و تقریباً تمام اعتبار سئوی صفحهی قدیمی را به آدرس جدید منتقل میکند. ریدایرکت ۳۰۲ (و ۳۰۷) یعنی انتقال «موقت» و برای زمانی بهکار میرود که قرار است بعداً به آدرس اصلی برگردید. اگر تغییر آدرس همیشگی است، حتماً از ۳۰۱ استفاده کنید.
آیا ریدایرکت ۳۰۱ به سئوی سایت آسیب میزند؟
خیر، اگر درست انجام شود. ریدایرکت ۳۰۱ دقیقاً برای حفظ سئو هنگام تغییر آدرس طراحی شده و اعتبار صفحه را منتقل میکند. آسیب زمانی رخ میدهد که ریدایرکتهای زنجیرهای یا حلقهای بسازید یا همهچیز را بهجای صفحهی مرتبط به صفحهی اصلی بفرستید.
بهترین افزونهی ریدایرکت وردپرس کدام است؟
افزونهی رایگان Redirection با بیش از ۲ میلیون نصب فعال محبوبترین گزینه است و علاوه بر ساخت ریدایرکت، خطاهای 404 را هم ردیابی میکند. اگر افزونهی سئویی مثل Rank Math یا AIOSEO نصب دارید، میتوانید از بخش مدیریت ریدایرکت همان افزونه استفاده کنید و افزونهی جداگانه نصب نکنید.
آیا برای تغییر آدرس یک نوشته حتماً باید ریدایرکت دستی بسازم؟
نه همیشه. وقتی فقط نامک یک نوشتهی منتشرشده را تغییر میدهید، وردپرس بهصورت خودکار آدرس قدیمی را با کد ۳۰۱ به آدرس جدید ریدایرکت میکند. اما برای تغییر دامنه، جابهجایی گروهی صفحات یا حذف یک صفحه، باید ریدایرکت را خودتان با افزونه، htaccess یا کد بسازید.
ریدایرکت را در htaccess بسازم یا با افزونه؟
اگر دسترسی به فایلها دارید، سرعت برایتان مهم است و سایت روی آپاچی اجرا میشود، روش htaccess سریعتر است چون در سطح سرور اجرا میشود. اما اگر با کد راحت نیستید یا تعداد زیادی ریدایرکت دارید که باید مدیریت شوند، افزونه سادهتر و کمریسکتر است.
ریدایرکت حلقهای (Redirect Loop) یعنی چه و چطور رفع میشود؟
حلقهی ریدایرکت زمانی رخ میدهد که آدرس A به B و دوباره B به A (یا به خودش) ریدایرکت شود؛ نتیجه پیام «صفحه بهدرستی ریدایرکت نشد» و از دسترس خارجشدن صفحه است. برای رفع آن، قانونهای ریدایرکت متناقض را در افزونه یا فایل htaccess پیدا و حذف کنید و کش مرورگر را پاک کنید.
چطور مطمئن شوم ریدایرکت ۳۰۱ درست کار میکند؟
میتوانید آدرس قدیمی را در مرورگر باز کنید و ببینید به آدرس جدید میرود. برای بررسی دقیقتر، با دستور curl -I یا تب Network مرورگر، کد وضعیت پاسخ را ببینید؛ باید «301 Moved Permanently» و هدر location با آدرس جدید نمایش داده شود.
آیا ریدایرکت ۳۰۱ روی سرعت سایت اثر میگذارد؟
هر ریدایرکت کمی تأخیر اضافه میکند، چون مرورگر باید یک درخواست اضافی بفرستد. یک ریدایرکت ساده تأثیر محسوسی ندارد، اما ریدایرکتهای زنجیرهای (چند ریدایرکت پشتسرهم) سرعت را بهوضوح کم میکنند. ریدایرکت سطح سرور (htaccess) معمولاً سریعتر از ریدایرکت افزونه است.
جمعبندی و قدم بعدی شما
جمعبندی سریع
✅ پیش از هر تغییری از سایت و فایل htaccess بکاپ بگیرید.
✅ هر آدرس قدیمی را به صفحهی مرتبط بفرستید، نه صفحهی اصلی.
✅ از ریدایرکت زنجیرهای و حلقهای بپرهیزید و نتیجه را با curl بررسی کنید.



