
به اشتراک بگذارید

به اشتراک بگذارید
امنیت و مدیریت وردپرس | بلاگ وبداده
تغییر نام نویسنده (Author Slug) در وردپرس
user_nicename که در جدول wp_users دیتابیس ذخیره میشود. وقتی یک کاربر جدید میسازید، وردپرس این مقدار را بهصورت خودکار از روی نام کاربری ورود (user_login) تولید میکند. به همین دلیل، بهطور پیشفرض slug نویسنده و نام کاربری شما یکسان هستند.example.com/author/admin/. اگر روی این آدرس مقدار «admin» یا نام کاربری واقعی شما دیده شود، عملاً نیمی از اطلاعات لازم برای ورود (نام کاربری) را در اختیار هر بازدیدکنندهای گذاشتهاید و فقط رمز عبور میماند.
/author/. قبل از آموزش گامبهگام، بهتر است این روشها را کنار هم ببینید تا بدانید کدامیک با سطح دسترسی و مهارت شما جور است. Slug وردپرس را میتوان هم گرافیکی و هم فنی تغییر داد.| روش | سطح دشواری | نیاز به دسترسی | برگشتپذیری | مناسب برای |
|---|---|---|---|---|
| افزونه Edit Author Slug | بسیار آسان | پیشخوان وردپرس | بله (بهجز خود slug) | همه، بهویژه تازهکارها |
| ویرایش دیتابیس (phpMyAdmin) | متوسط تا سخت | پنل هاست/دیتابیس | دائمی | کاربران فنی با بکاپ |
| کد در functions.php | متوسط (فنی) | دسترسی به قالب | بله (با حذف کد) | توسعهدهندگان |
| تغییر پیشوند author | متوسط | افزونه یا کد | بله | کسانی که کل آدرس را میخواهند |
/author/ را هم به هر عبارتی مثل nevisande تغییر دهید. اگر افزونه را بعداً حذف کنید، پیشوند به author برمیگردد، اما مقدار slug کاربر (که در دیتابیس ذخیره شده) باقی میماند.user_nicename را مستقیم عوض کنید. جدول wp_users را باز کنید، ردیف کاربر را ویرایش و مقدار جدید را ذخیره کنید. معادل SQL آن این است:wp_ را هم با پیشوند واقعی جدولهای سایت خودتان جایگزین کنید./author/ در همهی آدرسها عوض شود (نه slug هر کاربر)، میتوانید بدون افزونه از یک قطعه کد استفاده کنید. این روش برای کسانی مناسب است که با مدیریت فایلهای وردپرس راحتاند:
/wp-json/wp/v2/users یا ?author=1) را نمیگیرد و باید در کنار سایر اقدامات امنیتی انجام شود.نام نمایشی همان چیزی است که زیر مقالهها بهعنوان نویسنده دیده میشود و آزادانه قابل تغییر است. اما Author Slug همان user_nicename است که در آدرس آرشیو نویسنده بهکار میرود. این دو مستقل از هم هستند؛ میتوانید نام نمایشی را عوض کنید ولی slug ثابت بماند و برعکس.
خیر. slug فقط مقدار user_nicename را تغییر میدهد؛ نام کاربری ورود (user_login) دستنخورده میماند و همچنان با همان نام وارد پیشخوان میشوید. هدف اصلی هم دقیقاً همین است: پنهانکردن نام کاربری بدون تغییر آن.
بهتر است یک بار به «تنظیمات › پیوندهای یکتا» بروید و ذخیره کنید تا ساختار Rewrite تازه شود. اگر سایت پربازدید است و آدرس نویسنده لینک خارجی دارد، تنظیم ریدایرکت 301 از آدرس قدیمی به جدید را هم در نظر بگیرید.
بهخودیخود خیر. صفحه آرشیو نویسنده معمولاً صفحهی کلیدی سئو نیست. تنها نکته این است که اگر آدرس قدیمی نویسنده در جایی لینک شده، بدون ریدایرکت به 404 میرسد؛ با تنظیم ریدایرکت این مشکل هم برطرف میشود.
سادهترین راه استفاده از افزونه Edit Author Slug است که کاملاً از داخل پیشخوان کار میکند و به phpMyAdmin نیاز ندارد. تقریباً همهی هاستهای اشتراکی امکان نصب افزونه را میدهند.
چون وردپرس نام کاربران را از راههای دیگری هم افشا میکند؛ مثل اندپوینت REST API در مسیر /wp-json/wp/v2/users یا پارامتر ?author=1. برای امنیت کامل باید این مسیرها را هم محدود کنید و صرفاً به تغییر slug اکتفا نکنید.
یک عبارت انگلیسی، کوتاه، با حروف کوچک و خط تیره که ربطی به نام کاربری ورود نداشته باشد؛ مثلاً نام قلم یا یک کلمهی دلخواه. از کاراکترهای فارسی، فاصله و علائم خاص استفاده نکنید تا آدرس معتبر بماند.
ابتدا پیوندهای یکتا را دوباره ذخیره کنید. اگر مشکل باقی ماند، مقدار nicename را در دیتابیس بررسی کنید که یکتا و بدون کاراکتر غیرمجاز باشد. داشتن بکاپ به شما اجازه میدهد در بدترین حالت، مقدار قبلی را برگردانید.