Польза от данных о языке:
- Повышение точности оценки качества ссылочного профиля сайта. Значение языка является параметром для оценки ссылочного профиля сайта. Например, если сайт на русском языке продвигался с использованием спаммных технология, то огромное количество внешних ссылок с англоязычных площадок будет указывать на заспамленный ссылочный профиль сайта;
- Информация про язык может быть использована как дополнительный фильтр при массовом размещении ссылок;
- Язык может использовать как один из элементов для анализа топа поисковой выдачи;
- Поиск сайтов на определенном языке (например, на русском) в международных доменных зонах (например, .com);
- Данные о языке можно использовать при поиске свободных и освобождающихся доменных имен для создания выборки русскоязычных сайтов в международной зоне. Поиск свободных доменов с учетом языка вскоре можно будет провести в приложении Поиск доменов.
MegaIndex определяет язык используя собственный подход, комбинируя разные способы определения языка сайта. Полученные данные о языке будут использованы в разных приложениях MegaIndex для усовершенствования приложений. Например, MegaIndex начал сбор данных по тИЦ для всех сайтов на русском, украинском, белорусском и казахском языках во всех доменных зонах мира.
Есть простые способы определить язык сайта самостоятельно.
Способы определения языка сайта
Определить язык можно разными способами. Например:
- Провести сбор данных из тега html;
- При парсинге сайта отправлять специальный запрос accept-language;
- Анализ ссылок в документа сайта на предмет значения параметра lang;
- Использовать системы Google или Yandex для определения языка.
Провести точное определение языка на основе символьного анализа текста практически невозможно, поскольку множество языков очень близки по семантике.
Определение языка на основе запроса accept-language
Отправляя запрос accept-language на сайт можно получить данные о языках сайта в виде списка значений.
Документация доступна на сайте W3.
Определение языка на основе ссылок с параметром lang
Определить язык можно на основе значения параметра lang, задаваемого для тега ссылок.
Пример:
<a lang="es"></a>
Параметр lang используется редко, поэтому на глобальном индексе эффективность от использования будет низкая.
Определение языка на основе сервисов с Google, Yandex
Посредством текстового анализа в Google Translate можно быстро определить язык, но использование Google является наиболее дорогим среди способов определения языка.
Определение языка на основе тега html
Наиболее простым способом определения языка байта являются парсинг и анализ документа на предмет значения в атрибуте lang.
Согласно правилам поисковой оптимизации язык сайта должен быть указан в теге html. Пример разметки:
<html lang="fr">
<html lang="uk" prefix="og: http://ogp.me/ns#">
<html xml:lang="ru" xmlns="http://www.w3.org/1999/xhtml">
Список кодов стран собран в таблице.
Коды языков
Language | Code 2 | Code 3 |
---|---|---|
Abkhazian | ab | abk |
Afar | aa | aar |
Afrikaans | af | afr |
Albanian | sq | alb/sqi* |
Amharic | am | amh |
Arabic | ar | ara |
Aragonese | an | arg |
Armenian | hy | arm/hye* |
Assamese | as | asm |
Avestan | ae | ave |
Aymara | ay | aym |
Azerbaijani | az | aze |
Bashkir | ba | bak |
Basque | eu | baq/eus* |
Belarusian | be | bel |
Bengali | bn | ben |
Bihari | bh | bih |
Bislama | bi | bis |
Bosnian | bs | bos |
Breton | br | bre |
Bulgarian | bg | bul |
Burmese | my | bur/mya* |
Catalan | ca | cat |
Chamorro | ch | cha |
Chechen | ce | che |
Chinese | zh | chi/zho* |
Church Slavic; Slavonic; Old Bulgarian | cu | chu |
Chuvash | cv | chv |
Cornish | kw | cor |
Corsican | co | cos |
Croatian | hr | scr/hrv* |
Czech | cs | cze/ces* |
Danish | da | dan |
Divehi; Dhivehi; Maldivian | dv | div |
Dutch | nl | dut/nld* |
Dzongkha | dz | dzo |
English | en | eng |
Esperanto | eo | epo |
Estonian | et | est |
Faroese | fo | fao |
Fijian | fj | fij |
Finnish | fi | fin |
French | fr | fre/fra* |
Gaelic; Scottish Gaelic | gd | gla |
Galician | gl | glg |
Georgian | ka | geo/kat* |
German | de | ger/deu* |
Greek, Modern (1453-) | el | gre/ell* |
Guarani | gn | grn |
Gujarati | gu | guj |
Haitian; Haitian Creole | ht | hat |
Hausa | ha | hau |
Hebrew | he | heb |
Herero | hz | her |
Hindi | hi | hin |
Hiri Motu | ho | hmo |
Hungarian | hu | hun |
Icelandic | is | ice/isl* |
Ido | io | ido |
Indonesian | id | ind |
Interlingua (International Auxiliary Language Association) | ia | ina |
Interlingue | ie | ile |
Inuktitut | iu | iku |
Inupiaq | ik | ipk |
Irish | ga | gle |
Italian | it | ita |
Japanese | ja | jpn |
Javanese | jv | jav |
Kalaallisut | kl | kal |
Kannada | kn | kan |
Kashmiri | ks | kas |
Kazakh | kk | kaz |
Khmer | km | khm |
Kikuyu; Gikuyu | ki | kik |
Kinyarwanda | rw | kin |
Kirghiz | ky | kir |
Komi | kv | kom |
Korean | ko | kor |
Kuanyama; Kwanyama | kj | kua |
Kurdish | ku | kur |
Lao | lo | lao |
Latin | la | lat |
Latvian | lv | lav |
Limburgan; Limburger; Limburgish | li | lim |
Lingala | ln | lin |
Lithuanian | lt | lit |
Luxembourgish; Letzeburgesch | lb | ltz |
Macedonian | mk | mac/mkd* |
Malagasy | mg | mlg |
Malay | ms | may/msa* |
Malayalam | ml | mal |
Maltese | mt | mlt |
Manx | gv | glv |
Maori | mi | mao/mri* |
Marathi | mr | mar |
Marshallese | mh | mah |
Moldavian | mo | mol |
Mongolian | mn | mon |
Nauru | na | nau |
Navaho, Navajo | nv | nav |
Ndebele, North | nd | nde |
Ndebele, South | nr | nbl |
Ndonga | ng | ndo |
Nepali | ne | nep |
Northern Sami | se | sme |
Norwegian | no | nor |
Norwegian Bokmal | nb | nob |
Norwegian Nynorsk | nn | nno |
Nyanja; Chichewa; Chewa | ny | nya |
Occitan (post 1500); Provencal | oc | oci |
Oriya | or | ori |
Oromo | om | orm |
Ossetian; Ossetic | os | oss |
Pali | pi | pli |
Panjabi | pa | pan |
Persian | fa | per/fas* |
Polish | pl | pol |
Portuguese | pt | por |
Pushto | ps | pus |
Quechua | qu | que |
Raeto-Romance | rm | roh |
Romanian | ro | rum/ron* |
Rundi | rn | run |
Russian | ru | rus |
Samoan | sm | smo |
Sango | sg | sag |
Sanskrit | sa | san |
Sardinian | sc | srd |
Serbian | sr | scc/srp* |
Shona | sn | sna |
Sichuan Yi | ii | iii |
Sindhi | sd | snd |
Sinhala; Sinhalese | si | sin |
Slovak | sk | slo/slk* |
Slovenian | sl | slv |
Somali | so | som |
Sotho, Southern | st | sot |
Spanish; Castilian | es | spa |
Sundanese | su | sun |
Swahili | sw | swa |
Swati | ss | ssw |
Swedish | sv | swe |
Tagalog | tl | tgl |
Tahitian | ty | tah |
Tajik | tg | tgk |
Tamil | ta | tam |
Tatar | tt | tat |
Telugu | te | tel |
Thai | th | tha |
Tibetan | bo | tib/bod* |
Tigrinya | ti | tir |
Tonga (Tonga Islands) | to | ton |
Tsonga | ts | tso |
Tswana | tn | tsn |
Turkish | tr | tur |
Turkmen | tk | tuk |
Twi | tw | twi |
Uighur | ug | uig |
Ukrainian | uk | ukr |
Urdu | ur | urd |
Uzbek | uz | uzb |
Vietnamese | vi | vie |
Volapuk | vo | vol |
Walloon | wa | wln |
Welsh | cy | wel/cym* |
Western Frisian | fy | fry |
Wolof | wo | wol |
Xhosa | xh | xho |
Yiddish | yi | yid |
Yoruba | yo | yor |
Zhuang; Chuang | za | zha |
Zulu | zu | zul |
Практика
Наиболее эффективными и дешевыми способами самостоятельного определения языка являются анализ html и http-запрос.
MegaIndex обладает глобальным индексом. Применяя полученные данные на практике, MegaIndex совершенствует систему закупки ссылок и приложения сервиса.
Список поддерживаемых языков:
- Afrikaans
- Albanian
- Arabic
- Armenian
- Azerbaijani
- Basque
- Belarusian
- Bengali
- Bihari
- Bulgarian
- Catalan
- Cebuano
- Cherokee
- Croatian
- Czech
- Chinese
- Chinese_T
- Danish
- Dhivehi
- Dutch
- English
- Estonian
- Finnish
- French
- Galician
- Ganda
- Georgian
- German
- Greek
- Gujarati
- Haitian_Creole
- Hebrew
- Hindi
- Hmong
- Hungarian
- Icelandic
- Indonesian
- Inuktitut
- Irish
- Italian
- Javanese
- Japanese
- Kannada
- Khmer
- Kinyarwanda
- Korean
- Laothian
- Latvian
- Limbu
- Lithuanian
- Macedonian
- Malay
- Malayalam
- Maltese
- Marathi
- Nepali
- Norwegian
- Oriya
- Persian
- Polish
- Portuguese
- Punjabi
- Romanian
- Russian
- Scots_Gaelic
- Serbian
- Sinhalese
- Slovak
- Slovenian
- Spanish
- Swahili
- Swedish
- Syriac
- Tagalog
- Tamil
- Telugu
- Thai
- Turkish
- Ukrainian
- Urdu
- Vietnamese
- Welsh
- Yiddish
Для определения языков сайта можно использовать сервис MegaIndex и забирать данные из системы. Получить данные о языке для любого из сайтов можно через панель или используя метод из API.
Обсуждение