- Чаму дублі - гэта дрэнна?
- прыклады дубляў
- Як змагацца?
- Модулі артыкулаў і файлаў: старонка матэрыялу і каментароў да яго
- Модулі артыкулаў і файлаў: галоўная старонка каталога
- Модулі навін і модуль блога: старонка матэрыялу і каментароў да яго
- Модуль навінаў: старонка архіва матэрыялаў
- Модуль блога: галоўная старонка дзённіка
- Модуль форуму: агульны выгляд старонак форуму
- Інфармацыя ад спонсара
Не так даўно я пачаў поўнамаштабную кампанію па SEO аптымізацыі свайго рэсурсу. Да SEO спецыялістам (таго ж Profit-Partner) я звяртаўся ўжо даўнютка. Акрамя ўсяго іншага, перш за ўсё яны параілі мне пазбавіцца ад старонак-дубляў. Гэта такія старонкі, якія маюць розныя адрасы (URL), але ідэнтычныя па змесціве.
Чаму дублі - гэта дрэнна?
Так як дзве або больш старонак-дубляў (з аднолькавым зместам) могуць трапіць у індэкс, гэта можа вельмі неспрыяльна адбіцца на ранжыраванні сайта ў выдачы. Па-першае, пошукавыя сістэмы не вітаюць дубляванне кантэнту ўнутры сайта. Па-другое, старонкі іншых сайтаў у выніку могуць спасылацца на розныя URL адной старонкі, і пры гэтым перадаваны PageRank, напрыклад, будзе рассредотачиваться паміж гэтымі дублямі, а не перападае адной старонцы. Па-трэцяе, з-за непаразумелак з вагой старонак ўзнікае блытаніна пры ўсталёўцы хуткіх спасылак сайта. І гэта яшчэ не ўсё мінусы.
прыклады дубляў
У CMS uCoz / uWeb, першапачаткова разлічанага на карыстальнікаў недалёкіх, прыкладаў дубляў велізарнае мноства. Вось некаторыя з іх:
http://audiophilesoft.ru/publ/
http://audiophilesoft.ru/publ
http://audiophilesoft.ru/forum/
http://audiophilesoft.ru/forum
- і т. П. Для розных модуляў. Гэта з'яўляецца абуральнай памылкай, т. К. Строга кажучы, / forum / - гэта каталог (у якім звычайна падхапляецца файл index. *), А / forum - файл без пашырэння.
Для першай старонкі архіва навін дубля нават тры:
http://audiophilesoft.ru/news/
http://audiophilesoft.ru/news/1
http://audiophilesoft.ru/news
Яшчэ больш дубляў для матэрыялаў:
http://audiophilesoft.ru/publ/my/hq_pc_sound/11-1-0-24
http://audiophilesoft.ru/publ/my/11-1-0-24
http://audiophilesoft.ru/publ/11-1-0-24
http://audiophilesoft.ru/publ/software/hq_pc_sound/4-1-0-24
- і т. Д, у т. Ч. У модулях навінаў, праграм і ў блогу. Некаторыя з гэтых дубляў пераадрасоўваюць на правільны адрас (першы ў спісе), аднак бываюць выключэнні.
Як змагацца?
У ідэале варта было б ўсталяваць 301-ю пераадрасацыю (Moved permanently), але наш выдатны рухавічок такое ажыццявіць не дазваляе. Таму адзіным дакладным рашэннем будзе выкарыстанне тэга <link rel = "canonical" href = "правільны адрас" />. Ён працуе для большасці пошукавых сістэм і паведамляе, што дадзеная старонка з'яўляецца дублем названай, т. Е. Бягучы адрас з'яўляецца некананічным, індэксаваць яго не трэба, а ўвесь спасылачныя вагу трэба перадаваць па паказаным адрасе. На кананічнай старонцы такога тэга быць не павінна.
І тут пачынаюцца танцы-скокі з сінтаксісам рухавічка, т. Е. Пошукі спосабу праверкі бягучага адрасы на кананічнасць і ў выпадку неабходнасці падстаноўка тэга са спасылкай на кананічнасці старонку. На шчасце, я (збольшага сам, збольшага з дапамогай падтрымкі uWeb) ужо даследаваў усе нюансы працы рухавічка і знайшоў 100% рабочы код для падстаноўкі патрэбнага тэга ў патрэбныя старонкі. Вось код для розных шаблонаў (ўстаўляць ўнутры <head> </ head>):
Модулі артыкулаў і файлаў: старонка матэрыялу і каментароў да яго
<? Ifnot ($ REQUEST_URI $ = $ ENTRY_URL $)?> <Link rel = "canonical" href = "$ HOME_PAGE_LINK $$ ENTRY_URL $" /> <? Endif?>
У дадзеным выпадку алгарытм наступны: калі бягучы URL (у дадзеным выпадку пераменная вяртае URL без адрасу дамена) не супадае з адрасам матэрыялу, прапісаць тэг са спасылкай на поўны адрас матэрыялу (уключаючы дамен).
Модулі артыкулаў і файлаў: галоўная старонка каталога
<? If (strpos ($ REQUEST_URI $, "/ publ /") = -1)?> <Link rel = "canonical" href = "$ HOME_PAGE_LINK $ / publ /" /> <? Endif?>
і <? if (strpos ($ REQUEST_URI $, "/ load /") = -1)?> <link rel = "canonical" href = "$ HOME_PAGE_LINK $ / load /" /> <? endif?>
Тут правяраецца ўваходжанне ў бягучы адрас правільнага адрасы каталога. Калі уваходжанняў няма, прапісваецца тэг з кананічным адрасам.
Модулі навін і модуль блога: старонка матэрыялу і каментароў да яго
<? If (strpos ($ ENTRY_URL $, $ REQUEST_URI $) = -1)?> <Link rel = "canonical" href = "$ ENTRY_URL $" /> <? Endif?>
Правяраецца ўваходжанне ў бягучы адрас правільнага адрасы матэрыялу. Калі уваходжанняў няма, прапісваецца тэг з кананічным адрасам.
Модуль навінаў: старонка архіва матэрыялаў
<? If ($ CURRENT_PAGE $ = "1" && $ REQUEST_URI $! = '/ News /')?> <Link rel = "canonical" href = "$ HOME_PAGE_LINK $ / news /" /> <? Endif?>
Калі бягучая старонка - першая, а бягучы URL не адпавядае правільнаму адрасе модуля, прапісаць тэг з правільным адрасам.
Модуль блога: галоўная старонка дзённіка
<? If ($ CURRENT_PAGE $ = "1" && $ REQUEST_URI $! = '/ Blog /')?> <Link rel = "canonical" href = "$ HOME_PAGE_LINK $ / blog /" /> <? Endif?>
Калі бягучая старонка - першая, а бягучы URL не адпавядае правільнаму адрасе модуля, прапісаць тэг з правільным адрасам.
Модуль форуму: агульны выгляд старонак форуму
<? If ($ URI_ID $ = 'frMain' && strpos ($ REQUEST_URI $, "/ forum /") = -1)?> <Link rel = "canonical" href = "$ HOME_PAGE_LINK $ / forum /" /> < ? endif?>
Калі бягучая старонка - галоўная старонка форуму, і ў бягучы адрас адсутнічае ўваходжанне правільнага адрасы, прапісаць тэг з правільным адрасам.
Вось, уласна, і ўсё. Калі вы правільна прапісалі код, на працягу некалькіх бліжэйшых выдачаў з індэкса Google, Яндэкс і некаторых іншых пошукавікаў выпадуць старонкі-дублі.
Інфармацыя ад спонсара
LIVETEX: званкі з сайта па тэхналогіі LiveTex. выкарыстоўваючы званок з сайта ад Livetex , Вы можаце арганізаваць дазвон проста па націску кнопкі на спецыяльны дадатак або на любы тэлефонны нумар.
Чаму дублі - гэта дрэнна?Чаму дублі - гэта дрэнна?
Як змагацца?
Ifnot ($ REQUEST_URI $ = $ ENTRY_URL $)?
Gt; <Link rel = "canonical" href = "$ HOME_PAGE_LINK $$ ENTRY_URL $" /> <?
Endif?
If (strpos ($ REQUEST_URI $, "/ publ /") = -1)?
Gt; <Link rel = "canonical" href = "$ HOME_PAGE_LINK $ / publ /" /> <?
Endif?
If (strpos ($ REQUEST_URI $, "/ load /") = -1)?