وردپرس به کاربران خود امکانات متعددی را برای ایجاد و مدیریت وبسایتها ارائه میدهد. از جملهی این امکانات میتوان به انجام وظایف مختلف بدون نیاز به ویرایش فایلهای اصلی هسته اشاره کرد.
با این حال، برخی از وظایف مانند اجرای تغییر مسیرها یا فعال کردن HTTPS نیازمند ویرایش فایل هسته وردپرس تحت عنوان htaccess هستند. با استفاده از فایل htaccess، میتوانید تنظیمات مدنظر خود را برای وبسایتتان بهراحتی پیکربندی کنید. بیایید با مروری کوتاه بر اینکه فایل htaccess چیست و چرا در وردپرس اهمیت دارد، شروع کنیم. با ما همراه باشید.
فایل htaccess در وردپرس چیست؟
در وردپرس، htaccess یک فایل پیکربندی ویژه است که میتواند نحوه اجرای دستورات مربوط به سرور شما را در وبسایتتان کنترل کند. بهعنوان یکی از قدرتمندترین فایلهای پیکربندی، فایل htaccess میتواند تغییر مسیر 301، اتصالات SSL، محافظت از رمز عبور، زبان پیشفرض و موارد دیگر را در وبسایت وردپرسی شما کنترل کند.
بهطور دقیقتر، فایل htaccess دستوراتی را برای کنترل و پیکربندی وب سرور آپاچی که وبسایت شما در آن میزبانی میشود، فراهم میکند. این سرور همچنین میزبان صدها یا هزاران سایت دیگر است که توسط ارائهدهندگان هاستینگ وب ایجاد و اجرا شدهاند. بدون فایل htaccess، هر مالک سایتی که در همان سرور آپاچی قرار دارد، باید از تنظیمات یکسانی برای وبسایت خود استفاده کند. خوشبختانه، تقریباً تمامی ارائهدهندگان خدمات میزبانی، دسترسی به فایل htaccess را مجاز کردهاند. شما با خرید هاست لینوکس خود، میتوانید به طور خودکار به این ویژگی دسترسی پیدا کنید.
با استفاده از این فایل، میتوانید تغییر مسیرها را تنظیم کنید، SSL را اجباری کنید، آدرسهای IP مدنظر را مسدود کنید، دسترسی به فایلهای حساس را ممنوع کنید، پاسخهای HTTP سفارشی را برای درخواستهای خاص ارسال کنید، از لینکدهی مستقیم به تصاویر جلوگیری کنید و بهطور کلی، وبسایت خود را آنطور که میخواهید پیکربندی کنید.
در ادامه، به محل استقرار این فایل قدرتمند، چگونگی ایجاد و ویرایش آن اشاره خواهیم کرد.
محل قرارگیری فایل htaccess در وردپرس
فایل htaccess وردپرس در دایرکتوری اصلی وبسایت وردپرس شما قرار دارد. با توجه به سرویس ارائهدهنده هاستینگ شما، دایرکتوری اصلی ممکن است یک پوشه با نام public_html ،www ،htdocs یا httpdocs باشد. میتوانید با استفاده از کنترل پنل هاستینگ خود، آن را پیدا کنید. بیایید مراحل را یکبهیک طی کنیم.
- به حساب کنترل پنل هاست لینوکس خود وارد شوید.
- فایل منیجر (File Manager) را باز کنید.
- در منوی سمت چپ صفحه، روی پوشه public_html کلیک کنید.
- پوشهای با نام “WordPress” را باز کنید.
- بهدنبال فایل htaccess بگردید.
- اگر پوشه را نمیبینید، به بخش Settings بروید.
- یک پنجره با عنوان “Preferences” ظاهر میشود.
- Show Hidden Files را فعال کنید.
- اکنون باید فایل htaccess را مشاهده کنید.
اگر هنوز هم فایل htaccess را نمیبینید، احتمالا این فایل در وبسایت شما وجود ندارد. نگران نباشید! میتوانید آن را طی چند مرحله و به آسانی ایجاد کنید.
فایل htaccess پیشفرض وردپرس
وردپرس بهطور خودکار یک فایل htaccess را برای شما ایجاد میکند. اما گاهی اوقات بهدلیل مشکلات مربوط به مجوزهای فایل، قادر به پیادهسازی دستورات آن نیست. دراینصورت، مراحل زیر را دنبال کنید.
- به داشبورد وردپرس خود وارد شوید و به Settings و سپس به Permalinks بروید.
- بدون اینکه چیزی را تغییر بدهید، به پایین صفحه بروید و بر روی ذخیره تغییرات (Save Changes) کلیک کنید.
- وردپرس اکنون تلاش میکند تا یک فایل htaccess ایجاد کند. اگر نتواند، پیام خطایی که با مضمون “htaccess file is not writeable” را در پایین صفحه مشاهده خواهید کرد.
- شما باید به صورت دستی فایل htaccess را ایجاد کنید. با ورود به کنترل پنل حساب هاستینگ خود شروع کنید.
- File Manager را باز کنید.
- در منوی سمت چپ صفحه، روی پوشه public_html کلیک کنید.
- روی علامت File+ در نوار ابزار بالای صفحه کلیک کنید.
- کلمه “htaccess.” را در فیلد New File Name تایپ کنید.
- روی Create New File کلیک کنید.
- روی پرونده تازهایجادشده کلیکراست کرده و آن را ویرایش کنید.
- کد زیر را اضافه کنید.
# BEGIN WordPress RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
- فایل را ذخیره کنید و ببندید.
اکنون میدانید چگونه یک فایل htaccess. پیشفرض برای وبسایت وردپرس خود ایجاد کنید. اگر فایل مد نظر شما وجود داشته باشد اما کارایی مورد انتظار شما را ارائه ندهد، میتوانید به راحتی آن را ویرایش کنید. در ادامه به بررسی نحوه ویرایش این فایل خواهیم پرداخت.
ویرایش فایل htaccess وردپرس
ویرایش فایل htaccess یا هر فایل دیگری مربوط به هسته وردپرس خطرناک است! ممکن است منجر به حذف کدهای درست، اضافه کردن کد نادرست یا انجام اشتباهات دیگری شوید که سایت شما را خراب کند.
برای کاهش این خطرات، باید قبل از انجام ویرایشهای مستقیم در فایل htaccess حداقل یکی از فعالیتهای پیشگیرانه زیر را انجام دهید.
- از وبسایت وردپرسی خود بکآپ بگیرید تا در صورت اشتباه، نسخه قبلی را بازیابی کنید.
- از یک وبسایت استیجینگ (Staging) برای تست ویرایش انجامشده قبل از اعمال آنها در وبسایت اصلیتان استفاده کنید.
- یک نسخه بکآپ از فایل htaccess ایجاد کرده و آن را در سیستم خود دانلود کنید. این کار به شما اجازه میدهد تا در صورتی که ویرایشهای شما در فایل htaccess پیشفرض مشکلساز شود، فایل پشتیبان را بارگذاری کنید.
بعد از انجام حداقل یکی از مراحل فوق، آماده به ویرایش هستید. برای ویرایش فایل htaccess. در وردپرس بیشتر از یک راه وجود دارد. در ادامه ویرایش بهصورت دستی و با استفاده از پلاگین وردپرسی را آموزش میدهیم.
ویرایش htaccess در وردپرس با استفاده از cPanel
اگر تمایل ندارید پلاگین دیگری به وبسایت وردپرس خود اضافه کنید، میتوانید از cPanel در حساب هاستینگ خود استفاده کنید. اگر از این روش استفاده کنید، باید حداقل یکی از مراحل مربوط به پیشگیری که در بالا ذکر شده است را خودتان انجام بدهید.
مراحل ویرایش فایل .htaccess. در وردپرس با استفاده از cPanel به شرح زیر است:
- به کنترل پنل حساب هاستینگ خود وارد شوید.
- File Manager را باز کنید.
- در منوی سمت چپ صفحه، روی پوشه public_html کلیک کنید.
- پوشه با نام “WordPress” را باز کنید.
- فایل htaccess را پیدا کرده و آن را باز کنید.
- هر کدی که مدنظر دارید را قبل از خط BEGIN WordPress # اضافه کنید.
ویرایش htaccess در وردپرس با استفاده از پلاگین
اگر میخواهید بخشی از کارهای پیشپردازش قبل از ویرایش فایل htaccess خود را به صورت اتوماتیک انجام دهید، میتوانید از پلاگینی مانند Htaccess File Editor استفاده کنید. ویرایشگر فایل Htaccess این امکان را به شما میدهد تا قبل از ذخیره کردن تغییرات، آنها را تست کنید و بهطور خودکار نسخه پیشفرض فایل htaccess را بکآپ گرفته و بازیابی کنید. Htaccess File Editor برای مبتدیانی که میخواهند این فایل پیکربندی ویژه را ویرایش کنند یک افزونه ضروری است.
در ادامه، مراحل ویرایش htaccess در وردپرس با استفاده از پلاگین Htaccess File Editor ارائه شده است.
- به داشبورد وردپرس خود وارد شوید.
- افزونه ویرایشگر فایل Htaccess را نصب و فعال کنید.
- به مسیر Settings > WP Htaccess Editor بروید.
- یک خط جدید قبل از BEGIN WordPress # ایجاد کنید.
- اکنون میتوانید برای ایجاد تغییرات، کد دلخواهتان را اضافه کنید.
در ادامه به دو مثال متداول از استفاده از فایل htaccess میپردازیم: تنظیم تغییر مسیرها و اجباری کردن HTTPS.
تغییر مسیر htaccess وردپرس
تنظیم تغییرمسیرها یا ریدایرکتها، بهویژه ریدایرکت 301، در وبسایت وردپرسی شما میتواند در شرایطی که محتوای درخواستی کاربران وجود نداشت، از نمایش صفحه 404 به آنهاجلوگیری کند. همچنین به موتورهای جستجو اعلام میکند که یک نوشته یا صفحه بهطور دائم به مکانی دیگر منتقل شده است. بنابراین، آنها میدانند که باید صفحه جدید را در نتایج جستجو در SERP رتبهبندی کنند.
فرض کنید تصمیم میگیرید محتواهای تکراری را در وبسایت خود تقویت کنید. دراینصورت، میتوانید پستهای قدیمی را به صفحات جدید را در فایل مدنظر ریدایرکت کنید. یا فرض کنید آدرس URL یک نوشته یا صفحه را تغییر دادهاید؛ میتوانید یک ریدایرکت تنظیم کنید تا هر لینک داخلی یا خارجی در وبسایتتان با آدرس URL قدیمی بازدیدکنندگان را به آدرس URL جدید هدایت کند. یا فرض کنید نام دامنه خود را تغییر دادهاید. دراینصورت، میتوانید تغییر مسیرها را تنظیم کنید تا بازدید کنندگانی که سعی در بازدید از دامین قدیمی را دارند، به دامین جدید هدایت شوند.
این تنها چند نمونه از شرایطی است که میتوانید با استفاده از فایل htaccess در وردپرس، تغییر مسیرها را تنظیم کنید. در این بخش به نحوهی انجام این کار میپردازیم.
تغییر مسیر یک نوشته یا صفحه
برای تغییر مسیر (Redirect) یک نوشته یا صفحه، خط کد زیر را برای هر نوشته یا صفحه که میخواهید تغییر مسیر دهید، اضافه کنید.
Redirect 301 /old-url-slug https://yourdomain.com/new-url-slug
توجه داشته باشید که شما فقط باید نشانهگذاری وردپرسی (Slug) آدرس URL قدیمی (قسمتی که پس از نام دامنه قرار میگیرد) را وارد کنید. با این حال، بهتر است آدرس URL صفحه جدید را بهصورت کامل وارد کنید.
بیایید با یک مثال به این مساله نگاه کنیم. فرض کنید دو نوشته تکراری درباره افزونههای نوبتدهی در وردپرس دارید. دراینصورت میتوانید محتوای هر دو نوشته را ترکیب کنید و آدرس URL با کمترین ترافیک و بکلینکها را به آدرس URL با ترافیک و بکلینکهای بیشتر تغییر مسیر دهید. بنابراین، فرض کنید میخواهید آدرس URL “https://mobinhost.com/website/best-appointment-booking-plugins-for-wordpress” را به “https://mobinhost.com/marketing/wordpress-appointment-plugin” تغییر دهید. در این صورت، خط کد زیر را در فایل htaccess اضافه میکنید:
Redirect 301 /best-appointment-booking-plugins-for-wordpress https://mobinhost.com/marketing/wordpress-appointment-plugin
هر کسی که بر روی یک لینک داخلی یا خارجی با آدرس URL قدیمی کلیک کند، بهطور خودکار به آدرس URL جدید هدایت خواهد شد.
تغییر مسیر (redirect) تمام وب سایت
برای تغییر مسیر کامل یک وبسایت به یک دامنه جدید، کد زیر را به فایل htaccess وردپرس اضافه کنید:
RewriteEngine on RewriteCond %{HTTP_HOST} ^olddomain.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.olddomain.com [NC] RewriteRule ^(.*)$ https://newdomain.com/$1 [L,R=301,NC]
متن placeholder در خطهای دوم، سوم و چهارم را با دامینهای قدیمی و جدید خود جایگزین کنید. این کد اسنیپت ساختار لینکهای شما را حفظ میکند. بنابراین، به عنوان مثال، صفحه تماس شما که “www.olddomain.com/contact” بوده است را به “www.newdomain.com/contact” تغییرمسیر میدهد.
اجباری کردن HTTPS در htaccess وردپرس
اگر بهتازگی یک گواهی SSL در وبسایت وردپرسی خود نصب کردهاید، اجباری کردن HTTPS اقدامی ضروری است.
گواهی SSL یک تکنولوژی امنیت استاندارد برای رمزگذاری اطلاعات بین مرورگر کاربر و وبسایت شما است. از آنجا که این اتفاق به حفظ اطلاعات حساس مانند رمزها و اطلاعات پرداخت کمک میکند، بازدیدکنندگان در سایتهایی که با SSL رمزگذاری شدهاند، احساس امنیت بیشتری میکنند. این اقدام همچنین ممکن است به بهبود رتبه وبسایت شما در موتورهای جستجو کمک کند. در سال 2014، گوگل اعلام کرد که در بحث رتبهبندی به سایتهای دارای گواهی SSL، توجه بیشتری میکند
اگر بهتازگی یک گواهی SSL نصب کردهاید، باید مراحلی را برای پیکربندی وبسایت خود طی کنید، بهگونهای که HTTP با URL امن HTTPS جایگزین شود. براساس اسناد راهنمای وردپرس، میتوانید این کار را با اضافه کردن کد زیر به فایل htaccess انجام دهید:
SSLOptions +StrictRequire SSLRequireSSL SSLRequire %{HTTP_HOST} eq "www.WordPress.com" ErrorDocument 403 https://www.WordPress.com
این کار تضمین میکند که هر بازدیدکنندهای که از نسخه HTTP آدرس وبسایت شما استفاده میکند، به نسخه جدید با گواهی SSL هدایت خواهد شد.
استفاده از فایل htaccess وردپرس
فایل htaccess کنترل بیشتری بر وبسایت وردپرسی را در اختیارتان قرار میدهد. با تنظیم ریدایرکتها به صفحات جدید وبسایتتان، اجباری کردن SSL برای اطمینان از ارسال بازدیدکنندگان به نسخه HTTPS از وبسایتتان و پیکربندی سایر تنظیمات برای ایمنی وبسایت خود، میتوانید بهبود شرایط کلی سایتتان را انتظار داشته باشید.