Вивчаємо WordPress

289

Здрастуйте, шановні читачі блогу . Випадково глянув на кількість сторінки цього блогу, які знаходяться в індексі, і був шокований — їх там аж 8000 тисяч. У Google трохи більше 1500 тисяч, що теж дещо більше звичайного.

Вивчаємо WordPress

Перейшов по посиланню з вікна РДС бару (саме їм і дивився) на Яндекс зі списком сторінок мого сайту в його індексі. Погортав його смальцю і трохи пріфігел, бо знайшов там купу дублів, які вели на одні й ті ж посади (статті, тобто записи в термінології WordPress), але Урли у них були різні. Вкрай неприємна ситуація, яку потрібно було терміново вирішувати.

Дублі сторінок блогу на WordPress в індексі пошуковиків

Дублі в індексі Яндекса я знайшов приблизно такі:

https:///seo/prodvizhenie-kommercheskix-sajtov/retargeting-vkontakte.html/122
Ретаргетінг у Вконтакте — підвищуємо ефективність реклами в цій соціальній мережіВивчаємо WordPress«alt=»»>https:///seo/prodvizhenie-kommercheskix-sajtov/retargeting-vkontakte.html/124

Пару хвилин я намагався сформулювати запит для пошуку відповіді на сформовану ситуацію. Нічого не придумав і поліз подивитися у вихідному коді, а який, власне, там rel=»canonical» прописаний. Якщо основний сторінки (без слеша і цифирек на кінці), то все ОК. Однак канонічний Урл мене дуже розчарував. На блозі https:// я це справа вже виправив, тому наведу скрін з іншого блогу на WordPress, де спостерігається та ж картина, що і була тут якийсь час назад:

Неправильный канонический Урл от All in One SEO PackВивчаємо WordPress

Повна лажа. Пошуковик в цьому випадку був абсолютно правий, що загнав ці дублі в індекс, бо rel=»canonical» не вказує на основну сторінку. Та й до того ж трохи вище в коді стоїть rel=»prev», який містить посилання на сторінку з номером на одиницю менша від тієї, для якої ми переглядаємо вихідний код. Пошуковик по цьому посиланню перейде (адже саме для нього вона тут і проставлена), у результаті чого індекс потрапить ще один дубль і так до нескінченності.

Якщо уважно придивитися до скріншоту, то винуватця цього неподобства обчислити не складно — це той самий плагін All in One SEO Pack, про який я писав років п’ять тому (треба б той пост оновити, та руки все не доходять) і який до цих пір мене не підводив. Однак, все в житті колись буває в перший раз.

Проблема ця не нова і її вже не раз обговорювали. Але все це пройшло повз і побіжно, а ось тепер повернулося бумерангом і вдарило по тім’ячку. Що приємно — ця ситуація зараз практично повністю успішно дозволяється через налаштування даного плагіна. Все просто і логічно, але краще це зробити до потрапляння купи дублів в індекс, ніж як я робити налаштування вже після.

Правда, я там не знайшов варіант видалення мета-тега з rel=’prev’, але ця проблема легко зважилася за допомогою додавання кількох рядків коду в чудовий файлик функшионс.пхп. Але про все по порядку.

Параметри тег rel=»canonical» в All in One SEO для усунення дублів

Налаштування плагіна зараз винесені в окремий пункт «All in One SEO, який розташований в угорі лівого меню адмінки WordPress. В самому верху вікна налаштувань слід поставити галочку в полі «Заборонити пагінацію для канонічних URL».

Запретить пагинацию для канонических URL в All in One SEOВивчаємо WordPress

Це прибере злощасні слеш і цифирьки після Урла основної сторінки в тег rel=»canonical», який буде прописуватися для таких сторінок. Забув сказати, що ці цифирьки (на зразок .html/124) є ні що інше як пагинация, тобто розбиття поста на сторінки.

Особисто я свої пости ніколи не розбиваю, так і будь-яку іншу пагінацію (головної сторінки або рубрик) закриваю від індексації у файлику роботс.тхт. А тут виходить взагалі якась псевдо-пагинация постів, якої начебто і немає, але WordPress на сторінки з цифрами, написаними через слеш після Урла, не видає 404 помилки, а вважає, що це пагинация. Маячня якась, але факт залишається фактом. Якщо замість цифр написати через слеш літери, то видає 404 помилка.

Після збереження змін вихідний код проблемних сторінок з Урлами виду:

https:///seo/prodvizhenie-kommercheskix-sajtov/retargeting-vkontakte.html/344

Став виглядати інакше, що мене порадувало, бо в rel=»canonical» був вказаний дійсно канонічний Урл, а не сторінка псевдо-пагинации з цифрами на кінці:

Вивчаємо WordPress

Однак, в індексі Яндекса вже є купа дублів, від яких треба позбутися. Тому я прокрутив сторінку з налаштуваннями All in One SEO практично до самого низу і поставив галочку в полі «Використовувати noindex для сторінок/записів з пагінація».

Использовать noindex для страниц/записей с пагинацией в All in One SEOВивчаємо WordPress

В результаті цього на сторінках пагинации (з цифирьками на кінці) у вихідному коді тепер додається заборона на їх індексацію через мета-тег name=»robots» зі значенням «noindex,follow» (що означає інструкцію роботам пошукових систем — не індексувати, але переходити по посиланнях):

Видаляємо мета-тег rel=’prev’ з вихідного коду сторінки блогу на WordPress

Як видно з другого звідси скрнишота (вище по тексту), то там обведений в рамочку не тільки правильний тег rel=»canonical», але і абсолютно безглуздий і навіть шкідливий, в даному випадку тег rel=’prev’, в якому вказано посилання на попередню сторінку пагинации. Але, як я вже згадував, ніякої пагинации в статтях у мене немає і цей тег вводить в оману пошуковики, а значить його треба прибрати.

Зробити це нескладно. Достатньо буде відкрити на редагування (раджу використати зв’язку Файлзила+Нотепад, а не вбудований редактор файлів в WordPress) файлик functions.php з папки з використовуваної вами темою оформлення (wp-content/themes/назва) і додати в нього після

function mayak_remove_prev_link( $data ) {
return false;
}
add_filter( ‘aioseop_prev_link’, ‘mayak_remove_prev_link’ );
add_filter( ‘aioseop_next_link’, ‘mayak_remove_prev_link’ );

Якщо щось пішло не так (блог не відкривається), то откатите зміни в Нотепаде++ і подивіться уважно, куди саме ви пхали наведений код. Якщо трохи подумаєте, то все обов’язково вийде.

Власне, все. Тепер проблемну ділянку вихідного коду, що формується плагіном All in One SEO Pack для сторінок з дурної погинаций, у мене виглядає цілком собі пристойно (на мій погляд):

Починили All in One SEO PackВивчаємо WordPress

Що і потрібно було реалізувати. Ура…

P. S. Приблизно через три тижні після написання цього поста після чергового апа Яндекса в його індексі залишилося вже тільки близько 1000 сторінок, що приблизно відповідає їх реальній кількості на цьому блозі.

Число страниц в индексе ЯндексаВивчаємо WordPress

Удачі вам! До зустрічей на сторінках блогу