.htaccess: الدليل الشامل لتحسين SEO

في SEO، يجب أن تتعلم كيفية إيصال ما تريده إلى المطورين وإدارة توجيهات معينة لضمان تنفيذ المشروع بنجاح.
ومع ذلك، تدير العديد من المواقع التوجيهات الأكثر شيوعًا من خلال ملف .htaccess. إذا كنت ترغب في معرفة المزيد عن هذا الملف وتعلّم أفضل الحيل لتحسينه لمحركات البحث، فتابع القراءة.
ما هو ملف .htaccess؟
ملف .htaccess هو اختصار لـ Hypertext Access. إنه ملف الوصول إلى النص التشعبي الذي اشتُق اسمه من ملف تكوين الدليل في خوادم Apache، ويُستخدم لتجميع التوجيهات الرئيسية للخادم.
يبدأ اسمه بنقطة "." بسبب أنظمة Unix، حيث تُعرَّف هذه الملفات على أنها ملفات مخفية. لذلك، يجب الانتباه عند إعادة تسميتها في Windows لتجنب المشاكل.
يُنشأ هذا الملف محليًا ويُحفظ بصيغة نصية (.txt) — وليس بصيغة Word مطلقًا — ثم يُرفع إلى الخادم عبر FTP ويُوضع في المجلد الذي يجب استخدامه فيه.
كيف يعمل؟
يجب مراعاة سلوك هذا الملف وجميع خصائصه:
- يكون سلوك هذا الملف هرميًا عبر شجرة دليل الموقع بالكامل، مما يعني أنه إذا كان الملف موجودًا في الدليل الجذر للموقع، فإن التوجيهات تؤثر على جميع المجلدات. لذلك، لا يوجد ملف htaccess واحد، بل يمكن أن يوجد واحد لكل دليل عند الحاجة.
- في كل مرة يصل فيها مستخدم إلى صفحة ويب، يفحص الخادم هذه المستندات والتوجيهات الموجودة فيها. لذا فمن الضروري أن يكون مُكوَّنًا بشكل مثالي وخاليًا من الأخطاء لتجنب الحوادث.
- قبل إجراء أي تغيير، يجب العمل دائمًا على نسخة من مستند .htaccess، لأن التحرير الخاطئ قد يسبب مشاكل لاحقًا.
- تبدأ التعليقات في الملف دائمًا بـ علامة الشباك "#".
كيف نُحسِّن ملف htaccess لـ SEO؟
من خلال توجيهات معينة، يمكننا تحديد ما نطلبه من الخادم، مما يسمح لنا بتحسين مجالات متنوعة. في htaccess يمكننا القيام بما يلي:
إعادة توجيه نطاق فرعي إلى مجلد فرعي
مفيد جدًا عندما نحتاج إلى إزالة نطاق فرعي وجعله جزءًا من مجلد ضمن النطاق. مثال: إعادة توجيه hola.example.com إلى www.example.com/hola.
إعادة توجيه 301 و 302
يحتوي هذا الملف على الـ URL القديم والـ URL المراد إعادة التوجيه إليه.
File redirection
Redirect /old-page.html https://www.new-page.html
الحماية بكلمة مرور
يمكن حماية مناطق معينة من الموقع بكلمة مرور:
Simple password protection via .htaccess
AuthType Basic AuthName "Protected area" AuthUserFile /<absolute path to password file>/.htpasswd AuthPGAuthoritative Off require user User1 User2 User3
التحكم في الوصول إلى المجلدات
يمكن من خلال التوجيهات إدارة وصول جميع المستخدمين (رفض أو سماح) إلى مجلدات معينة، أو من خلال عناوين IP محددة:
File for IP access regulation
Order deny,allow Deny from .aol.com Deny from 192.168 Allow from 192.168.220.102
تحديد النطاق الرئيسي
استخدام قاعدة إعادة توجيه 301 لـ domain.com أو www.domain.com
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.
RewriteCond %{HTTPS}s ^on(s)|off
RewriteCond http%1://%{HTTP_HOST} ^(https?://)(www.)?(.+)$
RewriteRule ^ %1%3%{REQUEST_URI} [R=301,L]
إعادة التوجيه إلى الإصدار الآمن
إعادة توجيه الموقع إلى البروتوكول الآمن:
httpsRewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
تغيير الصفحة الافتراضية
في بعض المواقع، يكون اسم الصفحة الافتراضية /index، وهو ليس ودودًا لـ SEO. يمكن تغييره حتى لا يظهر.
DirectoryIndex example-page.php
زيادة حد ذاكرة PHP
لاستخدام تطبيقات PHP حدود معينة، لأن السكربتات تستهلك ذاكرة الخادم. يمكن زيادة السعة باستخدام الأمر التالي:
PHP Memory Limit
php_value memory_limit 128M
تغيير المنطقة الزمنية للخادم
يمكن ضبط المنطقة الزمنية الصحيحة بالأمر التالي:
#Set the default time zone SetEnv TZ America / Washington
ترميز المستندات
يمكن تحديد نوع الترميز لكل نوع من المستندات. في حالة ترميز UTF-8، يجب إدخال الأمر التالي:
Specify character encoding
AddDefaultCharset utf-8
فرض التخزين المؤقت للموقع
يساعد تغيير عدد ثواني تكرار التخزين المؤقت على تسريع تحميل الصفحة عند زيارة المستخدم، لأن معظم العناصر غير المُعدَّلة ستكون مخزنة مؤقتًا. يساعد هذا بشكل أساسي على تحسين تحميل الصور.
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif A432000 ExpiresByType image/jpg A432000 ExpiresByType image/jpeg A432000 ExpiresByType image/png A432000 ExpiresByType image/ico A432000 ExpiresByType image/bmp A432000 ExpiresByType text/css A432000 ExpiresByType text/javascript A432000 ExpiresByType application/javascript A432000 ExpiresByType application/x-javascript A432000 </ifmodule>
تخصيص صفحة خطأ 404
عندما يصل المستخدم إلى صفحة غير موجودة ويحدث هذا الخطأ، يمكن لملف htaccess عرض صفحة خطأ 404 محسّنة. هذه الصفحات من أكثر الصفحات إهمالًا، ويمكن أن تُحدث الفرق بين بقاء المستخدم أو مغادرته.
Custom error message at local location
ErrorDocument 404 /access-path/404.html الأمان
من خلال هذا الملف، يمكن حظر وصول bots سبام معينة:
RewriteEngine on
RewriteCond %{HTTP_REFERER} buttons-for-website.com [NC,OR]
RewriteCond %{HTTP_REFERER} darodar.com [NC,OR]
Hotlinking
يمكن أيضًا حظر التقنيات غير الأخلاقية مثل hotlinking: تتضمن هذه التقنية عرض محتوى مستضاف على خادمنا في موقع آخر، مما يجعل خادمنا يتحمل عبء عرض هذا المحتوى (عادةً فيديوهات أو صور) حتى لو كان الزائر في موقع آخر.
Prevent hotlinking
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://your-domain/.*$ [NC] [OR] RewriteCond %{HTTP_REFERER} !^http://www.your-domain/.*$ [NC] [OR] RewriteRule .*.(gif|GIF|jpg|JPG|bmp|BMP|wav|mp3|wmv|avi|mpeg)$ - [F]
إنشاء URLs ودودة
يمكن إزالة المعاملات الافتراضية من الـ URL وإخفاؤها لتبدو أكثر ودًا، مما يساعد على ترتيبها بشكل أفضل في نتائج البحث. مثال: من الأفضل أن تظهر https://www.example.com/index.php?parameter=blog كـ https://www.example.com/blog.
RewriteEngine On
RewriteRule ^shop/([^/])/([^/])/$ /index.php?category=$1&product=$2 [L]
ضغط الملفات لتحسين التصفح
من خلال قواعد htaccess، يمكن ضغط ملفات js و css و html والملفات النصية للموقع لتقليل المساحة التي تشغلها أثناء التحميل. يتيح هذا لمستخدمي الجوال استهلاك بيانات أقل أثناء التصفح. لنتذكر أهمية WPO في SEO!
<ifmodule> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript </ifmodule>
ضغط Gzip
ضغط الملفات على الخادم لتحقيق تنزيلات أسرع وتحسين جودة التصفح.
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSIE !no-gzip !gzip-only-text/html
منع فهرسة الملفات
على الرغم من حظر URLs أو مجلدات معينة في ملف robots.txt، قد يستمر Google في فهرستها أحيانًا. بإدخال الأمر التالي، يمكن تحقيق حظر كامل:
<Files ~ «.pdf$»>
Header set X-Robots-Tag «noindex, follow»
</Files>
تفعيل Keep-Alive
عند تفعيلها، يمكن الحفاظ على اتصال مستمر بالخادم بدلًا من بدء الاتصال في كل مرة تُحمَّل فيها الصفحة. من خلال keep-alive نضمن تنزيل الموقع بسرعة.
<ifModule mod_headers.c> Header set Connection keep-alive </ifModule> الآن وقد رأيت كل ما يمكن فعله بملف htaccess، يمكنك تنفيذه بحرية. هذه القواعد صالحة سواء كنت تستخدم WordPress كنظام إدارة محتوى، أو كودك الخاص، أو نظامًا آخر.
إذا كان لديك مشروع WordPress، فستكون المهمة أبسط لأنه يمكنك تحرير ملف htaccess مباشرة من المحرر. ومع ذلك، فهذا ليس مجرد plugin بسيط، ومن السهل جدًا أن تُعطّل موقعك، فكن حذرًا جدًا! سنريك كيف.
تحرير ملف htaccess في WordPress
إذا كنت تستخدم WordPress، فنوصي بتثبيت plugin Rank Math الذي يسمح بالتحرير بسهولة وسرعة.
ما عليك سوى الانتقال إلى Rank Math > General Settings > Edit .htaccess.

تذكر أن تحرير ملف htaccess في WordPress أمر سهل للغاية، ولكن يجب توخي الحذر!
هل لا تزال لديك أسئلة؟ اترك تعليقًا وسنُجيب عليه بكل سرور!
مراجع:
- CDmon: معلومات حول ملف .htaccess واستخداماته - Computerhoy: ما هو .htaccess، ولماذا يُستخدم، والأكواد الأساسية - Ionos: 10 حيل لتكوين .htaccess يجب أن يعرفها الجميع - HelpOne: ما هو .htaccess؟ - Hostinger: ما هو ملف .htaccess؟
بقلم: David Kaufmann

قضيتُ السنوات العشر الأخيرة منشغلًا تمامًا بـ SEO — وبصراحة، لم أكن لأبدّل ذلك بأي شيء آخر.
تطوّرت مسيرتي إلى مستوى جديد عندما عملت أخصّائيَّ SEO أوّل في Chess.com — أحد أكثر 100 موقع زيارةً على الإنترنت بأكمله. العمل على هذا النطاق علّمني ما لم تعلّمه لي أي دورة أو شهادة.
من هذه التجربة، أسّستُ SEO Alive — وكالة للعلامات التجارية الجادّة بشأن النموّ العضوي. وبما أنّي لم أجد أداةً تُتقن العالَمَين الكلاسيكي وعصر الذكاء الاصطناعي، بنيتُ SEOcrawl. إن كنت تبحث عن شريك SEO خبير يعشق هذا المجال — يسعدني التواصل معك!
اكتشف المزيد من محتوى هذا الكاتب

