بررسی اعتبار داده ها کد html معتبر درخواست های معتبر

تا اینجا ما تک تک کدهای HTML را بررسی کردیم. اما یک سند HTML (یا صفحه وب، که به همین معنی است) برای معتبر بودن نیاز به ساختار خاصی دارد.

چرا ما به اعتبار اسناد HTML اهمیت می دهیم؟

  • درستی: یک سند معتبر به درستی در مرورگر نمایش داده می شود.
  • اشکال زدایی: کد HTML بد می تواند باعث خطاهایی شود که تشخیص آنها دشوار است.
  • قابلیت نگهداری: یک سند معتبر بعداً راحت تر به روز می شود، حتی برای شخص دیگری.
Doctype

اولین اطلاعاتی که می نویسیم این است نوعسند HTML - doctype.

یک doctype را به‌عنوان نسخه‌ای از یک خودرو در طول سال‌ها در نظر بگیرید: فورد فیستا که در سال 1986 خریداری کردید، فیستا 2 بود. اگر امروز یکی از آن‌ها را بخرید، فیستا 7 است.

پیش از این، چندین نسخه از HTML با هم وجود داشتند (XHTML و HTML 4.01 استانداردهای رقیب بودند). در حال حاضر، HTML5 هنجار است.

برای اینکه به مرورگر بگویید که یک سند HTML HTML5 است، به سادگی سند خود را با خط زیر شروع کنید:

همین است. فقط نصب کنید و فراموشش کنید.

ممکن است تعجب کنید که چرا این doctype HTML5 عدد 5 را ذکر نمی کند. W3C فکر می کرد که تعاریف قبلی از doctype بسیار گیج کننده بودند و از فرصت استفاده کردند و آن را با حذف ذکر نسخه HTML ساده کردند.

عنصر

به غیر از خط doctype، کل سند HTML شما باید در داخل عنصر قرار گیرد:

از نظر فنی جد تمام عناصر HTML است.

نحوه حمل صفات اطلاعات اضافیبرای یک عنصر HTML، عنصر همچنین حاوی اطلاعات اضافی برای کل صفحه وب است.

به عنوان مثال، عنوان صفحه (نمایش داده شده در برگه) در:

وبلاگ افسانه ای من

عناصر HTML زیر می توانند در و فقط در آن ظاهر شوند:

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

سند HTML کاملا معتبر

با ترکیب همه این الزامات، می توانیم یک سند HTML ساده و معتبر بنویسیم:

MarkSheet

سلام دنیا!

اگر این مثال را در مرورگر مشاهده کنید، خواهید دید که:

  • "MarkSheet" در برگه مرورگر نوشته شده است.
  • "سلام دنیا!" تنها متنی است که در پنجره نمایش داده می شود زیرا تنها محتوا است.

W3C خدمات اعتبار سنجی نشانه گذاری را برای بررسی هر سند HTML برای خطاها و هشدارها ارائه می دهد.

بررسی اعتبار کد HTML سایت الزاماً در من گنجانده شده است. اما نیازی نیست اهمیت خطاهای اعتبار سنجی در ارتقاء SEO را بیش از حد تخمین بزنیم - بسیار کوچک است. برای هر موضوعی در TOP سایت هایی با تعداد زیادی از این خطاها وجود خواهد داشت و آنها به خوبی زندگی می کنند.

اما! عدم وجود خطاهای فنی در سایت عامل رتبه بندی است و بنابراین نباید از این فرصت غافل شد. بهتر است درستش کنید، قطعا بدتر نمی شود. موتورهای جستجو تلاش های شما را می بینند و به شما امتیاز کوچکی در کارما می دهند.

چگونه یک سایت را از نظر اعتبار کد HTML بررسی کنیم

اعتبار کد سایت با استفاده از آن بررسی می شود سرویس آنلاین W3C HTML Validator. در صورت وجود خطا، سرویس لیستی را به شما می دهد. اکنون رایج ترین انواع خطاهایی را که در سایت ها با آن مواجه شده ام تجزیه و تحلیل می کنم.

  • خطا: ID تکراری min_value_62222

و پشت این خطا یک هشدار وجود دارد.

  • هشدار: اولین مورد ID min_value_62222 اینجا بود

این بدان معناست که شناسه شناسه سبک تکراری است که طبق قوانین اعتبار html باید منحصر به فرد باشد. به جای ID، می توانید از CLASS برای اشیاء تکراری استفاده کنید.

تصحیح این امر مطلوب است، اما خیلی حیاتی نیست. اگر چنین خطاهایی زیاد است، بهتر است آنها را اصلاح کنید.

به طور مشابه، ممکن است گزینه های دیگری نیز وجود داشته باشد:

  • خطا: شناسه تکراری placeWorkTimes
  • خطا: شناسه تکراری callbackCss-css
  • خطا: شناسه تکراری Capa_1

در زیر یک هشدار بسیار رایج است.

  • هشدار: ویژگی type برای منابع جاوا اسکریپت غیر ضروری است

این یک اشتباه بسیار رایج هنگام بررسی اعتبار وب سایت است. طبق قوانین HTML5، ویژگی type برای تگ اسکریپت مورد نیاز نیست.

هشدار مشابه برای سبک ها:

  • هشدار: ویژگی type برای عنصر style مورد نیاز نیست و باید حذف شود

اصلاح این هشدارها مطلوب است، اما حیاتی نیست. در مقادیر زیادبهتره درستش کن

  • هشدار: از مقادیر viewport که مانع تغییر اندازه اسناد توسط کاربران می شود اجتناب کنید

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

به نظر من این هشدار بسیار نامطلوب است، برای کاربر ناخوشایند است و به دلایل رفتاری منفی است. با حذف این عناصر حذف می شود - حداکثر مقیاس = 1.0 و کاربر مقیاس پذیر = نه.

  • خطا: ویژگی itemprop مشخص شده است، اما عنصر خاصیت هیچ موردی نیست

این نشانه گذاری میکرو است، ویژگی itemprop باید داخل عنصر با آیتم کوپ باشد. من فکر می کنم این خطا مهم نیست و می توان آن را به همان صورت رها کرد.

  • اخطار: اسناد نباید از about:legacy-compat استفاده کنند، مگر اینکه توسط سیستم‌های قدیمی تولید شده باشند که نمی‌توانند doctype استاندارد را تولید کنند.

خط about:legacy-compat فقط برای مولدهای html مورد نیاز است. در اینجا شما فقط باید این کار را انجام دهید، اما خطا به هیچ وجه مهم نیست.

  • خطا: منبع برچسب انتهایی ولگرد

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

بر این اساس، باید تگ بسته شدن را از کد حذف کنید. مشابه این خطا، تگ ها ممکن است رخ دهد

  • خطا: یک عنصر img باید دارای ویژگی alt باشد، مگر در شرایط خاص. برای جزئیات، با راهنمایی در مورد ارائه جایگزین های متنی برای تصاویر مشورت کنید

همه تصاویر باید دارای ویژگی alt باشند، من این خطا را حیاتی می دانم و باید اصلاح شود.

  • خطا: عنصر ol به عنوان فرزند عنصر ul در این زمینه مجاز نیست. (سرکوب کردن خطاهای بیشتر از این درخت فرعی.)

تودرتوی تگ ها در اینجا نادرست است. در

    فقط باید وجود داشته باشد
  • . در این مثال، این عناصر اصلاً مورد نیاز نیستند.

    به طور مشابه، ممکن است خطاهای دیگری مانند این وجود داشته باشد:

    • عنصر h2 به عنوان فرزند عنصر ul در این زمینه مجاز نیست.
    • عنصر a به عنوان فرزند عنصر ul در این زمینه مجاز نیست.
    • عنصر noindex به عنوان فرزند عنصر li در این زمینه مجاز نیست.
    • عنصر div به عنوان فرزند عنصر ul در این زمینه مجاز نیست.

    همه اینها باید اصلاح شود.

    • خطا: مشخصه http-equiv در این مرحله در متای عنصر مجاز نیست

    ویژگی http-equiv برای عنصر متا در نظر گرفته نشده است، باید حذف یا جایگزین شود.

    خطاهای مشابه:

    • خطا: مشخصه n2-lightbox در این مرحله در عنصر a مجاز نیست.
    • خطا: مشخصه asyncsrc در این مرحله در اسکریپت عنصر مجاز نیست.
    • خطا: در این مرحله قیمت ویژگی روی گزینه عنصر مجاز نیست.
    • خطا: رشته هش مشخصه در این مرحله در گستره عنصر مجاز نیست.

    در اینجا همچنین باید ویژگی های n2-lightbox، asyncsrc، price، hashstring را حذف کنید یا آنها را با گزینه های دیگر جایگزین کنید.

    • خطا: برچسب شروع بد در img in head

    یا مثل این:

    • خطا: برچسب شروع بد در div in head

    تگ‌های img و div نباید داخل باشند. این خطا باید اصلاح شود.

    • خطا: CSS: خطای تجزیه

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

    خب یه همچین اشتباهی کوچیک ولی خوشایند نیست) خودتون ببینید نیاز به حذف داره یا نه تاثیری در ارتقای سایت نداره.

    • هشدار: ویژگی charset در عنصر اسکریپت منسوخ شده است

    دیگر نیازی به تعیین رمزگذاری در اسکریپت ها نیست. اخطار به صلاحدید شما حیاتی نیست.

    • خطا: اسکریپت عنصر نباید مجموعه charset داشته باشد مگر اینکه ویژگی src نیز مشخص شده باشد

    در این خطا، باید ویژگی charset="uft-8" را از اسکریپت حذف کنید، زیرا رمزگذاری را خارج از اسکریپت نشان می دهد. به نظر من این اشتباه باید اصلاح شود.

    • هشدار: عنوان خالی است

    در اینجا یک هدر h1 خالی است. باید تگ ها را حذف کنید یا یک عنوان بین آنها قرار دهید. خطا بسیار مهم است.

    • خطا: پایان تگ br

    تگ br تک است، اما طوری ساخته شده است که گویی در حال بستن یک جفت است. باید / را از تگ حذف کنیم.

    • خطا: مرجع نویسه نامگذاری شده با نقطه ویرگول خاتمه نمی یابد. (یا & باید به عنوان &. فرار می شد.)

    اینها کاراکترهای خاص HTML هستند، باید آنها را به درستی بنویسید یا &کپی کنید. بهتر است این اشتباه را برطرف کنید.

    • خطای مرگبار: بعد از آخرین خطا بازیابی نمی شود. هر گونه خطای بعدی نادیده گرفته خواهد شد

    این یک خطای جدی است:

    اصلاً نباید چیزی بعد از آن باشد، زیرا این آخرین برچسب بسته شدن صفحه است. شما باید همه چیز را پس از آن حذف کنید یا آن را بالاتر ببرید.

    • خطا: CSS: راست: فقط 0 می تواند یک واحد باشد. شما باید یک واحد بعد از شماره خود قرار دهید

    شما باید مقدار را در px بنویسید:

    در اینجا یک خطای مشابه وجود دارد:

    • خطا: CSS: margin-top: فقط 0 می تواند یک واحد باشد. شما باید یک واحد بعد از شماره خود قرار دهید
    • خطا: عنصر بسته نشده a

    چندین بررسی کد شما را انجام می دهد. اصلی ترین ها:

  • اعتبار سنجی نحو - بررسی خطاهای نحوی.
  • سینتکس معتبر است حتی اگر یک تگ HTML معتبر نیست، بنابراین بررسی نحو برای نوشتن HTML خوب حداقل مفید است.
  • بررسی تودرتو بودن تگ ها - تگ ها باید به ترتیب معکوس نسبت به باز شدنشان بسته شوند. به عنوان مثال، این بررسی خطاها را با .
  • اعتبارسنجی DTD - بررسی اینکه کد شما با تعریف نوع سند مشخص شده مطابقت دارد. این شامل بررسی نام برچسب‌ها، ویژگی‌ها و برچسب "Embedding" (برچسب‌های یک نوع در برچسب‌های نوع دیگر) است.
  • به خاطر داشته باشید که اینها بررسی های منطقی هستند و مهم نیست که اعتبار سنجی چگونه اجرا می شود. اگر حداقل یکی از بررسی ها ناموفق باشد، HTML نامعتبر در نظر گرفته می شود. و مشکل در آنجا نهفته است. هر مرورگر تجزیه‌گر مخصوص به خود را دارد و تغذیه آن چیزی که همه مرورگرها می‌فهمند تنها راه برای اطمینان از اینکه کد شما در همه مرورگرها به درستی کار می‌کند است. از آنجایی که هر مرورگر مکانیزم تصحیح خطای HTML خود را دارد، نمی‌توانید به کد نامعتبر اعتماد کنید.

    استدلال اصلی علیه اعتبارسنجی این است که خیلی سخت‌گیرانه است و با نحوه عملکرد واقعی مرورگرها مطابقت ندارد. بله، HTML می‌تواند نامعتبر باشد، اما همه مرورگرها می‌توانند برخی از کدهای نامعتبر را به همین ترتیب درمان کنند. اگر من حاضرم مسئولیت کد بدی را که می نویسم به عهده بگیرم، دیگر لازم نیست نگران بررسی باشم. تنها چیزی که باید نگرانش باشم این است که کار می کند.

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

    به طور کلی، بزرگترین مشکل اعتبارسنجی من بررسی شماره 4 (برای عناصر خارجی) است. من طرفدار استفاده از ویژگی های سفارشی در تگ های HTML برای ذخیره متا داده های اضافی مربوط به یک عنصر خاص هستم. در درک من، این به عنوان مثال، اضافه کردن ویژگی foo زمانی است که داده ای (نوار) ​​دارم که باید آن را با یک عنصر خاص مرتبط کنم. گاهی اوقات افراد ویژگی های موجود را برای این اهداف فقط برای تأیید اعتبار بارگذاری می کنند، حتی اگر این ویژگی برای اهداف دیگری استفاده شود. برای من معنایی ندارد.

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

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

    بهترین مثال از فناوری که منجر به HTML نامعتبر می شود اما تفاوت زیادی ایجاد می کند ARIA است. ARIA با افزودن ویژگی‌های جدید به HTML 4 کار می‌کند. این ویژگی‌ها معنای معنایی بیشتری را به عناصر HTML ارائه می‌کنند و مرورگر می‌تواند این معناشناسی را به دستگاه‌های کمکی برای کمک به افراد دارای معلولیت منتقل کند. همه مرورگرهای اصلی اکنون از نشانه گذاری ARIA پشتیبانی می کنند. با این حال، اگر از این ویژگی ها استفاده کنید، HTML نامعتبر خواهید داشت.

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

    برای اینکه موضع خود را روشن کنم: من معتقدم که بررسی های #1 و #2 بسیار مهم هستند و همیشه باید انجام شوند. من همچنین چک شماره 3 را مهم می دانم، اما نه به اندازه دو مورد اول مهم. بررسی شماره 4 برای من بسیار مشکوک است زیرا بر ویژگی های سفارشی تأثیر می گذارد. من معتقدم که حداکثر، ویژگی‌های سفارشی باید به‌عنوان اخطار (به‌جای خطا) در نتایج اعتبارسنجی علامت‌گذاری شوند تا بتوانم بررسی کنم که آیا نام ویژگی را اشتباه وارد کرده‌ام. پرچم گذاری برچسب های سفارشی به عنوان خطا امکان پذیر است ایده خوب، اما مشکلاتی نیز دارد، به عنوان مثال، هنگام جاسازی محتوا در نشانه گذاری های دیگر - SVG یا MathML.

    اعتبارسنجی به خاطر اعتبارسنجی؟ من فکر می کنم که اعتبار سنجی برای اعتبار سنجی بسیار احمقانه است. HTML معتبر فقط به این معنی است که هر 4 بررسی بدون خطا انجام می شود. چندین چیز مهم وجود دارد که HTML معتبر تضمین نمی کند:
    • HTML معتبر دسترسی را تضمین نمی کند.
    • HTML معتبر UX خوب (تجربه کاربر) را تضمین نمی کند.
    • HTML معتبر یک وب سایت کارآمد را تضمین نمی کند.
    • HTML معتبر نمایش صحیح سایت را تضمین نمی کند.
    HTML معتبر می تواند چیزی برای افتخار باشد، اما این به خودی خود نشانگر مهارت نیست. کد معتبر شما همیشه بهتر از کدهای نامعتبر من عمل نمی کند. این به کد من اجازه می دهد تا بررسی اعتبار HTML5 را پشت سر بگذارد. البته مواردی در مورد اعتبار سنجی HTML5 وجود دارد که من با آنها موافق نیستم، اما معتقدم که نیازهای عملی را بسیار بهتر از اعتبارسنجی HTML 4 برآورده می کند. اما من نمی خواهم گروگان او باشم زیرا از ویژگی هایم استفاده می کنم. من افتخار می کنم که از ARIA در کارم استفاده می کنم و برایم مهم نیست که کد نامعتبر در نظر گرفته شود. باز هم از چهار بررسی اعتبار سنجی من فقط با یکی مشکل دارم. و یک اعتبار سنجی HTML5 من را از بسیاری از این مشکلات نجات می دهد.

    می‌دانم که این موضوع برای بسیاری بحث‌برانگیز است، بنابراین لطفاً از اظهارات صرفاً احساسی در نظرات خودداری کنید.

    UPD: با تشکر از کارما، من آن را به موضوعی منتقل کردم. صحبت های نویسنده را تکرار می کنم: می فهمم که این موضوع بحث برانگیز است، اما لطفا از اظهار نظرهای احساسی صرف خودداری کنید و استدلال کنید.

    اخیراً چندین سؤال از کاربران در مورد اعتبار تم ها و اعتبارسنجی به طور کلی دریافت کرده ام. در این پست می خواهم به آنها پاسخ دهم.

    اعتبار چیست؟


    اعتقاد بر این است که اعتبار کد یک ویژگی واحد و جهانی هر کد است.
    در واقع اعتبار عبارت است از انطباق کد html سند با مجموعه ای از قوانین مشخص شده در doctype یا ضمنی در HTML5.
    یعنی اعتبار یک مفهوم نسبی است، زیرا قواعد و الزامات آنها متفاوت است.
    برای واضح تر شدن، مثالی را که در وب سایت css-live.ru پیدا کردم، می زنم:

    به سمت ساخت و ساز ساختمان های مسکونیو نیروگاه های هسته ای، SNiP های مختلف استفاده می شود ( کدهای ساختمانو قوانین)، بنابراین سندی که طبق یک مجموعه قوانین معتبر است ممکن است بر اساس قوانین دیگر معتبر نباشد (یک نیروگاه هسته ای که طبق استانداردهای یک ساختمان مسکونی ساخته شده است خوب است!).

    Doctype معمولاً سندی را نشان می‌دهد که اعتبارسنجی html بر اساس آن برنامه‌ریزی شده است، اما می‌تواند به دلایل عملی برای انتخاب حالت بهینه مرورگر انتخاب شود.
    XHTML5 ممکن است اصلاً doctype نداشته باشد، اما همچنان معتبر است.

    اعتبار سنجی - چیست؟

    به عبارت ساده، اعتبارسنجی فرآیند بررسی کد و مطابقت آن با نوع doctype انتخابی (DTD) است.

    اعتبار چگونه بررسی می شود؟

    اعتبار کد HTML توسط ابزاری به نام اعتبار سنجی بررسی می شود.
    معروف ترین اعتبار سنجی w3c https://www.w3.org است.
    اعتبار سنجی w3c چندین بررسی کد را انجام می دهد.
    اصلی ترین ها:

  • بررسی خطاهای نحوی:
    مثال از habrahabr.ru/post/101985:
    با وجود اینکه یک تگ HTML نامعتبر است، نحو معتبری است
    بنابراین بررسی نحو برای نوشتن کدهای HTML خوب بسیار مفید است.
  • بررسی تودرتو تگ:
    در یک سند HTML، برچسب ها باید به ترتیب معکوس باز شدن بسته شوند. این بررسی تگ های بسته نشده یا نادرست بسته شده را شناسایی می کند.
  • اعتبارسنجی html بر اساس DTD:
    بررسی میزان مطابقت کد با DTD مشخص شده - تعریف نوع سند (doctype). این شامل بررسی نام برچسب‌ها، ویژگی‌ها، و خط‌بندی برچسب (برچسب‌های یک نوع در برچسب‌های نوع دیگر) می‌شود.
  • بررسی عناصر خارجی:
    هر چیزی را که در کد باشد، اما در doctype نیست، تشخیص می دهد.
    به عنوان مثال، برچسب ها و ویژگی های سفارشی.
  • برای بررسی اعتبار کد CSS، یک اعتبارسنجی css وجود دارد - http://jigsaw.w3.org/css-validator.
    اعتبار کد نتیجه یک بررسی مکانیکی برای عدم وجود OB رسمی، طبق مجموعه قوانین مشخص شده است.
    شما باید درک کنید که اعتبارسنجی یک ابزار است نه یک ارزش به خودی خود.
    کدنویسان باتجربه معمولاً می دانند که قوانین اعتبارسنجی HTML یا CSS در کجا می تواند نقض شود و در کجا نه، و عواقب (یا نه) این یا آن خطای اعتبارسنجی چیست.
    نمونه هایی از زمانی که یک وب سایت کد نامعتبر تولید می کند:

    • راحت تر و سریع تر - ویژگی های سفارشی برای Javascrip/AJAX یا
    • SEO بهینه شده - نشانه گذاری ARIA.

    روشن است که اعتبار به اعتبار اعتبار ندارد.
    به عنوان یک قاعده، طراحان چیدمان با تجربه قوانین زیر را رعایت می کنند:
    - نباید خطای فاحشی در کد وجود داشته باشد.
    - موارد جزئی قابل تحمل است، اما فقط به دلایل موجه.
    با توجه به قابل قبول بودن خطاهای اعتبار سنجی html/CSS:

    خطاهای اعتبارسنجی (VE) را می توان به گروه های زیر تقسیم کرد:
    • OB در فایل های قالب:
      پیدا کردن و تعمیر آنها کار سختی نیست.
      اگر برخی از خطاهای جزئی به عملکرد بیشتر یا سریعتر سایت کمک می کند، می توانید آنها را ترک کنید.
    • OB در اسکریپت های شخص ثالث متصل به سایت:
      به عنوان مثال، ویجت VKontakte، اسکریپت توییتر یا فایل های ویدیویی از YouTube.
      هیچ راهی برای رفع آنها وجود ندارد، زیرا این فایل ها و اسکریپت ها در سایت های دیگر قرار دارند و ما به آنها دسترسی نداریم.
    • قوانین CSS که اعتباردهنده آنها را درک نمی کند:
      اعتباردهنده بررسی می کند که کد سایت با نسخه خاصی از HTML یا CSS مطابقت داشته باشد.
      اگر از قوانین CSS نسخه 3 در قالب خود استفاده کرده اید، و اعتباردهنده مطابقت با نسخه 2.1 را بررسی می کند، آنگاه همه قوانین CSS3 را خطا در نظر می گیرد، اگرچه اینطور نیست.
    • OB هایی که به ناچار باید در سایت رها شوند تا به نتیجه مطلوب برسید. به عنوان مثال:
      • برچسب های noindex آنها معتبر نیستند، اما بسیار ضروری هستند و باید آن را تحمل کنید.
      • خاکی برای اینکه سایت به درستی در برخی از مرورگرها نمایش داده شود، گاهی اوقات باید از هک استفاده کنید - کدی که فقط یک مرورگر خاص آن را درک می کند.
    • خطاهای خود اعتبار دهنده
      او اغلب برخی از برچسب ها را نمی بیند (مثلاً برچسب های بسته شدن) و در مورد OB در جایی که وجود ندارد گزارش می دهد.

    به نظر می رسد که یک سایت کار تقریباً همیشه نوعی OV دارد.
    علاوه بر این، می تواند تعداد زیادی از آنها وجود داشته باشد.
    به عنوان مثال، صفحات اصلی Google، Yandex و mail.ru هر کدام حاوی چندین ده خطا هستند.
    اما نمایش سایت ها را در مرورگرها خراب نمی کنند و مانع از کار آنها نمی شوند.
    هر آنچه در بالا نوشته شده در مورد موضوعات من صدق می کند.

    در موضوعات دشواروجود دارد:
    • توابع وردپرس (به عنوان مثال the_category()) که کد نامعتبر تولید می کند.
    • خروجی ویدیو از سایت های میزبانی ویدیو، مثلاً از یوتیوب، و OV های زیادی در کد یوتیوب وجود دارد که نه شما و نه من نمی توانیم روی آنها تأثیر بگذاریم.
    • دکمه ها شبکه های اجتماعی، که با استفاده از اسکریپت های این شبکه ها به هم متصل شده اند و حاوی OV هستند.
    • قوانین CSS3 و HTML5 که توسط اعتبار سنجی های قدیمی خطا در نظر گرفته می شوند.
      در عین حال، اعتبار سنجی نسخه های CSS3 و HTML5 قوانین قدیمی را خطا می دانند :).
    • گاهی اوقات، برای دستیابی به نمایش صحیح در مرورگر اینترنت اکسپلورر یا نسخه های قدیمی تر مرورگرهای دیگر، باید از به اصطلاح هک استفاده کنید - کدی که فقط یک مرورگر خاص آن را درک می کند تا قوانینی برای نمایش یک سایت به طور خاص برای این مرورگر بنویسید.

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

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

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

    میزان تمیز و ساختاری کد توسط توسعه دهندگان را می توان با بررسی اعتبار سایت که از طریق یک بررسی کننده ویژه در منبع رسمی W3C انجام می شود، تشخیص داد. در اینجا یک اعتبارسنجی کد HTML آنلاین رایگان موجود است که در validator.w3.org قرار دارد


    با کمک آن می توانید اعتبار کد HTML را به سه روش بررسی کنید:

    • اعتبارسنجی با URI - تأیید با آدرس
    • اعتبارسنجی با آپلود فایل - تجزیه و تحلیل فایل آپلود شده
    • اعتبارسنجی با ورودی مستقیم - بررسی یک قطعه کد خاص.

    انتخاب روش مورد نیازبا جابجایی به برگه مناسب انجام می شود:

    بیایید ببینیم چه اتفاقی می افتد اگر اعتبار برخی از سایت های شناخته شده در Runet را بررسی کنیم، برای مثال Habrahabr. آن را در قسمت تجزیه و تحلیل قرار دهید و روی دکمه "بررسی" کلیک کنید. پس از چند ثانیه، اعتبار سنجی W3C نتیجه زیر را به ما می دهد:

    نتیجه بسیار خوبی است، زیرا بررسی بیشتر منابع ده ها و حتی صدها خطا ایجاد می کند.

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

    در هر صورت، اگر خطاهایی در سایت شما یافت شد، ناراحت نشوید، زیرا اولاً وب سایت های بسیار کمی هستند که به طور کامل با استاندارد W3C مطابقت داشته باشند و ثانیاً تمام خطاهایی که اعتباردهنده HTML -code پیدا کرده است می تواند باشد. تصحیح شد.

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

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