Як боротися з дублюваним вмістом / URL-адресами в Joomla?


11

Я щойно з’ясував головну проблему SEO, і поки я вирішував це; Я намагаюся з’ясувати, чому це, можливо, сталося в першу чергу і якщо сталася помилка чи це щось пов’язане з самою Джоумою. Спочатку питання:

Коли я переглянув сайт із Moz, він показав чотири повторювані вмісти для домашньої сторінки, що було несподівано. Так, наприклад, для домашньої сторінки http://www.foo.com вона відображала повторювані URL-адреси вмісту, такі як:

foo.com/2-uncategorised/1-offers (canonical = foo.com/2-uncategorised/1-offers)
foo.com/2-uncategorised/2-enquiry (canonical = foo.com/2-uncategorised/2-enquiry) 
foo.com/2-uncategorised/3-products (canonical = foo.com/2-uncategorised/3-products) 

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

index.php?option=com_content&view=article&id=1&catid=2&Itemid=1
index.php?option=com_content&view=article&id=2&catid=2&Itemid=1
index.php?option=com_content&view=article&id=3&catid=2&Itemid=1

Відповідає Itemid = 1пункту меню домашньої сторінки, який пояснює, чому завантажується домашня сторінка. Я спробував відтворити проблему, але не зміг. За словами людей, які додали вміст, ось кроки, які вони зробили під час створення цих статей та посилань у ньому:

  1. Створюйте статті
  2. Додайте посилання на інші статті, використовуючи вкладку "Стаття" в редакторі вмісту.
  3. Створіть пункт меню до статей

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

Відповіді:


15

TOC цієї відповіді:

  1. Вміст під тим самим ідентифікатором елемента
  2. Як створюється дублікат вмісту / Динамічні сторінки / URL-адреси
  3. SEO перспектива
  4. Справа з повторюваним вмістом у Joomla
  5. Список літератури та посилання

1. Чому статті відображаються під одним і тим самим позицією

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

Детальніше про це:

І це також може бути прозорливим:



2. Як створюється "дублікат вмісту" / Динамічні сторінки / URL-адреси

Це насправді стандартна поведінка для динамічних веб-сайтів, які генерують свої сторінки, використовуючи параметри URL-адреси для побудови рядків запитів у вигляді пар Field-Value . Сервер / додаток отримає запит, обробить його та поверне асоціативний вміст у браузер.

Щоб зрозуміти це краще, ви можете відключити SEF Urls на веб-сайті Joomla і трохи вивчити URL-адресу, що не стосується SEF:

Приклад:

index.php? option = com_content & view = article & id = 3 & catid = 9 & Itemid = 101

Розбиваючи вищезазначений запит на пари значень полів, ми бачимо:

  • параметр = com_content
  • view = стаття
  • id = 3
  • катид = 9
  • Itemid = 101

Це поля-значення, які Joomla розуміє і намагатиметься повернути такий вміст як:

Він буде проводити запит у компоненті com_content та використовувати перегляд статті для відображення елемента вмісту (статті) з id 3 категорії id 9, використовуючи пункт меню з id 101.


Багато варіантів URL-адрес для 1 сторінки

Однак та сама стаття може бути відображена ще з більшою кількістю комбінацій полів та значень:

Деякі можливі комбінації можуть бути:

  • index.php? option = com_content & view = article & id = 3 & catid = 9
  • index.php? option = com_content & view = article & id = 3 & Itemid = 101
  • index.php? option = com_content & view = article & id = 3 & Itemid = 102
  • index.php? option = com_content & view = article & id = 3 & Itemid = 103
  • index.php? option = com_content & view = article & id = 3
  • index.php? option = com_content & view = article & id = 3 & lang = en
  • index.php? option = com_content & view = article & id = 3 & catid = 9 & Itemid = 101 & lang = en

  • index.php? option = com_content & view = article & id = 3 & catid = 9 & Itemid = 101 & lang = en & print = 1

  • index.php? option = com_content & view = article & id = 3 & catid = 9 & Itemid = 101 & lang = en & tmpl = компонент

Як бачите, всі вищезазначені запитують однакові дані від системи, що є статтею з id = 3. Це призводить до того, що до одного і того ж вмісту / сторінки можна отримати доступ через різні URL-адреси, а в деяких випадках відображається в різних макетах.

* Якщо в Joomla увімкнено URL-адреси SEF , зазначене вище може перекласти більше ніж 1 URL-адресу SEF для тієї самої статті / вмісту.



3. Перспектива SEO

Сучасні пошукові системи та Google, зокрема, знають про таку поведінку. Зазвичай вони намагаються зробити все можливе, щоб проіндексувати та зберігати в результатах пошуку найбільш відповідну URL-адресу для сторінки. Крім того, Google виявив, що не існує фактичного " штрафу " за дублюваний вміст через це.

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

Зважаючи на це, розумно розібратися з цим, замість того, щоб дозволяти пошуковим системам індексувати URL-адреси, намагаючись здогадатися, чи показують різні URL-адреси однакового чи іншого вмісту.
Більше того, контроль над вашими URL-адресами та тим, що SE має індексувати, може допомогти вам створити кращий досвід користувачів у цілому, оскільки користувачі сайту знайдуть ту саму сторінку під 1 єдиною стандартною URL-адресою, і вона може створити більш надійну структуру веб-сайту та його управління .



4. Як поводитися з дублюючим вмістом

  • Використання канонічних URL-адрес для своїх сторінок.
    Canonical Urls доручить пошуковій системі про те, яка повинна бути правильна URL-адреса сторінки, яку вони повинні сканувати та зберігати у своєму індексі.

  • Використовуючи метадані INDEX / NOINDEX, FOLLOW / NOFOLLOW. Використовуючи такі метадані на своїх сторінках, ви будете вказувати пошуковим системам, якщо ви хочете, щоб вони індексували вміст сторінки чи ні, а також слідкувати за посиланнями, знайденими на ній.

  • Використання 301 переадресації / htaccess.
    Ви можете перенаправити всі інші URL-адреси до тієї, яку хочете в основному. Цього можна досягти за допомогою SEF Extensions або htaccess . Обидва забезпечують велику потужність, проте htaccess має велику гнучкість, враховуючи можливість використовувати регулярні вирази для всіх видів переадресацій / або переписувань за допомогою mod_rewrite. Щодо розширення J, коли виникає потреба, я зазвичай використовую sh404SEF .

    Оновлення: Як зазначив @Neil Robertson у коментарях: одне важливе перенаправлення - з не-www версії веб-сайту до веб-версії веб-сайту або навпаки. Додайте це до файлу .htaccess для перенаправлення без www до www.

        ### Redirect non-www to www
        RewriteCond %{HTTP_HOST} !^www\. [NC]
        RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
        ### Redirect non-www to www - END 
    
  • Використання інструментів
    Google для веб-майстрів Google Інструменти для веб-майстрів Google мають параметри налаштування того, як сканер повинен поводитися з вашими параметрами URL-адреси .

  • Використання Sitemap
    Надішліть пошуковим системам структуру URL-адреси вашого сайту.

  • Використовуючи файл Robots.txt
    Google та інші основні SE поважають ваш Robots.txt. Ви можете доручити їм не сканувати конкретні каталоги / URL-адреси.

Всі вищезазначені варіанти можна комбінувати для того, щоб отримати бажаний результат.

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



5. Посилання та посилання

Розширення SEO Joomla

Зазвичай в Joomla, якщо ви хочете ефективно вирішити цю проблему, ви в кінцевому підсумку встановите стороннє розширення SEO-SEF.



Більше читання:


1
одна з найкращих відповідей на цьому форумі :) дуже корисна. дякую @FFrewin
Joomler

1
Це відмінна відповідь. :) Для повноти може бути корисно додати деяку інформацію про перенаправлення не-www версії веб-сайту до веб-версії веб-сайту або навпаки. Про це часто забувають, але, мабуть, є основною причиною дублювання вмісту на всіх веб-сайтах (не лише Joomla).
Ніл Робертсон

Схоже, новий маршрутизатор нарешті побачить світло дня в Joomla 3.8, і це допоможе спростити URL, не потребуючи розширення сторонніх розробників.
Ніл Робертсон

1
@NeilRobertson: Я все ще думаю, що ще є можливість вдосконалитись та докласти більше роботи над цим для повного та ефективного рішення щодо управління URL-адресами / дублікатами SEF на Joomla.
FFrewin

@FFrewin Я згоден. Схоже, деякі розширення сторонніх розробників також можуть бути оновлені, щоб скористатися новим маршрутизатором.
Ніл Робертсон

0

Якщо у мене є кілька пунктів меню, що надходять на один і той же вміст, я використовую системні посилання / псевдонім пункту меню, розташований у Менеджері меню. Ось стара стаття про це; але метод існує і сьогодні: https://magazine.joomla.org/isissue/issue-apr-2016/item/2997-avoid-duplicate-content-with-a-menu-item-alias

@Neil, я погоджуюсь, що 100% про те, що вміст, який не є www проти www, читається як дублікати. Ось код, який змушує www бути не www. Помістіть його у свій файл htaccess. Крім того, він додає протокол безпеки https також. Цей код - не єдиний метод, але це те, що я успішно використовую на багатьох сайтах.

RewriteCond %{HTTP_HOST} ^www.yourwebsite.com [NC]
RewriteRule ^(.*)$ https://yourwebsite.com/$1 [L,R=301]
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.