چگونه وردپرس را از حدس زدن ریدایرکت ها در زمانی که فکر می کند منجر به خطای 404 می شود جلوگیری کنیم
اگر از خوانندگان قدیمی آن هستید Martech Zone، احتمالاً متوجه پیشرفت زیادی در پاکسازی سایت شده اید. من پیوندهای داخلی نادرست را تصحیح میکردم، تغییر مسیرهای زیادی اضافه میکردم، مقالات را به پلتفرمهای متوقفشده حذف میکردم، و مقالات مهم را بهروزرسانی میکردم. شبها و آخر هفتهها کار میکنم، احتمالاً بیش از 1,000 مقاله را حذف کردهام و بیش از 1,000 مقاله دیگر را ویرایش کردهام... و کارم تمام نشده است.
یکی دیگر از تغییرات کاربردی که من در سایت ایجاد کرده ام، ترکیب پیوندهای ارجاع به سیستم عامل های شخص ثالث است. اگر روی مقاله اخیر کلیک کنید، خواهید دید که پیوند با https://martech.zone/refer/ شروع می شود و سپس شما را به شخص ثالث می رساند. این به من اجازه می دهد چند کار را انجام دهم:
- همه ارجاعهای من به شرکتهای دیگر را ردیابی کنید تا بتوانند ارزش حمایت مالی را ببینند یا یک پیوند ارجاع از سایت من ارائه دهند.
- کاهش تعداد درخواست های بک لینک از تنبل ها SEO حرفه ای ها به این دلیل که می خواهند از سایت من به عنوان منبع بک لینک استفاده کنند نه اینکه ارزشی برای خوانندگان من ایجاد کنند. من robots.txt را فایل به روز می شود تا مسدود شود مراجعه مسیر از خزیدن
یکی از مشکلاتی که من در مورد تعداد مقالات و تغییر مسیرهای داخلی در سایت خود دارم، ویژگی پیش فرض وردپرس است، جایی که حدس میزند تغییر مسیر در حال ویران کردن است. هسته اصلی این است که ویژگی حدس تغییر مسیر شامل تغییر مسیرهای منتشر شده من نمی شود رتبه ریاضی... اما اغلب آنها را با مقالات داخلی نامربوط بازنویسی می کند. من مطمئن نیستم که این یک اشکال در منطق آنها است یا فقط یک سهل انگاری، اما بهینه نیست. حتی بدتر از آن این است که وردپرس این موارد را به عنوان تغییر مسیرهای 301 به خزنده های موتورهای جستجو ارائه دهد.
نحوه غیرفعال کردن Redirect Guess Functional با وردپرس
وردپرس توانایی حذف این ویژگی را به طور کلی ارائه می دهد، اما این گزینه در تنظیمات وردپرس شما قابل مشاهده نیست. در عوض، باید فایل تم خود را با افزودن موارد زیر سفارشی کنید فیلتر به functions.php:
add_filter( 'do_redirect_guess_404_permalink', '__return_false' );
من نمی خواهم اهمیت این قابلیت را نادیده بگیرم. اگر کاربری دارید که سعی می کند به صفحه ای در سایت شما برسد که منجر به صفحه 404 می شود، این تجربه بهینه نیست. تغییر مسیر آنها با یک صفحه مرتبط در عوض فوق العاده است. فقط در جایی که بهینه نیست محدودیت هایی وجود دارد.
من متوجه شده ام که من یک پیوند ارجاع در یک مقاله دارم ... حتی اگر 404 نیست، وردپرس حدس میزند که به این دلیل است که صفحه واقعی وجود ندارد. بنابراین، خوانندگان من در حلقهای گرفتار میشوند که هرگز آنها را به صفحه مقصد نمیبرد. این بسیار ناامید کننده است... بنابراین می خواهم مطمئن شوم که وردپرس هرگز تغییر مسیری را برای مسیرهایی که از طریق تغییر مسیر در دسترس هستند حدس نمی زند.
نحوه غیرفعال کردن Redirect Guesses با مسیرهای خاص با وردپرس
در نتیجه، من یک تابع خاص برای موضوع خود نوشتم که تضمین می کند که وردپرس هرگز در مورد برخی از مسیرها حدس نمی زند:
add_filter("do_redirect_guess_404_permalink", "modify_do_redirect_guess_404_permalink_defaults", 10, 1);
function modify_do_redirect_guess_404_permalink_defaults($do_redirect_guess) {
// Get the requested URL
$requested_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
// Check if the requested URL starts with the specific paths
$specific_paths = array('https://martech.zone/refer/', 'https://martech.zone/acronym/');
foreach ($specific_paths as $specific_path) {
if (substr($requested_url, 0, strlen($specific_path)) === $specific_path) {
// Disable 404 guessing for the specific paths
$do_redirect_guess = false;
break;
}
}
// Return the modified $do_redirect_guess variable
return $do_redirect_guess;
}
این میتواند برای صفحات، پستها، دستهها یا هر مورد دیگری که نمیخواهید وردپرس صفحه مقصد را حدس بزند زمانی که URL خاصی را پیدا نمیکند نوشته شود.