آموزش بهینه کردن وب...
 
آگاه‌سازی‌ها
پاک‌کردن همه

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


ارسال‌: 3594
Admin
شروع کننده موضوع
(@admin)
عضو
عضو شده: 10 سال قبل

آموزش بهینه کردن وب سایت با استفاده از htaccess :

کد:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.html HTTP/
RewriteRule ^index.html$ http://www.yoursite.com/ [R=301,L]
توضیح: همه میدونیم و گوگل هم گفته با زبون خودش که x.com/index.html با x.com فرق داره. هرچند محتوا یکی باشه اما duplicate content یا محتوای یکسان محسوب میشن و خیلی خیلی بده! این دستور ایندکس هاتونو به بدون ایندکس تبدیل می کنه.

کد:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
RewriteRule ^index.php$  http://www.yoursite.com/  [R=301,L]

توضیح: این دستورم مثل بالاییه فقط زمانی ازش استفاده کنید که ایندکس.php رو به ایندکس.html تبدیل کردید. البته میتونه .asp هم باشه یا هرچی دیگه فقط در خط دومش .php رو تغییر بدید به اونی که میخواید.

کد:
RewriteCond %{HTTP_HOST} ^yoursite.com$
RewriteRule (.*) http://www.yoursite.com/$1 [R=301,L]
توضیح: انتقال خودکار آدرس های بدون www به با www که باز بحث محتوای یکسان در میانه.

کد:
RewriteRule ^lyrics/([0-9]+)/(S+)/(S+).html$ http://www.yoursite.com/lyric/$1/$2/$3.html [R=301,L]
توضیح: گاهی پیش میاد تو برنامه ای که می نویسیم چون همه چی از اول صحیح نیست و به مرور کامل و درست میشه ، ممکنه تصمیم بگیریم آدرس هارو عوض کنیم طوری که فقط یک عبارت ثابت تغییر می کنه. مثل کد بالا lyrics به lyric . اینجا بجای اینکه گوگل وبمستر به ما بگه صفحات فلان (فرض کن بالای 100 تاست) دارای خطای 404 هستند و ما از request removal برای حذف اونا از نتایج گوگل استفاده کنیم ، میایم و از کد بالا استفاده می کنیم و اون آدرس هارو ریدارکت می کنم به صحیحش. خود گوگل هم میگه قبل از اینکه از request removal استفاده کنید باید چند نکته رو بدونید. یکیش همین برگشت داده شدن خطای 404 هست. اگر اینطوری بود ، میتونید چند کار کنید. یا محتواش رو بسازید یا حذفش کنید یا ریدایرکت کنید به آدرس تازه تر. من ترجیح میدم اینگونه آدرس هامو ریدایرکت کنم چون مهم هستند (فرض کن آدرس مطالب سایت هستند) فقط توجه داشته باشید که عبارات منظمی که من نوشتم یک نمونه هست و شما متناسب با نیاز خودتون تغییر بدید

کد:
RewriteRule ^suggest$ pages/suggest.php [L]
توضیح: فرض کن یه برنامه داری که یک فایل داره در پوشه pages به نام suggest.php که شما می خواید اون رو بدون پسوند و به نام دیگری ثبت کنید (طوری که هم اون قابل دسترسی باشه و هم این یکی) میتونید از کد بالا استفاده کنید. این رو پیشنهاد می کنم برای آدرس های خاص که طرفدار ندارن مثل صفحه درباره ما ، تماس با ما ، بیشتر بدانید و این دسته از صفحات از کد بالا استفاده کنید یعنی بدون پسوند. البته فراموش نشه اگر لینکش کردید در صفحه حتماً از خصیصه rel با مقدار nofollow براش استفاده کنید به دلایلی که اینجا جاش نیست ولی هرکی خواست میگم.
در ضمن: اگر نقشه سایت یا همون sitemap دارید بهتره با پسوند .xml و نام sitemap ساخته شده باشه که میتونید باز از کد بالا برای ساختن استفاده کنید. من براتون می نویسم:
کد:
RewriteRule ^sitemap.xml$ pages/sitemap.php [L]

Charset پیش فرض رو بهتره با htaccess هم معلوم کنید چون اگر اینکارو نکنید ، گاهی پیش میاد صفحه ای دارای هیچ کاراکترستی نیست و وقتی بخواید validate کنید مثلاً توی w3.org اونوقت یکی از خطا ها همین خواهد بود.
کد:
AddDefaultCharset UTF-8

کد:
RewriteRule ^lyric/([0-9]+)/(S+)/(S+).html$ index.php?id=$1&artist=$2&song=$3
توضیح: برای مطالب همیشه ی خدا از پسوند .html استفاده کنید و بهتره اون رو به بهترین نحو ممکن بسازید. مثلاً تو برنامه ی من ، اول که نام lyric نشون میده این متن ترانه هست و بعد آیدی متن ترانه و بعدش نام خواننده و بعدش نام ترانه.html هست. خب مسلماً اگر کسی بخواد متن ترانه ای رو جستجو کنه ، یا نام خواننده رو وارد می کنه یا نام ترانه که من هر دوش رو در آدرس دارم و دومین چیزی که کاربر پس از جستجو کردن میبینه آدرس نتیجه هست و اگر همخونی داشته باشه متوجه میشه این نتیجه هرزنامه نیست و میشه بهش اعتماد کرد و ادامش...

کد:
DirectoryIndex index.php
توضیح: به طور پیشفرض index ها فایل صفحه خانگی هستند اما بهتره شما هم مشخص کنید (دلیلش رو نمیدونم ولی کار از محکم کاری عیب نمی کنه:coolSmile البته اگر خواستید پیشفرض رو تغییر بدید دیگه از این یه خط کد میتونید استفاده کنید.

کد:
AddType application/x-httpd-php .htm .html
توضیح: با این دستور تمام فایل های php رو به پسوند .htm یا .html تبدیل می کنیم البته نه اینکه خود به خود تبدیل بشن! قابل شناسایی هستند.

اشتراک: