پروژه AMP چیست و نحوه فعالسازی آن در وردپرس

پروژه AMP چیست و نحوه فعالسازی آن در وردپرس

وب همواره در حال توسعه است و صاحبان کسب و کار برای ماندن در بالا‌ترین نتایج می‌بایست از جدید‌ترین تغییرات گوگل پیروی کنند و اگر هم پیروی نکنند باعث می‌شود که از قافله عقب بمانند. سرویس گوگل AMP ، به عنوان یک ابتکار عمل برای لود سریع صفحات وب در تلفن‌های همراه درحال حاضر نزدیک به یک‌سال است که توسط توسعه دهندگان درحال توسعه است. از آنجایی که درحال حاضر این متد با ارزش، ۶ ماهی است که با ثبات تر شده، بنابراین تصمیم گرفتیم که مقاله‌ای در این رابطه برایتان تهیه کنیم. در این مقاله با هم به نحوه فعالسازی AMP در وردپرس و همچنین مزایا و معایب AMP می‌پردازیم.

سرفصل‌های پست

  • 1 AMP چیست
    • 1.1 مزایای گوگل AMP
    • 1.2 معایب گوگل AMP
  • 2 تاثیر AMP در رتبه سئو سایت گوگل
  • 3 نحوه فعالسازی AMP در وردپرس
    • 3.1 افزونه‌های مخصوص گوگل AMP برای وردپرس :
  • 4 آموزش تنظیمات افزونه AMP For WP
    • 4.1 بخش General
    • 4.2 بخش Page Builder
    • 4.3 بخش Design
    • 4.4 بخش Single
    • 4.5 بخش Advertisient
    • 4.6 بخش AMP Menu
    • 4.7 بخش Social
    • 4.8 بخش SEO
    • 4.9 بخش Contact Form
    • 4.10 بخش Notifications
    • 4.11 بخش Comments
    • 4.12 بخش Advanced Settings
    • 4.13 بخش Extensions
  • 5 افزونه AMP مخصوص ووکامرس
  • 6 سئو گوگل AMP
  • 7 نحوه پیدا کردن و رفع ارور AMP
    • 7.1 خطای Not a valid AMP page در AMP
    • 7.2 مانیتورینگ گوگل AMP با New Relic
    • 7.3 فعالسازی AMP برای فایل‌های خارجی با کلودفلر
  • 8 در پایان

AMP چیست؟

AMP چیست سوالی هست که این روزها دوستان می‌پرسند، AMP مخفف عبارت Accelerated Mobile Pages یعنی لود سریع صفحات در تلفن همراه است گوگل پروژه AMP را در اکتبر سال ۲۰۱۵ رونمایی شد. پروژه متکی بر HTML AMP می‌باشد که یک چارچوب باز جدید بر‌مبنای فناوری‌های موجود در وب می‌باشد که حجم وب سایت‌ها هنگام لود شدن در توسط تلفن‌های هوشمند کاهش یابد. به طور خیلی خلاصه، باعث کاهش حجم صفحات طراحی سایت (طراحی سایت شرکتی، طراحی سایت فروشگاهی) شما در تلفن‌های همراه می‌شود.

David Besbris رهبر پروژه AMP گوگل می‌گوید:

From day one, a key focus for AMP has been speed.  It is arguably one of the most frustrating things about the mobile web — borne out by recent Google research that shows that 53% of people will leave a site that fails to load in three seconds or less. That’s the worst of all worlds for users, businesses, publishers, websites and the mobile web as a whole. — David Besbris, AMP project lead at Google

از روز اول، هدف ما از توسعه AMP افزایش سرعت سایت بوده است. مسلما یکی از بدترین چیز‌ها در موبایل سرعت پایین وب سایت ها می‌باشد – با توجه به تحقیق گوگل ۵۷ درصد کاربران اگر وب سایتی زیر ۳ ثانیه لود نشود، آن وب سایت را ترک می‌کنند. سرعت پایین در وب سایت‌ها هنگام لود در تلفن‌های هوشمند مشکلی جهانی برای تمامی کاربران، کسب و کار‌ها، ناشران و وب سایت‌ها درست کرده است.

با توجه به آخرین بررسی Akamai، مشخص می‌شود که هر دهم ثانیه هم مهم است. برای مثال اگر یک دهم ثانیه وب سایتی دیرتر لود شود برای مثال از ۲.۷ ثانیه به ۲.۸ ثانیه برسد، باعث می‌شود که نرخ تبدیل وب سایت ۲.۴ درصد کاهش یابد. (در وب سایت‌های بزرگ این رقم فاجعه است)

amp 1 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
پروژه-AMP

بسیاری از شرکت‌های بزرگ درطول این چند وقت از پروژه AMP گوگل حمایت کردند. از این شرکت‌ها می‌توانیم به اتوماتیک (توسعه دهنده وردپرس)، Reddit ، eBay ، Pinterest ، Washington Post ، Wired ، Gizmodo و غیره اشاره کرد. با توجه به گفته گوگل، فعالسازی این متد در ساخت سایت باعث می‌شود که ۴۴ درصد بازدید‌کنندگان منحصر به فرد ماهیانه و ۷۱ درصد بازدید‌های بازدیدکنندگان منحصر به فرد ماهیانه وب سایت شما افزایش یابد.

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

نشانه‌گذاری‌های ساختاری گوگل در نتایج جستجو باعث می‌شود که وب سایت شما برجسته تر نمایش یابد. برای مثال اسلاید‌های مقالات در نتایج جستجو بسیار زیبایی بخش می‌باشد.

amp 2 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
پروژه-AMP

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

amp 3 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
پروژه-AMP

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

مزایای گوگل AMP

  • پروژه AMP گوگل کاملا رایگان و متن باز است.
  • پروژه AMP گوگل می‌تواند سرعت لود وب سایت شما در تلفن‌های همراه را افزایش دهد و توجه داشته باشید که سرعت لود یکی از فاکتور‌های رتبه بندی وب سایت می‌باشد. توضیحات بیشتر درباره این موضوع را می‌توانید در مقاله gtmetrix چیست بخوانید.
  • قرار گیری بهتر در SERP ها (نتایج صفحات موتور‌های جستجو ، Search engine results page) با فعال‌سازی اسلاید مقالات برای افزایش نرخ کلیک. پس از فعال سازی AMP در یکی از وب سایت‌های معروف ، AMP باعث افزایش۲۰۰ درصدی نرخ کلیک یک وب سایت شده است که نتیجه این رشد باعث افزایش بازدید سایت هم نیز می‌شود.
  • پروژه AMP گوگل به عملکرد وب سایت بسیار کمک می‌کند، برای مثال نیازی به لود شدن فریم‌ورک‌های حجیم CSS وJS ندارد.
  • می‌تواند باعث افزایش نرخ تبدیل وب سایت شما شود.
  • با‌ توجه به پیشرفت هر روزه AMP ، به تازگی امکان اضافه کردن تبلیغات نیز به آن اضافه شده است که با‌توجه به آن می‌توانید از طریق Adsense برای خود در‌آمد داشته باشید.
  • به صورت خودکار تصاویر را فشرده سازی می‌کند. (تصاویر برای نمایش به فرمت WebP تبدیل می‌شوند)
  • AMP Lite باعث افزایش سرعت در اتصالات ضعیف می‌شود. گوگل می‌گوید که این تکنیک تا ۴۵ درصد وب سایت را نسبت به قبل فشرده تر می‌کند.

معایب گوگل AMP

  • به طور کلی گوگل AMP از فاکتور‌های رتبه بندی وب سایت نیست ولی ممکن است که در آینده جزو این فاکتور‌ها باشد. با توجه به این موضوع از نظر تاثیر گذاری روی رتبه وب سایت هم جز‌و مزایا و هم جزو معایب به حساب می‌آید.
  • اگر شما یک توسعه دهنده وب نباشید فعالسازی AMP در وب سایتتان کمی سخت است ولی خوشبختانه با تشکر از وردپرس این کار کمی آسان تر شده است و آن‌هایی که توسعه دهنده وب نیستند نیز با فعالسازی افزونه‌ها می‌توانند از امکانات AMP استفاده کنند. در ادامه به نحوه فعالسازی AMP در وردپرس نیز می‌پردازیم.
  • ممکن است که به نرخ تبدیل شما آسیب بزند یا نتیجه‌ای منفی برایتان به وجود آورد.
  • ممکن است که شما را نگران کند که پس از بهینه سازی چه بر سر وب سایتتان می‌آید؟
  • گزارشات مشکلات برای مثال صفحات ۴۰۴ در گوگل آنالیز نیز ثبت می‌شود.
  • بعضی‌ها در میزان مشارکت و میزان نرخ دفع کاربری (Bounce rate) دچار مشکل شدند.
  • از اسکریپت‌های ثالث و برنامه‌هایی استفاده می‌کنند که شاید هنوز توسط بعضی از مرورگر‌ها پشتیبانی نشوند.
  • در بعضی از مرورگر‌های قدیمی مانند Internet Explorer 11 پشتیبانی نمی‌شود. گوگل گفته است که در ۲ ورژن آخر بیشتر مرورگر‌های معروف مانند گوگل کروم، مازیلا فایرفاکس، اوپرا، اج و سافاری AMP پشتیبانی می‌شود.

تاثیر AMP در رتبه سایت گوگل

در فوریه ۲۰۱۷ ، گوگل پروژه AMP شروع به انتشار لینک مستقیم ناشران کرد که تا قبل از آن صفحات به صورت کش شده در گوگل بارگیری می‌شدند که برای سئو وب سایت کارآمد ولی برای رتبه بندی در وب سایت‌های رتبه‌بندی مانند Alexa مضر بود. همچنین برای شرکت‌ها برندینگ را با مشکل مواجه می‌کرد. خوشبختانه گوگل این را درک کرده و راه حلی برای آن ایجاد کرده است. در حال حاضر، وب سایت‌هایی که از AMP استفاده می‌کنند هنوز هم از لینک‌های گوگل برای نمایش محتویات وب سایت استفاده می‌کنند ولی در بالای صفحه AMP یک قسمت برای لینک وب سایت وجود دارد که هم به رتبه بندی کمک می‌کند و هم با کلیک بر روی آن وب سایت لود می‌شود. با‌ این حال، این کار گوگل روش عالی‌ برای افزایش رتبه وب سایتنیست ولی از هیچی بهتر است.

amp 4 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
پروژه-AMP

این هم یک نمونه از مشکلاتی که AMP در برندینگ ایجاد می‌کند.

amp 5 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
پروژه-AMP

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

amp 6 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
پروژه-AMP

نحوه فعالسازی AMP در وردپرس

خوشبختانه، در حال حاضر فعالسازی AMP در وردپرس خیلی راحت تر از ۶ ماه گذشته است. پیشرفت‌های بسیار‌ زیادی در وردپرس ایجاد شده است و پلتفرم AMP به طور کامل تغییر کرده است. با این حال، برای نمایش وب سایتتان به عنوان یک وب سایت پشتیبانی کننده از AMP کد‌هایتان باید توسط گوگل تایید شود. یک افزونه پست‌های شما را به AMP تبدیل می‌کند ولی این گوگل است که تصمیم می‌گیرد که مقالات شما را به صورت AMP نشان دهد یا خیر.

به شکل خیلی ساده برای تبدیل یک مقاله به AMP وردپرس یک ساختار AMP به مقالات شما اضافه می‌کند و برای دستیابی به این ساختار باید از /amp یا /?amp استفاده کنید. به عنوان مثال :

مقاله اصلی : https://domain.com/blog-post

مقاله AMP گوگل :  https://domain.com/blog-post/amp

افزونه‌های مخصوص گوگل AMP برای وردپرس :

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

amp 7 1024x329 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
پروژه-AMP

در‌حال حاضر که این مقاله را درحال نوشتن هستم این افزونه بیشتر از ۲۰۰ هزار نصب فعال می‌باشد و امتیاز ۳.۵ از ۵ را دریافت کرده است. شما می‌توانید این افزونه را از مخزن وردپرس و همچنین بخش افزودن افزونه در پیشخوان وردپرس دانلود و فعالسازی کنید. شما می‌توانید با این اپلیکیشن صفحه AMP خود را شخصی‌سازی کنید ولی این را بدانید که این شخصی‌سازی‌ها محدود است و شما برای اضافه کردن تبلیغات و دیگر امکانات باید اطلاعات کافی در رابطه با کد‌نویسی داشته باشید.

amp 8 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
پروژه-AMP

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

اگر شما تصمیم دارید که امکانات اضافی را به صفحه AMP وب سایت خود اضافه کنید، اینجاست که افزونه رایگان AMP For WP پا به میدان رقابت می‌گذارد. این افزونه اساسا پیشرفته‌تر از افزونه AMP است و امکانات بیشتر را پشتیبانی می‌کند. این افزونه توسط دو توسعه دهنده هندی وردپرس احمد کالودی و محمد کالودی ساخته شده است.

amp 10 1024x331 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

الان که در حال نوشتن این مقاله هستم، این افزونه بیشتر از ۸۰ هزار بار نصب شده و امتیاز ۴.۶ را از ۵ دریافت کرده است. شما می‌توانید این افزونه را از مخزن وردپرس و همچنین بخش افزودن افزونه در پیشخوان وردپرس دانلود و فعالسازی کنید. این افزونه به شما اجازه می‌دهد تا بسیاری از اطلاعات درون صفحه AMP وب سایت خود را شخصی‌سازی کنید. در زیر ما به نحوه شخصی سازی AMP می‌پردازیم. توجه داشته باشید افزونه AMP for WP با پیش‌‌نیاز نصب بودن افزونه AMP که در بالا معرفی کردیم کار می‌کند.

amp 11 1024x857 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

آموزش تنظیمات افزونه AMP For WP

بخش General

در صفحه General شما می‌توانید لوگو خود را اضافه کنید، سایز لوگو را تغییر دهید و AMP را برای صفحات نیز فعال کنید. بسته به نوع وب سایت و مصرف ترافیک شاید شما بخواهید فقط AMP بر روی وبلاگ شما فعال باشد (مقالات).

amp 12 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

Homepage

در بخش Homepage شما می‌توانید AMP را برای صفحه اصلی وب سایتتان فعال/غیرفعال کنید. می‌توانید سایز تصاویر درون صفحه اصلی را کنترل کنید و با فعال کردن گزینه Non-AMP Home page link…. می‌توانید در هدر و لوگو لینکی ایجاد کنید که وقتی کاربر آنها را لمس کرد از صفحه اصلی AMP به صفحه اصلی پیش‌فرض (غیر AMP) متصل شود.

amp 13 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

بخش Page Builder

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

amp 14 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

بخش Design

در بخش Design ، شما می‌توانید برای صفحه AMP خود از طریق Post Builder یک پوسته شخصی بسازید یا از طریق Design selector یک پوسته آماده انتخاب کنید.

شما می‌توانید جستجو را در صفحه اضافه کنید که برای فعالسازی آن باید گواهینامه HTTPS داشته باشید و همچنین کلید Call Now را به صفحه اضافه کنید. همچنین می‌توانید از طریق Custom CSS تغییرات در CSS ایجاد کنید.

amp 15 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

بخش Single

در بخش Single نیز می‌توانید آیکون‌‌های شبکه اجتماعی ، لینک‌ها را غیر فعال کنید، لینک مقاله بعدی/قبلی را اضافه کنید، زمان نوشته شدن مقاله را اضافه کنید و تغییراتی در مقالات محبوب ایجاد کنید.

amp 16 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

بخش Advertisient

در این بخش شما می‌توانید تبلیغات AdSense  را به وب سایتتان اضافه کنید و از آن درآمد کسب کنید. این تبلیغات می‌تواند در چندین مکان مختلف قرار گیرد. گوگل از وب سایت‌هایی که از تبلیغات AdSense استفاده می‌کنند قدردانی می‌کند. (AdSense  سرویس تبلیغاتی گوگل است و گوگل از طریق نمایش تبلیغات درآمد کسب می‌کند)

amp 17 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

بخش AMP Menu

در این بخش شما می‌توانید کاری کنید که کاربران برای ورود به هر بخش از منو نیز از AMP استفاده کنند و سرعت بالا را همانطور که هست احساس کنند.

amp 18 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

بخش Social

در این بخش شما می‌توانید شبکه‌های اجتماعی را برای خودتان فعال کنید. برای فیس‌بوک شما نیازمند APP ID هستید که باید در فیس‌بوک بسازید.

amp 19 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

بخش SEO

بخش سئو این افزونه یکی از مهمترین بخش‌ها است، زیرا گوگل از این طریق می‌تواند تشخصی دهد که شما از AMP استفاده می‌کنید و تصمیم بگیرد که از AMP شما استفاده کند یا خیر. ما پیشنهاد می‌کنیم که برای برندینگ از Meta Description استفاده کنید. همچنین اگر از افزونه Yoast برای سئو استفاده می‌کنید بهتر است که از Meta Tags from Yoast و Yoast Description in ld+jason استفاده کنید.

amp 20 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

بخش Analytics

در این بخش شما می‌توانید نوع آنالیز وب سایت خود را انتخاب کنید و همچنین از گوگل Tag Manager استفاده کنید.

amp 21 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

این بخش از آنالیزور های زیر پشتیبانی می‌کند :

  • Google Analytics
  • Segment Analytics
  • Piwik Analytics
  • Quantcast Measurient
  • comScore
  • StatCounter
  • Effective Measure
  • HitStats Analytics
  • Yandex Metrika
  • Chartbeat Analytics

بخش Structured Data

بخش The structured data به شما اجازه می‌دهد که در صفحه The structured data لوگو و سایز تصاویر شخصی سازی شده داشته باشید.

amp 22 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

بخش Contact Form

یک فرم تماس با افزونه Contact form 7 می‌توانید اینجا اضافه کنید.

amp 23 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

بخش Notifications

شما می‌توانید با فعالسازی این بخش هنگامی که کاربران وارد وب سایت AMP شما می‌شوند با پیغامی مواجه شوند که باید آن را بپذیرند.

amp 24 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

بخش Comments

در این بخش شما تعداد نظراتی که در یک صفحه AMP می‌توانید استفاده کنید را شخصی سازی می‌کنید و می‌توانید از افزونه‌های Disqus و Facebook Comments نیز برای نظر‌دهی استفاده کنید.

amp 25 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

بخش Advanced Settings

این بخش مخصوص تنظیمات پیشرفته‌تری مانند انتقال مستقیم کاربران موبایل به AMP ، همگام سازی صفحات آرشیو باAMP ، فعالسازی RTL که مخصوص وب سایت‌های فارسی زبان و عربی زبان است، اضافه کردن کد‌های HTML مخصوص سربرگ (هدر) و پانوشت (فوتر) و غیره می‌باشد.

amp 26 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

بخش Extensions

در این بخش شما‌ می‌توانید افزونه‌های اضافه‌تر مخصوص AMP for WP را مشاهده کنید و درصورت نیاز آن‌ها را خریداری کنید.

amp 27 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

افزونه AMP مخصوص ووکامرس

توسعه دهندگان AMP for WP یک افزونه دیگر را نیز مخصوص AMP گوگل منتشر کردند که آن مخصوص ووکامرس می‌باشد و با آن می‌توانید فروشگاه ووکامرس خود را نیز پر سرعت‌تر کنید.

amp 29 1024x333 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

سئو گوگل AMP

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

و یک خوبی که این نوع تگ‌ها دارند، این است که گوگل به صورت خودکار متوجه می‌شود که مقاله‌ شما از AMP‌ پشتیبانی می‌کند.

مثال در نسخه اصلی :

مثال در نسخه AMP :

افزونه AMP for WP که در بالا معرفی کردیم، با Yoast ادغام می‌شود و به صورت خودکار تگ‌های OG و meta را AMP وارد می‌کند.

amp 35 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

نحوه پیدا کردن و رفع ارور AMP

پس از فعالسازی AMP در وب سایت وردپرسی خود حالا باید کد‌های خود را در گوگل تایید کنید وگرنه گوگل وب سایت‌ شما را به عنوان استفاده کننده از AMP نمی‌شناسد. برای تایید وب سایت خود با یک نرم افزار عبور از تحریم وارد وب سایت Google AMP Validator شوید و دونه به دونه مقالات خود را اعتبارسنجی و تایید کنید.

amp 30 1024x605 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

شما می‌توانید Chrome AMP extension را نیز دانلود و در کروم نصب کنید تا مشکلات و خطاهای صفحات AMP را مشاهده کنید.

amp 31 1024x776 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

خطای Not a valid AMP page در AMP

اگر اعتبارسنجی AMP با مشکل رو به رو شود شما با پیغام زیر رو به رو می‌شوید : Not a valid AMP page

برای مثال در تصویر زیر مشکل AMP در تگ‌های <deltime> و <instime> می‌باشد. گوگل صفحه‌ی AMP supported HTML tags را برای نمایش تگ‌های قابل پشتیبانی در AMP قرار داده است تا توسعه‌ دهندگان صفحاتAMP بدون مشکلی تهیه کنند. توجه داشته باشید که صفحاتی که در اعتبارسنجی AMP با خطا و مشکل رو به رو می‌شوند، توسط گوگل تایید نمی‌شوند.

باید بررسی کنید که در قسمت Fix the following issue چه مواردی را گوگل اشاره می‌کند ممکن است به خاطر استفاده از ویژگی !important در CSS باشد چرا که استفاده از این ویژگی در صفحات AMP ممنوع است و باید حذف شود.

amp 32 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

شما همچنین می‌توانید مشکلات موجود در AMP خود را از طریق Google Search Console نیز در بخش Search Appearance  و قسمت Accelerated Mobile Pages بررسی کنید.

فقط توجه داشته باشید که بیشتر‌ کاربران گزارش داده‌اند که گوگل در قرار دادن مشکلات AMP کند عمل می‌کند که دلیل آن نیز جدید بودن پلتفرم amp می‌باشد که در حال حاضر با crawling به طور کامل همگام‌سازی نشده است.

amp 33 1024x526 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

در بعضی مواقع نیز شما ممکن است ایمیلی برای اضافه کردن متد‌های structured data در صفحه AMP خود دریافت کنید که این ایمیل‌ها در ایندکس صفحات AMP شما پر اهمیت است و باید حتما انجام بپذیرد.amp 34 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس

amp

مانیتورینگ گوگل AMP با New Relic

عزیزانی که از مانیتورینگ New Relic برای بررسی وب سایت خود استفاده می‌کنند نیز ممکن است با خطای زیر مواجه شوند:

این به این دلیل است که صفحات AMP اجازه استفاده از فایل‌های جاوا اسکریپت خارجی را نمی‌دهند. .

فعالسازی AMP برای فایل‌های خارجی با کلودفلر

کلودفلر به تازگی امکان جدیدی را به امکانات خود اضافه کرده است که شما می‌توانید لینک‌های خارجی وب سایت خود را در amp نیز به نمایش بگذارید و در صفحات AMP لود کنید. یکی از مزایای این امکان لود شدن لینک‌ها به صورت مستقیم از سرور سایت می‌باشد که این برای سئو شما بسیار مفید می‌باشد. بنابراین ، این امکان کلودفلر به این معناست که نرخ دفع کاربران (bounce rate) را کاهش می‌دهد. شما این امکان را می‌توانید در بخش performance اضافه کنید، مقاله فعال سازی کلود فلر می‌تواند به شما در استفاده بهتر این سی دی ان معروف کمک شایانی بکند.

amp 36 1024x342 - پروژه AMP چیست و نحوه فعالسازی آن در وردپرس
amp

در پایان

همانطور که مشاهده کردید فعالسازی AMP در وردپرس راحت تر از آنچیزی است که فکرش را می‌کنید. آیا واقعا با فعالسازی گوگل AMP پیشرفت خواهید کرد؟ این دیگر به وب سایت وردپرسی شما بستگی دارد. اگر یک مجله خبری دارید، خب بله منطقی است که شما از چنین پلتفرم‌های جدیدی استفاده کنید و احتمال پیشرفت شما در این نوع عملکرد‌ها بالاست. اگر شما تجارت Saas (نرم‌افزار به عنوان یک سرویس یا Software as a service) انجام می‌دهید، ممکن است که فعالسازی AMP به ضرر وب سایت شما باشد. گوگل AMP‌ قطعا یک تغییر عمده در وب سایت شما ایجاد می‌کند، مخصوصا اگر ترافیک بالایی از موبایل دریافت کنید. در کل پیشنهاد می‌شود که به راحتی از فعالسازی AMP در وب سایتتان گذر نکنید و حداقل یکبار آن را تست کنید و نتیجه را بررسی کنید.

15 نکته طلایی برای بالا بردن سرعت وب سایت

15 نکته طلایی برای بالا بردن سرعت وب سایت

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

گوگل می گوید:

آزمایش‌ها نشان دادند که افزایش مدت زمان تاخیر جستجو در وب سایت از 100 تا 400 مگابایت ، تعداد جستجو روزانه را از 0.2 به 0.6 درصد کاهش خواهد داد. علاوه بر آن کاربران کمتری در معرض جستجو نتایج بدست آمده خواهند بود. حتی با گذشت زمان وضعیت بهبود پیدا نخواهد کرد و تغییری حاصل نمی شود.

ما تعدادی از عوامل مهم و تاثیرگذار در افزایش سرعت وب سایت را دسته بندی کردیم و می‌خواهیم آن را در زیر شرح دهیم:

  • 1 تاثیر سرور در سرعت سایت
    • 1.1 Leverage browser caching
    • 1.2 فعال باقی گذاشتن Keep-Alive
    • 1.3 Enable gzip compression
    • 1.4 استفاده از یک CDN
  • 2 تاثیر منابع در سرعت ساخت سایت
    • 2.1 کاهش تغییر مسیر (Minimize redirects)
    • 2.2 حذف رشته علامت سوال از منابع استاتیک (Riove query strings from static resources)
    • 2.3 مشخص کردن یک مجموعه کاراکتر (Specify a character set)
    • 2.4 کدهای خود کم کنید ( Minify your codes)
    • 2.5 از درخواست های بد دوری کنید (Avoid bad requests)
    • 2.6 حفظ منابع از یک آدرس سازگار (Serve resources from a consistent URL)
    • 2.7 کاهش جستجو دی ان اس (Reduce DNS lookups)
    • 2.8 قرار دادن CSS در بالا و JS در پایین (Put CSS at the top and JS at the bottom)
  • 3 تاثیر تصاویر و عکس ها در سرعت سئو سایت
    • 3.1 ابعاد تصویر را مشخص کنید (Specify image dimensions)
    • 3.2 بهینه سازی تصاویر (Optimize images)
    • 3.3 یکی کردن عکس‌های کوچک

تاثیر سرور در سرعت سایت

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

  1. Leverage browser caching

    شما می‌توانید از طریق هدرهای که وظیفه منقضی کردن فایل‌ها در  مرورگر کاربر را دارند بگویید آیا منبع یک وب سایت مورد درخواست ذخیره شود یا از کش مرورگر می‌توان آن را دریافت کرد. هنگامی که یک هدر برای منبع تعیین می‌کنید، مانند تصاویر JPEG، مرورگر آن منابع را در حافظه پنهان ذخیره می‌کند. مرتبه دیگر که بازدید کننده به صفحه می‌آید شاهد بارگذاری سریع‌تر صفحه خواهد بود و همانطور که مرورگر آن تصاویر را دردسترس خود دارد. حتما پیشنهاد میکنم مقاله حل ارور Leverage browser caching را مطالعه نمایید.

  2. فعال باقی گذاشتن Keep-Alive

    در حقیقت HTTP Keep-Alive با اتصال به TCP اجازه می‌دهد تا مدت زمان تاخیر کاهش یابد و به درخواست های بعدی نیز کمک می‌کند. بنابراین با ارائه دهنده خدمات میزبان هاست خود تماس برقرار کنید و به آنها بگویید که بررسی کنند. بیشتر شرکت های میزبان هاست قابلیت مورد نظر را فعال می‌کنند زیرا فعال بودن چنین ویژگی بدیهی است، مگر دلایلی مالی و یا سیاست های خاصی را آن هاستینگ داشته باشد، با خواندن مقاله رفع مشکل Keep-Alive شما را در درک بهتر ادامه متن بسیار یاری خواهد کرد.

  3. Enable gzip compression

    Gzipping موجب کاهش پاسخگویی HTTP شده و به کاهش مدت زمان پاسخگویی کمک شایانی می‌کند. این یک روش آسان برای کاهش مدت زمان بارگزاری صفحه خواهد بود برای بهره‌گیری از این روش کافی است یکی از روش‌های موجود در مقاله فعال سازی gzip را مطالعه نمایید.

    یاهو در این باره می‌گوید:

    Gzip محبوب ترین و کارآمدترین روش فشرده سازی بوده که در حال حاضر دردسترس است. از این رو نزدیک به 70 درصد میزان پاسخ گویی را کاهش می دهد. تقریبا 90 درصد ترافیک اینترنتی امروز از طریق مرورگرهایی که ادعا پشتیبانی از Gzip را دارند، ناشی می شود.

  4. استفاده از یک CDN

    یک شبکه تحویل محتوا CDN یا همان Content Delivery Network مجموعه ای از سرورهای وب بوده که در میان مکان های مختلفی توزیع می شود تا مطالب به شکل موثرتری روی کاربران ارائه شود. سرور انتخاب شده برای ارائه محتوا به یک کاربر خاص معمولا براساس اندازه گیری نزدیکی شبکه صورت می گیرد. برای مثال سروری با کمترین میزان hops شبکه و یا سروری با سریعترین زمان پاسخ انتخاب می شود. ما در مقالهCDN چیست به نکات برتر و جالبی دربارهCDN اشاره کردیم، جمع بندی این نکات زمان زیادی را می‌گیرد، پس حتما خواندن آن را پیشنهاد میکنم. برای افزایش سرعت وردپرس خود می‌توانید از W3 Total Cache به کار گیرید، چرا که از تنظیمات مختلف CDN پشتیبانی می‌کند.

تاثیر منابع در سرعت سایت

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

  1. کاهش تغییر مسیر (Minimize redirects)

    ریدایرکت باعث ایجاد یک چرخه درخواست پاسخ اضافی در پروتکل HTTP و در نهایت تاخیر در باز شدن یک صفحه از سایت می‌شود. در بهترین حالت، هر ریدایرکت، یک رفت و برگشت اضافی ایجاد می‌کند و در بدترین حالت ، امکان دارد چندین رفت و برگشت اضافی در پروتکل HTTP نیز به موجود آورد. در نتیجه، شما باید استفاده از تغییر مسیر را به منظور بهبود عملکرد وب سایت خود به حداقل برسانید. ریدایرکت ها باعث کاهش سرعت صفحه شما می‌شوند، زیرا رفتن به صفحه‌ای و سپس تغییر مسیر از آنجا باعث هدر رفتن زمان می‌شود. حتما پست مربوط به رفع ارور Minimize Redirects را مطالعه نمایید.

  2. حذف رشته علامت سوال از منابع استاتیک (Riove query strings from static resources)

    وجود query strings در منابع سایت ما باعث می‌شود که آن منابع در سمت کاربر کش نشود و اگر منابع همانند CSS یا JS در سمت کاربر کش نشود خطاهایی نظیر Leverage browser caching هم رخ خواهد داد و مشکلات بسیار دیگری را فراهم می‌کند، استفاده از query strings باعث می‌شود فایل‌های استایل (CSS) و جاوا اسکریپت در بسیاری از مرورگرها و همین‌طور CDN ها کش نشود. ولی این موضوع فقط یک طرف قضیه است، چرا که برخی ها وجود query string را مناسب می‌دانند، برای بهبود این موضوع و روشن شدن آن مقاله رفع ارور Riove query strings from static resources را بخوانید تا بتوانید باعث بهبود عملکرد وب سایت شوید.

  3. مشخص کردن یک مجموعه کاراکتر (Specify a character set)

    یک کاراکتر در هدرهای HTTP مشخص کنید تا سرعت رندر مرورگر افزایش پیدا کند. اگر در بررسی سایت خود در ابزار GTmetrix با خطای Specify a character set روبه‌رو شدید، پست رفع خطای Specify a character set را بخوانید.

  4. کدهای خود کم کنید ( Minify your codes)

    بهینه سازی نظرات ، بخش های CDATA ، فضاهای سفید، عناصر خالی و اندازه صفحه شما را کاهش خواهد داد. همچنین زمان تاخیر لود سایت را بهبود می‌بخشد و سرعت بارگذاری نیز کم می شود. شما می‌توانید از ابزارهای آنلاین برای فشرده سازی اسناد استفاده کنید و یا از پلاگین‌هایی که باعث بهینه سازی سایت شما می‌شود، ما در مقاله‌های رفع خطای Minify HTML ، رفع خطای Minify CSS و همینطور رفع خطای Minify JavaScript به شکل بسیار کاملی توضیحات لازمه را ارائه دادیم.

  5. از درخواست های بد دوری کنید (Avoid bad requests)

    لینک های دارای مشکل به صفحه 404/410 ختم می شوند. این باعث می شود درخواست های نامناسب بی پاسخ بماند و باید URLهای معیوب را برطرف کنید چرا که زمان لود سایت را هم بالا می‌برد. از online broken link checker  یا پلاگین وردپرس WordPress link checker به شکل رایگان استفاده کنید. اگر نیاز به توضیحات جامع و کاملی داشتید مقاله رفع خطای Avoid bad requests را حتما مطالعه نمایید.

  6. حفظ منابع از یک آدرس سازگار (Serve resources from a consistentURL)

    برای منابعی (همانند فایل‌های JS و یا CSS) که در چندین صفحه مورد استفاده قرار گرفته‌اند، مطمئن شوید که هر منبع به یک URL یکسان متکی است. اگر یک منبع با چند آدرس مختلف باز شود و محتوای یکسانی داشته باشد. این حالت ممکن است موجب افزایش هزینه DNS شوید که قطعا مطلوب نخواهد بود و برخلاف نظر مخاطب می‌باشد. از طرفی حجم، لود زمان و تعداد درخواست ها نیز بالا می‌رود. برای مثال اگر شما در دو آدرس mysite.example.com و yoursite.example.com یک فایل JS را درج کرده باشید و در صفحه اصلی از هر دو فایل js استفاده کنید مشکلاتی که ذکر کردیم رخ می‌دهد، به شکل خلاصه از فراخوانی محتواهای یکسان در آدرس های متفاوت جلوگیری کنید، خواندن مقاله رفع خطای Serve resources from a consistent URL حتما برای شما مفید خواهد بود.

  7. کاهش جستجو دی ان اس (Reduce DNS lookups)

    جستجو DNS زمانی معنی پیدا می کند که می خواهید IP آدرس یک هاست را بدست آورید. مرورگر تا زمانی که جستجو کامل نشود نمی‌توان کاری انجام دهد. کاهش نام هاست های منحصربفرد ممکن است زمان پاسخ دهی را افزایش دهد. پیشنهاد میکنم حتما مقاله جذاب و کامل رفع خطای Reduce DNS lookups را مطالعه نمایید.

  8. قرار دادن CSS در بالا و JS در پایین (Put CSS at the top and JS at the bottom)

    قرار دادن stylesheets در سند سر صفحه ممنوع بوده بنابراین مرورگر رندر را مسدود می سازد تا نیاز به عناصر redraw صفحه نباشد. در بیشتر موارد کاربران با یک صفحه سفید رو به رو می شوند تا زمانی که صفحه به طور کامل بارگذاری شود. این همچنین به شما کمک می کند که یک صفحه وب استاندارد مطابق با استاندارد W3 ایجاد کنید. به همین دلیل است که گفته می شود کد جاوا اسکریپت را در پایین صفحه قرار دهید. توضیحات بیشتر درباره این فاکتور بسیار تاثیرگذار را در مقاله حل Defer parsing of JavaScript بخوانید.

ما در سایت سئوراز بارها درباره بهینه سازی و سئو عکس ها صحبت کردیم و در اینجا به شکل خلاصه به این موارد می‌پردازیم.

تاثیر تصاویر و عکس ها در سرعت سایت

  1. ابعاد تصویر را مشخص کنید (Specify image dimensions)

    مرورگر شما قبل از آن که صفحه ای را بارگذاری کند به رندر کردن تصاویر درون آن می‌پردازد. تعیین ابعاد تصویر کمک می‌کند تا سرعت بارگذاری را کاهش داد. اگر ابعاد مشخص نشده باشد پس از بارگیری تصاویر، مرورگر شما سرعت بارگذاری آن افزایش می‌یابد. برای انجام این کار در <img> مشخصات ارتفاع و عرض تصویر را مشخص کنید. در مقاله رفع ارور Specify image dimensions  به نکات جالبی اشاره کرده‌ایم.

  2. بهینه سازی تصاویر (Optimize images)

    تصاویر اهمیت بسیاری در سایت داشته و باید به آن توجه داشت. اگر تصویری استفاده کنید که رنگ مطلوب یا کیفیت مناسبی ندارد قطعا مورد توجه کاربران و بازدیدکنندگان وب سایت قرار نمی‌گیرد. بنابراین هرگاه به تولید محتوایی در سایت خود می‌پردازید سعی کنید به موضوع انتخاب تصویر توجه بسیاری داشته باشید. سعی کنید تصاویری که در سایت خود ذخیره می کنید از نوع JPEG باشد زیرا این فرمت بسیار متداول بوده و به شکل بهینه شده ای است. شما با فشرد چند کلید CTRL+SHIFT+ALT+S یک تصویر را ذخیره کنید و آن را در فتوشاپ بهبهینه سازی بپردازید. در مقاله رفع ارور Optimize images به تشریح این موضوع و انواع راه‌حل‌ ها برای CMS های مختلف نظیر وردپرس و جوملا پرداخته‌ایم.

  3. یکی کردن عکس‌های کوچک

    به این ترفند به زبان انگلیسی Combine images using CSS sprites گرفته می‌شود، ادغام تصاویر به روش CSSSprites که باعث می‌شود عکس های کوچک سایت که هر کدام آدرس جداگانه برای لود شدن دارند را در قالب یک عکس بزرگ‌تر در سایت فراخوانی کنیم، یعنی اگر ۱۰ عکس کوچک دارید، آن‌ها را ادغام نماییم و به یک عکس بزرگ‌تر تبدیل کنیم، این کار جدا از اینکه باعث کاهش کلی حجم سایت می‌شود، باعث کاهش تعداد درخواست‌ها هم نیز میگردد. در مقاله آموزش CSS sprites بیشتر به این موضوع پرداختیم و مثال جالبی از سایت دیجی کالا در این مقاله زده شده است و حتما مقاله را مطالعه نمایید.

منظور از مسدود سازی DOM چیست و تاثیر آن در سرعت سایت

منظور از مسدود سازی DOM چیست و تاثیر آن در سرعت سایت

هنگامی که صحبت از بهینه سازی سئو سایت و درک عملکرد وب می‌شود ، بسیار مهم است که رابطه بین HTML و نحوه تولید صفحه در مرورگر را بدانید تا متوجه شوید که بیشتر زمان لود وب سایت شما به عاملی به نام Render Blocking مربوط می‌شود.

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

  • 1 منظور از DOM چیست؟
    • 1.1 شرایط Laymen در DOM
  • 2 منظور از مسدود سازی DOM چیست؟
    • 2.1 CSS
    • 2.2 جاوا اسکریپت
    • 2.3 فونت‌های وب
  • 3 خلاصه

منظور از DOM چیست؟

کلمه DOM مخفف Document Object Model می‌باشد که به فارسی مدل شی‌گرای سند ترجمه می‌شود. DOM یک رابط برنامه نویسی مخصوص HTML و XML می‌باشد و یک نمایه ساختار یافته (نمودار درختی) را برای سند فراهم می‌کند، برای تعریف نحوه دسترسی و دستکاری آن‌ها نیز از زبان‌های اسکریپتی مانند JavaScript استفاده می‌شود.

نمودار درختی DOM ما دقیقا مانند دیگر نمودار درختی خانواده می‌باشد و اطلاعات متغیری در آن قرار می‌گیرد. برای مثال ما برای شما یک نمونه خیلی ساده از DOM را طراحی کرده‌ایم:

dom example 1024x543 - منظور از مسدود سازی DOM چیست و تاثیر آن در سرعت سایت

شرایط Laymen در DOM

برای ساده‌تر کردن شرایط بهتر است از ابزار Devtools Chrome استفاده کنید. (در مقاله تجزیه و تحلیل سرعت وبسایت به وسلیه کروم بیشتر درباره ابزار قدرتمند Devtools Chrome صحبت کردیم ) این ابزار بخشی مخصوص DOM HTML دارد که شما می‌توانید به راحتی به این بخش دسترسی داشته باشید. توجه داشته باشید که فایل HTML طراحی سایت (طراحی سایت فروشگاهی، طراحی سایت شرکتی)‌ شما به صورت پیش‌فرض از DOM تشکیل نشده است بلکه این مرورگر کاربر است DOM را پس از ادغام فایل HTML و منابع Javascript و CSS  ایجاد می‌کند. بنابراین شما می‌توانید محتوایی که در ابزار Devtools Chrome می‌بینید را نسخه تجزیه‌شده HTML خود بدانید.

منظور از مسدود سازی DOM چیست؟

اگر قصد بهینه سازی سرعت وب سایت خود، توسط وب سایت‌های آنالیز سرعت وب سایت دارید، می‌بایست به بخشمسدودسازی DOM توجه کنید زیرا بخشی بسیار مهم در کاهش لود سرعت وب سایت می‌باشد. این بخش‌ها در بیشتر اوقات در وب سایت‌ها در قسمت منابع render blocking قرار می‌گیرند. مانند HTML Render Blocking – CSS Render Blocking – JavaScript Render Blocking به این بخش مربوط می‌شوند.

یکی از بهترین راه‌های یافتن مسدودسازی DOM استفاده از بخش Devtools Chrome می باشد که در زیر راه استفاده از آن را به شما می‌آموزیم:

1 – راه‌اندازی ابزار توسعه‌دهنده در گوگل Chrome

  • ویندوز : F12 – یا استفاده از Ctrl + Shift + I
  • مکینتاش : Cmd + Opt + I

2 – به پنل Network بروید و صفحه را با Ctrl + R رفرش کنید.

3 – اکنون شما یک نمودار آبشاری از لود وب سایتتان را مشاهده می‌کنید. در حال حاضر ما می‌خواهیم به دوچیز بپردازیم یکی از آن‌ها سرعت لود محتوای DOM می‌باشد و که براساس میلی ثانیه می‌باشد و در نمودار قبل از رنگ آبی می‌باشند.

از آنجا که فایل‌های CSS و جاوا‌اسکریپت از دسته منابعی هستند که امکان render blocking در آن‌ها وجود دارد و بین یا قبل از رنگ آبی مخصوص DOM لود می‌شوند ، می‌توانیم فرض کنیم که آن‌ها باعث مسدود‌سازی DOM نیز می‌شوند.

توجه داشته باشید که تصاویر به عنوان Render Blocking شناخته نمی‌شوند بنابراین درصورتی که در بخش DOM نمایش داده شدند می‌توانید آن‌ها را نادیده بگیرید، اگرچه ما همچنان توصیه می‌کنیم که تصاویر خودتان را بهینه‌سازی کنید.

در نمونه زیر دو منبع Style.css و Jquery.min.js هردو DOM را مسدود می‌کنند.

dom3 - منظور از مسدود سازی DOM چیست و تاثیر آن در سرعت سایت

نمونه دیگری که می‌توانید برای این کار استفاده کنید ،ابزار PageSpeed Insights گوگل می‌باشد. همانطور که در زیر مشاهده می‌کنید، همان دوفایلی که در بالا به آن‌ها اشاره کردیم در اینجا نیز مشکل render blocking دارند.

dom4 - منظور از مسدود سازی DOM چیست و تاثیر آن در سرعت سایت

توصیه های ما را دنبال کنید تا مشکل مسدود‌ شدن DOM وب سایت خود توسط فایل‌های CSS و JavaScript را حل کنید و سرعتتان را افزایش دهید. شما می‌توانید کاری کنید تا DOM وب سایت شما به تدریج ایجاد شود.

این را در نظر بگیرید که اصلا نیازی به این نیست که حتما نمره ۱۰۰ از ۱۰۰ را در بررسی‌های PageSpeed Insights گوگل کسب کنید ، برای مثال برای فونت‌های گوگل شما راهی برای حل مشکل Render Blocking ندارید. بنابراین سعی کنید که منابعی که Render Block می‌شوند در وب سایت شما بیشتر از ۱۰ عدد نشوند و همیشه کمتر از ۱۰ عدد باشند. با این‌کار سرعت لود وب سایت شما بسیار افزایش پیدا می‌کند.

CSS

non-render blocking کردن CSS

اگر می‌خواهید که به صورت کامل فایل‌های CSS وب سایتتان را Non-Render Blocking کنید، تنها یک راه خوب دارید. آن هم inline کردن فایل‌های CSS می‌باشد. برای اینکار می‌بایست کد‌های CSS وب سایتتان را در تگ‌های <style> قبل از تگ </body> قرار دهید. با اینکار دیگر CSS های شما به صورت Render Blocking نمایش داده نمی‌شوند.

افزونه های inline کردن CSS به صورت خودکار

شما همچنین می‌توانید فایل‌های CSS خود را از طریق فایل‌های JavaScript هم بارگیری کنید ولی این را درنظر بگیرید که اینکار پس از لود شدن تمامی فایل‌ها انجام می‌شود که برای بازدیدکنندگان اصلا ایده‌آل نیست.

همانطور که در زیر مشاهده می‌کنید مشکل CSS ها حل شد و سرعت لود DOM نیز به ۲۷۹ میلی ثانیه کاهش پیدا کرد.

dom5 - منظور از مسدود سازی DOM چیست و تاثیر آن در سرعت سایت

همچنین در گوگل PageSpeed Insights نیز مشاهده می‌کنید که طراحی سایت امتیاز ۹۵ را از ۱۰۰ امتیاز گرفته است و ۲ امتیاز افزایش پیدا کرده است.

dom6 - منظور از مسدود سازی DOM چیست و تاثیر آن در سرعت سایت

با اینکه‌ این کار بسیار فوق‌العاده به نظر می‌رسد، در مقابل به وب سایت شما نیز وابسته است. برای بیشتر وب سایت‌هایی که فایل‌های CSS چندگانه‌ای دارند امکان اینکه در فایل HTML اصلی استایل‌های خود را لود کنند امکان پذیر نیست و حتی اگر امکان پذیر باشد و سرعت لود را افزایش که نمی‌دهد هیچ ، به علت حجمی که به صفحه HTML می‌افزاید سرعت را کاهش نیز می‌دهد. این کار پیشنهاد شده برای صفحات فرود (صفحه فرود چیست) و وب سایت‌های کوچک راه بسیار عملی و خوبیست ولی برای وب سایت‌های بزرگ باید چاره دیگری اندیشید.

پیشنهاد ما برای CSS

برای مثال در یک صفحه فرود سعی می‌شود که حداکثر یک منبع Render Blocking وجود داشته باشد. با این‌حال در زیر ما به نکاتی اشاره می‌کنیم که می‌تواند باعث افزایش سرعت لود صفحات شما شود.

  • فایل‌های CSS خود را به درستی معرفی کنید. به عنوان مثال مقاله Put CSS in the document head و Optimize the order of styles and scripts می‌تواند به شما در این مورد کمک کند.
  • از بعضی از Media Queries برای لود فایل‌های CSS استفاده کنید. منظور از این Media همان ریسپانسیو بودن سایت است.
  • تعداد منابع CSS خود را کاهش دهید، همه منابع CSS را به یک فایل CSS منتقل کنید ما در پست های آموزش GTmetrix به شکل جامع در این باره توضیح داده‌ایم.
  • فایل‌های CSS خود را فشرده‌سازی کنید. (فضا‌های خالی، کارکتر‌های اضافه و کامنت‌ها را پاکسازی کنید، مقاله Minify CSS مقاله شود)
  • از CSS کمتر استفاده کنید.

 

افزونه های فشرده سازی CSS به صورت خودکار

جاوا اسکریپت

non-render blocking کردن فایل‌های جاوا اسکریپت

برای از بین بردن کامل مشکل Render Blocking در فایل‌های جاوا‌اسکریپت به طور کلی چندین راه مختلف دارید:

  1. فایل‌ها را با تگ <script> قبل </body> قرار دهید.
  2. از ناهمگامی یا به تعویق انداختن برای از بین بردن render blocking استفاده کنید.
  3. کاهش تعداد فایل‌های جاوا‌اسکریپت با یکتا کردن کد‌های جاوا در یک فایل.
  4. فشرده‌سازی فایل‌های جاوااسکریپت
  5. inline کردن کد‌های جاوااسکریپت در صورت کوتاه بودن آن‌ها

ناهمگام اجرا کردن فایل‌های جاوا اسکریپت (async JS)

ناهمگام سازی اجازه می‌دهد که فایل‌های جاوااسکریپت به صورت کامل در پس زمینه وب سایت لود‌ شوند. سپس بعد از اینکه به صورت کامل دانلود شد، Render Block می‌شود و اسکریپت اجرا می‌شود.

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

به تعویق انداختن لود فایل‌های جاوا اسکریپت (Defer JS)

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

بنابر‌این ممکن است بعضی از اسکریپت‌ها زود‌تر دانلود شوند ولی منتظر‌ می‌مانند که ابتدا اولیت بالا‌تر آن‌ها نیز دانلود شود و سپس بعد از اجرای آن اسکریپت ، لود می‌شوند.

ما در مقاله رفع خطای Defer parsing of JavaScript در این مورد به شکل کاملی توضیح داده‌ایم.

افزونه‌های فشرده سازی فایل‌های جاوا اسکریپت به صورت خودکار

همانطور که مشاهده می‌کنید با قرار دادن فایل‌های جاوااسکریپت به فایل HTML تنها فایل Render Block شده jquery.min.js می‌باشد و سرعت DOMContentLoaded نیز به ۱۴۴ میلی ثانیه کاهش یافته است.

dom7 - منظور از مسدود سازی DOM چیست و تاثیر آن در سرعت سایت

با توجه به inline کردن کد‌های جاوااسکریپت مشاهده می‌کنید که امتیاز ۱۰۰ را از ۱۰۰ نمره Google PageSpeed insights دریافت کردیم. شما نیز می‌توانید با این‌ کار امتیاز خود را افزایش دهید.

dom8 - منظور از مسدود سازی DOM چیست و تاثیر آن در سرعت سایت

فونت‌های وب

وب فونت‌ها نیز یک منبع با قابلیت Render Block می‌باشند زیرا توسط CSS ها لود می‌شوند ، شما برای حل این مشکل دو انتخاب دارید ، یا آن را رها کنید و بگذارید همان Render Block بماند یا بعدا دوباره از اول آن را بسازید. (که در آینده می‌بایست از FOUT استفاده کنید)

برای مثال در کروم (+36) ، اپرا (+23) و فایرفاکس ۳ ثانیه برای لود فونت‌ها زمان لازم داریم.

در زیر چند پیشنهاد برای حل مشکل لود فونت‌ها ارائه کرده ایم که امیدواریم برای شما مفید باشد.

  • از یک لودر وب فونت استفاده کنید. (Font Loading API)
  • با استفاده از inline کردن فونت‌ها را بهینه سازی کنید.
  • از روش‌های ذخیره‌سازی مانند localStorage استفاده کنید.

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

خلاصه

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

به یاد داشته باشید که همیشه بدست آوردن امتیاز ۱۰۰ از ۱۰۰ برای وب سایت ها لازم نیست و تنها اینکه شما حداقل مسدودسازی DOM و همچنین حداکثر سرعت را در وب سایتتان داشته باشید اهمیت دارد بنابراین به جای وقت گذاشتن بر روی امتیاز به فکر سرعت وب سایت خود باشید.


آموزش افزایش سرعت سایت با GTmetrix – رفع خطاهای YSlow

آموزش افزایش سرعت سایت با GTmetrix – رفع خطاهای YSlow

در این پست قصد داریم درباره ارور Reduce the number of DOM elements صبحت کنیم و بررسی کنیم منظور این خطا چیست و اینکه رفع آن چگونه باعث بالا بردن سرعت سایت ما می‌شود.

طراحی سایت فروشگاهی

طراحی سایت شرکتی

خلاصه‌ای از خطا Reduce the number of DOM elements

نام: Reduce the number of DOM elements
نوع: محتوا
اولویت: پایین
میزان سختی: متوسط
میانگین امتیاز: 92%

طراحی سایت

مدل DOM چیست ؟

مدل DOM مخفف عبارت Document Object Model است که برای دسترسی به اشیا و عناصر موجود در یک سند HTML یا صفحه HTML است، این مدل از یک سری درخت سلسله مراتبی برای این دسترسی استفاده می‌کند. این درخت از شی Window به عنوان عنصر مادر یک صفحه HTML شروع شده و به ترتیب به عناصر رده پایین تر ادامه پیدا می‌کند، تا به پایین‌ترین رده عناصر یعنی متن و نوشته برسد . شکل زیر یک نمای کلی از درخت سلسله مراتب در مدل DOM است:

html dom 300x185 - رفع خطای Reduce the number of DOM elements در YSlow جی تی متریکس

مدل DOM چیست



قیمت طراحی سایت

بهینه سازی سایت

تاثیر خطای Reduce the number of DOM elements در سرعت سایت

ولی استفاده بیشتر این عناصر DOM باعث کند شدن سایت می‌شود، و همان‌طور که نوشته شده Reduce the number of DOM elements یعنی کاهش دهید تعداد المان‌های DOM را، و برای این کاهش باید زبان جاواکسریپت و DOM آشنایی داشته باشید. مشکل سرعت وردپرس خیلی از دوستان که از قالب‌های اماده استفاده می‌کنند می‌تواند این خطا هم باشد هر چند اگر بقیه موارد بهینه سازی شده باشند خطای Reduce the number of DOM elements را بهتر است نادیده بگیرید.


آموزش افزایش سرعت سایت با GTmetrix – رفع خطاهای YSlow

آموزش افزایش سرعت سایت با GTmetrix – رفع خطاهای YSlow

در این پست قصد داریم درباره ارور Use a Content Delivery Network صبحت کنیم و بررسی کنیم منظور این خطا چیست و اینکه رفع آن چگونه باعث بالا بردن سرعت سایت ما می‌شود. توجه داشته باشید که ما در ادامه هم از عبارت CDN (شبکه توزیع محتوا) استفاده خواهیم کرد و هم از عبارت CDN Public (شبکه توزیع محتوا عمومی) که این دو عبارت برای اهدافی متفاوت ایجاد شده اند، بنابراین این دو عبارات را یکی ندانید.

خلاصه‌ای از خطا( Use a Content Delivery Network (CDN

نام: (Use a Content Delivery Network (CDN
نوع: محتوا
اولویت: پایین
میزان سختی: متوسط
میانگین امتیاز: 92%

CDN چیست؟

CDN یا به اختصار Content Delivery Network به معنای شبکه توزیع محتوا است البته به شبکه تحویل محتوا هم می‌توان ترجمه کرد، قصد داریم به کمک شکل زیر به سادگی معنا و هدف CDN را بیان کنیم.

3 1 300x261 - رفع خطای Use a Content Delivery Network در YSlow جی تی متریکس
CDN چیست

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

سناریو دو: به نیمه پایین تصویر دقت کنید و و تصور کنید که شما از شبکه توزیع محتوا یعنی CDN استفاده می‌کنید و سرور اصلی سایت شما در شهر ویرجینیا امریکا قرار دارد در این حالت تمام سرورهای CDN در مناطق مختلف یک نسخه کپی از طراحی سایت (طراحی سایت شرکتی، طراحی سایت فروشگاهی) شما در سرور اصلی برداشته و در خود ذخیره می‌کنند و اگر برفرض کاربری در کشور چین قصد داشته باشد وارد سایت شما شود، نزدیک‌ترین سرور CDN به چین پاسخ کاربر را خواهد داد و این عمل در بهبود سرعت سایت نقش بسیاری را ایفا می‌کند.

مزایای استفاده از CDN

افزایش سرعت سایت : طبق توضیحات بالا استفاده از شبکه توزیع محتوا باعث بهبود سرعت سایت و سریع‌تر لود شدن صفحات برای کاربران می‌شود.
کاهش مصرف پهنای باند سرور اصلی : زمانی که شما از CDN استفاده می‌کنید سرورهای CDN یک نسخه کپی از محتویاتی که تقریبا ثابت هستند (فایل‌های CSS ، جاوااسکریپت، عکس‌ها، فونت‌ها و …) در سرور خود ذخیره می‌کنند و زمانی که کاربر درخواستی را برای باز شدن صفحات سایت شما ارسال می‌کند به جای ارسال درخواست به سرور اصلی به سرورهای CDN ارسال می‌شود که باعث کاهش مصرف پنهای باند سرور اصلی می‌شود.
کاهش مصرف منابع سرور اصلی: استفاده از شبکه توزیع محتوا باعث کاهش تعداد درخواست‌های HTTP از سمت کاربران می‌شود و این عمل بار بسیاری را از دوش سرور اصلی کم می‌کند که نتیجه آن کاهش مصرف منابه سرور اصلی می‌باشد.
افزایش رتبه سایت در گوگل : یکی از موارد بهبود سئو سایت بالا بردن سرعت سایت است و گوگل اعلام کرده است که سرعت سایت یکی از فاکتورهای مهم در رتبه‌بندی نتایج خواهد بود.
بهبود تجربه کاربری : سرعت سایت و بارگذاری سریع صفحات سایت ارتباط مستقیمی با تجربه کاربری (UX) خواهد داشت، چرا که کاربران زمان کمتری را برای لود شدن فایل‌های لازمه یک صفحه صرف خواهند کرد و تاخیر در بارگذاری تا حد بسیار زیادی کاهش پیدا می‌کند، همین موضوع می‌تواند باعث کاهش نرخ دفع کاربری هم شود.
۱۰۰ درصد بالا بودن سرور : زمان که شما از شبکه توزیع محتوا یا CDN استفاده می‌کنید حتی زمانی که سرور اصلی قطع شود نسخه کپی موجود در سرورهای CDN به کاربران نمایش داده می‌شود تا با قطعی سرور کاربران شما برخورد نکنند.
افزایش امنیت سایت : استفاده از CDN باعث افزایش امنیت سایت و جلوی حملاتی نظیر DDoS را میگیرد چرا که شبکه توزیع محتوا به راحتی می‌تواند با استفاده از پهنای باند نامحدود خود بار حملات DDoS خنثی کند.

معایب استفاده از CDN

هزینه CDN : یکی از معایب استفاده از شبکه توزیع محتوا هزینه نسبتا بالای برخی از ارائه دهنده‌گان CDN است، هر چند برخی از ارائه دهنده‌گان دارای پنل رایگان هستند همانند سایت cloudflare ولی استفاده از پنل رایگان با توجه به محدودیت های فراوانی که دارند، برای سرورهای داخل ایران توصیه نمی‌شود که در ادامه علت آن را خواهیم گفت، از بین سایت های ارائه دهنده شبکه توزیع محتوا خارجی می‌توان سایت MaxCDN را اشاره کرد که دارای پنل‌هایی با قیمت مناسب است. در ادامه انواع سایت‌های ارائه دهنده CDN را نام خواهیم برد.
مسدود شدن برخی کاربران : گاهی پیش آمده دسترسی برخی کاربران به سایت مسدود شده چرا که برخی سازمان‌ها و یا حتی کشورها دسترسی‌ها را به برخی کاربران محدود می‌کنند و درنتیجه بسیاری از دامنه ها در این سازمان ها و کشورها غیر قابل دسترسی می گردد. یا برخی CDNها حساسیت بالایی به تعداد درخواست‌های HTTP دارند و اگر حتی یک کاربری صفحات زیادی از یک سایت را باز کند ممکن است CDN واکنش نشان دهند و تصور کند که سایت مورد حمله است و ای پی آن شخص را مسدود کند (این موضوع برای خوده بنده بسیار پیش آمده)

معرفی برخی از CDNهای معروف

برخی از CDNهای معروف عبارت اند از:

  • Amazon Cloudfront
  • MaxCDN
  • Cloudflare
  • Arvancloud

چند نکته:

  • سرور Cloudflare پنل رایگانی دارد که اکثر طراحی سایت (طراحی سایت شرکتی، طراحی سایت فروشگاهی) های ایرانی برای استفاده از CDN از این سایت استفاده می‌کنند ولی اگر سرور اصلی سایت شما در ایران است توصیه نمی‌شود از این پنل رایگان استفاده کنید چرا که در بیشتر موارد مشاهده شده به جای بهبود سرعت سایت باعث کاهش سرعت سایت برای کاربران ایرانی می‌شود.
  • سایت Arvancloud توسط یک شرکت ایرانی تاسیس شده است و خدمات مناسبی را ارائه می‌دهد، پیشنهاد ما استفاده از این CDN است هر چند استفاده از این شبکه توزیع محتوا باعث رفع خطای Use a Content Delivery Network در جی تی متریکس نمی‌شود که نشانه ضعف این ابزار آنلاین است.
  • سایت MaxCDN نسبت به CDNهای خارجی دیگر پنلی ارزان‌تر دارد و اگر قصد خرید سی دی ان خارجی با هزینه مناسب هستید می‌تواند گزینه مناسبی باشد.
  • اگر از سیستم مدیریت محتوا وردپرس استفاده می‌کنید می‌توانید از افزونه رایگان Jetpack استفاده کنید که امکان استفاده از شبکه توزیع محتوا یا CDN اختصاصی را به شما می‌دهد.

شبکه توزیع محتوا عمومی چیست؟

استفاده از سرویس رایگان شبکه توزیع محتوای عمومی (Free Public CDN Services) باعث افزایش سرعت سایت، ذخیره پهنای باند سرور اصلی، بهبود تجربه کاربری می‌شود، در سرویس‌های رایگان توزیع محتوای عمومی کتابخانه‌های معروف جاوااسکریپت و CSS قرار دارند تا برنامه‌نویس ها به جای اپلود کردن این کتابخانه های مهم و معروف در سرور اصلی سایت، از سرورهای رایگان توزیع محتوای عمومی استفاده کنند، این عمل باعث کاهش تعداد درخواست‌های HTTP به سمت سرور شما هم می‌شود، مثلا به جای اینکه فایل jquery.min.js را مثل آدرس زیر در طراحی سایت خود لود کنیم.

<script src=”https://mizfa/com/file/js/jquery.min.js”></script>

از jquery.min.js موجود در Google CDN که یکی از شبکه‌های توزیع مجتوای عمومی است استفاده کنیم:

       <script src=”https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js”></script>

Google CDN

لینک: https://developers.google.com/speed/libraries

پایداری یکی از مهم‌ترین خصوصیات این CDN است، شبکه توزیع محتوا عمومی گوگل از محبوبترین کتابخانه های منبع باز JavaScript پشتیبانی می‌کند و همیشه این شبکه توزیع محتوای عمومی اخرین نسخه‌های انتشار شده را در کتابخانه CDN خود قرار می‌دهد.

Microsoft CDN

لینک: http://www.asp.net/ajax/cdn

یکی از محبوب‌ترین کتابخانه‌های CDN به شکل رایگان را برای کاربران فراهم کرده است. شبکه توزیع محتوا عمومی مایکروسافت از محبوبترین کتابخانه Ajax در انواع نسخه‌ها را پشتیبانی می‌کند.

jsDelivr CDN

لینک: http://www.jsdelivr.com

jsDelivr خود از ۵ سی دی ان قدرتمند دیگر برای ارائه خدمات هر چه بهتر به کاربران استفاده می‌کند که معروف‌ترین آنها Cloudflare و MaxCDN هستند. شاید این لینک برای شما جالب باشد که نحوه توزیع محتوا عمومی در jsDelivr به چه شکل است، انواع کتابخانه‌های معروف این CDN عمومی درون خود دارد و کافیست برای استفاده از یک فایل نام آن را در صفحه اول تایپ کنید.

cdnjs CDN

لینک: https://cdnjs.com

cdnjs توسط CloudFlare حمایت می‌شود و فایل‌های مربوط به jQuery ، Modernizr و Bootstrap در خودش دارد، استفاده بسیاری از این سی دی ان عمومی و محبوب می‌شود.

jQuery CDN

لینک: https://code.jquery.com

jQuery قدرت گرفته از MaxCDN است. و اخرین نسخه‌های کتابخانه JavaScript را همیشه در دسترس قرار می‌دهد.

نحوه رفع خطای Use a Content Delivery Network

برای رفع این خطا در Yslow پیشنهاد میکنیم از CDNهایی که معرفی کردیم استفاده نمایید، اگر بنا به شرایط خود نمی‌توانید استفاده کنید بهتر است حداقل برای لود کردن برخی از فایل‌های معروف در سایت خود همانند کتابخانه‌های JavaScript از CDN Public استفاده کنید.