11 ترفند مفید در .htaccess برای وردپرس

محتوانوشته

فایل .htaccess (Hypertext Access) بیش از یک فایل متنی ساده در ریشه وب‌سایت شماست؛ این فایل، در حکم دروازه‌بان و قانون‌گذار اصلی سرورهای مبتنی بر Apache (که اکثر وب‌سایت‌های وردپرسی از آن استفاده می‌کنند) عمل می‌کند. در حالی که وردپرس به شما امکانات زیادی برای مدیریت محتوا می‌دهد، این فایل کوچک و حیاتی است که به شما کنترل مستقیم بر نحوه تعامل سرور با بازدیدکنندگان، فایل‌ها و آدرس‌های سایتتان را می‌دهد. با استفاده از قطعه کدهای ساده اما قدرتمند در .htaccess، می‌توانید بدون نیاز به دسترسی به تنظیمات اصلی سرور، قوانین مهمی را اعمال کنید. از بالا بردن امنیت و مسدود کردن دسترسی‌های مخرب گرفته تا بهینه‌سازی عملکرد (Performance) و مدیریت دقیق ریدایرکت‌ها برای بهبود سئوی (SEO) سایت، این فایل یک ابزار ضروری برای هر وب‌مستر وردپرسی محسوب می‌شود. در این مقاله از نوین وردپرس قصد داریم پرکاربردترین و مؤثرترین ترفندهای این فایل جادویی را بررسی کنیم تا بتوانید سایت وردپرسی خود را امن‌تر، سریع‌تر و منظم‌تر سازید.

فایل .htaccess چیست و چطور آن را ویرایش کنم ؟

.htaccess یک فایل پیکربندی برای سایت است این فایل کارش گذاشتن قوانین خاص برای کد ها می باشد به طور مثال وردپرس برای ساخت لینک های کوتاه که در سئو تاثیر دارند از .htaccess استفاده میکند البته این فایل بیش از اینها کاربرد دارد که در مقاله دیگری توضیح خواهم داد. فایل .htaccess در پوشه root (اصلی) وردپرس وجود دارد برای ویرایش این فایل شما باید به قسمت فایل های هاست خودتون مراجعه نمایید.

قبل از هرکاری بهتر است از فایل .htaccess یک کپی بردارید تا با خیال راحت تغییرات را انجام بدهیم.

خب حالا میریم سراغ ترفند ها !

با خرید قالب هاستینگ وردپرس، یک قدم تا راه‌اندازی حرفه‌ای فاصله داری

۱. محافظت از قسمت مدیریت وردپرس

شما میتوانید با ایجاد محدودیت آیپی در قسمت مدیریت وردپرس کاری انجام دهید تا تنها آیپی شما تایید شود برای ورود ساده ترین راه کپی کردن کد زیر در فایل .htaccess می باشد.

کپی کد
1
2
3
4
5
6
7
8
9
10
11
12
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
# whitelist Syed's IP address
allow from xx.xx.xx.xxx
# whitelist David's IP address
allow from xx.xx.xx.xxx
</LIMIT>

فراموش نکنید به جای متغیر xx.xx.xx.xxx آیپی خودتون رو وارد نمایید.

خرید قالب بی تم | خرید قالب فلت سام | خرید قالب استادیار | خرید قالب دیوی | خرید قالب آوادا | خرید قالب اسنشیالز | خرید قالب انفولد | خرید قالب وودمارت

۲. غیر فعال کردن نمایش فایل ها در هاست

بسیاری از کارشناسان امنیتی وردپرس بر این تاکید می کند که امکان نمایش فایل ها و پوشه ها در هاست را غیر فعال نمایید زیرا یک هکر میتواند به راحتی با یک جستجو ساده فایل آسیب پذیر در وردپرس شما را پیدا نماید و سایت شما را هک کند! برای این کار تنها کافیست کد زیر را در فایل .htaccess هاست کپی نمایید.

کپی کد
1
Options -Indexes

۳. محافظت از فایل پیکربندی wp-config.php وردپرس

مطمئنن مهم ترین فایل در ریشه وردپرس فایل wp-config.php می باشد این فایل دارای اطلاعات مهم از اطلاعات دیتابیس و روش های اتصال به آن را در خود دارد. برای محافظت از این فایل و محدود کردن دسترسی آن از کد زیر در .htaccess استفاده نمایید.

کپی کد
1
2
3
4
<files wp-config.php>
order allow,deny
deny from all
</files>

۴. تغییر مسیر ۳۰۱ با .htaccess

بهترین روش برای انتقال کابران از یک آدرس به آدرس جدید استفاده از انتقال ۳۰۱ می باشد که در سئو نیز تاثیر به سزایی دارد. برای تغییر مسیر آدرس ها به صورت دستی از کد زیر در فایل .htaccess استفاده نمایید.

کپی کد
1
2
Redirect 301 /addressGhadimi/ http://www.addressjadid.com/
Redirect 301 /category/television/ http://www.example.com/category/tv/

5. غیرفعال کردن مرور دایرکتوری (Directory Listing)

این کار از مشاهده لیست فایل‌ها و پوشه‌ها توسط کاربران و هکرها جلوگیری می‌کند و یک الزام امنیتی است.

Options -Indexes

6. محافظت از پوشه مدیریت (wp-admin) بر اساس IP

این کد دسترسی به پنل مدیریت را فقط برای آدرس‌های IP مشخص شده (مثلاً IP خانه یا دفتر کار شما) مجاز می‌کند.

نکته: به‌جای YOUR_IP_ADDRESS آی‌پی خود را قرار دهید. اگر از چندین مکان دسترسی دارید، می‌توانید خط Allow from را تکرار کنید.

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
Order deny,allow
Deny from all
Allow from YOUR_IP_ADDRESS
</LIMIT>

خرید افزونه یواست سئو پرمیوم | خرید افزونه رنک مث پرو

7. جلوگیری از اجرای PHP در پوشه آپلودها (wp-content/uploads)

این اقدام از اجرای کدهای مخرب PHP که ممکن است از طریق آپلود فایل‌های آلوده وارد شوند، جلوگیری می‌کند. برای اعمال این ترفند، باید یک فایل .htaccess جدید داخل پوشه wp-content/uploads ایجاد کنید و کد زیر را درون آن قرار دهید:

<Files *.php>
deny from all
</Files>

8. مسدود کردن دسترسی به فایل XML-RPC

اگر از این فایل (که اغلب برای حملات DoS استفاده می‌شود) استفاده نمی‌کنید، آن را مسدود کنید.

<Files xmlrpc.php>
Order allow,deny
Deny from all
</Files>

این کدها به مدیریت ترافیک، بهینه‌سازی سرعت بارگذاری و سئو کمک می‌کنند.

9. ریدایرکت HTTPS اجباری (انتقال از HTTP به HTTPS)

اگر گواهی SSL نصب کرده‌اید، این کد تضمین می‌کند که تمامی بازدیدکنندگان به نسخه امن سایت منتقل شوند.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

خرید افزونه المنتور پرو | خرید افزونه دیجیتس | خرید افزونه گرویتی فرمز | خرید افزونه دکان پرو

10. فشرده‌سازی GZIP برای بهبود سرعت

فشرده‌سازی فایل‌های CSS، JavaScript و HTML قبل از ارسال به مرورگر کاربر، سرعت بارگذاری را افزایش می‌دهد.

<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^text/html$
mod_gzip_item_exclude mime ^image/.*$
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*$
</IfModule>

11. تنظیم کش مرورگر (Browser Caching)

این کد به مرورگر دستور می‌دهد تا فایل‌های استاتیک (تصاویر، CSS و JS) را برای مدت مشخصی کش کند و بارگذاری‌های بعدی سریع‌تر انجام شود.

<IfModule mod_expires.c>
ExpiresActive On
# تصاویر برای یک ماه
ExpiresByType image/jpg "access 1 month"
ExpiresByType image/jpeg "access 1 month"
ExpiresByType image/gif "access 1 month"
ExpiresByType image/png "access 1 month"
# CSS و جاوا اسکریپت برای یک هفته
ExpiresByType text/css "access 1 week"
ExpiresByType application/javascript "access 1 week"
</IfModule>

سوالات متداول پیرامون ترفندهای .htaccess وردپرس

فایل .htaccess دقیقاً کجاست و چرا نمی‌توانم آن را پیدا کنم؟

این فایل در دایرکتوری ریشه (Root Directory) نصب وردپرس شما (معمولاً public_html یا www) قرار دارد. دلیل پیدا نکردن آن این است که .htaccess یک فایل مخفی است (چون نامش با نقطه شروع می‌شود). برای مشاهده، باید گزینه نمایش فایل‌های مخفی (Show Hidden Files) را در File Manager هاست یا برنامه FTP خود فعال کنید.

در صورت ایجاد خطا هنگام ویرایش .htaccess، چه کار کنم؟

یک خطای کد در این فایل می‌تواند باعث خطای ۵۰۰ سرور داخلی و از دسترس خارج شدن سایت شود. برای رفع فوری، نام فایل را به چیزی مثل .htaccess_old تغییر دهید. سپس به تنظیمات » پیوندهای یکتا در پیشخوان وردپرس رفته و بدون هیچ تغییری، روی ذخیره تغییرات کلیک کنید تا وردپرس یک فایل .htaccess استاندارد جدید بسازد.

کدهای ترفندها را در کجای فایل .htaccess قرار دهم؟

شما نباید کدهای پیش‌فرض وردپرس را که مابین خطوط # BEGIN WordPress و # END WordPress قرار دارند، ویرایش کنید. محل صحیح: تمام کدهای سفارشی (مانند ترفندهای امنیتی، GZIP، و ریدایرکت‌ها) را باید بالای # BEGIN WordPress یا پایین # END WordPress قرار دهید.

برای امنیت، چرا باید اجرای PHP را در پوشه آپلودها غیرفعال کنم؟

پوشه آپلودها (wp-content/uploads) نباید حاوی فایل‌های اجرایی باشد. با قرار دادن کد زیر در یک فایل .htaccess جدید داخل همان پوشه آپلودها، از اجرای کدهای PHP مخربی که ممکن است توسط هکرها آپلود شوند، جلوگیری می‌کنید و یک لایه امنیتی مهم اضافه می‌کنید. deny from all

سایت آموزشی بسازید: قالب های آموزش آنلاین وردپرس

نتیجه گیری

فایل .htaccess ابزاری بی‌بدیل و فوق‌العاده قدرتمند است که به مدیران وب‌سایت وردپرسی امکان می‌دهد تا در سطح سرور، قوانین دلخواه خود را پیاده‌سازی کنند. همان‌طور که دیدیم، از طریق چند خط کد ساده می‌توان اقدامات مهمی در جهت حفظ امنیت فایل‌های حیاتی مانند wp-config.php، افزایش سرعت بارگذاری از طریق فعال‌سازی فشرده‌سازی GZIP و کش مرورگر، و بهبود ساختار آدرس‌دهی (URL) با استفاده از ریدایرکت‌های ۳۰۱ و HTTPS اجباری انجام داد.

با این حال، به یاد داشته باشید که قدرت زیاد، مسئولیت زیادی به همراه دارد. هرگونه اشتباه در سینتکس یا جایگذاری نادرست کدها در این فایل می‌تواند باعث از کار افتادن کامل وب‌سایت شود. بنابراین، همواره توصیه می‌شود قبل از اعمال هر ترفندی، یک نسخه پشتیبان از فایل .htaccess تهیه کنید و کدها را در فضایی خارج از خطوط # BEGIN WordPress و # END WordPress قرار دهید. با تسلط بر ترفندهای ارائه‌شده، شما اکنون یک گام جلوتر از سایرین هستید و می‌توانید سایت وردپرسی خود را به ماشینی امن، سریع و بهینه تبدیل کنید.

نظراتمقاله

سلیم احمدی

عالی بود منتظر بعدی هستیم

بیشتر بخوانید ازاین نویسنده