Дублі сторінки в joomla k2. JL No Doubles – прибирає дублі сторінок. Чи можна позбавити дублів на автоматі

06.11.2019 Поради

У цій статті я хочу поговорити про дублі сторінок в Joomla. На цю тему написано багато статей, але мені здається, що варто зафіксувати і мій погляд на цю проблему. У цій статті я говоритиму про Joomla 3, хоча майже всі поради актуальні і для Joomla 2.5.

Проблема дублів сторінок у Joomla сягає глибоко в корені становлення самої CMS, якщо бути точним, то навіть не в саму Joomla, а прабатька CMS Mambo. Справа в тому, що над ЧПУ (людино-зрозумілими URL) тоді не замислювалися, а коли проблема стала актуальною і вийшла Joomla 1.5, замість того, щоб докорінно переробити систему посилань, була зроблена нашліпка, з якою ми маємо справу зараз. Та на той момент, це здавалося вирішенням проблеми, але, як бачимо, напівзахід виріс у глобальну проблему.

На щастя, розробники Joomla розуміють, що проблема є, але не хочуть йти на радикальні заходи, які до речі пропонувалися спільнотою. Навіть був організований успішний збір коштів на новий роутер Joomla, але зміни важко просочуються в основний дистрибутив Joomla.

Так що ж реально робить Joomla для того, щоб уникнути дублів?

Вони знову пішли шляхом напівзаходу, ввели тег canonical, який покликаний вказати на реальну сторінку Joomla. Не говоритимемо про тернистий шлях впровадження, зазначу лише, що він був справді тернистим. І скажу, що цей метод дійсно дозволяє скоротити кількість дублів на сайті, але біда, цей метод майже не працює для компонентів JoomlaОскільки розробники компонентів повинні подбати про впровадження підтримки, коректної підтримки, а це відбувається далеко не завжди. Та й якщо чесно сам по собі тег canonical не панацея.

Про це просте і ефективному способія розповім вам нижче.

По суті, цей метод вам допоможе скоротити кількість дублів у рази. У моїй практиці він дозволяв скоротити дублі в десятки разів.

Що нам для цього потрібно?

  • Трохи часу та руки

Перше, що нам говорить Google - виключіть домен, що дублюється.

Як це зробити?

Зробити переадресацію з домену www на домен без www. Тобто заходимо на сайт www.site.ru, а нас перенаправляє на сайт site.ru.

У файлі.htaccess додати таке правило.

RewriteCond %(HTTP_HOST) ^www\.site\.ru$ RewriteRule ^(.*)$ http://site.ru/$1

Site.ru замінити на ваш домен

Тепер переходимо до приємного.

Встановлюємо плагін JL No Doubles та включаємо його в менеджері плагінів. Якщо у вас тільки стандартні матеріали Joomla, то нічого не потрібно налаштовувати. Власне, ця низка не хитрих дій допоможе вам радикально скоротити кількість дублів на сайті.

Ми поговорили, чому вони виникають і як їх шукати. У цій статті розповім як можна прибрати дублі або запобігти їх появі в пошуковій видачі.

Оскільки кожен випадок індивідуальний, розглянемо найпопулярніші методи, які у 99% випадків добре працюють. Можна собі вибрати щось одне або використовувати в комплексі.

Хоча всі ці способи можна застосовувати і до будь-якої іншої CMS системи, але я докладно зупинюся саме на особливостях Джумли.

Всі ці приклади справедливі, якщо ви включили стандартний SEF і Перенаправлення URL у глобальних налаштуваннях J.

  • 1. Плагін для Joomla

Перше, що можна зробити, якщо у вас плутанина в урлах (коли посилання формуються і від аліасу категорії, і від пункту меню) – поставити плагін Shnodoubles від sherza.

Відмінний плагін справляється зі своїм завданням на всі 100%. Після його встановлення неправильно сформоване посилання (від аліасу категорії) редиректується на правильне (від пункту меню). Завантажити цей чудовий плагін, що позбавляє дублів, для Joomla 2.5 можна (посилання пряма!)

Після активації плагіну деякі дублі просто склеяться.

  • 2. Robots.txt для Joomla

Цей файл йде в стандартному дистрибутиві Joomla, розташовується докорінно і доступний за посиланням site.ru/robots.txt. Основна мета – він дає інструкції пошуковим роботам щодо індексації сайту. З його допомогою можна закрити деякі (потрібні вам) розділи сайту, які також підтримуються Регулярні вирази- Можна закрити окремі сторінкипо масці.

Найчастіше я використовую таку інструкцію (на додаток до того, що йде у файлі за замовчуванням):

Всього один рядок позбавляє від великої кількості сміття. Це можуть бути:

  • сторінки друку матеріалів, які містяться в урлах також print= або tmpl=component
  • посилання на rss стрічку
  • сторінки результатів пошуку по сайту
  • також закриє сторінки пагінації
  • можуть бути й інші варіанти, залежно від використовуваних розширень

Використовувати цей рядок або забороняти кожен тип сторінок окремо - на ваш розсуд, але майте на увазі, що занадто великий роботс вважається цілком вирішальним. Також варто простежити, щоб цей рядок не закрив щось важливе, наприклад, карту сайту – у такому випадку можна прописати: Allow: /шлях_до_карти

Докладніше про використання robots.txt можна прочитати за допомогою Яндекса - help.yandex.ru/webmaster/?id=996567

  • 3. Атрибут rel="canonical" тега

Використання цього атрибуту допоможе роботу визначити – які сторінки потрібно включати до індексу, а які ні. Якщо на сайті існують дуже схожі сторінки (нечіткі дублі), що відрізняються лише, наприклад, варіантами сортування – спочатку нові або сортувати за зростанням, або показувати по 20-30 і т.д., то ви можете використовувати цей атрибут. У такому разі потрібно буде вибрати одну канонічну сторінку, яка і ранжуватиметься, на решту додати rel=«canonical» із зазначенням обраної сторінки – такі документи не потраплять у видачу, робот знатиме, що включати до індексу їх не потрібно.

Докладніше, як впровадити rel=«canonical» у Joomla 1.7/2.5 дивіться

  • 4. 301 редирект

Доречно використовувати якщо ви змінили адреси сторінок, але документи, як і раніше, існують, тобто ви їх не видалили. У такому випадку, для правильної склеювання рекомендується використовувати 301 редирект в.htaccess – пошуковики знатимуть, що документ переїхав на нову адресу. Такий метод дозволяє зберегти і показники сайту – Тіц та PR.

301 редирект можна використовувати також і для склеювання дублів. Наприклад, усім відомі дублі головної сторінкисайту на Joomla – це /index.php та аліас пункту меню Головна, припустимо, /home або /homepage

Склеїти їх досить просто, відкриваємо. htaccess та вписуємо

Redirect 301 /index.php http://site.ru/

Або можна зробити 301 редирект на php в індексному файлі вашого шаблону

if($_SERVER["REQUEST_URI"] == "/index.php") (
header("Location: /",TRUE,301);
exit();
}
?>

І наведу вже класичний редирект з www на без www

RewriteEngine On
RewriteCond %(HTTP_HOST) ^www.example.ru$
RewriteRule ^(.*)$ http://example.ru/$1

* example.ru замініть на своє доменне ім'я.

  • 5. Мета тег robots

Ще один спосіб запобігти індексації дублів у Joomla – використання мета тегу:

на Наразіцей спосіб ефективніше для Google, ніж забороняють інструкції файлу robots.txt. Наприклад, щоб закрити від індексації сторінки друку та дубль за адресою?tmpl=component, можна відкрити файл component.php в корені вашого шаблону і вписати цей тег в .

Щоб закрити сторінки результатів пошуку на сайті з використанням стандартного com_search, можна додати умову до index.php шаблону



Але спочатку необхідно визначити змінну

$option = JRequest::getVar("option", null);

Сильно заглиблюватися в умови шаблонів не буду, стаття не про це, сподіваюся принцип зрозумілий.

  • 6. Видалення URL з панелі

Ще один швидкий спосіб- Ручне видалення з панелі вебмайстра.

Для Яндекса потрібно пройти на адресу – webmaster.yandex.ru/delurl.xml

Залишився ще 1 не дуже популярний метод усунення дублів Joomlaз видачі, але ми його також розглянемо.

  • 7. Заголовки X-Robots-Tag

Досить рідкісний заголовок, використовується найчастіше зарубіжними оптимізаторами, працює він для Гугла. На жаль, Яндекс поки що не коментує підтримку цього http-заголовка.

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
...
X-Robots-Tag: noindex
...

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

Доброго часу доби, якщо Ви читаєте цю статтю, значить, у Вас, як і у безлічі початківців веб-розробників виникає цілком законне питання – як боротися з дублями сторінок у Joomla.

У цій статті я намагатимусь відповісти на це питання. Для початку поговоримо про те, чим загрожує поява дублів сторінок на сайті, потім подивимося готові рішенняборотьби з дублями та наостанок розберемо альтернативні способи боротьби з дублями сторінок.

Чому варто позбавлятися дублів сторінок?

Не для кого ні секрет що Joomla, як і будь-яка інша система управління контентом у процесі своєї роботи створює однакові сторінкидоступні на різні адреси сайту – дублі. Для відвідувачів Вашого сайту ці сторінки нешкідливі, вони можуть навіть не здогадуватися про їхнє існування.

Однак нешкідливі для відвідувачів дублі можуть суттєво вплинути на позиції сайту у пошуковій видачі. Чому так відбувається?

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

Внаслідок появи на сайті великої кількості ідентичних сторінок (дублів) можуть сильно просісти позиції сайту в пошуковій видачі. Саме тому від дублів сторінок варто позбавлятися якнайшвидше.

Чому з'являються дублі?

Дублі у CMS Joomla з'являються в результаті встановлення додаткових розширень. Але це далеко не єдина причина їхньої освіти.

Не менш поширена причина утворення дублів сторінок – це не продумана структура сайту. Як це може бути пов'язано, запитаєте ви? Так дуже просто – ви створили на сайті кілька категорій, які мають одну батьківську категорію, в цих категоріях розмістили матеріали. Всередині матеріалів Ви робите посилання на раніше створені матеріали тощо. Для прикладу подивіться на скріншот:

Якщо не створювати меню для категорій, то адреса сторінки може вийти такою:

http://joom4all..php?option=com_content&view=article&id=38&catid=10

Адреса далека від досконалості і Вам захотілося позбавитися цифр в адресному рядку. Для цього Ви створюєте пункти меню для категорій та матеріалу. Після цього адреса вийшла привабливішою:

http://сайт/sites-creation/basics/intro

І все б добре, але старі адреси сторінки нікуди не поділися, вони залишилися як дублі. У результаті одна й та сама сторінка у нас може мати одразу кілька адрес:

http://сайт/32-sites-creation/10-basics/38-intro http://сайт/32-sites-creation/basics/intro http://joom4all..php?option=com_content&view=article&id=38&catid =10

Чи не приємна ситуація не так, крім того пошукові роботи всі ці сторінки вважаю зовсім різними.

Способи боротьби з дублями сторінок

Звичайно, найкраще уникати появи дублів сторінок ще на початковому етапі – заздалегідь продумати структуру сайту, створити потрібні категорії та пункти меню. Але як показується практика, так чинять далеко не всі і з часом постає питання про те, як видалити дублі з пошукової видачі.

Варіантів боротьби із дублями існує кілька:

  • Використання спеціальних розширень
  • Файл Robots.txt
  • Redirect 301 у файлі htaccess
  • Скористайтеся панеллю Вебмайстра для видалення непотрібних адрес
  • Компонент «Перенаправлення»

Плагін JL No Doubles для боротьби з дублями сторінок

Найпростіший і водночас достатньо дієвий спосібборотьби з дублями сторінокце використання розширень. Одним із таких розширень є плагін JL No Doubles.

Плагін дуже легкий і не потребує особливих налаштувань. Все, що потрібно зробити, це завантажити даний плагін, встановити та увімкнути. Всю решту роботи він зробить самостійно.

Плагін JL No Doubles прибирає дублі сторінок більш ніж у двадцяти компонентах, у тому числі і в компоненті com_content. Можна налаштувати висновок 404-ї помилки або 301 редирект на правильну сторінкусайту. Сторінка з налаштуваннями плагіна виглядає так:

Параметрів для налаштування плагіна всього п'ять:

  • Ліцензійний ключ– для активації роботи плагіна із компонентами k2, Virtuemart, Zoo.
  • Кратність лімітів– налаштування для категорій матеріалів Joomla. Ви можете налаштувати редирект для формування посилань типу /advanced?start=3. Все, що необхідно зробити, це вказати кількість матеріалів, що виводяться в категорії.
  • Використовувати 301 редирект– можна включити можливість використання редиректу на правильну сторінку або (якщо встановлено «ні») видавати 404 помилку. Якщо Ваш сайт існує достатньо довгий часі на його сторінки посилаються інші сайти, то рекомендую поставити редирект, щоб не втратити вагу сторінок.
  • Аліас– налаштування, яке підставляє аліас до посилань виду component/content/article (за замовчуванням home).
  • Стоп слова– це рядки, що зустрічаються на адресі сторінки, які не слід обробляти.

З основними налаштуваннями розібралися, тепер перейдемо на вкладку «Компоненти»:

На цій вкладці вибираємо компоненти, які використовуються на сайті та доступні для індексування. За промовчанням вже вибрано компонент com_content. Не варто вибирати всі можливі компоненти, особливо, якщо Ви їх не використовуєте, це створить зайве навантаження на Ваш сайт.

Використання файлу Robots.txt

Яким би не був чудовим плагін для перенаправлення сторінок, всіх дублів позбутися не вийде. У такому випадку можна заборонити пошуковим роботам індексувати ті чи інші сторінки сайту, тобто закрити доступ до них.

Про всі тонкощі налаштування файлу Robots.txt ми вже говорили в цій статті. Коротко скажу щойно для закриття частини Вашого від «очей» робота існує директива Disallow .

301 редирект та файл htaccess

Інший поширений метод боротьби з дублями це налаштування перенаправлення, тобто 301 редирект на правильну сторінку. Це можна зробити у файлі « .htaccess ».

Для створення переадресації необхідно використовувати директиву RewriteRule, але переконайтеся, що на хостингу підключений модуль mod_rewrite.

Php на сторінку сайт, для цього у файлі ".htaccess" після директиви RewriteEngine On пишемо наступний рядок:

RewriteRule http://сайт/index.php$ http://сайт

Більш детально роботу з файлом ".htaccess" ми розбирали в цій статті.

Компонент «Перенаправлення»

Досить корисний і в той же час вбудований у Joomla 3 компонент, який дозволяє вручну налаштувати перенаправлення сторінок. Цей компонент використовує для своєї роботи спеціальний плагін, який за замовчуванням вимкнено.

Спочатку треба включити плагін, благо шукати його серед інших не доводиться, адже після переходу на сторінку «Компоненти» -> «Перенаправлення» ви отримаєте повідомлення, що необхідно включити плагін та посилання на його активацію.

Після того як плагін буде включений можна створювати перенаправлення вказавши початкову (стару) і кінцеву (нову) адресу сторінки:

Даний метод хороший у тому випадку, коли дублів сторінок не надто багато.

Підведемо підсумки

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

Крім того варто задуматися про те, як позбутися index.php в рядку адреси сайту, це також допоможе скоротити кількість дублів сторінок.

Створення та розкрутка сайтів на статичному html все менш популярна, і більшість веб-майстрів переходить на сучасні CMS, зокрема на Joomla, яка в навантаження до своїх плюсів може і засмутити користувача, перш за все дублюванням сторінок. Дублі сторінок у Joomla це своєрідний бич веб-майстра, хоча, поклавши руку на серце, грішать цим багато систем автоматизації сайтів.

Пошук дублів

По-перше, давайте подивимося, як визначити дублі сторінокі чому вони негативно впливають на процес просування сайту. Найпростіший спосіб визначення дублювання - це скористатися розширеним пошуком на Яндексі, де в рядок "сайт" забиваємо свій проект, а в пошуковий рядок той чи інший запит. В результаті можна бачити сторінки сайту в міру їхньої релевантності, тут же водяться й дублюючі один одного сторінки. Ще простіше скористатися павуком Netpeak Spider, який вивантажить сторінки та знайде в них дублі в один клік.

Друге важливе питання, чому пошукові системиставляться до цього негативно, адже це не навмисна спроба обману пошукових систем, а технічні проблеми CMS, про який, в принципі, роботи повинні знати. У тому і справа, що саме роботи можуть визначити такі сторінки, як умисний спам, адже фактично за двома різними адресами надається один і той же матеріал. Спроби листування зі службою підтримки Яндекса ні до чого не наводять, тому треба намагатися уникати дублів сторінок Joomla.

Видалення дублі

Disallow: /search/

Disallow: /*.pdf

Disallow: /*print=1

Disallow: /*type=atom

Disallow: /*type=rss

Disallow: /*task=rss

Disallow: /*?sl*

Disallow: /*?sl*

Таким чином відсікається основна складська база, куди Joomla може запихати дублі. Якщо комусь треба відкрити деякі сторінки, наприклад, для компонента xmap, тобто для того, щоб додати в панель вебмайстра карту сайту, то потрібні сторінки легко відкриваються за допомогою директиви Allow: , яка ставиться перед Disallow:.

Однак особисто мені не давали життя дублі сторінок Joomla типу

І довгі пошуки ні до чого позитивного не приводили, окрім як закривати сотні лівих посилань вручну в robots.txt. Однак одного разу відповідь прийшла, як осяяння і розплющила очі на найпростіші речі, з якими, знаю точно, стикався не я один. Багато хто сьогодні практикує (і правильно робить) просування сайту в соціальних мережахза допомогою установки кнопок для інтеграції. При цьому не всі звертають увагу, що деякі плагіни при інтеграції в Twitter просто обрізають посилання і для вирішення проблеми треба налаштувати або замінити плагін, оскільки роботи йдуть за посиланням «твіттнути» і потрапляють на її обрізаний вигляд, який і заносять за своїм електронним незнанням в індекс.

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

Якщо ж Вас не радують дублі типу /sobstven-sate/eksperiment-seo/383.html, тобто скорочені адреси сторінок, використовуйте плагін для Joomla Shnodoubles , знайти який можна погугливий або відписавшись мені в коментарях, з ним я повністю вирішив проблему на лічені хвилини. Подумавши і втомившись відписуватися я пропоную скачати nodoubles для Joomla прямо з сайту.

Також пропоную відео з видалення дублів у Joomla за допомогою 301-го редиректу -

Запитання-відповіді

Чи можна позбавити дублів на автоматі?

Відсутність дублів на 90% гарантується автоматично. Для Joomla достатньо налаштувати robots та htaccess, а також розібратися зі склейкою сторінок на основну навігаційну. Однак у процесі розширення сайту дублі можуть з'являтися, тому відстежуйте їх через Netpeak Spider павука.

Невже павуки ПС не розуміють, що дублі на Joomla – це помилка розробників?

А чому ця помилка не виправляється власником? Якщо ви купите машину з дефектом, то не станете ж ви скаржитися, що вас штрафує ДІБДР за те, що не горять фари або не відповідають нормам вихлопні гази? На підтримку звертатися немає сенсу, оскільки CMS не платна.

Зараз дуже жорстко штрафують за дублі рідко, але… Якщо за запитом, наприклад, дублювання сторінок у вас присутні у пошуку 3-4 документи з однаковим контентом, але різними урлами, то, як ви думаєте, статична вага буде на кожній з них максимальна, або розмажеться? Зрештою це вам вирішувати, чи потрібен вам декоративний сміттєвий сайт або ви хочете ділитися з користувачами інформацією та отримувати за це проф правильному налаштуванні CMS.