مشکل سئو و سرعت صفحات در جوملا یکی از قدیمی ترین چالش ها در جوملاست که تقریبا همه وبمستران با آن درگیر هستند اما امروز می خواهیم چند تا از مهم ترین کارهای افزایش سئو و سرعت صفحات جوملا را به شما آموزش دهیم

این روش ها بصورت علمی و تجربی هستند و انجام هر یک ممکن است در یک نمونه کاملا جواب دهد و در یک سایت دیگر تاثیر چندانی نداشته باشد اما در نظر داشته باشید که انجام همه این موارد با هم می تواند یک نتیجه بسیار خوب و راضی کننده را داشته باشد.

 تاثیر سرعت وب سایت شما ممکن است با توجه به موقعیت مکانی ارائه دهنده سرویس اینترنت تان متفاوت باشد.

 سرعت اینترنت هر شخص هم در فراخوانی سایت تاثیر به سزایی خواهد داشت ، این جمله به این معنی می باشد که سرعت اینترنت شما بخش عمده ای از بارگزاری یک وب سایت را به دوش می کشد.

 موراد زیر بر پایه جوملا نسخه 3.9.x می باشد و ممکن است بعضی راه حل ها در نسخه های پایین کارایی نداشته باشد.

 

 یک) فعال سازی سیستم کش جوملا

 جوملا یک سیستم کش فوق العاده برای افزایش سرعت صفحات خود دارد که برای فعال سازی آن می توانید از منوی سیستم » تنظیمات کلی » تب سیستم  وارد شوید و گزینه ی سیستم ذخیره ساز را روی "روشن - ذخیره سازی مدرن" تنظیم کنید.

 با این کار جوملا ماژول ها و پلاگین ها و حتی کامپوننت ها ، وقتی خروجی HTML داشته باشند درون پوشه Cache خودش ذخیره می کند تا نیازی به فراخوانی فایل های هسته هر یک نباشد.

 این گزینه را فعال کنید تا شاهد افزایش چند برابر سرعت سایت تان باشد.

 دو) کم حجم کردن تصاویر صفحات (مخصوصا صفحه اصلی)

 انتظار برای لود و فراخوانی تصاویر یکی از پر چالش ترین گزینه های سرعت صفحات وب سایت ها می باشد که وبمستران باید به این مورد خیلی توجه کنند تا اگر عکسی قرار است در سایت قرار داده شود باید اندازه کاملا استاندارد قرار داده شود تا بزرگ تر از اندازه div مادر خود نشود.

 دو سایت زیر از بهترین سایت های کم حجم کردن تصاویر بصورت آنلاین می باشند :

 reduceimages

 compressjpeg

 سه) بهینه کردن .htaccess برای کش فایل های اسکریپت ، CSS و تصاویر در مرورگر

 فایل .htaccess یکی از پر کاربرد ترین فایل ها در هر سایت است که شما با کمک آن می توانید سئو و امنیت را تا حد بسیار زیادی افزایش یا حتی برعکس کاهش دهید؛ کد زیر برای کش کردن فایل JS ، CSS ، تصاویر ، ویدیو ، فونت ها و ... با پسوندهای مختلف است که می توانید به انتهای فایل .htaccess اضافه کنید :

## BEGIN EXPIRES CACHING ##
<IfModule mod_expires.c>
  ExpiresActive on
  ExpiresDefault "access plus 1 year"
  ExpiresByType text/cache-manifest "access plus 0 seconds"

# Your document html
  ExpiresByType text/html "access plus 0 seconds"

# Data
  ExpiresByType text/xml "access plus 0 seconds"
  ExpiresByType application/xml "access plus 0 seconds"
  ExpiresByType application/json "access plus 0 seconds"

# Feed
  ExpiresByType application/rss+xml "access plus 1 hour"
  ExpiresByType application/atom+xml "access plus 1 hour"

# Favicon (cannot be renamed)
  ExpiresByType image/x-icon "access plus 1 week"

# Media: images, video, audio
  ExpiresByType image/gif "access plus 1 year"
  ExpiresByType image/png "access plus 1 year"
  ExpiresByType image/jpg "access plus 1 year"
  ExpiresByType image/jpeg "access plus 1 year"
  ExpiresByType video/ogg "access plus 1 year"
  ExpiresByType audio/ogg "access plus 1 year"
  ExpiresByType video/mp4 "access plus 1 year"
  ExpiresByType video/webm "access plus 1 year"
  ExpiresByType video/webp "access plus 1 year"

# HTC files (css3pie)
  ExpiresByType text/x-component "access plus 1 year"

# Webfonts
  ExpiresByType application/font-ttf "access plus 1 year"
  ExpiresByType font/opentype "access plus 1 year"
  ExpiresByType application/font-woff "access plus 1 year"
  ExpiresByType application/font-woff2 "access plus 1 year"
  ExpiresByType image/svg+xml "access plus 1 year"
  ExpiresByType application/vnd.ms-fontobject "access plus 1 year"

# CSS and JavaScript
  ExpiresByType text/css "access plus 1 year"
  ExpiresByType application/javascript "access plus 1 year"

  <IfModule mod_headers.c>
    Header append Cache-Control "public"
    <FilesMatch ".(js|css|xml|gz|html)$">
       Header append Vary: Accept-Encoding
    </FilesMatch>
  </IfModule>

</IfModule>

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/font
AddOutputFilterByType DEFLATE application/font-truetype
AddOutputFilterByType DEFLATE application/font-ttf
AddOutputFilterByType DEFLATE application/font-otf
AddOutputFilterByType DEFLATE application/font-opentype
AddOutputFilterByType DEFLATE application/font-woff
AddOutputFilterByType DEFLATE application/font-woff2
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/woff
AddOutputFilterByType DEFLATE font/woff2
# For Olders Browsers Which Can't Handle Compression
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
## END EXPIRES CACHING ##

 چهار) فعال کردن GZip جوملا

 در ابتدا بیایید اصلا بپرسیم GZip چیست ؟

 Gzip یک روش فشرده سازی (Compression) فایل ها (مانند فایل های JS یا CSS) جهت انتقال و پردازش سریعتر در شبکه است؛ در واقع اگر به زبان ساده تر بخوایم بگوییم می توانیم نمونه آن را در وبندوز نرم افزاری مثل RAR مثال بزنیم اما با این تفاوت که GZip همان کار RAR را در وب انجام می دهد؛ فایل های JS یا CSS یا HTML رو فشرده می کند تا کاربر برای دریافت آنها از سرعت بیشتر برای دریافت فایل ها از سرور شما داشته باشد و در نتیجه سایت شما را سریع تر مشاهده کند.

 ویژگی GZip باید در سرور شما فعال باشد تا با فعال سازی آن جوملا بتواند از آن کار کند ، که البته اکثر هاست های اشتراکی به دلیل استفاده شدن از منابع سرور این گزینه را خاموش می کنند.

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

 جهت فعال سازی GZip در جوملا ابتدا از مسیر منوی سیستم » تنظیمات کلی » تب سرور وارد شوید و گزینه فشرده سازی GZip را روی بلی قرار دهید.

 سپس وارد فایل .htaccess سایت خود شوید و کد زیر را در انتها فایل قرار دهید :

<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 ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

 جهت آموزش کاملا فعال سازی GZip در انواع سرورهای مختلف می تونید از آموزش زیر کمک بگیرید :

 آموزش فعال سازی GZip به روش های مختلف در سرورهای متفاوت

آموزش فعال سازی GZip در سی پنل (Cpanel)

 پنج) بروزرسانی افزونه ها و جوملا به آخرین نسخه ها

 قطعا آخرین نسخه از افزونه و خود جوملا می تونه کمکی برای بهینه بودن وب سایت شما بکنه چرا که در هر آپدیت ممکنه مشکلات سئو و سرعت و ... بر طرف شود فلذا جوملای خود را همیشه بروز نگه دارد تا از نظر سئو و سرعت و همچنین امنیت خیال تان راحت باشد.

شش) پلاگین JCH Optimize 

 این پلاگین یکی از معروف ترین پلاگین های بهینه ساز صفحات و فایل ها در جوملا بوده است که به شخصه معجزه ی این افزونه رو مشاهده کردم و بهش ایمان دارم (البته بعضی سایت ها هم نمیشه ازش استفاده کرد اما خیلی کم پیش میاد).

 این افزونه وظیفه فشرده سازی فایل های JS ، CSS ، تصاویر درون صفحات ، کش خروجی HTML صفحات و ... را بر عهده دارد که اگر بخواهیم از امکانات این افزونه بگیم باید خط های طولانی رو تایپ کنم براتون؛

 بعد از نصب این افزونه وقتی وارد تنظیمات آن شوید می تونید تعیین کنید میزان درجه فشرده سازی به چه مقدار باشد

 یکی از کارهای تاثیر گزار این سیستم این است که تمام فایل های JS را در یک فایل جمع آوری می کند و بجای اینکه به ازای هر فایل یک کانکشن زده بشه به سرور (که جمعا ممکنه 10 تا کانکشن یا حتی بیشتر به سرور زده بشه) ، برای فراخوانی JS فقط یک کانکش به تنهایی زده خواهد شد و همه JS های سایت فراخوانی می شود؛ همین اعمال برای فایل های CSS هم انجام خواهد شد که تاثیر بسزایی خواهد داشت.

 علاوه بر فایل های JS و CSS این سیستم کل خروجی HTML صفحات را هم در فایل PHP کش می کند تا هر بار نیاز به فراخوانی مجدد محتوا از هسته جوملا و دیتابیس نباشد.

 این سیستم را می تونید از لینک زیر دریافت کنید :

پلاگین بهینه ساز حرفه ای JCH Optimize برای جوملا

 افزونه های زیر هم می تونند کمک بزرگی برای افزایش سرعت و سئو سایت باشند :

  •  Jbetolo - یک افزونه شبیه به JCH Optimize و در بعضی موارد حتی قدرتمندتر و پر امکانات تر هم ظاهر شده است
  •  JotCache - پهبود سیستم کش هسته جوملا
  •  Cache Cleaner - پاکسازی کش ذخیره شده در جوملا از پنل مدیریت

هفت) انتخاب یک هاست سریع و مناسب

 میزبان هاست شما تاثیر فوق العاده ای در عملکرد سایت شما در سرعت خواهد داشت به عنوان مثال سروری که اولا اشتراکی نباشد ، ثانیا از امکاناتی مثل LightSpeed استفاده کند ، ثالثا از رم و Core های بالایی برخوردار باشد قطعا در سرعت تاثیر خواهد داشت

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

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

 هشت) تست و خطایابی مشکلات سایت با استفاده از سایت های کمکی

 بعضی از سایت ها در اینترنت وجود دارند که می توانند در پیدا کردن مشکلات جزیی و کلی سایت تان به شما کمک کنند این سایت ها با آنالیز دقیق سایت شما موارد ریز و درشت را ذخیره کرده و به شما نشان می دهند و شما با دیدن آنها و با کمک همین سایت ها که چگونه این مشکلات را بر طرف کنید ، می توانید مشکلات را حل کرده تا سرعت و سئو بهتری را نسبت به قبل داشته باشید.

 از جمله این سایت ها می توان به GTMetrix و Google PageSpeed Insights اشاره کرد. (برای استفاده از Google PageSpeed Insights باید با فیلترشکن وارد شوید)