Professional Documents
Culture Documents
2
Technical SEO
Complete Developer’s Guide
3
سئو تکنیکال چیست؟
هر فعالیتی در حوزه سئو و بهینه سازی سایت به جز تولید محتوا و لینک سازی را سئو تکنیکال می
نامیم .به عبارت دیگر سئو تکنیکال فرآیند آماده سازی سایت برای درک صحیح ربات های گوگل از محتوا
4
فارغ از آنکه سایت شما با چه زبان برنامه نویسی یا سیستم مدیریت محتوایی نوشته شده است ،خروجی
صفحات همیشه به صورت تگ های HTMLبرای کاربر و گوگل نمایش داده میشود.
محتوای قرار گرفته در تگ headبرای کاربران قابل مشاهده نبوده و اطالعاتی در مورد محتوای آن صفحه به
… Meta Tags, Link, Style, Script, مرورگر و موتورهای جستجو ارایه میدهد.
محتوای قرار گرفته در bodyمستقیما در دسترس کاربر بوده و مالک اصلی گوگل برای تعیین موضوع
5
محتوای قرار گرفته در تگ headبرای کاربران قابل مشاهده نبوده و اطالعاتی در مورد محتوای آن صفحه به
… Meta Tags, Link, Style, Script, مرورگر و موتورهای جستجو ارایه میدهد.
7
>"<html lang=“fa-IR
></html
عبارت langمستقیما در تگ htmlقرار گرفته و به ربات ها و مرورگرها اعالم میکند که محتوای این ><1
صفحه به چه زبانی تهیه شده است.
کاربرد اصلی این تگ برای سایت هایی است که در صفحه محتوای میکس از چند زبان دارند و از این ><2
طریق مشخص میکنند زبان اصلی صفحه کدام است.
نبود این تگ تاثیر منفی بر سئوی سایت شما نخواهد داشت. ><3
8
></head
تگ Titleبیانگر عنوان صفحه برای کاربر و گوگل است .این عبارت در نوار مرورگر نمایش داده شده و ><1
مالک اصلی گوگل برای نمایش عنوان در نتایج جستجو است.
هر صفحه از سایت شما باید حتما دارای تگ titleباشد و عنوان استفاده شده در آن به صورت کامال ><2
اختصاصی و متناسب با محتویات صفحه تعیین شود.
گوگل برای عنوان یک صفحه در لیست نتایج خود حداکثر 70کاراکتر را نمایش میدهد. ><3
در انتهای تگ titleنام برند قرار داده شده و با کاراکتر – از عنوان صفحه جدا می گردد. ><4
9
></head
تگ Descriptionبیانگر توضیحی کوتاه در مورد صفحه است و در هیچ کجای صفحه قابل رویت نیست ><1
ولی در نتایج جستجو به کاربران نمایش داده میشود.
قرار دادن تگ Descriptionدر صفحه اجباری نیست ولی حضور آن تاثیر مثبت بر سئو خواهد داشت. ><2
توضیحات متا برای هر صفحه اختصاصی و متناسب با محتویات صفحه تعیین شود.
نمایش توضیحات در نتایج جستجو محدود به 170کاراکتر است ،پیشنهاد میشود 160کاراکتر باشد. ><3
توضیحات متا عالوه بر سئو میتواند در بازاریابی و جلب توجه کاربران تاثیرگذار باشد. ><4
10
></head
تگ keywordsبیانگر عبارات کلیدی مرتبط با صفحه است .این تگ سالها پیش استفاده بسیاری داشت ><1
و مالک اصلی گوگل برای تعیین موضوع صفحه بود.
تگ keywordsهم اکنون نه در صفحه سایت و نه در نتایج جستجو نمایش داده نمیشود .وجود یا عدم ><2
وجود آن تاثیری بر سئو صفحه ندارد.
زمان خود را صرف قرار دادن این تگ یا تکمیل محتوای آن نکنید. ><3
11
></head
تگ Content-Typeبیانگر نوع محتوای صفحه و encodingکاراکترهای به کار رفته در آن است .برای ><1
سایت های فارسی همیشه مطابق نمونه باشد.
نبودن این تگ میتواند موجب نمایش نادرست محتوا در صفحه و استفاده از کاراکترهای نامفهوم برای ><2
نمایش حروف فارسی شود.
12
تگ viewportبیانگر نحوه نمایش سایت در موبایل و دسترسی کاربر برای زوم کردن در صفحه است. ><1
استفاده از این تگ اجباری نیست ولی نشان دهنده ریسپانسیو بودن صفحه است.
عبارت user-scalable=noموجب میشود کاربر اجازه زوم کردن در موبایل و بوسیله touchرا نداشته ><2
باشد.
minimum-scaleو maximum-scaleبرای زمانیکه کاربر اجازه زوم دارد استفاده میشود و حداقل و ><3
حداکثر بزرگنمایی صفحه را مشخص میکند.
13
></head
تگ robotsبه ربات های گوگل دستور میدهد که محتوای صفحه را بررسی و ایندکس نکنند .در حالت ><1
پیش فرض و شرایطی که صفحات باید ایندکس شوند نیازی به این تگ در هدر سایت نیست.
14
></head
تگ google-site-verificationبرای تایید هویت شما به عنوان مالک سایت در پنل گوگل وبمستر ><1
استفاده میشود .استفاده از این تگ اجباری نیست و میتوان از روش های دیگری استفاده نمود.
وجود یا عدم وجود این تگ در صفحه تاثیری بر جایگاه و سئو آن نخواهد داشت. ><2
15
></head
تگ shortcutبرای آدرس دهی faviconسایت استفاده میشود .این آیکون در مرورگر و به تازگی در ><1
نتایج جستجو در موبایل نمایش داده میشود.
داشتن آیکون اختصاصی میتواند بر برندینگ و سئو سایت شما تاثیر مثبت داشته باشد. ><2
عبارت apple-touch-iconبرای تعیین آیکون مناسب دستگاه های آیفون و در سایزهای مختلف مورد ><3
استفاده است .زمانیکه صفحه bookmarkمیشود این آیکون به جای آیکون اصلی استفاده میشود.
16
></head
تگ theme-colorرنگ مرورگر کروم کاربر را در سایت یا صفحه شما مشخص میکند .برای اینکار کد رنگی ><1
مورد نظر خود را در بخش contentقرار دهید.
این کار تاثیر مستقیم بر سئو سایت شما ندارد ولی میتواند بر تجربه کاربری آن موثر باشد. ><2
در حال حاضر فقط مرورگر کروم از این تگ پشتیبانی میکند و برای مرورگرهای دیگر تگ های مشابهی ><3
تعریف شده است.
17
></head
تگ authorنام نویسنده صفحه را مشخص میکند ولی بسیاری از طراحان وب این تگ را به عنوان امضای ><1
خود در هدر سایت قرار میدهند.
وجود این تگ در هدر تمام صفحات هیچ کاربردی نداشته و اعالم نام نویسنده صفحه یا سایت به نام ><2
طراح سایت میتواند تاثیر منفی بر سئو شما داشته باشد.
18
></head
تگ generatorبه گوگل و ربات های دیگر اعالم میکند که سایت شما از چه سیستم مدیریت محتوایی ><1
استفاده میکند .استفاده از این تگ الزامی نداشته و تاثیری بر سئو شما ندارد.
بسیاری از ربات های اینترنتی با استفاده از این تگ نسخه CMSشما را تشخیص داده و متناسب با ><2
عملکرد آن برای ارسال اسپم یا هک سایت اقدام میکنند پس بهتر است آن را حذف کنید.
19
</head>
محتوای، زمان به اشتراک گذاری.این تگ ها برای اشتراک گذاری محتوا در توئیتر استفاده میشود <1>
.موجود در بخش های عنوان و توضیحات و تصویر در شبکه اجتماعی نمایش داده میشود
.این تگ ها مستقیما بر سئو تاثیرگذار نبوده و الزامی به استفاده از آنها نیست <2>
20
شبکه اجتماعی از.این تگ ها برای اشتراک گذاری محتوا در فیسبوک و تلگرام مورد استفاده قرار میگیرد <1>
.این اطالعات برای شناسایی صفحه اشتراک گذاشته شده و دریافت اطالعات آن استفاده میکند
استفاده از این تگ ها موجب میشود هنگام اشتراک گذاری سایت شما عنوان و توضیحات لینک مطابق <2>
.آنچه تعیین کرده اید به کاربران نمایش داده شود
21
></head
تگ canonicalیکی از مهمترین تگ های تاثیر گذار بر سئو است و وظیفه اصلی آن جلوگیری از تولید ><1
محتوای تکراری و ایندکس آن توسط گوگل است.
همه صفحات وب باید حتما این تگ را در هدر خود داشته باشند. ><2
در صورتیکه این صفحه نسخه کپی شده از صفحه دیگری است آدرس صفحه اصلی و در غیر اینصورت ><3
آدرس خود صفحه در بخش hrefقرار داده میشود.
این تگ موجب میشود صفحات شما با آدرس های داینامیک و لینک سازی های خارجی نادرست ><4
ایندکس نشده و از Crawl Errorsدر گوگل وبمستر جلوگیری میکند.
22
></head
تگ expiresبه گوگل اعالم میکند که محتوای این صفحه منقضی شده و دیگر ارزشمند نیست .به طور ><1
معمول استفاده از این تگ پیشنهاد نمیشود.
برای سایت هایی که محتوای آنها پس از مدتی بی استفاده و کم ارزش میشوند این تگ میتواند ><2
کاربردی باشد .مانند بخش رویدادها در سایت ایوند.
23
></head
تگ ratingمشخص میکند که محتوای صفحه برای گروه سنی خاصی از مخاطبین بوده و برای کودکان یا ><1
افراد زیر 14سال مناسب نمیشود.
این تگ معموال برای سایت هایی که محتوای غیراخالقی یا خشن ارایه میکنند استفاده میشود و حضور ><2
آن در سایت های عمومی هیچ کاربردی ندارد.
24
></head
تگ dns-prefetchمشخص میکند که برای نمایش محتوای این صفحه مرورگر باید به چه سایت ها و ><1
آدرس های دیگری متصل شود.
به طور معمول زمانیکه فایل های جانبی مانند CSSو JSاز سایت های دیگر یا CDNفراخوان میشوند ><2
این تگ توصیه میشود.
در صورت نبود این تگ ارتباط با هر دامنه به صورت مجزا و پشت سرهم انجام میشود که سرعت نمایش ><3
صفحه را کاهش میدهد .ولی با استفاده از آن مرورگر ارتباط با همه سایت ها را به صورت همزمان انجام
25
></head
تگ stylesheetبرای فراخوانی یک فایل CSSاز آدرسی مشخص در اینترنت استفاده میشود .این تگ ><1
عموما در هدر سایت قرار گرفته و تا زمانیکه دریافت نشود بقیه محتوای صفحه لود نمیشود.
استفاده از این تگ مستقیما بر سئو سایت تاثیرگذار نیست .ولی تعداد استفاده از آن ،حجم فایل ها و ><2
محل قرار گیری تگ میتواند تاثیر زیادی بر سرعت و سئو سایت داشته باشد.
26
></head
تگ commentهیچ تاثیری بر سئو یا نحوه نمایش یک صفحه ندارد و اطالعاتی تکمیلی برای کدنویسی ><1
سایت را شامل میشود.
با توجه به بی تاثیر بودن آن ،پیشنهاد میشود پس از پایان پروژه تگ های کامنت از آن حذف شود تا ><2
حجم کد در صفحه کاهش یابد.
27
محتوای قرار گرفته در bodyمستقیما در دسترس کاربر بوده و مالک اصلی گوگل برای تعیین موضوع
روش های مختلفی برای کدنویسی صفحات HTMLو ارایه محتوا وجود دارد ولی استفاده صحیح و در جای
مناسب از این تگ ها میتواند نقش مهمی در درک صحیح گوگل از صفحات شما داشته باشد.
28
تگ divاز انواع non-semanticبوده و هیچ تاثیری بر سئو یا نحوه نمایش یک صفحه ندارد .این تگ ><1
تنها وظیفه فضاسازی برای قرارگیری و گروه بندی محتوا را برعهده دارد.
تگ classبرای تعیین کدها CSSمرتبط با المان به کار گرفته میشود و تاثیری بر سئو ندارد. ><2
تگ idهمانند تگ classبرای گروه بندی المان های و تعیین نحوه نمایش به کار میرود با این تفاوت ><3
که تگ classمیتواند بین چند المان مشترک باشد ولی تگ idدر صورت استفاده باید کامال اختصاصی
باشد.
29
تگ های هدینگ تاثیر زیادی بر سئو صفحه و درک محتوای آن توسط گوگل دارند. ><1
تگ h1باید در هر صفحه از سایت شما موجود بوده و فقط یکبار استفاده شود. ><2
تگ h2اولویت بعدی گوگل برای تعیین موضوع صفحه است و محدودیتی در استفاده ندارد. ><3
تگ h3تا h6برای معرفی زیرمجموعه های محتوای صفحه استفاده میشوند و اهمیت آنها از h1و h2به ><4
مراتب کمتر است .محدودیتی در استفاده از آنها وجود ندارد.
ترتیب استفاده از تگ های هدینگ باید رعایت شود .ترجیحا بعد از تگ h1از تگ h2استفاده میشود و ><5
برای زیرمجموعه های آن از تگ .h3
30
Anchor Textمتن لینک شده است و صفحه هدف در این عبارت ارزش و اعتبار کسب میکند. ><5
titleزمانیکه موس بر روی لینک قرار میگیرد نشان داده میشود و برای لینک های بدون Anchorمناسب ><6
است.
31
32
33
تگ pبرای محتوای متنی استفاده میشود و نشان دهنده یک پاراگراف است. ><1
پیشنهاد میشود پاراگراف ها حداکثر 4خط باشند و فاصله خطوط از هم استاندارد باشد. ><2
تگ pمیتواند درون خود لینک ،تصویر و یا spanداشته باشد. ><3
تگ های hرا در داخل تگ pاستفاده نمیکنیم. ><4
34
Blockquoteبرای نمایش نقل قول از یک سایت یا صفحه اینترنتی استفاده میشود. ><1
Citeبه شما اجازه میدهد بدون لینک دهی مستقیم به مرجع آدرس آن را به گوگل معرفی کنید. ><2
محتوای citeدر صفحه به کاربر نمایش داده نمیشود. ><3
زمانیکه بخشی از محتوا را از سایت دیگری عینا نقل میکنیم با این تگ مرجع را مشخص می کنیم. ><4
در داخل blockquoteمیتواند از تگ های span ،img ،aو hاستفاده نمود. ><5
35
در نسخه پنجم HTMLتگ های معنایی جدیدی اضافه شده است که میتوانند جایگزین مناسبی برای تگ
بدون معنای divباشند .استفاده از این تگ ها درک ساختار صفحه برای گوگل را راحت تر میکند.
><article ><main
><aside ><mark
><details ><nav
><figcaption ><section
><figure ><summary
><footer ><time
><header
36
37
articleیک محتوای مستقل را در صفحه نمایش میدهد و مفهوم آن وابسته به بقیه صفحه نیست. ><1
در هر articleمیتوان چندین sectionداشت .این روش برای صفحه مقاله یا خبر استفاده میشود. ><2
در هر sectionمیتوان چند sectionیا articleداشت .این روش برای صفحات دسته بندی مقاالت و ><3
محصوالت استفاده میوشد.
38
و یا بصورتarticle وsection مشخص کننده عنوان یک بخش یا کل صفحه است و میتواند درheader <1>
.مستقل استفاده شود
39
footerمشخص کننده محتوای ضمیمه یا دسترسی های مهم یک بخش یا کل صفحه است و میتواند ><1
در sectionو articleو یا بصورت مستقل برای کل صفحه استفاده شود.
40
41
42
مهمترین فضایی که گوگل برای شناسایی محتوای اصلی صفحه نگاه میکند Mainاست. ><4
استفاده از تگ های HTML5به تنهایی نمیتواند تضمین درک درست گوگل از محتوای صفحات شما ><5
باشد .برای اطمینان از شناخت محتوای اصلی صفحه از نشانه گذاری های استاندارد استفاده میکنیم.
43
افزایش سرعت لود صفحات تاثیر بسیار باالیی بر بهبود تجربه کاربری و در نتیجه بهبود وضعیت سئو
سایت شما دارد .سرعت صفحات یکی از فاکتورهای گوگل برای تعیین جایگاه در نتایج است .مهمترین
44
First Paintزمان الزم تا شروع اولین رندر در صفحه است .اولین رندر ممکن است تغییر رنگ بک گراند یا
حتی نمایش عنوان در نوار مرورگر صفحه باشد .در این مرحله هنوز کاربر محتوای صفحه را مشاهده نکرده.
45
First Contentful Paintزمان الزم برای لود و نمایش همه محتوای موجود در صفحه است .در این مرحله
کاربر میتواند از امکانات صفحه به خوبی استفاده کرده و به محتوا دسترسی داشته باشد.
46
Onload Timeزمان الزم برای لود شدن تمام محتوای صفحه شامل تصاویر و فایل های CSSاست و عمال
47
زمان الزم برای First Contentful Paintمهمترین زمان برای تعیین سرعت سایت و تجربه کاربری آن است.
در بسیاری از سایت ها First Contentful Paintو First Paintبسیار نزدیک به هم هستند و تنها برای
صفحاتی که محتوای آنها بسیار زیاد است این دو عدد از هم فاصله میگیرند.
ابزارهای آنالیز مانند Gtmetrixتنها این سه زمان را برای تعیین نمره سایت مورد توجه قرار میدهد و کلیه
پیشنهادات آن برای بهبود آنهاست .در حالیکه سرعت پاسخ گویی سرور نیز بر زمان نمایش صفحه به
48
زمان واقعی لود یک صفحه تنها به محتوای خروجی و حجم تصاویر و فایل های جانبی وابسته نیست.
بلکه سرعت پاسخ گویی سرور و زمان ارتباط مرورگر با آن یکی از فاکتورهای تاثیرگذار است.
صفحهخروجی
جانبی ساخت
های محتوای
فایلمرورگروو
دریافت
تصاویرتوسطدریافتیو
سرور
دریافت محتوای با
کاربر ومرورگر ارتباط
آنالیز
خروجی به برای
الزمبرای
نمایش نیاز
برایزمان
مورد
زمانالزم
زمان
49
برای افزایش سرعت پاسخ گویی سرور تکنیک های مختلفی وجود دارد .این سرعت نه تنها به منابع اصلی
سرور مانند CPUو RAMوابسته است بلکه به موقعیت مکانی کاربر و سرور و بهینه بودن کدنویسی
مهمترین روش های افزایش سرعت پاسخ گویی سمت سرور به شرح زیر است:
-3استفاده از CDN
50
تصاویر بیشترین تاثیر را در حجم محتوای صفحه و زمان لود آن دارند .به همین دلیل بهینه سازی تصاویر
51
زمانیکه شما تصاویر را بدون رعایت استانداردهای بهینه سازی در صفحه قرار میدهید .مرورگر دو مرحله
به طور مثال عرض نمایش تصویر 300پیکسل است ولی عکس بارگذاری شده 2400پیکسل است.
52
53
-1قبل از بارگذاری یک تصویر دقت کنید که در کجای سایت شما و با چه ابعادی نمایش داده میشود.
برای اینکار با استفاده از کروم و ابزار inspect elementبزرگترین سایز کادر نمایش تصویر را بدست آورید.
-2یک فایل جدید دقیقا با همین ابعاد در فتوشاپ ایجاد کرده و تصویر مورد نظر خود را در آن کادر قرار
دهید .دقت کنید که ممکن است بخش هایی از تصویر شما با تبدیل به این سایز دیده نشود.
-4نسخه سایزبندی شده را در سایت optimizillaآپلود کرده و نسخه فشرده شده را دانلود نمایید.
54
55
56
57
58
سایت Gtmetrixیک ابزار رایگان با امکانات بسیار مناسب برای آنالیز سرعت صفحات سایت است.
با عضویت رایگان در این سایت عالوه بر تهیه گزارش امکان ذخیره سازی آنها و نمایش روند تغییرات بر
برای تهیه هر گزارش شما امکان تعیین موقعیت مکانی ،سرعت اینترنت و نوع مرورگر را دارید.
پیشنهادات این سایت به شما کمک میکند مشکالت سایت را شناسایی و مرتفع کنید.
نمره دهی سایت براساس سرعت سایت در front-endبوده و در امتیاز نهایی سرعت پاسخ گویی سرور
لحاظ نمیشود.
59
تعیین موقعیت مکانی تست سرعت تعیین نوع مرورگر برای تست تعیین سرعت اینترنت تست
تهیه ویدئو از فرآیند لود صفحه جلوگیری از لود تبلیغات در صفحه در نظر نگرفتن اتفاقات بعد از لود اولیه
60
61
تست مجدد
امتیاز براساس استانداردهای یاهوامتیاز براساس استانداردهای گوگل زمان لود صفحه حجم کل صفحه تعداد درخواست ها به سرور
62
زمان لود صفحه مهمترین فاکتور در این گزارش است .اگر کمتر از 2ثانیه باشد در بهترین شرایط ممکن
حجم صفحه تاثیر زیادی بر مصرف پهنای باند و سرعت صفحه دارد که باید به کمترین حد ممکن برسد.
تعداد درخواست های به سرور را باید تا حد امکان کاهش دهیم تا فشار بر روی سرور در تعداد
63
در ادامه تمامی گزینه های تاثیرگذار بر سرعت در بخش page speedرا بررسی میکنیم.
روند بهینه سازی را از مواردی که درجه اهمیت باالتری دارند شروع کنید .تصحیح این موارد تاثیر بیشتری
در برخی موارد با رفع یک ایراد نمره شما کاهش می یابد! زیرا مشکالت دیگر نمود بیشتری خواهد داشت.
به امتیاز متوسط توجه نکنید و تالش کنید تا همه موارد را به نمره های باالی 95برسانید .در نظر داشته
باشید که هدف اصلی ما کاهش زمان لود صفحه است نه امتیاز باال.
65
این خطا تقریبا در 100درصد سایت ها مرتفع شده است زیرا شرکت های هاستینگ تنظیمات الزم را بر
این خطا پیشنهاد میکند به جای استفاده از تگ Metaبرای مشخص کردن نوع کاراکتر در صفحه این
اطالعات مستقیما در اولین ارتباط با سرور دریافت شود .با این کار عمال مرورگر شما به کد زیر برای نمایش
PRIORITY: Low
TYPE: Content
همانطور که در بخش قبلی گفته شد نوع کاراکتر صفحه بهتر است از طرف سرور به مرورگر ارسال شود و
این عملیات برای تمام فایل های لود شده در صفحه ضروری است.
ممکن است سایت شما به خوبی این گزینه را رعایت کرده باشد ولی فایل های جانبی که از ابزارهای
تبلیغاتی یا آمارگیر در صفحه شما لود میشوند این ویژگی را نداشته باشند .در این شرایط باید از آن ابزار
TYPE: Content
وجود این خطا در گزارش شما نشان میدهد که یکی از منابع یا فایل های فراخوان شده در صفحه قابل
Gtmetrixآدرس فایل هایی که در صفحه شما فراخوان شده ولی در دسترس نیستند را به شما اعالم
میکند .برای رفع این خطا باید محل فراخوان این فایل در سایت خود را شناسایی کرده و آدرس آن را
تصحیح کنید.
این خطا معموال به دلیل اشتباهات طراح هنگام کدنویسی و یا خطای مدیر سایت با حذف یکی از فایل
PRIORITY: High
TYPE: Content
بسیاری از سایت ها هنگام فراخوان فایل های CSSو JSنسخه فایل را با استفاده از ? در انتهای آن قرار
میدهند .با به روزرسانی نسخه کاربران فایل جدید را دریافت میکنند و نسخه کش شده را نمی بینند.
این کار باعث میشود که حتی فایل اصلی که نسخه آن مدت هاست عوض نشده Cacheنشود و هر بار
برای کاربر از سرور دریافت گردد .به جای استفاده از عالمت سوال ورژن فایل را در نام آن ذکر کنید.
PRIORITY: Low
TYPE: Content
وردپرس نیز به صورت پیش فرض این عبارات را به انتهای فایل ها اضافه میکند که با یک فانکشن چند
70
در صورتی که صفحه مورد نظر شما به آدرس دیگری ریدایرکت شده باشد این خطا را مشاهده خواهید کرد.
عمال میتوان گفت شما از ابتدا آدرس اشتباهی را برای آنالیز وارد کرده اید.
ریدایرکت صفحات مستقیما از سمت سرور شما انجام میشود و این عملیات موجب تاخیر در پاسخ گویی
سرور به درخواست مرورگر میشود .از همین جهت ریدایرکت میتواند تاثیر منفی بر سرعت داشته باشد.
یکی از دالیل نمایش این خطا وارد کردن آدرس اشتباه در بخش آنالیز است .یعنی سایت شما بدو ن www
باز میشود ولی تست سرعت را بر روی نسخه با wwwانجام داده اید.
PRIORITY: High
TYPE: Server
زمانیکه اولین ارتباط مرورگر با سرور برقرار میشود ،سرور اجازه دریافت یک فایل را به او میدهد .برای
با فعال کردن Keep-Aliveدیگر برای دریافت فایل های بعدی نیازی به درخواست مجدد به سرور نبوده و
این گزینه معموال از طرف شرکت های هاستینگ فعال میشود .اگر نبود کد زیر را در فایل htaccessخود
قرار دهید ،در صورت عدم رفع مشکل با پشتیبانی هاست تماس بگیرید.
PRIORITY: High
TYPE: Server
فعال سازی کش مرورگر موجب میشود تا فایل های جانبی مانند تصاویر و CSSو JSتنها در اولین بازدید
از سایت شما توسط مرورگر دانلود شوند و در بازدیدهای بعدی از حافظه مرورگر فراخوان شوند.
با این کار هم سرعت نمایش صفحه برای کاربران بسیار افزایش یافته و هم مصرف پهنای باند شما به طرز
با این روش شما عمال تاریخ انقضای فایل های نمایش داده شده برای مرورگر را مشخص میکنید و تا سر
رسیدن این تاریخ اطالعات را بر روی حافظه مرورگر (دستگاه کاربر) ذخیره میکنید.
PRIORITY: High
TYPE: Server
خودhtaccess اگر نبود کد زیر را در فایل.این گزینه معموال از طرف شرکت های هاستینگ فعال میشود
74
Gzipموجب میشود فایل های CSS ،HTMLو Javascriptسمت سرور زیپ شده و برای مرورگر ارسال
با این روش حجم هریک از این فایل ها نزدیک به 70درصد کاهش می یابد و عالوه بر کاهش حجم
برای استفاده از gzipباید ماژول مورد نظر بر روی سرور شما فعال باشد .بیشتر هاستینگ ها این گزینه را
فعال میکنند زیرا مصرف منابع خودشان را کاهش میدهد .اگر بر روی سایت شما فعال نبود کد زیر را در
PRIORITY: High
TYPE: Server
76
در صورت غیرفعال بودن، وجود دارد یا نهencoding این دستور در هاست شما تعیین میکند که آیا اجازه
قرارhtaccess اگر با این خطا مواجه شدید کد زیر را در فایل.این گزینه معموال در هاست شما فعال است
.دهید
<IfModule mod_headers.c>
<FilesMatch ".(js|css|xml|gz|html)$">
Header append Vary: Accept-Encoding
</FilesMatch>
</IfModule>
PRIORITY: Low
TYPE: Server
77 Average: 96%
البته به طور پیش. این مورد به صورت خودکار برطرف میشودLeverage Browser Caching با رفع مشکل
PRIORITY: High
TYPE: Server
78 Average: 94%
همانطور که در بخش تگ های HTMLگفته شد ویژگی های widthو heightبرای یک تصویر ضروری
هستند .اگر شما ابعاد تصویر را تعیین نکنید مرورگر مجبور به محاسبه آن خواهد بود.
حتی اگر شما ابعاد تصویر را در تگ imgقرار دهید ولی این ابعاد با ابعاد واقعی تصویر یکسان نباشد
مرورگر شما با این مشکل مواجه میشود ولی gtmetrixاین خطا را نمایش نمیدهد.
برای رفع این خطا باید کلیه تصاویر به کار رفته در صفحه دارای عرض و ارتفاع باشند.
PRIORITY: Medium
TYPE: Images
این خطا به این معنی است که تصویر لود شده در صفحه بسیار بزرگتر از فضایی است که در آن نمایش
در نظر داشته باشید که حتی اگر از تصاویر ریسپانسیو استفاده کنیم بازهم در برخی از سایزها ممکن
است نمایش تصویر با سایز واقعی آن یکسان نباشد .اگر این اختالف کمتر از 10درصد باشد احتناب
برای رفع این خطا مطابق آموزش بهینه سازی تصاویر که پیش تر صحبت کرده ایم عمل کنید.
PRIORITY: High
TYPE: Images
به طور معمول هر سایت از آیکون های کوچک بسیاری برای تجربه کاربری بهتر استفاده میکند .بعنوان
مثال برای در کنار دکمه ورود یا باکس جستجو یک آیکون کوچک قرار داده میشود.
اگر تعداد تصاویر به کار رفته در صفحه با فرمت های pngو gifبیشتر از 4عدد باشد این خطا به شما
نمایش داده میشود .در این حالت پیشنهاد میشود با تکنیک CSS Spriteتصاویر را در یک فایل جمع آوری
کرده و با استفاده از دستورات CSS Backgroundدر فضای مورد نظر نشان دهید.
TYPE: Images
PRIORITY: High
TYPE: Images
82 Average: 89%
83
دستور @importدر فایل های CSSقدیمی استفاده میشده است .در این روش به جای فراخوان چند فایل
در صفحه یک فایل قرار داده میشد و با این دستور محتوای فایل های دیگر در آن لود میشد.
با این کار شما تعداد درخواست های ارسالی به سرور را کاهش نمی دهید بلکه نحوه فراخوان آن را تغییر
میدهید .برای رفع این مشکل به جای فراخوان یک فایل در فایل دیگر محتوای آن را به صورت کامل در
یکسان سازی فایل های CSSتعداد درخواست های ارسالی به سرور را کاهش میدهد و از این نظر هم بر
PRIORITY: Medium
TYPE: CSS
هر فایل CSSبرای فراخوانی در سایت نیازمند یک درخواست مجزا به سرور است و با توجه به اینکه فایل
های CSSدر هدر صفحه لود میشوند تا زمانیکه همه آنها دریافت نشوند FCPکامل نمیشود.
تا حد امکان فایل های CSSرا با هم ترکیب کرده و از تعداد فایل های فراخوان شده در صفحه بکاهید .در
بسیاری موارد یک فایل CSSتنها در یکی یا چند صفحه از سایت کاربرد دارد (مثل فرم تماس) لزومی به
بعد از یکسان سازی فایل ها ،نسخه نهایی را با ابزارهای آنالین مانند سایت csscompressor.comبه
راحتی Minifyکنید تا تمام کامنت ها و فاصله های اضافی حذف شده و به کمترین حجم ممکن برسد.
PRIORITY: High
TYPE: CSS
PRIORITY: High
86 Average: 95%
ابزار Page speed insightsپیشنهاد میدهد که تنها CSSضروری برای نمایش اولیه سایت در هدر صفحه
بقیه کدهای CSSبا استفاده از کدهایی مشخص به صورت در bodyقرار گرفته و به انتهای صفحه defer
میشوند .دقت کنید که کدهای inlineنباید خیلی سنگین و زیاد باشد و البته از استایل دهی در داخل تگ
><head
><style
};.blue{color:blue
></style
></head
87
88
هر فایل javascriptبرای فراخوانی در سایت نیازمند یک درخواست مجزا به سرور است همانند آنچه در
بعد از ترکیب فایل های JSبا استفاده از ابزار jscompress.comحجم آن را تا حد امکان کاهش می
در نهایت در نظر داشته باشید که بهتر است فایل های JSدر انتهای صفحه و قبل از بسته شدن body
فراخوان شوند تا کمترین تاثیر را بر سرعت نمایش اولین نسخه از صفحه به کاربر داشته باشند.
همچنین برای جلوگیری از اثرگذاری فایل های JSبر تهیه اولین نسخه صفحه میتوانیم از ویژگی async
برای فراخوان آنها استفاده کنیم .این کار موجب میشود تا پایان لود اولیه صفحه فایل JSدریافت نشود.
PRIORITY: High
TYPE: JS
TYPE: JS
90 Average: 89%
<script type="text/javascript">
</script>
</head>
<body>
body content
</body>
91
ابزارهای متنوعی برای تعیین سرعت سایت شما وجود دارد و هرکدام از آنها استانداردهای متفاوتی را برای
سایت Gtmetrixتقریبا 22فاکتور را برای تعیین سرعت صفحه در نظر میگیرد ولی ابزار Page Speed
ابزار گوگل در برخی موارد مانند استفاده از CSSو JSهای اینالین با gtmetrixدر تناقض است و البته
سرعت پاسخ گویی سرور را نیز در تعیین نمره نهایی شما لحاظ میکند.
در نهایت میتوان گفت فاکتورهای معرفی شده سایت شما را در هر ابزاری بهینه خواهند کرد و تنها مورد
مربوط به Reduce server response timeمیشود که مرتبط به سرور شما و تکنولوژی های فعال روی آن
است.
92
کسب امتیاز باال از Gtmetrixو یا حتی Page Speed Inisghtsبه تنهایی نمیتواند معیار کافی برای
مهمترین فاکتوری که شما باید در نظر بگیرید زمان لود نهایی صفحه برای کاربر است زیرا ممکن است
امتیاز شما باالی 90باشد ولی صفحه در بیشتر از 10ثانیه باز شود.
میتوان گفت اگر صفحه شما در کمتر از 2ثانیه بازشود ایده آل است .اگر این زمان کمتر از 4ثانیه باشد
در شرایط خوبی قرار دارد و اگر به بیشتر از 6ثانیه برسد یعنی نیازمند بهینه سازی بیشتر هستید.
در واقع Optimizationو Speedدو فاکتور مجزا با یک هدف مشترک یعنی بهبود تجربه کاربری هستند.
93
گوگل از الگوریتم های پیچیده ای برای درک محتوای صفحات و ارتباط معنایی کلمات استفاده میکند .با
استفاده از نشانه گذاری محتوا میتوان درک محتوای صفحات را برای ربات های گوگل ساده تر کرد.
همچنین گوگل از این اطالعات نشانه گذاری شده برای نمایش محتوا در نتایج جستجو استفاده میکند.
بخشی از این اطالعات میتواند با نمایشی کامال متفاوت در صفحه جستجوی گوگل ظاهر شوند.
این روش برای معرفی بهتر محتوای صفحه به کار گرفته میشود و به صورت کدهای HTMLدر داخل
صفحه استفاده میشود Structured Data .نمیتواند به صورت مستقل و در یک صفحه خالی استفاده شود.
94
Structured Data
Structured Data
نشانه گذاری محتوا
استانداردهای مورد تایید گوگل همگی براساس کتابخانه موجود در سایت Schema.orgهستند ولی معیار
بسیاری از المان های معرفی شده در سایت Schema.orgهنوز توسط گوگل پشتیبانی نمیشوند و
استفاده از آنها اجباری نیست .در نتیجه مواردی که هم اکنون در نتایج جستجو تاثیرگذار هستند را مورد
برای نمایش اطالعات در نتایج جستجو شما فقط به المان های اجباری نیاز دارید .ولی قراردادن اطالعات
95
Structured Data
Structured Data
فرمت های استاندارد نشانه گذاری
در حال حاضر گوگل از 3فرمت استاندارد نشانه گذاری پشتیبانی میکند
پیشنهاد اصلی گوگل در حال حاضر استفاده از روش JSON-LDاست .در این آموزش نیز بیشتر به بررسی
96
Structured Data
Structured Data
JSON-LD
این اطالعات برای کاربر در.< در هدر یا بدنه صفحه لود میشودscript> با استفادهjavascript یک تگ
.صفحه قابل رویت نیست و محدودیتی برای درج اطالعات برای شما ایجاد نمیکند
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"url": "https://www.example.com/",
…
}
</script>
97
Structured Data
Structured Data
Microdata
. این روش با اضافه کردن ویژگی های تعریف شده به تگ های موجود در صفحه عمل میکند.میشود
...
</form>
</div>
98
Structured Data
Structured Data
RDFa
نشانه. صفحه به گوگل معرفی میکندhtml اطالعات را در درون تگ هایMicrodata همانند روشRDFa
. بنا شده استHTML5 از استاندارد متفاوتی استفاده میکند و برپایهRDFa گذاری های
99
Structured Data
Structured Data
انواع کاربردهای نشانه گذاری استاندارد
100
Structured Data
Breadcrumb
ساختار درختی سایت و محل قرارگیری صفحه را مشخص میکند
101
Structured Data
<script type="application/ld+json"> {
{ "@type": "ListItem",
"item": { }
"@id": "https://example.com/books", }
"name": "Books", }]
}
"image": "http://example.com/images/icon-book.png"
</script>
}
},
102
Structured Data
Sitelinks Searchbox
نمایش نوار جستجو در نتایج گوگل
قرار دادن این کدها به معنی نمایش صد درصدی باکس جستجو نیست .معموال زمانیکه نام برند یا یک
موضوع کلی در سایت شما جستجو میشود این باکس نمایش داده خواهد شد.
103
Structured Data
<script type="application/ld+json">
"@context": "http://schema.org",
"@type": "WebSite",
"@type": "SearchAction",
}
</script>
104
Structured Data
Corporate Contact
نمایش اطالعات تماس شرکت یا سایت
برای زمانیکه کاربر مستقیم نام برند شما را جستجو میکند مناسب است و برای برندهای معتبر که عموما
صفحه ویکی پدیا دارند کاربرد دارد .میتوانید چندین شماره تماس با عنوان های متفاوت مشخص کنید.
105
Structured Data
<script type="application/ld+json">
"@context": "http://schema.org",
"@type": "Organization",
{ "@type": "ContactPoint",
}
</script>
106
Structured Data
Logo
نمایش لوگوی شرکت در نتایج گوگل
با این کد لوگوی شما در نتایج opengraphنمایش داده میشود و گوگل به درستی درک میکند که لوگوی
107
Structured Data
<script type="application/ld+json">
"@context": "http://schema.org",
108
Structured Data
Social Profile
نمایش لینک شبکه های اجتماعی سایت شما
109
Structured Data
<script type="application/ld+json">
"@context": "http://schema.org",
"@type": "Organization",
"sameAs": [
"http://www.linkedin.com/in/yourprofile",
"http://plus.google.com/your_profile"
}
</script>
110
Structured Data
Carousels
نمایش اسالیدر آخرین مطالب
داده میشود.
دارد:
-2یک صفحه شامل چند محتوای زیر مجموعه بدون صفحات داخلی
111
Structured Data
<script type="application/ld+json"> "url":"http://example.com/desserts/cherry-pie"
{ },
"@context": "http://schema.org", {
"itemListElement":[ "position":3,
{ "url":"http://example.com/desserts/blueberry-pie"
"@type":"ListItem", }
"url":"http://example.com/desserts/apple-pie" }
آدرس صفحه مطلب </script>
},
112
Structured Data
<script type="application/ld+json"> }
{ "@type":"ListItem",
"@type":"ListItem", },
"position":1, ]
item: { }
113
Structured Data
Article
نشانه گذای مقاالت و اخبار
استفاده از این روش موجب نمایش تاریخ ،تصویر شاخص و امتیازدهی محتوا در نتایج میشود.
در صورت نشانه گذاری نسخه AMPشما شانس نمایش در carouselگوگل را خواهید داشت.
114
Structured Data
<script type="application/ld+json"> "author": {
{ "@type": "Person",
"@type": "NewsArticle", },
"mainEntityOfPage": { "publisher": {
}, "logo": {
"https://example.com/photos/1x1/photo.jpg", }
"https://example.com/photos/4x3/photo.jpg", },
], }
"dateModified": "2015-02-05T09:20:00+08:00",
115
Structured Data
Article
نشانه گذای مقاالت و اخبار
هر صفحه حداقل باید یک عکس داشته باشد ،گوگل عکس شاخص را خودش انتخاب میکند.
سایز پیشنهادی برای لوگو عرض 600پیکسل و ارتفاع 60پیکسل است .بهتر است زمینه سفید باشد.
116
Structured Data
Video
نشانه گذاری ویدئوها برای نمایش در جستجوی ویدئو
117
Structured Data
<script type="application/ld+json">
{ "duration": "PT1M33S",
"thumbnailUrl": [
"https://example.com/photos/1x1/photo.jpg", }
"https://example.com/photos/4x3/photo.jpg", </script>
"https://example.com/photos/16x9/photo.jpg"
],
"uploadDate": "2015-02-05T08:00:00+08:00",
118
Structured Data
Video
نشانه گذاری ویدئوها برای نمایش در جستجوی ویدئو
فرمت های استاندارد ویدئو از نظر گوگل .mpg, .mpeg, .mp4, .m4v, .mov, .wmv, .asf, .avi, .ra, .ram,
.rm, .flv,هستند.
119
Structured Data
Course
نشانه گذاری برای محتوای آموزشی
120
Structured Data
<script type="application/ld+json"> <script type="application/ld+json">
{ {
"provider": { "@type":"ListItem",
"sameAs": "http://www.ut-eureka.edu" },
} …
} ]
</script> }
</script>
121
Structured Data
Course
نشانه گذاری ویدئوها برای نمایش در جستجوی ویدئو
برای تعریف Courseاز کد اختصاصی و برای تعریف درس ها از کدهای مربوط به Carouselکه قبال معرفی
Providerاجباری نیست ولی میتوان تمام اطالعات مربوط به organizationرا در آن قرار داد.
Courseرا فقط برای محتوای آموزشی استفاده نمایید ،محتوایی که بیش از یک درس باشد.
عنوان محتوای آموزشی شما نباید خیلی عمومی یا غیر آموزشی باشد.
122
Structured Data
Review snippet
سیستم امتیاز دهی به محتوا
123
Structured Data
Review snippet
سیستم نظردهی در مورد محتوا
سیستم Reviewتنها مختص نمایش ستاره ها نیست و میتوان برای انواع خاصی از محتوا یک نظر
مشخصات نویسنده ،محتوای نظر داده شده و امتیاز داده شده توسط او اجباری هستند.
124
Structured Data
<script type="application/ld+json">
}, "publisher": {
"name": "Joe" }
}, }
125
Structured Data
Aggregate Rating
سیستم امتیاز دهی گروهی به محتوا
در این سیستم امتیاز کاربران به صورت گروهی محاسبه شده و متوسط امتیاز آنها به کاربر نمایش
داده میشود .این سبک در داخل کدهای تعریف یک نوع خاص محتوا استفاده میشود.
126
Structured Data
<script type="application/ld+json"> "@type": "Organization",
{ "name": "Google",
"@type": "WebPage", }
"@id": "https://google.com/article" },
}, }
"publisher": { </script>
127
Structured Data
Product
نمایش اطالعات محصول در نتایج گوگل
128
Structured Data
Product
نمایش اطالعات محصول در نتایج گوگل
با نشانه گذاری محصوالت شما میتوانید قیمت ،وضعیت موجودی ،امتیاز کاربران ،تصویر محصول و
این سیستم برای معرفی یک محصول استفاده میشود و مناسب صفحه لیست محصوالت نیست.
shopping aggregatorبرای نمایش اطالعات یک محصول با چندین فروشنده و قیمت استفاده میشود.
129
Structured Data
<script type="application/ld+json"> "offers": {
{ "@type": "Offer",
"brand": { "seller": {
}, }
"aggregateRating": { }
"ratingValue": "4.4", }
},
130
Structured Data
Product
نمایش اطالعات محصول در نتایج گوگل
استفاده از offerضروری نیست ولی در صورت استفاده از آن بخش های قیمت ،واحد پولی و وضعیت
برای یک محصول میتوان هم زمان از سیستم امتیاز دهی کاربران نیز استفاده نمود.
اطالعات مربوط به برند و شناسه محصول اجباری نیستند ولی بهتر است قرار داده شود.
توضیحات محصول اجباری نیست ولی نام و تصاویر آن باید در نشانه گذاری شما ذکر شود.
برای محصوالتی که چند قیمت دارند سیستم نمایش قیمت متفاوت است.
در این حالت باید حداقل و حداکثر قیمت به همراه واحد پولی مشخص شوند.
131
Structured Data
<script type="application/ld+json"> "brand": {
{ "@type": "Thing",
"@type": "Product", },
"ratingValue": "4.4", }
}, }
</script>
132
Structured Data
Multiple elements on a page
استفاده از چند نشانه گذاری در یک صفحه
اگر در صفحه یک مقاله یا محصول شما ویدئو هم دارید میتوانید از دو تگ scriptمجزا برای نشانه گذاری
برای صفحات دسته بندی مقاالت یا محصوالت ابتدا باید هر صفحه محصول یا مقاله به صورت مجزا و در
خود صفحه نهایی نشانه گذاری شده باشد .سپس میتوانید صفحات دسته بندی را به وسیله listitem
اگر در یک صفحه چندین ویدئو مهم قرار گرفته است میتوانید برای هریک از آنها به صورت مجزا از
133
Structured Data
Other Content Types
انواع دیگر نشانه گذاری محتوا
عالوه بر موارد ذکر شده سیستم های نشانه گذاری برای انواع دیگری از محتوا مانند رویداد ،دستور غذا،
با توجه به سخت گیری بیشتر گوگل برای نمایش این آیتم ها و کم کاربرد بودن آنها به نسبت موارد ذکر
برای کسب اطالعات بیشتر در مورد موارد باقی مانده با توجه به آموخته های خود به آموزش اصلی گوگل
Search Gallery
https://developers.google.com/search/docs/guides/search-gallery
134
Structured Data
Structured Data testing Tool
ابزار بررسی صحت نشانه گذاری صفحات
برای آنکه از صحت عملکرد خود در کدنویسی و نشانه گذاری صفحات مطمئن شوید گوگل یک ابزار کاربردی
در این ابزار شما میتوانید مستقیما کد خود را کپی کرده و یا آدرس صفحه مورد نظر خود را وارد نمایید تا
اگر کد شما صحیح باشد و نوع محتوای شما قابل نمایش باشد گوگل یک دکمه previewبرای نمایش
135
Structured Data
136
Structured Data
137
Structured Data
AMPچیست؟
Accelerated Mobile Pages
)⚡( AMPیک کتابخانه متن باز برای طراحی صفحات وب است که توجهی ویژه ای به کارایی ،سرعت و
بهینه سازی داشته است .این پروژه توسط گوگل راه اندازی شده و به سرعت در حال گسترش است.
کدهای نوشته شده در صفحه برای نمایش محتوا AMP HTML ⚡
کتابخانه اختصاصی JSبرای نمایش المان های AMP AMP JS ⚡
سرویس کش گوگل برای خوانش سریع صفحات AMP AMP Cache ⚡
138
140
141
در ادامه استانداردهای کدنویسی AMPو المان های موجود برای استفاده در آن را بررسی خواهیم کرد.
142
<head>
</head>
<body>
</body>
</html>
143
<meta charset="utf-8">
144
><title>Hello, AMPs</title
تگ titleعنوان صفحه را مشخص میکند و باید با عنوان نسخه اصلی یکسان باشد. ⚡
تگ descriptionبرای درج توضیحات است و باید با توضیحات نسخه اصلی یکی باشد. ⚡
وجود تگ canonicalاجباری بوده و آدرس صفحه با نسخه بدون AMPرا مشخص میکند. ⚡
145
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "NewsArticle",
"headline": "Open-source framework for publishing content",
"datePublished": "2015-10-07T12:02:41Z",
"image": [
"logo.jpg"
]
}
</script>
head میتوان استفاده کرد و کدها بهتر است درJSON-LD برای نشانه گذاری محتوا فقط از روش ⚡
.صفحه باشد
AMP در. در هدر صفحه استفاده نمودamp-custom باید از تگCSS برای استفاده از دستورات ⚡
. وجود نداردamp-custom های بیرونی و یا استفاده از دوstyle امکان فراخوانی
147
در صفحه مربوط به نسخه اصلی با استفاده از تگ amphtmlآدرس نسخه AMPقرار داده میشود. ⚡
در نسخه AMPبا استفاده از تگ canonicalآدرس صفحه اصلی مشخص میشود. ⚡
با ترکیب این دو گوگل قادر به تشخیص ارتباط این دو صفحه بوده و از ایندکس شدن مجزای دو ⚡
صفحه به عنوان محتوای تکراری جلوگیری میشود.
148
ویژگی layoutدر تمام المان های ampمورد استفاده بوده و نحوه نمایش را مدیریت میکند. ⚡
این المان در صفحه نمایش داده نمیشود. nodisplay
این المان عرض و ارتفاع مشخصی داشته و با تغییر سایز ثابت می ماند. fixed
این المان عرض و ارتفاع مشخصی نداشته و ابعاد آن با سایز صفحه تغییر میکند. responsive
این المان ارتفاع مشخصی داشته و عرض آن براساس فضای موجود تعیین میشود. fixed-height
ابعاد این المان براساس عرض و ارتفاع فضایی که در آن قرار گرفته تعیین میشود. fill
ابعاد این المان براساس محتوای قرار گرفته در آن مشخص میشود. container
فضای موجود در المان باالیی که flexاست بین تمام flex-itemها تقسیم میشود. flex-item
مشابه المان responsiveعمل میکند ولی امکان تعیین عرض و ارتفاع برای آن وجود دارد. intrinsic
149
150
151
>/head<
>/body<
152
153
154
155
>/head<
>body<
<amp-audio width="400" height="200"
src="audio/cat-meow.mp3">
<div fallback>
<p>Your browser doesn’t support HTML5 audio.</p>
</div>
<source type="audio/mpeg" src="audio/cat-meow.mp3">
<source type="audio/ogg" src="audio/cat-meow.ogg">
</amp-audio>
>/body<
156
157
>/head<
>body<
>/body<
158
159
>/head<
>body<
<amp-analytics type="googleanalytics">
<script type="application/json">
{
"vars": { "account": "UA-XXXXX-Y" },
"triggers": { "trackPageview": { "on": "visible", "request": "pageview" } }
}
</script>
</amp-analytics>
>/body<
160
منابع مورد نیاز را دریافت کنیدlink برای اضافه کردن فونت دلخواه به صفحه میتوانید با استفاده از ⚡
: وجود دارد که عبارتند ازlink منبع تایید شده برای فراخوان فونت به صورت5 فقط ⚡
Typography.com: https://cloud.typography.com
Fonts.com: https://fast.fonts.net
Typekit: https://use.typekit.net
161
>/head<
162
دو مدل slidesو carouselبرای این سیستم طراحی شده است که نمایش و کارایی متفاوتی دارند. ⚡
میتوان به جای تصویر از video ،divیا المان های دیگر برای اسالید استفاده نمود. ⚡
ویژگی هایی مانند fallback ،placeholder ،layoutو sizesبرای المان های carouselقابل استفاده ⚡
هستند.
163
164
>/head<
>body<
>/body<
165
166
</amp-carousel>
>/body<
167
این تگ برای نمایش یک سایدبار بازشونده از چپ و راست صفحه استفاده میشود. ⚡
برای استفاده از این سیستم باید کتابخانه amp-sidebarرا در هدر صفحه لود کنید. ⚡
سایدبار باید مستقیما زیرمجموعه از تگ bodyباشد و نباید در المان دیگری قرار گیرد. ⚡
داخل یک سایدبار میتوان از همه المان های ampمانند تصویر ،لیست ،متن ،منو و ...استفاده نمود ⚡
و محدودیتی از نظر محتوا ندارد.
168
169
>/head<
170
>/body<
171
این تگ برای نمایش دکمه های اشتراک گذاری در صفحه ampاستفاده میشود. ⚡
برای استفاده از این سیستم باید کتابخانه amp-social-shareرا در هدر صفحه لود کنید. ⚡
برخی از شبکه های اجتماعی و روش های اشتراک گذاری به صورت پیش فرض تعریف شده اند. ⚡
برای سایر شبکه های اجتماعی مانند telegramاز لینک دهی اختصاصی استفاده میشود. ⚡
172
173
174
<amp-social-share type="linkedin"
width="40"
height="40"
data-param-text="Check out these AMP Examples!"
data-param-url="https://ampbyexample.com/"
</amp-social-share>
>/body<
. دریافت میشودtitle عنوان را مشخص میکند که به صورت پیش فرض از تگdata-param-text تگ ⚡
آدرس اشتراک گذاشته شده را مشخص میکند که به صورت پیش فرض آدرسdata-param-url تگ ⚡
.صفحه است
175
این تگ برای نمایش منوهای بازشوند و دکمه های نمایش بیشتر استفاده میشود. ⚡
برای استفاده از این سیستم باید کتابخانه amp-accordionرا در هدر صفحه لود کنید. ⚡
از این گزینه در سایدبار و برای ساخت منو نیز میتوان استفاده کرد. ⚡
176
<amp-accordion expand-single-section>
<section>
<h2>Section 1</h2>
<p>Content in section 1.</p>
</section>
<section expanded>
<h2>Section 3</h2>
<amp-img src="images/squirrel.jpg"
width="320"
height="256"></amp-img>
</section>
</amp-accordion>
>/body<
177
178
کتابخانه AMPشامل دستورات و المان های بسیاری می باشد که معرفی همه آنها زمان زیادی نیاز دارد.
برای آشنایی با سایر امکانات و توانایی های AMPبه سایت ampproject.orgمراجعه کنید .برخی از
179
در صورت وجود خطا در صفحات ampو عدم رعایت استانداردها ،نسخه ampسایت شما در نتایج گوگل
برای آنکه از صحت کدهای خود در نسخه AMPمطمئن شوید گوگل یک ابزار تست ارایه کرده است.
https://validator.ampproject.org
180
181