htaccess وردپرس

آموزش حرفه‌ای htaccess وردپرس (افزایش سرعت + امنیت + رفع خطا)

اگر بخوام خیلی ساده بگم: htaccess مغز کنترل رفتار سایت روی سرور Apache هست. هر درخواستی که به سایتت میاد، قبل از اینکه وردپرس اجرا بشه، اول از این فایل رد میشه. یعنی: لینک‌ها چطور نمایش داده بشن، چه چیزهایی بلاک بشن، سرعت سایت چطور بهینه بشه و همه اینا از اینجا کنترل میشه؛ تو این مقاله بصورت کامل با فایل htaccess وردپرس آشنا میشیم...

فایل htaccess وردپرس چیست؟

اگر بخوام خیلی ساده بگم:

htaccess مغز کنترل رفتار سایت روی سرور Apache هست.

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

یعنی:

لینک‌ها چطور نمایش داده بشن
چه چیزهایی بلاک بشن
سرعت سایت چطور بهینه بشه

همه اینا از اینجا کنترل میشه.

چرا htaccess برای سئو و سرعت سایت حیاتیه؟

اگر htaccess درست تنظیم نشده باشه:

لینک‌ها 404 میشن
صفحات دیر لود میشن
ریدایرکت‌ها اشتباه میشن
حتی ممکنه گوگل بعضی صفحات رو ایندکس نکنه

تجربه واقعی:
روی یه سایت ووکامرسی، فقط با اضافه کردن کش و gzip داخل htaccess، زمان لود از 4.2 ثانیه رسید به 3.5 ثانیه
(بدون تغییر هاست!)

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

کد پیش‌فرض htaccess وردپرس

کد استاندارد

# 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

این کد دقیقاً چه کار می‌کند؟

بدون پیچیدگی:

اگر فایل واقعی وجود داشت → همونو لود کن
اگر نبود → بده به وردپرس (index.php)

همین باعث میشه لینک‌های سئو فرندلی کار کنن

تنظیمات حرفه‌ای htaccess برای افزایش سرعت سایت

فعال کردن کش مرورگر

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
</IfModule>

باعث میشه فایل‌ها دوباره دانلود نشن → سرعت بیشتر

فعال کردن فشرده‌سازی Gzip

AddOutputFilterByType DEFLATE text/html text/css text/javascript

تجربه واقعی:
روی یه پروژه المنتوری، حجم صفحه با فعال کردنش کمتر شد.

افزایش امنیت سایت با htaccess

جلوگیری از دسترسی به wp-config

<Files wp-config.php>
order allow,deny
deny from all
</Files>

بستن دسترسی به پوشه‌های حساس

Options -Indexes

اگر کسی لینک پوشه رو بزنه، لیست فایل‌ها نمایش داده نمیشه همین باعث ارتقا و افزایش امنیت وبسایت هم میشه.

ریدایرکت اصولی (خیلی مهم برای سئو)

ریدایرکت http به https

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

این کار مستقیم روی سئو تاثیر داره.

htaccess وردپرس
htaccess وردپرس

حل مشکل لود نشدن سایت با htaccess

این یکیو جدی بگیر اگر کدهای این فایل مشکل داشته باشه ممکنه سایت کلا بالا نیاد یا خطای ۵۰۰ بده و کل سایت بره روی هوا؛ اگر اینجوری شد صبور باش و مطابق راه حل زیر عمل کن.

راه‌حل سریع

اگر سایت از دسترس خارج شد

برو File Manager
htaccess رو rename کن
وردپرس خودش یکی جدید می‌سازه یا میتونی اون کد استاندارد فایل htaccess وردپرس رو کپی کنی و تو فایل htaccess وردپرس خودت پیستش کنی.

90٪ مواقع سایت برمی‌گرده و مشکل فایل htaccess وردپرس حل میشه.

فایل htaccess وردپرس
فایل htaccess وردپرس

اشتباهات رایج htaccess وردپرس که خیلی‌ها مرتکب میشن

چندبار RewriteEngine On

باعث تداخل و کندی میشه

استفاده از کدهای آماده بدون فهم

خیلی‌ها کد کپی می‌کنن → سایت می‌خوابه یا وبسایت از دسترس خارج میشه. اگر اینجوری شد از کد فایل htaccess پیشفرض استفاده کنید و جایگزینش کنید. مشکل حل میشه.

تداخل با افزونه‌ها

اگر از اینا استفاده می‌کنی:

کش (LiteSpeed / WP Rocket)
امنیت (All In One Security)
المنتور

ممکنه خودشون htaccess رو تغییر بدن؛ اگر htaccess رو تغییر دادی و دیدی هر چی تغییر میدی باز خودش خود به خود تغییر میکنه بدون زیر سر این افزونه هاست.

htaccess یا httpd.conf؟ کدوم بهتره؟

واقعیت فنی:

httpd.conf سریع‌تره (سطح سرور)
htaccess کندتره ولی در دسترس‌تره

اگر هاست اشتراکی داری → فقط htaccess

نسخه پیشنهادی htaccess وردپرس (بهینه برای وردپرس + ووکامرس)

این یه نسخه امن و کاربردیه:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

# Gzip
AddOutputFilterByType DEFLATE text/html text/css text/javascript

# Cache
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 1 month"
ExpiresByType image/jpg "access plus 1 year"
</IfModule>

# Security
Options -Indexes

<Files wp-config.php>
deny from all
</Files>

جمع‌بندی

اگر بخوام خلاصه بگم:

htaccess روی سرعت، امنیت و سئو تاثیر مستقیم داره
کوچک‌ترین اشتباه می‌تونه سایتو بخوابونه
ولی اگر درست استفاده کنی، سایتت چند لول حرفه‌ای‌تر میشه.

 

سوالات پرتکرار

آیا حذف htaccess وردپرس خطرناکه؟

بله، لینک‌ها از کار می‌افتن

آیا وردپرس خودش htaccess می‌سازه؟

بله، با تغییر permalink

آیا htaccess روی Nginx کار می‌کند؟

نه، فقط Apache

اشتراک گذاری

تصویر حمید امیدی

حمید امیدی

حمید امیدی هستم ؛ فارغ التحصیل رشته مهندسی صنایع که از سال 1386 فعالیت فریلنسری خودم رو در عرصه تجارت الکترونیک شروع کردم ! تو اوج بحران کرونا بود که تصمیم گرفتم یه وب سایت جمع و جور بزنم و تجربیات و خدماتی که به خوبی بلدم رو به همگان عرضه کنم.

پست های مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

14 − دو =

اطلاعیه

سلام دوست خوب من؛ ما داریم وبسایت بازطراحی میکنیم و دستی به سر و گوش وبسایتمون میکشیم. اگر تو عملکرد سایت اختلالی بود یا سفارش طراحی وبسایت – درخواست پشتیبانی فنی و خدمات وردپرس نیاز داشتید کافیه تو تلگرام به ایدی زیر بهم پیام بدی.