سئو، سئو و سئو!
سئو جدیداً به یکی از دغدغههای جدی علی تبدیل شده است. او دائماً صفحات وبسایت خود را چک میکند تا اشتباهی از او سر نزده باشد که باعث افت رنک وبسایتش شود. به همین دلیل، علی بهصورت جدی در تلاش است تا برنامهای بنویسد تا صفحات سایتش را از لحاظ سئو بررسی کند.
او از شما برای نوشتن چنین برنامهای کمک خواسته است.
پروژهی اولیه را از این لینک دانلود کنید.
پروژهی اولیه شامل فایلی با نام seoScore.php
است که تابعی با نام seoScore
در آن تعریف شده. امضای این تابع بهصورت زیر است:
این تابع باید با دریافت محتویات HTML یک صفحه در قالب یک رشته، آن را از لحاظ سئو بررسی کند و امتیازی در قالب یک عدد صحیح برگرداند.
برای بررسی صفحه و اختصاص امتیاز به آن باید به نکات زیر توجه کنید:
title
بود و تعداد کاراکترهای محتوای این تگ کوچکتر یا مساوی ۶۰ بود، ۱۰ امتیاز و اگر بیشتر از ۶۰ کاراکتر بود، ۷ امتیاز اضافه شود. تضمین میشود که این تگ در صورت وجود، بدون attribute و به شکل زیر خواهد بود:meta
با نام description
بود و تعداد کاراکترهای محتوای ویژگی content
این تگ کوچکتر یا مساوی ۱۶۰ بود، ۱۰ امتیاز و اگر بیشتر از ۱۶۰ کاراکتر بود، ۷ امتیاز اضافه شود. تضمین میشود که این تگ در صورت وجود، با این ترتیب از attribute ها خواهد بود:meta
با نام viewport
بود، ۱۰ امتیاز اضافه شود. تضمین میشود که این تگ در صورت وجود، با این ترتیب از attribute ها خواهد بود:meta
با نام robots
بود، ۱۰ امتیاز اضافه شود. تضمین میشود که این تگ در صورت وجود، با این ترتیب از attribute ها خواهد بود:meta
با ویژگی charset
بود، ۱۰ امتیاز اضافه شود. تضمین میشود که این تگ در صورت وجود، با این ترتیب از attribute ها خواهد بود:h1
بود، ۱۰ امتیاز و اگر بیشتر از یک تگ h1
بود، ۷ امتیاز اضافه شود. تضمین میشود که این تگ در صورت وجود، بدون attribute است.h2
یا h3
بود، به ازای هر یک از این تگها ۵ امتیاز اضافه شود (تعداد تگهای h2
و h3
اهمیتی ندارد). تضمین میشود که این تگها در صورت وجود، بدون attribute هستند.header
، section
و footer
است؛ تعداد دفعات تکرار آنها اهمیتی ندارد). تضمین میشود که این تگها در صورت وجود، بدون attribute هستند.trim
کنید).footer
بدون محتوا در HTML موجود باشد، باید ۱۰ امتیاز اضافه شود.seoScore.php
پیادهسازی کنید.پس از پیادهسازی متد seoScore
، با اجرای کد زیر:
خروجی باید بهصورت زیر باشد:
یک فایل PHP که تابع seoScore
در آن پیادهسازی شده است آپلود کنید.