ما الترميز؟ حل مشاكل الترميز غير الصحيح لصفحة الويب

البيانات الأولية

  1. لنأخذ موقعنا كمثال: www.vashmaster.ru
  2. تتم كتابة جميع نصوص الموقع ونشرها على الموقع بالتشفير "ويندوز-1251"ولم يتم إبلاغ المتصفح بهذا
  3. يرسل خادم الاستضافة تلقائيًا الرأس التالي افتراضيًا:
    نوع المحتوى: نص/أتش تي أم أل؛ مجموعة الأحرف=utf-8

إذا كان هناك مثل هذا التناقض في التشفير الفعلي للموقع ومعلومات التشفير في الرأس المرسلة من قبل الخادم، فستظهر مشاكل في عرض صفحات الموقع في متصفح الزوار.

الترميز الصحيح مهم جدا!

دعونا نحاول شرح السبب.

باستخدام الإعدادات الموضحة أعلاه، لن يتمكن متصفح المستخدم من تحديد ترميز النصوص الموجودة على الموقع الذي يتم عرضه تلقائيًا. وعلى الأرجح أنه سيتم عرض الصفحات في فوضى غير قابلة للقراءة. إذا واجهت مثل هذا "سوء الاتصال" بين المتصفح وموقعك، فأنت بحاجة ماسة إلى اتخاذ الإجراء المناسب. وإلا فإن هذا سيؤدي على الأرجح إلى سلسلة من المشاكل الخطيرة.

أولاً، في مثل هذه الظروف وإعدادات الموقع، سيتعين على الزائرين تحديد الترميز يدويًا باستمرار (باستخدام طريقة التحديد) للمتصفح لعرض الموقع. سيتطلب هذا بضع نقرات إضافية بالماوس. لكن يجب أن تعترف أنه لن يرغب الجميع في إجراء 2-3 نقرات إضافية بالماوس فقط لرؤية المعلومات الموجودة على الصفحة في شكل قابل للقراءة. علاوة على ذلك، فإن الكثير من الأشخاص لا يعرفون فقط كيفية تغيير ترميز العرض في إعدادات المتصفح، ولكن أيضًا ما هو الترميز بشكل عام! قد يقرر معظم الزوار أن الموقع قد هجره المالك أو تم اختراقه من قبل شخص ما، وسيحاولون عدم العودة إليه مرة أخرى.

ثانيًا، إذا كان هناك تعريف غامض لترميز صفحة الموقع، قد لا تقوم محركات البحث بفهرسة المحتوى النصي للموقع بشكل صحيح. وهذا بدوره يسبب مشاكل خطيرة في حركة مرور المستخدم من محركات البحث. بالطبع، قد تحاول بعض محركات البحث تحديد الترميز الصحيح بطريقة أو بأخرى من محتويات الصفحات، لكن هذا لا يجعل الأمر أسهل بكثير. وكقاعدة عامة، لا تزال المشكلة قائمة.

أتمنى أن تكون قد أدركت أن مشاكل الترميز يمكن أن تصبح عقبة خطيرة للغاية أمام عمل الموقع وتطويره وجذب الزوار المنتظمين إليه.

للتأكد من عدم ظهور مثل هذه المشاكل في الترميز، تحتاج إلى إجراء الإعدادات المناسبة على خادم الاستضافة وعلى صفحات الموقع.

يجب أن تكون إعدادات الموقع بحيث يمكن لأي متصفح أو أي روبوت لمحرك البحث أن يحدد بشكل غير لائق طريقة تشفير المعلومات من الموقع!

حل مشكلة ترميز الموقع

لقد لاحظنا بالفعل أن جميع النصوص الموجودة على موقعنا تتم كتابتها ونقلها إلى متصفح زائر الموقع بترميز "windows-1251". ماذا يمكننا أن نفعل للتأكد من أن الخادم الذي يستضيف موقعنا عليه ينقل معلومات التشفير الصحيحة إلى المتصفح في الرأس؟ فلنتابع بالترتيب...

1. لكي لا تعتمد على إعدادات الخادم، في جميع صفحات الموقع، مباشرة في كود HTML، تحتاج إلى كتابة التوجيه التالي بشكل صريح باستخدام علامة التعريف:

ويجب وضعه على جميع الصفحات، ويفضل أن يكون ذلك مباشرة بعد علامة الفتح . سيسمح هذا للمتصفح بتحديد ترميز العرض الصحيح تلقائيًا عند تحميل الصفحة وتفسيرها وفقًا للتوجيهات المستلمة! يجب أن يكون هذا التوجيه وحده كافياً لحل مشكلتنا. ولكن هكذا كان المقصود من الناحية النظرية. ولكن من الناحية العملية، فإن هذا التوجيه ليس كافيا دائما. في حالات نادرة، يحدث أن يختار المتصفح التشفير لعرض الصفحة وليس المحدد في التوجيه على الصفحة نفسها، ولكن الذي يتم إرساله في الرأس من الخادم! وإذا كانت معلومات الترميز المحددة في مكانين غير متطابقة، فقد تظل المشكلة قائمة.

2. بحيث يعطي الخادم معلومات الترميز الصحيحة في استجابته، فأنت بحاجة إلى إنشاء ملف في جذر موقعك .htaccessواكتب التوجيه فيه:

AddDefaultCharset ويندوز-1251

بعد ذلك، سيستمر الخادم في إرسال رأس التشفير بشكل افتراضي، ولكن اسم التشفير سيطابق الاسم الساري على الموقع نفسه. لن يكون هناك أي اختلافات في الأسماء.

إذا كان الملف .htaccessموجود بالفعل على الخادم الخاص بك، ثم قم ببساطة بإضافة التوجيه المحدد، على سبيل المثال، في البداية. ولا يجوز بأي حال من الأحوال حذف المعلومات الموجودة فيه بالفعل دون داع!

هذا هو الحل للمشكلة. موافق، كل هذا ليس بهذه الصعوبة؟! ولكنه مفيد جدًا لمنع جميع أنواع المشكلات المتعلقة بالتشفير سيئ السمعة.

من خلال اتباع التوصيتين المذكورتين أعلاه على التوالي، لن تتمكن المتصفحات بالتأكيد من ارتكاب الأخطاء عند اختيار التشفير الصحيح تلقائيًا لعرض المعلومات على موقع الويب الخاص بك. بعد كل شيء، أشرنا إلى معلومات الترميز بشكل لا لبس فيه، بشكل صحيح، وحتى في توجيهين مختلفين!

حالات خاصة

الوضع الأول

يبدأ منشئو مواقع الويب، وفي أغلب الأحيان حتى العملاء أنفسهم، في إجراء تعديلات معينة بشكل تعسفي ودون تفكير على موقع الويب، ووضع النصوص كما يحلو لهم، وما إلى ذلك. لدرجة أنه نتيجة لذلك، قد ينتهي بهم الأمر إلى موقع الويب أقسام تحتوي على معلومات بترميزات مختلفة. لا يمكننا أن نقول إن هذا هو النهج الصحيح، لكننا سنبتعد عن حقيقة أن هذا يحدث وهذا كل شيء. في هذه الحالة، حتى لو اتبعنا التوصيتين المذكورتين أعلاه، فقد يظل هناك موقف عندما يوفر الخادم معلومات حول ترميز واحد، ويتم كتابة ترميز آخر بوضوح في كود HTML الخاص بالصفحة. في مثل هذه الحالة، ربما يكون الحل الأبسط هو ما يلي.

الكتابة إلى الملف .htaccessالتوجيه:

AddDefaultCharset معطل

عند استخدام هذا التوجيه، لن يرسل الخادم ببساطة رأسًا يحتوي على معلومات حول تشفير الصفحة المرسلة على الإطلاق. بعد ذلك ستبدأ المتصفحات من بيانات التشفير، والتي يشار إليها بوضوح في كود HTML الموجود على صفحات الموقع نفسها. علاوة على ذلك، قد يتم تشفير البيانات في صفحة واحدة ويندوز-1251، وفي صفحة أخرى، على سبيل المثال في أوتف-8. الشيء الرئيسي هو عدم نسيان الإشارة في هذه الصفحات إلى العلامات الوصفية المناسبة التي تحتوي على معلومات حول الترميز الصحيح للتعرف على النص وعرضه بواسطة المتصفح.

على الرغم من أن هذا الحل هو الأبسط، إلا أنه ربما ليس هو الحل الأمثل والأصح. بطريقة جيدة، تحتاج إلى وضع جميع المعلومات الموجودة في الموقع وفي جميع أقسام الموقع بنفس التشفير! وإذا كان هناك عدة صفحات بترميز مختلف، فمن الأفضل تحديث المعلومات الموجودة فيها عن طريق تحويل جميع النصوص إلى الترميز المطلوب.

الوضع الثاني

كما تعلم، عند إنشاء الصفحات، تقوم معظم المواقع باختيار جزء من البيانات من قاعدة بيانات، على سبيل المثال، MySQL (إذا كان الموقع مكتوبًا بلغة PHP). غالباً، عند نقل موقع من استضافة إلى أخرى قد تنشأ مشاكل بسبب عدم تطابق التشفير بين البيانات المخزنة في قاعدة بيانات MySQL والبيانات المخزنة مباشرة في قوالب الموقع على سبيل المثال. وبالتالي، قد ينشأ موقف أنه عند إنشاء صفحة واحدة، قد تحتوي على بيانات بترميزات مختلفة. ربما يكون هذا أحد أخطر أخطاء الترميز الممكنة على موقع ويب ويجب حله على الفور. وإلا فقد تنشأ صعوبات إضافية لاحقًا عند ملء الموقع وتحريره.

يتم حل مثل هذه الخلافات مع البيانات المخزنة في قاعدة البيانات عن طريق ضبط إعدادات الترميز بشكل صحيح وصريح عند الاتصال بقاعدة البيانات وقبل استرجاع البيانات منها. على سبيل المثال، إذا كانت البيانات الموجودة على موقعنا مخزنة بترميز windows-1251، فيجب علينا قراءة البيانات من قاعدة البيانات بنفس التشفير. للقيام بذلك، بعد الاتصال بقاعدة البيانات باستخدام وظيفة PHP mysql_connect() (أو mysql_pconnect())، قم بتشغيل استعلام SQL التالي:

mysql_query("ضبط الأسماء cp1251");

يخبر هذا الطلب خادم قاعدة بيانات MySQL بأن جميع البيانات مخزنة ويجب إرسالها بتشفير cp1251 (هذا هو اسم التشفير المستخدم في MySQL بدلاً من الاسم المذكور مسبقًا windows-1251، والذي يُستخدم عند نقل بيانات HTML).


لقد أمضيت الساعات القليلة الماضية على موقع الويب الخاص بي في اختبار HTML 4.01 Strict وقد نجحت بالفعل في استخدامه، ولكن هناك تحذير آخر لا أستطيع التخلص منه. تحذير:

عدم تطابق ترميز الأحرف!

يختلف ترميز الأحرف المحدد في رأس HTTP (iso-8859-1) عن القيمة الموجودة في العنصر (utf-8). سأستخدم القيمة من رأس HTTP (iso-8859-1) لهذا التأكيد.

للحصول على معلومات عامة حول كيفية تغيير رأس مجموعة الأحرف في مكدسات شبكة مختلفة، راجع http://www.w3.org/International/O-HTTP-charset


2018-05-25 13:30

يقوم الخادم بوضع علامة واضحة على المستند على أنه ISO-8859-1 في رؤوس HTTP. حاول حفظ default.html باستخدام ترميز UTF-8 باستخدام محرر مناسب.


2018-05-25 03:07

حسنًا، لقد توصلت إلى حل جزئي لمشكلتي. وبما أن الملف default.html هو فقط الذي تسبب في التحذير، فقد افترضت أن الخادم كان يفعل شيئًا خاصًا به بسبب اسمه. لذلك قمت بإنشاء ملف home.html جديد بنفس محتوى ملف default.html وأشرت ملف .htaccess إلى الملف الجديد (انظر السطر 3 أدناه).

# استخدم PHP5 كتطبيق AddHandler الافتراضي/x-httpd-php5 .php DirectoryIndex home.html AddDefaultCharset UTF-8

أدى هذا إلى حل المشكلة وتم التعرف الآن على كافة الملفات باسم UTF-8. ما زلت غير متأكد مما يفعله الخادم بملف default.html أو مكان الإعدادات المتعلقة بهذا، ولكن مع اختفاء مشكلتي، سأنسى الأمر.

في هذه المقالة، سأحاول وضع نقاط على كل حرف "i" (وكذلك حرف "i") عندما يتعلق الأمر باختيار الترميز لصفحة HTML التي يتم إنشاؤها.

عندما بدأت في إنشاء مواقع الويب لأول مرة، كنت أواجه مشكلات مستمرة مع هذه الترميزات. قمت بحفظ صفحة HTML، وتحميلها على الخادم، وفتحها، وضربها، وهناك بعض الهراء. حسنًا، مرحبًا، لقد وصلنا.

أو في بيئة تصحيح الأخطاء (على سبيل المثال، بيئة التطوير المحلية "") كل شيء على ما يرام، ولكن من الاستضافة مرة أخرى، فإنهم، الأوغاد اللعينة، ينظرون إلي بوقاحة.

كان هناك الكثير من الألم مع المحركات. فجأة، ولسبب غير معروف، تتحول الحروف الروسية الأصلية إلى...

والآن سوف نتناول هذا الأمر بالتفصيل وسوف تعرف ذلك بوضوح ما هو الترميز لحفظ صفحة HTML فيه؟و من خلال ما الأدوات.

لتعزيز التفاهم المتبادل بيننا، دعونا نحدد المفهوم التشفير. لذا، التشفيرهو جدول المراسلات بين رموز الآلة والأحرف الأبجدية. هناك بعض التسلسل لرموز الآلة التي يستبدلها الكمبيوتر الذكي، وفقًا لجدول الرموز المحدد، بأحرف نفهمها.

في التسعينيات من القرن الماضي (يا له من العصور القديمة، وما زلت أتذكر تقويم عام 1991 على الحائط) كان هناك 4 ترميزات للكمبيوتر الشخصي وواحد آخر خاص به لنظام التشغيل Mac. ومن سخرية القدر أنه في كل هذه الترميزات، تمت مطابقة الأحرف اللاتينية مع رموز الآلة باستخدام نفس الخوارزمية، ولكن فيما يتعلق بالأبجدية السيريلية، كان لكل من الترميزات رأيه الخاص.

كل هذا الارتباك أدى إلى ظهور krakozyabrs. على سبيل المثال، إذا كانت كلمة " سؤال"، كتبت بترميز windows-1251، وعرض بتشفير KOI8-R، وستحصل على الكلمة " بنوبنيا».

الحمد لله، لقد تجاوزنا التسعينيات بالفعل، ومن بين خمسة ترميزات وهمية، لم يتبق سوى ترميزين عاديين. ولكن هذا يكفي لمشرف الموقع المبتدئ أن يضيع في اثنين من أشجار الصنوبر. لا بأس، لا تقلق، الآن سأخرجك من هذه الغابة!

حاليا الاختيار ل ترميز مستند HTMLيقف بين windows-1251 وutf-8. والآن انتبه: utf-8 أكثر ثراء وقوة والمستقبل يكمن فيه. لذلك سوف نقوم بحفظ ملفات HTML الخاصة بنا في utf-8.

سأبرر كلامي ;). يحتوي UTF-8 على أحرف مثل ↓. وفي Windws-1251، بدلاً من هذه الرموز، هذا هو: > . وفي utf-8 توجد علامة "اليورو"؛ يتيح لك utf-8 أيضًا الجمع بين مجموعة من الأحرف المحددة المختلفة المستخدمة في لغات مثل الجورجية والعبرية والصينية واليابانية في ملف HTML واحد؛ و أيضا أوتف-8في ترميزات HTML- وهذه قاعدة من قواعد حسن الخلق.

أتمنى أن أكون قد أقنعتك وستستخدم Unicode (بالمناسبة، "utf-8" و"Unicode" مترادفان، أو لنكون أكثر دقة، utf-8 هو أحد ترميزات عائلة Unicode، التي لديها اكتسب شعبية بين مطوري الويب).

الآن دعونا نلقي نظرة فاحصة على أدوات تحويل ترميز الملفات التي أوصيك باستخدامها عزيزي القارئ.

أدوات للعمل مع ترميزات ملفات HTML

في الواقع، هناك ثلاثة منهم فقط:

  • بي إس باد. محرر النصوص المجاني، المفضل لدي.
  • . محرر نصوص جيد آخر ومجاني أيضًا.
  • دريمويفر. حسنًا، أنت على دراية بـ Dreamweaver من .

نقوم بتحميل بعض ملفات HTML في PSPad.وكيف يمكننا أن نفهم نوع التشفير الذي يحمله الموضوع التجريبي المحمل؟ بكل بساطة، كل شيء مكتوب بوضوح في شريط الحالة (أدناه).

افتح ترميز ملف HTML windows-1251

الآن، عند إنشاء مستند HTML جديد، فلنهتم بتشفيره.

دعنا نذهب إلى القائمة المفضلة لدي بي إس باد. نحن مهتمون بهذا البند شكل. سنضع علامة في المربع بجوار ترميز utf-8.

وبالتالي فإن ترميز الملف المستقبلي هو windows-1251

الآن حول كيف تغيير ترميز ملف HTML. نعم، اتضح أن الأمر بسيط للغاية:

تحتاج إلى النقر فوق الترميز المطلوب في عنصر القائمة شكلوسوف يتغير الترميز. بعد ذلك، احفظ الملف، وتم إعادة ترميزه، وتمت المهمة.

بخصوص المفكرة ++كل شيء مشابه جدًا للوضع الموصوف أعلاه. فقط للعمل مع الترميزات، تحتاج إلى استخدام عنصر القائمة الترميزات.

والفرق الوحيد هو أنه في حالة برنامج Notepad++، تظهر عناصر القائمة المصممة خصيصًا لتحويل التشفير يتحول... (غير ضروري في رأيي، كل شيء أبسط على PSPad ولهذا السبب أستخدمه). وفقًا لذلك، هذه هي الترميزات التي تحتاج إلى النقر عليها إذا كنت تريد تغيير ترميزات ملف HTML الخاص بنا.

من بين أمور أخرى، عند الحفظ في utf-8 لدينا خيار: بدون بومأو مع بوم. نحن كمشرفي المواقع بحاجة إلى استخدام التشفير UTF-8 (بدون قائمة مكونات الصنف).

هذا ما ستجيب عليه ويكيبيديا على سؤال "ما هو BOM"

لتحديد تنسيق تمثيل Unicode في ملف نصي، يتم استخدام تقنية يتم فيها كتابة الحرف U+FEFF (مسافة غير منقسمة بعرض صفر)، وتسمى أيضًا علامة ترتيب البايت (BOM)، في بداية النص . تفرق هذه الطريقة بين UTF-16LE وUTF-16BE لأن الحرف U+FFFE غير موجود. كما يُستخدم أحيانًا للإشارة إلى تنسيق UTF-8، على الرغم من أن مفهوم ترتيب البايت لا ينطبق على هذا التنسيق.

إذا قرأت النص أعلاه 10 مرات وحكت رأسك، يصبح واضحا: بالنسبة لـ utf-8 BOM، لا نحتاج. بالإضافة إلى ذلك، إذا قمت بحفظ ملف باستخدام برنامج PHP النصي في الترميز UTF-8 مع BOM، فلن ينجح الأمر، لأن المعالج لن يفهم نوع الهراء المكتوب في بداية ملف البرنامج النصي (أعني المساحة غير المنفصلة بعرض صفر).

حسنًا، حسنًا، كل ما تبقى هو إلقاء نظرة فاحصة دريمويفر.

عند إنشاء ملف جديد، انتبه إلى الترميز الذي سيتم إنشاؤه فيه. للقيام بذلك، في نافذة إنشاء مستند جديد ملف → جديد (Ctrl+N)استخدم الزر التفضيلات...

وانظر إلى ما تم تعيينه كالترميز الافتراضي:

الترميز الافتراضي لملف HTML الذي تم إنشاؤه في Dreamweaver

تحويل ترميز ملف HTML مفتوح في Dreamweaverممكن في الحوار خصائص الصفحة،الذي يتم إطلاقه من القائمة يُعدِّلخصائص الصفحة (Ctrl + J).

اختر الترميز المطلوب، اضغط نعموهذا كل شيء، اكتملت مهمة تحويل الترميز (لكن قائمة مكونات الصنف لا تزال غير ضرورية، لا تحدد المربع).

اكتشاف ترميز المتصفح

لذلك، يتم حفظ ملف HTML الخاص بنا بالترميز الذي اخترناه. والآن لننظر إلى السؤال: كيف يعرف المتصفح الترميز المستخدم في ملف HTML معين؟

هناك ثلاثة خيارات هنا:

1. نحن أنفسنا نخبر المتصفح بالترميز الذي تم تعيينه لملف HTML هذا.ويتم ذلك باستخدام علامة META

يرشد المثال أعلاه المتصفح إلى حفظ ملف HTML الذي تم تنزيله بالترميز أوتف-8.

إذا تم حفظ ملف HTML بترميز Windows-1251، فحينئذٍ:

بالمناسبة، عند تحويل ترميز الملفات، لا تنس تغيير التوجيهات الموجودة في علامة META إلى التوجيهات الحالية. يقوم Dreamweaver، عند تغيير الترميز، بذلك تلقائيًا، ولكن في برامج تحرير النصوص الأخرى، يتعين عليك مطابقة الترميز المطبق وتوجيه علامة META بنفسك.

يبدو HTML الكامل على هذا النحو (أقتبسه لفهم السؤال "أين يتم الإشارة إلى علامة META مع توجيه التشفير؟" انتبه إلى السطر الرابع):

وثيقة بدون عنوان حسنًا ، إلخ.

2. استخدام ملف .htaccess.في بعض الأحيان، يفرض الخادم رؤوس ملفات HTML التي تم تنزيلها ويخبر المتصفح بالترميز الافتراضي. في هذه الحالة، لا ينتبه المتصفح إلى التوجيهات الموجودة في علامة META، ولكنه يعرض ملف HTML في الترميز الذي أبلغ عنه الخادم. لكي يتم تنزيل الملف بالترميز الذي تحتاجه (غالبًا ما تجبرك الاستضافة على تحديد ترميز windows-1251)، يتم إنشاء ملف يسمى ".htaccess" في جذر دليل الاستضافة.

هذا الملف مخصص لتكوين الخادم الإضافي. ينطبق تأثير توجيهات htaccess على كافة الملفات والأدلة الفرعية الموجودة في الدليل الذي قمت بحفظ ملف htaccess فيه.

يمكنك إنشاء هذا الملف، على سبيل المثال، في Total Commander بالضغط على مجموعة مفاتيح التشغيل السريع إزاحة+F4وتحديد اسم الملف الذي تم إنشاؤه .htaccess. بعد ذلك، يحدد محرر النصوص توجيهات لإعدادات التشفير الافتراضية الإضافية.

بالنسبة لملفات HTML المشفرة بـ utf-8في .htaccess تحتاج إلى كتابة سطر واحد:

AddDefaultCharset UTF-8

لملفات HTML بترميز Windows-1251:

AddDefaultCharsetWindows-1251

إذا كانت استضافتك حكيمة بشكل ماكر ولا تهتم بهذه التوجيهات، فيمكنك تجربة:

تم إيقاف خاصية Charsetdisable عند AddDefaultCharset

إذا لم ينجح هذا، فما عليك سوى سؤال المستضيف عما يجب عليك فعله لتعطيل التشفير الافتراضي :). كل هذا يعتمد على إعدادات الخادم المحددة لموفر الاستضافة.

3. تعليمات PHP تحدد الترميز الافتراضي.في الملف الذي يجب عرضه بالترميز المطلوب، على الرغم من إعدادات خادم موفر الاستضافة، تتم الإشارة إلى التوجيه برمز php في البداية:

سيرسل رمز PHP هذا رأس خادم يشير إلى التشفير الافتراضي للمتصفح. في المثال أعلاه، سيتم استخدام ترميز utf-8 لعرض الصفحة.

لا توجد عادةً أي حيل في إعدادات خادم موفر الاستضافة للتعامل مع مثل هذه الخردة.

أود أن أشير إلى أنه لكي يتمكن الخادم من معالجة تعليمات PHP، يجب أن يكون لملف html الامتداد .بي أتش بي(على سبيل المثال Index.php).

هل لديك أي أسئلة أخرى حول الترميز؟ اكتب في التعليقات. نحن بحاجة إلى حل هذه المشاكل مرة واحدة وإلى الأبد :)

فلاد ميرزيفيتش

تُستخدم العلامات الوصفية لتخزين المعلومات المخصصة للمتصفحات ومحركات البحث. على سبيل المثال، تصل محركات البحث إلى العلامات الوصفية للحصول على أوصاف الموقع والكلمات الرئيسية والبيانات الأخرى.

العلامات الوصفية لمحركات البحث

هناك رأي بين مطوري مواقع الويب مفاده أن العلامات الوصفية المكتوبة بشكل صحيح تسمح لك بالارتقاء إلى قمة محركات البحث. في الواقع، هذا ليس صحيحًا؛ العلامات الوصفية وحدها لن تساعدك على الارتفاع، ولكن محتوى العلامات الوصفية الذي يتم تنفيذه بشكل سيء يمكن أن يؤدي إلى تدهور ترتيب الموقع.

تم تصميم علامتين وصفيتين خصيصًا لمحركات البحث: الوصف والكلمات الرئيسية. قام بعض أصحاب المواقع بإضافة كلمات مفتاحية إلى قسم الكلمات المفتاحية لا علاقة لها بموضوع الموقع، لكنها مع ذلك لاقت بعض النجاح بين زوار محركات البحث. ومع ذلك، بعد مرور بعض الوقت، تعلمت محركات البحث كيفية التعامل مع هذه الظاهرة والتحقق من محتوى صفحة الويب للتأكد من امتثالها للكلمات الرئيسية المذكورة.

بعض المبادئ المتعلقة بالعلامات الوصفية:

  • لا تقم بتضمين الكلمات الرئيسية غير الموجودة في صفحاتك؛
  • لا تكرر الكلمات الرئيسية.
  • استخدام العلامات الوصفية للغرض المقصود منها؛
  • جعل الوصف وقائمة الكلمات الرئيسية مختلفة لكل صفحة من صفحات الموقع، مع مراعاة المحتوى.

وصف

تعرض معظم محركات البحث محتويات حقل الوصف (مثال 1) عند عرض نتائج البحث. إذا لم تكن هذه العلامة موجودة في الصفحة، فسيقوم محرك البحث ببساطة بإدراج الكلمات الأولى الموجودة في الصفحة، والتي، كقاعدة عامة، ليست ذات صلة بالموضوع.

مثال 1: استخدام الوصف

وصف

الكلمات الدالة

تهدف هذه العلامة الوصفية إلى وصف الكلمات الرئيسية التي تظهر على الصفحة (المثال 2). ولكن نتيجة لذلك، فقدت الآن مصداقيتها تصرفات الأشخاص الذين يريدون الوصول إلى قمة محركات البحث بأي وسيلة ضرورية. ولذلك، فإن العديد من محركات البحث تتخطى هذه المعلمة.

مثال 2: استخدام الكلمات الرئيسية

الكلمات الدالة

يمكن إدراج الكلمات الرئيسية مفصولة بمسافات أو فواصل. ستقوم محركات البحث نفسها بتحويل الإدخال إلى النموذج الذي تستخدمه.

تحميل الصفحات تلقائيا

لتنزيل مستند جديد تلقائيًا بعد فترة زمنية معينة، استخدم تعليمات http-equiv="refresh" (المثال 3).



سيتفهم المتصفح هذا الإدخال لينتظر 5 ثوانٍ ثم يقوم بتحميل الصفحة الجديدة المحددة في معلمة URL، وفي هذه الحالة رابط لموقع الويب.

تسمح لك العلامة الوصفية هذه بإنشاء إعادة توجيه إلى موقع آخر. إذا لم يتم تحديد عنوان URL، فسيتم تحديث الصفحة الحالية تلقائيًا بعد عدد الثواني المحدد في سمة المحتوى.

التشفير

لإخبار المتصفح بترميز الأحرف الموجودة على صفحة الويب، يلزمك تعيين . بالنسبة لنظام التشغيل Windows والأبجدية السيريلية، عادةً ما تأخذ مجموعة الأحرف القيمة utf-8 أو windows-1251 (المثال 4).

مثال 4. تحديد الترميز الحالي

التشفير

السيريلية



إذا لم يكن هناك ترميز محدد، يحاول المتصفح نفسه تحديد نوع الأحرف المستخدمة في المستند ويحدد الترميز الضروري تلقائيًا. قد لا يتعرف المتصفح دائمًا على لغة صفحة الويب بدقة وفي بعض الحالات سيقترح التشفير الفيتنامي بدلاً من السيريلية. لهذا السبب، من الأفضل دائمًا تضمين السطر المحدد. ومع ذلك، هناك ظروف قد يؤدي فيها تحديد الترميز إلى حدوث بعض الضرر. على سبيل المثال، يستخدم خادم الويب تلقائيًا تحويل البيانات في KOI-8، ويقوم المتصفح، عندما يواجه المعلمة charset=windows-1251، بتحويل النص إلى ترميز Windows. وينتج عن هذا تغيير مزدوج في الأحرف، وليس من السهل قراءة مثل هذا النص. ولحسن الحظ، أصبحت مثل هذه المشكلة بالفعل شيئًا من الماضي، وعلى أي حال، يمكن التعرف عليها بسهولة وتحييدها على مستوى الخادم.

واحدة من المشاكل الأكثر شيوعا التي يواجهها المبتدئين مشرف الموقع(وليس فقط للمبتدئين)، هذا مشاكل مع الترميز على الموقع. حتى بالنسبة لي يظهر باستمرار عند إنشاء مواقع الويب " تعويذة"لكن لحسن الحظ، أعرف جيدًا كيفية حل هذه المشكلة، لذلك قمت بترتيب كل شيء في غضون ثوانٍ قليلة. وفي هذه المقالة سأحاول تعليمك بنفس السرعة حل المشاكل المتعلقة بالترميز على الموقع.

أول شيء جدير بالملاحظة هو أن جميع المشكلات المتعلقة بمظهر "abracadabra" مرتبطة بعدم التطابق بين ترميز المستند والترميز الذي حدده المتصفح. لنفترض وثيقة في ويندوز-1251ولكن لسبب ما يعرض المتصفح ترميز UTF-8. وقد يكون مصدر هذا التناقض هو الأسباب التالية.

السبب الأول

تتم كتابة العلامة الوصفية بشكل غير صحيح نوع المحتوى. كن حذرًا، يجب أن يحتوي دائمًا على الترميز الذي تمت كتابة المستند به.

السبب الثاني

يبدو أن العلامة الوصفية مكتوبة بالطريقة التي تريدها، ويعرض المتصفح ما تريده بالضبط، ولكن لسبب ما لا تزال هناك مشكلات في الترميز. يكاد يكون من المؤكد أن السبب هنا هو أن المستند نفسه يحتوي على ترميز مختلف. إذا كنت تعمل في المفكرة ++، ثم في أسفل اليمين يوجد اسم ترميز المستند الحالي (على سبيل المثال، أنسي). إذا قمت بوضع علامة التعريف ترميز UTF-8، والمستند نفسه مكتوب فيه أنسي، ثم قم بالتحويل إلى ترميز UTF-8(عبر القائمة" الترميزات" و نقطة " التحويل إلى UTF-8 بدون BOM").

السبب الثالث

السبب الرابع

وأخيرا، السبب الشعبي الأخير هو مشكلة في ترميز قاعدة البيانات. أولاً، تأكد من أن جميع الجداول والحقول الخاصة بك مكتوبة بنفس التشفير، الذي يطابق تشفير باقي الموقع. إذا لم يساعد ذلك، فبعد الاتصال بالبرنامج النصي مباشرة، قم بتشغيل الطلب التالي:

تعيين الأسماء "utf8"

بدلاً من " utf8" قد يكون هناك ترميز مختلف. بعد ذلك، يجب أن تظهر جميع البيانات من قاعدة البيانات بالتشفير الصحيح.

في هذا المقال أرجو أن أكون قد أوضحت، على الأقل، 90% من المشاكل مرتبطة بظهور "الرطانة" على الموقع. الآن عليك أن تتعامل مع مشكلة شائعة وبسيطة مثل التشفير غير الصحيح في أي وقت من الأوقات.